Module:glossaire

Bonjour, vous êtes venu ici pour chercher la signification du mot Module:glossaire. Dans DICTIOUS, vous trouverez non seulement toutes les significations du dictionnaire pour le mot Module:glossaire, mais vous apprendrez également son étymologie, ses caractéristiques et comment dire Module:glossaire au singulier et au pluriel. Tout ce que vous devez savoir sur le mot Module:glossaire est ici. La définition du mot Module:glossaire vous aidera à être plus précis et correct lorsque vous parlerez ou écrirez vos textes. Connaître la définition deModule:glossaire, ainsi que celles d'autres mots, enrichit votre vocabulaire et vous fournit des ressources linguistiques plus nombreuses et de meilleure qualité.

La documentation pour ce module peut être créée à Module:glossaire/Documentation

local m_bases = require("Module:bases")
local m_langs = require("Module:langues")
local m_table = require("Module:table")
local m_string = require("Module:string")
local m_params = require("Module:paramètres")

local p = {}

function p.glossaryNoCat(frame)
  return p.glossary(frame, true)
end

function p.glossary(frame, nocat)
  nocat = nocat or false

  -- Analyse des arguments
  local args = frame:getParent().args

  local tableLen = m_table.length(args)
  if nocat then
    if tableLen < 1 then
      return ] .. m_bases.fait_categorie_contenu("Wiktionnaire:Erreurs d’appel du modèle glossaire")
    end
  else
    if tableLen < 2 then
      return ] .. m_bases.fait_categorie_contenu("Wiktionnaire:Erreurs d’appel du modèle glossaire")
    end
  end

  local glossaries = {}
  local last
  local key = args
  if key == nil then
    key = ""
  end
  if key ~= "" then
    key = "|" .. key
  end

  for _, arg in ipairs(args) do
    if last ~= nil then
      table.insert(glossaries, last)
    end
    last = arg
  end

  local langCode
  local lang

  if nocat then
    table.insert(glossaries, last)
  else
    langCode = last
    lang = m_langs.get_nom(langCode)
  end

  local text = ""
  local categories = ""

  if not nocat and lang == nil then
    return mw.ustring.format(
        ]]=],
        langCode
    )
  end

  local filteredGlossaries = {}

  for _, glossary in ipairs(glossaries) do
  	local cat = "Catégorie:" .. m_bases.ucfirst(glossary) .. " en " .. lang
    table.insert(filteredGlossaries, "]]")
  end

  if next(filteredGlossaries) then
    text = "→ Ce mot est dans "
  	if #filteredGlossaries == 1 then
  		text = text .. "le glossaire des " .. filteredGlossaries .. "."
  	else
      text = text .. "les glossaires "
      for i=1,#filteredGlossaries do
        text = text .. "des " .. filteredGlossaries
        if i == #filteredGlossaries -1 then
          text = text .. " et "
        elseif i < #filteredGlossaries then
          text = text .. ", "
        else
          text = text .. "."
        end
      end
    end
  end

  return text
end

return p