« Module:Langue » : différence entre les versions

[version non vérifiée][version non vérifiée]
Contenu supprimé Contenu ajouté
Hunsu (discuter | contributions)
Annulation des modifications 100286635 de Hunsu (d)
Nnemo (discuter | contributions)
Notamm. corr., détails
Ligne 1 :
local Langue = { }
 
-- Chargement du de la base de donnéedonnées des langues avec gestion d'erreur.
local dataLangue
local success, resultat = pcall (mw.loadData, 'Module:Langue/Data' )
Ligne 23 :
end
 
-- premierParametre renvoie le premier paramètre de Frame, que celui-ci ait été passé au module par invoke, directement au modèle,
-- ou à l'intérieur d'un module sous forme de string dans un tableau ou directement de string.
-- Si aucun de ces argument ne contient de chainechaîne, la fonction renvoie nil.
-- Si le deuxième paramètre est true, la chainechaîne est renvoyée trimée et en minuscule.
local function premierParametre( frame, lowerCase )
local arg
Ligne 141 :
-- 1 : code IETF de langue,
-- texte ou 2 : texte dans cette langue,
-- trans : translitérationtranslittération du texte,
-- dir : direction de la langue (obsolète : peut être en paramètre 1, avec code en 2 et texte en 3).
function Langue.lang( frame )
Ligne 153 :
local trans = args.trans
-- Décalage des paramètres si code contient la direction du texte (obsoleteobsolète mais toujours possible).
if code == 'ltr' or code == 'rtl' then
dir = code
Ligne 161 :
local codeArg = code
-- Si la langue est reconnue, la valeur de la table est prise en compte (permet de corrigécorriger les noms de langue en toutetoutes lettrelettres).
local tabCode = Langue.determinationCode( code )
local tabLangue
Ligne 188 :
end
 
-- TransliterationTranslittération.
if trans and trans ~= '' then
trans = ' (<span class="lang-' .. code .. ' transcription" lang="' .. code .. '-Latn"'
Ligne 222 :
-- Voir Modèle:Langue
-- Paramètres :
-- 1 : nom de langue ou code IETF, ;
-- texte ou 2 : texte dans cette langue, ;
-- trans : translitération du texte, ;
-- dir : direction de la langue.
function Langue.langue( frame )
Ligne 233 :
-- Voir Modèle:Indication de langue
-- Paramètres :
-- 1 : nom de langue, ;
-- 2 : code IETF, ;
-- texte : texte dans cette langue, ;
-- dir : direction de la langue.
function Langue.indicationDeLangue( frame )
Ligne 244 :
local dir = args.dir
local wikiText = ''
-- Cas ou le premier et/ou le deuxième paramètre est vide.
if code .. nomLangue == '' then
return texte
Ligne 303 :
until code == ''
-- Préparation et renvoierenvoi du texte.
local n = #listeCode
local pluriel = ''
Ligne 322 :
-- Voir Modèle:Langue avec nom
-- Paramètres :
-- 1 : code IETF de langue, ;
-- texte ou 2 : texte dans cette langue, ;
-- trans : translitérationtranslittération du texte, ;
-- dir : direction de la langue.
function Langue.langueAvecNom( frame )
Ligne 354 :
 
 
-- erreurModuleData affiche d'un message d'erreur si le Module:Langue/Data n'a pas été chargé correctement,
-- pour la page de discussion de la base de donnéedonnées et ceux qui veulent surveiller cette page.
function Langue.erreurModuleData()
if success == false then
local message = [[<strong class="error">Le chargement du module Langue/Data génère une erreur : </strong> <br />%s <br />
 
<span class="error">Cette erreur doit être corrigée au plus vite car des milliers de pagepages ne s'affichent pas correctement.</span>
]]
return string.format( message, resultat )
Ligne 376 :
|-
!scope=col|Alias
!scope=col|codeCode IETF
!scope=col|Nom principal
!scope=col|Page (si différente du nom)
!scope=col|RTL
!scope=col|invalideInvalide]]
 
local ligneTab, ligneSrt
Ligne 404 :
end
 
-- listeCodeAlias généregénère une liste ; les langues sont la forme : * code : alias1, alias2
function Langue.listeCodeAlias ()
if type( dataLangue ) ~= 'table' then
Ligne 412 :
local code, alias, codeAlias
for i, v in pairs( dataLangue ) do
-- on construit un table avec pour indiceindices les codecodes de langue, et pour valeurvaleurs une table avec la liste des alias
code = v.code
if code then
Ligne 422 :
end
for i, v in pairs( languesTab ) do
-- transformation en un table séquence, avec pour valeur une chainechaîne correspondant à une ligne de la liste
alias = table.concat( v, ', ' )
if alias == '' then
Ligne 436 :
end
 
-- listeCodeAlias généregénère une liste ; les langues sont la forme : * code : alias1, alias2
function Langue.listeAliasCode ()
if type( dataLangue ) ~= 'table' then
Ligne 444 :
local code
for i, v in pairs( dataLangue ) do
-- on construit un table avec pour indiceindices les codecodes de langue, et pour valeurvaleurs une table avec la liste des alias
code = v.code
if code and i ~= code then