Module:types de mots/analyse

Bonjour, vous êtes venu ici pour chercher la signification du mot Module:types de mots/analyse. Dans DICTIOUS, vous trouverez non seulement toutes les significations du dictionnaire pour le mot Module:types de mots/analyse, mais vous apprendrez également son étymologie, ses caractéristiques et comment dire Module:types de mots/analyse au singulier et au pluriel. Tout ce que vous devez savoir sur le mot Module:types de mots/analyse est ici. La définition du mot Module:types de mots/analyse vous aidera à être plus précis et correct lorsque vous parlerez ou écrirez vos textes. Connaître la définition deModule:types de mots/analyse, 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:types de mots/analyse/Documentation

-- Tests: ]
local m_bases = require("Module:bases")
local m_typesDeMots = require("Module:types de mots")

local p = {}

local TYPES = m_typesDeMots.types

--- @return table
local function getAliases()
  local aliases = {}
  for code, valeur in pairs(TYPES) do
    if aliases == nil then
      aliases = {}
    end
    table.insert(aliases, code)
  end
  return aliases
end

--- @param code1 string
--- @param code2 string
--- @return boolean
local function sortTypes(code1, code2)
  return code1 < code2
end

--- @return string A wiki table that lists all defined word types and their data.
function p.showWordTypes()
  local keySet = {}
  local n = 0
  for k, _ in pairs(TYPES) do
    n = n + 1
    keySet = k
  end
  table.sort(keySet, sortTypes)

  local result = {
    "Cette liste est générée automatiquement à partir de ].\n\nIl y a actuellement "
        .. n .. " types de mots dans cette liste.\n\n"
        .. "'''Ce sont les noms au singulier qui doivent être utilisés dans le modèle ]'''.\n"
  }
  table.insert(result, m_bases.tableau_entete({
    "Code (ancre/abréviation)", "Nom singulier", "Nom pluriel",
    "Locution singulier", "Locution pluriel", "Alias possibles"
  }))

  local aliases = getAliases()
  for _, code in ipairs(keySet) do
    local data = TYPES
    local alias = aliases and aliases or {}
    table.insert(alias, 1, "'''" .. code .. "'''")
    local aliasesText = table.concat(alias, "<br>")
    local values = {
      data or "-",
      data or "-",
      m_bases.fait_categorie(m_bases.ucfirst(data), data, true) or "-",
      data or "-",
      m_bases.fait_categorie(m_bases.ucfirst(data), data, true) or "-",
      aliasesText
    }
    table.insert(result, m_bases.tableau_ligne(values))
  end
  table.insert(result, m_bases.tableau_fin())

  return table.concat(result, "\n")
end

--- @return string
function p.showPythonReplacements()
  local resul = {}
  table.insert(resul, "<pre>")

  local aliases = getAliases()
  for code, _ in pairs(TYPES) do
    local alias = aliases and aliases or {}
    if #alias > 0 then
      local aliasesText = table.concat(alias, "|")
      local replacements = '(r"\\{\\{S\\|(' .. aliasesText .. ')\\|", "{{S|' .. code .. '|"),'
      table.insert(resul, replacements)
    end
  end
  table.insert(resul, "</pre>")

  return table.concat(resul, "\n")
end

return p