Module:Taille fichier
Apparence
[voir] [modifier] [historique] [purger]
Utilisation
[modifier le code]Ce module est utilisé par le modèle {{Taille fichier}}.
La documentation de ce module est générée par le modèle {{Documentation module}}.
Elle est incluse depuis sa sous-page de documentation. Veuillez placer les catégories sur cette page-là.
Les éditeurs peuvent travailler dans le bac à sable (créer).
Voir les statistiques d'appel depuis le wikicode sur l'outil wstat et les appels depuis d'autres modules.
-- luacheck: globals mw
local p = {}
function p.main( frame )
local args = frame.args
local argNumber = mw.text.trim( args[ 1 ] )
local argUnit = mw.text.trim( args[ 2 ] )
-- note the extra parentheses to avoid the 2nd value returned by string.gsub()
local number = tonumber( ( argNumber:gsub( ',', '.' ) ) )
if number == nil then
return p._message_erreur( 'Le premier paramètre n\'est pas un nombre valide : ' .. mw.text.nowiki( argNumber ) )
end
local units = {
ko = { name = 'kilooctet', symbol = 'ko' }, -- « ko » est bien en minuscules, voir [[wikt:ko]]
mo = { name = 'mégaoctet', symbol = 'Mo' },
go = { name = 'gigaoctet', symbol = 'Go' },
to = { name = 'téraoctet', symbol = 'To' },
kio = { name = 'kibioctet', symbol = 'Kio' },
mio = { name = 'mébioctet', symbol = 'Mio' },
gio = { name = 'gibioctet', symbol = 'Gio' },
tio = { name = 'tébioctet', symbol = 'Tio' },
}
local unit = units[ argUnit:lower() ]
if unit == nil then
return p._message_erreur( 'Le second paramètre n\'est pas une unité reconnue : ' .. mw.text.nowiki( argUnit ) )
end
local abbrTitle = unit.name .. ( number < 2 and '' or 's' )
local unitAbbr = '<abbr class="abbr" title="' .. abbrTitle .. '">' .. unit.symbol .. '</abbr>'
return '<span style="font-size:88%">('
.. mw.getContentLanguage():formatNum( number ) .. '\194\160' .. unitAbbr
.. ')</span>'
end
function p._message_erreur( message )
return '<span class="error">' .. message .. '</span>'
end
return p