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

De Mythemes
Aucun résumé des modifications
Aucun résumé des modifications
 
(5 versions intermédiaires par le même utilisateur non affichées)
Ligne 3 : Ligne 3 :
--local maj = 'M'
--local maj = 'M'
--local lang = mw.getLanguage( langue )
--local lang = mw.getLanguage( langue )


local dict = mw.loadData( 'module:Translate/data' )
local dict = mw.loadData( 'module:Translate/data' )
Ligne 21 : Ligne 22 :


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


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


return p
return p

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