Aller au contenu

Module:Bac à sable/Lowercase

Une page de Wikipédia, l'encyclopédie libre.
Ceci est une version archivée de cette page, en date du 1 juin 2022 à 01:24 et modifiée en dernier par Od1n (discuter | contributions) (pour benchmark lorsque traitement sur les values de mw.language.fetchLanguageNames() et de mw.language.fetchLanguageNames(' fr' )). Elle peut contenir des erreurs, des inexactitudes ou des contenus vandalisés non présents dans la version actuelle.

 Documentation[créer] [purger]
local p = {}

local nomsDataLangue = {}
for k, v in pairs( mw.loadData( 'Module:Langue/Data' ) ) do
	nomsDataLangue[ #nomsDataLangue + 1 ] = v.nom
end

local languageNames = {}
for k, v in pairs( mw.language.fetchLanguageNames() ) do
	languageNames[ #languageNames + 1 ] = v
end

local languageNamesFr = {}
for k, v in pairs( mw.language.fetchLanguageNames( 'fr' ) ) do
	languageNamesFr[ #languageNamesFr + 1 ] = v
end

function p.v1( frame )
	local args = frame:getParent().args

	local texts
	if args['noms data langue'] == 'oui' then
		texts = nomsDataLangue
	elseif args['language names'] == 'oui' then
		texts = languageNames
	elseif args['language names fr'] == 'oui' then
		texts = languageNamesFr
	else
		texts = { args.text }
	end

	local uLower = mw.ustring.lower

	for i = 1, args.nb do
		for j = 1, #texts do
			local text = texts[ j ]
			uLower( text )
		end
	end
end

function p.v2( frame )
	local args = frame:getParent().args

	local texts
	if args['noms data langue'] == 'oui' then
		texts = nomsDataLangue
	elseif args['language names'] == 'oui' then
		texts = languageNames
	elseif args['language names fr'] == 'oui' then
		texts = languageNamesFr
	else
		texts = { args.text }
	end

	local uLower = mw.ustring.lower

	for i = 1, args.nb do
		for j = 1, #texts do
			local text = texts[ j ]
			if text:find( '[^a-z ]' ) then
				uLower( text )
			end
		end
	end
end

return p