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

De Mythemes
Aucun résumé des modifications
Aucun résumé des modifications
 
(Une version intermédiaire par le même utilisateur non affichée)
Ligne 43 : Ligne 43 :
local liste_langues = {langue,'en','fr'}
local liste_langues = {langue,'en','fr'}
if dict[expr] then
if dict2[expr] then
for _,lng in ipairs(liste_langues) do
for _,lng in ipairs(liste_langues) do
if dict[expr][lng] then
if dict2[expr][lng] then
return dict[expr][lng]
return dict2[expr][lng]
end
end
end
end

Version actuelle datée du 21 octobre 2022 à 08:45

La documentation pour ce module peut être créée à Module:Translate/doc

local p = {}
--local langue = 'fr'
--local maj = 'M'
--local lang = mw.getLanguage( langue )


local dict = mw.loadData( 'module:Translate/data' )
local dict2 = mw.loadData( 'module:Translate/data2' )

function p.tt(frame)
	local langue = frame:preprocess("{{int:lang}}")
	return(frame.args[1] .. " test " .. langue)
end

function p.translate(expr,langue)
	if langue == 'fr' then
		return expr 
	else
		return dict[expr] or expr
	end
end

function p.transl(frame)
	local expr = string.gsub(frame.args[1], '^%s*(.-)%s*$', '%1')
	local maj = frame.args[2]
	local langue = frame:preprocess("{{int:lang}}")

	if langue ~= 'fr' then
		expr = dict[expr] or expr
	end
	
	if string.sub(maj,1,1) ~= 'm' then 
		expr = string.upper(string.sub(expr,1,1)) .. string.sub(expr,2)
		expr = expr
	end	
	
	return expr
end

function p.transl2(frame)
	local expr = string.gsub(frame.args[1], '^%s*(.-)%s*$', '%1')
	local langue = frame:preprocess("{{int:lang}}")
	local liste_langues = {langue,'en','fr'}
	
	if dict2[expr] then
		for _,lng in ipairs(liste_langues) do
			if dict2[expr][lng] then
				return dict2[expr][lng]
			end
		end
	end
	return expr
end


return p