Module:langues

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

 Documentation[voir] [modifier] [historique] [purger]

Ce module permet de renvoyer les informations des différentes langues, notamment leur nom, à partir de leur code (fr=français).

Importation dans un module : l = require("Module:langues")

Fonctions utilisables dans les modules

get_nom(code)
renvoie le nom de la langue s'il est défini dans la liste locale Module:langues/data. Si aucune langue ne correspond, la fonction renvoie nil.
  • nom_langue = l.get_nom('fr')
get_tri(code)
renvoie la clé de tri de la langue si elle est définie dans la liste locale Module:langues/data. Se rabat sur le nom si la clé n’est pas définie. Si aucune langue ne correspond, la fonction renvoie nil.
  • cle_langue = l.get_tri('fr')
get_lien_Wikimedia(code)
renvoie le code correspondant à cette langue si le code diffère chez Wikimédia (Module:langues/data), à utiliser pour les liens vers les autres langues. S'il n'y a pas de code spécial chez Wikimédia, la fonction renvoie nil.
  • code_Wikimedia = l.get_lien_Wikimedia('fr')
has_portail(code)
renvoie true ou false selon que le code langue est associé à une langue qui a un portail ou non (les portails sont écrits en dur dans Module:langues/data).

Fonction utilisable dans un modèle ou dans une page

nom_langue(code)
affiche le nom de la langue ou, à défaut, une chaîne vide
  • {{#invoke:langues|nom_langue|fr}} affiche « français »
  • {{#invoke:langues|nom_langue|blabla}} affiche «  »

local m_bases = require("Module:bases")
local m_params = require("Module:paramètres")

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

local p = {}

p.specialCodes = {
   = "zh",
   = "zh",
   = "ko",
   = "vi",
   = "vi",
   = "vi",
   = "nan",
   = "nan",
   = "nan",
}

-- Cherche et renvoie le nom de la langue depuis notre liste locale ].
-- Fonction utilisable dans d’autres modules seulement
function p.get_nom(code)
  if not code then
    return nil
  end

  code = mw.text.trim(code)

  if langues and langues then
    return langues
  else
    return nil
  end
end

-- Cherche et renvoie la clé de tri de la langue depuis notre liste locale ].
-- Fonction utilisable dans d’autres modules seulement
function p.get_tri(code)
  if not code then
    return nil
  end

  code = mw.text.trim(code)

  if langues and langues then
    return langues
  else
    if langues then
      return langues
    else
      return nil
    end
  end
end

-- Fonction pouvant remplacer les appels de type {{ {{{lang}}} }} dans les modèles
-- Cette fonction marche pour un modèle
function p.nom_langue(frame)
  local args

  if frame.args ~= nil and frame.args ~= nil then
    args = frame.args
  else
    args = frame:getParent().args
  end
  local code = args

  local langue = p.get_nom(code)

  if langue == nil or langue == "" then
    return ''
  else
    return langue
  end
end

-- Fonction pouvant remplacer les appels de type {{ {{{lang}}} }} dans les modèles
-- Cette fonction marche pour un modèle
function p.tri_langue(frame)
  local args

  if frame.args ~= nil and frame.args ~= nil then
    args = frame.args
  else
    args = frame:getParent().args
  end
  local code = args

  local tri = p.get_tri(code)

  if tri == nil or tri == "" then
    return ''
  else
    return tri
  end
end

-- Fonction pour écrire le nom d'une langue dans une liste (or traductions)
-- Cette fonction marche pour un modèle {{L}}
function p.langue_pour_liste(frame)
  local args
  if frame.args ~= nil and frame.args ~= nil then
    args = frame.args
  else
    args = frame:getParent().args
  end
  local code = args

  -- Un code est-il donné?
  if code == nil or mw.text.trim(code) == "" then
    return "''Pas de code donné''" .. m_bases.fait_categorie_contenu("Wiktionnaire:Codes langue manquants")
  end

  code = mw.text.trim(code)

  local langue = p.get_nom(code)

  if langue == nil or langue == "" then
    return code .. "*" .. m_bases.fait_categorie_contenu("Wiktionnaire:Codes langue non définis")
  else
    return m_bases.ucfirst(langue)
  end
end

-- Cherche et renvoie le code Wikimedia du Wiktionnaire correspondant s'il existe
function p.get_lien_Wikimedia(code)
  -- Permet l'usage depuis un modèle (via #invoke)
  if table.getn(mw.getCurrentFrame()) == 0 then
    code = mw.getCurrentFrame().args or code
  end

  -- Pas de code langue ? Renvoie nil.
  if code == nil then
    return nil
  end

  -- Espaces avant et après enlevés
  code = mw.text.trim(code)

  -- A-t-on la langue correspondant au code donné ?
  if langues and langues then
    -- Trouvé ! Renvoie le nom
    return langues
  else
    -- Pas trouvé : on renvoie nil
    return nil
  end
end

--- Indicates whether there exists a local “Portail” for the given language code.
--- @param code string The language code.
--- @return boolean True if a “Portail” exists, false otherwise or if the language code is unknown.
function p.has_portail(code)
  return langues and langues
end

--- Indicates whether there exists a Wiktionary for the given language code.
--- @param code string The language code.
--- @return boolean True if a Wiktionary exists, false otherwise or if the language code is unknown.
function p.has_wiktionary(code)
  return langues and langues
end

--- Looks up the code for the given language name in ].
--- @param languageName string Name of the language.
--- @return string|nil The code for the language or nil if none were found.
function p._getLanguageCode(languageName)
  for code, langue_table in pairs(langues) do
    if languageName == langue_table then
      return code
    end
  end

  return nil
end

--- Looks up the code for the given language name in ].
--- Parameters:
---  frame.args (string): Name of the language.
--- @return string|nil The code for the language or an empty string if none were found.
function p.getLanguageCode(frame)
  local args = m_params.process(frame.args, {
     = { required = true }
  })

  return p._getLanguageCode(args) or ""
end

return p