La documentation pour ce module peut être créée à Module:ConvertCourtCode/doc

local p = {}

local nomsComplets = {
    QCTAQ = "du Tribunal administratif du Québec",
    QCRACJ = "de la Régie des alcools, des courses et des jeux",
    QCCA = "de la Cour d'appel du Québec",
    QCCS = "de la Cour supérieure du Québec",
    QCCQ = "de la Cour du Québec",
    QCCM = "d'une Cour municipale"
}

function p.extraireNomTribunal(frame)
    local texte = frame.args[1] or ""
    local code = nil

    -- 1. Essayer d'extraire le code entre parenthèses (ex: (QC RACJ))
    local brutParenthese = string.match(texte, "%(([%sA-Z]+)%)%s*$")
    if brutParenthese then
        code = string.gsub(brutParenthese, "%s+", "")
    end

    -- 2. Sinon, essayer d'extraire le code après l'année (ex: 2025 QCRACJ 19)
    if not code then
        code = string.match(texte, ",%s*%d%d%d%d%s+([A-Z]+)")
    end

    -- Retourner le nom complet s’il est connu
    if code and nomsComplets[code] then
        return nomsComplets[code]
    elseif code then
        return code -- code inconnu, retourne tel quel
    else
        return "" -- rien trouvé
    end
end

return p