Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Documentation for this module may be created at Module:Tr/doc

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
		-- {{#vardefine:_tr:<lang>:__OK__|y}}
		VariablesLua.vardefine(prefix .. '__OK__', 'y')
		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.main) do
			VariablesLua.vardefine( prefix..v, k )
		end
		-- {{#vardefine:_tr2e:<lang>:__OK__|y}}
		VariablesLua.vardefine(prefix .. '__OK__', 'y')
	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,
	
}