Module:Tr

De Terraria Wiki
Aller à la navigation Aller à la recherche
Voir aussi la page anglaise du module : Module:Tr. Elle pourra contenir des informations plus complètes et actuelles.

Aucune sous-page de documentation n'existe déjà pour ce module. En créer une maintenant.


local VariablesLua = mw.ext.VariablesLua

return { 
	-- load database for template:tr
	-- from template: {{#invoke:tr|loadData|lang=<lang>}}
	loadData = function(frame)
		local lang = frame.args['lang'] or 'en'
		local database = mw.loadData( 'Module:Tr/loaddata-'..lang) 		
		local prefix = '_tr:'..lang ..':'
		for k,v in pairs(database.main) do
			VariablesLua.vardefine( prefix..k, v )
		end
		prefix = prefix .. 'link:'
		for k,v in pairs(database.pagename) do
			VariablesLua.vardefine( prefix..k, v )
		end
	end,
	
	-- load database for template:tr2e
	-- from template: {{#invoke:tr|loadData2e|lang=<lang>}}
	loadData2e = function(frame)
		local lang = frame.args['lang'] or 'en'
		local database = mw.loadData( 'Module:Tr/loaddata-'..lang) 		
		local prefix = '_tr2e:'..lang ..':'
		for k,v in pairs(database.reversed) do
			VariablesLua.vardefine( prefix..k, v )
		end
	end,
	
	-- purge database cache
	-- from template: {{#invoke:tr|purge|lang=<lang>}}
	-- from module: require('Module:tr').purge(<lang>)
	purge = function(frame)
		local lang
		if frame == mw.getCurrentFrame() then
			lang = frame.args['lang']
		else
			lang = frame
		end
		lang = lang or 'en'
		require('Module:Tr/loaddata').purge(lang)
	end,

	-- for other module. Functionally identical to {{tr|<input>|lang=<lang>|link=y}}.
	translateLink = function(input, lang)
		local database = mw.loadData('Module:Tr/loaddata-'..lang)
		local t = database.pagename[input]
		if not t then
			if database.onWikiLangList[lang] then
			   	t = input..'/'..lang -- <enpagename>/<lang>
			else
				t = database.main[input] or input -- use {{tr}} as fallback
			end
		end
		return t
	end,
	
	-- for other module. Functionally identical to {{tr|<input>|lang=<lang>}}.
	translate = function(input, lang)
		local database = mw.loadData('Module:Tr/loaddata-'..lang)
		return database.main[input] or input
	end,
	
	-- for other module. Functionally identical to {{tr2e|<input>|lang=<lang>}}.
	translate2e = function(input, lang)
		local database = mw.loadData('Module:Tr/loaddata-'..lang)
		if database.onWikiLangList[lang] then
			--handle <English page>/<lang> 
			result, count = string.gsub(input, '/'..lang..'$', '')
			if count then
				return result
			end
		end
		return database.reversed[input] or input
	end,
	
}