Module:catégories Babel

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

local m_langs = require("Module:langues")
local m_params = require("Module:paramètres")

local p = {}

local topCategoryName = "Personnes ayant un intérêt ou parlant %s"

local levelCategoriesNames = {
   = {
    desc = "Ces personnes parlent %s à différents niveaux.",
  },
   = {
    level = "0",
    desc = "Ces personnes ont déclaré ne pas parler %s.",
  },
   = {
    level = "1",
    desc = "Ces personnes ont déclaré avoir un niveau débutant en %s.",
  },
   = {
    level = "2",
    desc = "Ces personnes ont déclaré avoir un niveau intermédiaire en %s.",
  },
   = {
    level = "3",
    desc = "Ces personnes ont déclaré avoir un niveau avancé en %s.",
  },
   = {
    level = "4",
    desc = "Ces personnes ont déclaré avoir un niveau très avancé en %s.",
  },
   = {
    level = "N",
    desc = "Ces personnes ont déclaré parler nativement en %s.",
  },
}

--- @param title string Page title.
--- @param code string Optional language code if undefined in ].
local function _description(title, code)
  for regex, data in pairs(levelCategoriesNames) do
    local langName = mw.ustring.match(title, "^" .. regex .. "$")
    if langName then
      local desc = mw.ustring.format(data.desc, langName)
      local level = data.level
      code = code or m_langs._getLanguageCode(langName)
      local categoryName = mw.ustring.format(topCategoryName, langName)

      local res = desc
      if level then
        if not code then
          return '<span style="color: red; font-weight: bold">Le nom de la langue est inconnu.</span>]'
        end
        res = res .. mw.ustring.format("\n\nCode Babel&nbsp;: <code>%s-%s</code>\n]",
            code, level, categoryName, langName .. "-" .. level)
      else
        res = res .. mw.ustring.format("\n]", langName)
      end

      return res .. "\n\n<small>''Le nom de cette catégorie est généré par l’extension Babel, '''merci de ne pas le changer'''.''</small>"
    end
  end

  return '<span style="color: red; font-weight: bold">Le titre de la page ne correspond pas aux critères.</span>]'
end

function p.description(frame)
  local args, success = m_params.process(frame:getParent().args, {
     = {},
  })
  if success then
    return _description(mw.title.getCurrentTitle().text, args)
  else
    error(args)
  end
end

return p