Module:langues/analyse

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

local m_bases = require("Module:bases")

local languagesData = mw.loadData("Module:langues/data")

local p = {}

local function getSortKey(langName)
  if mw.ustring.toNFD(langName) == langName and not mw.ustring.find(langName, "") then
    return nil
  end
  local sortKey = mw.ustring.toNFD(langName)
  sortKey = mw.ustring.gsub(sortKey, "", "")
  sortKey = mw.ustring.gsub(sortKey, "æ", "ae")
  sortKey = mw.ustring.gsub(sortKey, "œ", "oe")
  sortKey = mw.ustring.gsub(sortKey, "", "")
  sortKey = mw.ustring.gsub(sortKey, "", " ")
  return sortKey
end

local function sortLanguages(code1, code2)
  local t1 = languagesData.sortKey and languagesData.sortKey or
      getSortKey(languagesData.name) or languagesData.name
  local t2 = languagesData.sortKey and languagesData.sortKey or
      getSortKey(languagesData.name) or languagesData.name
  return t1 < t2
end

function p.showLanguagesTable(_)
  local titres = { "n", "Code", "Nom", "Lien Wikimédia" }

  local keyset = {}
  local n = 0

  for k, _ in pairs(languagesData) do
    n = n + 1
    keyset = k
  end

  local result = {
    "Cette liste est générée automatiquement à partir de ].\n\n" ..
        "Il y a actuellement " .. tostring(n) .. " codes de langue dans cette liste.\n" ..
        "La liste peut être triée par nom de langue (défaut) ou par code."
  }

  table.sort(keyset, sortLanguages)

  table.insert(result, m_bases.tableau_entete(titres))
  for i, code in ipairs(keyset) do
    local infos = languagesData
    local langName = infos.name or "NOM MANQUANT"
    local langSortKey = infos.sortKey or getSortKey(langName) or langName
    local langCategory = m_bases.fait_categorie(langName, langName, true)
    local langColumn = 'data-sort-value="' .. langSortKey .. '"|' .. langCategory
    local wmLink = infos.wikimediaCode or ""
    local row = { i, '<span id="' .. code .. '">' .. code .. '</span>', langColumn, wmLink }
    table.insert(result, m_bases.tableau_ligne(row))
  end

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

function p.showLanguagesPython(_)
  local lines = {}
  for k, v in pairs(languagesData) do
    table.insert(lines, '    "' .. k .. '": "' .. v.name .. '",')
  end
  return "<pre>\nlanguages = {\n" .. table.concat(lines, "\n") .. "\n}\n</pre>\n"
end

return p