Module:Cycling race/data exporter

From Wikidata
Jump to navigation Jump to search
Lua
CodeDiscussionLinksLink count SubpagesDocumentationTestsResultsSandboxLive code All modules
--Contains all translation for Module:Cycling race
--To export to a local wiki use
--https://www.wikidata.org/wiki/Module:Cycling_race/data_exporter
--== IV) Translation ==
return
{
	startlist_translate={"Startlist", "#", "Rider", "Rank", "Directeur sportif :", "DNF", "OTL", "DNS", "DSQ", "road", "ITT", "and", "no team", "show", "hide"
	},
	
	startlist_women_translate={"Startlist", "#", "Rider", "Rank", "Directeur sportif :", "DNF", "OTL", "DNS", "DSQ", "road", "ITT", "and", "no team", "show", "hide"
	},
	
	startlisttable_translate={"Startlist", "#", "Rider", "Team", "Rank"
	},

	startlisttable_women_translate={"Startlist", "#", "Rider", "Team", "Rank"
	},
	
	race_reference_translate={"Source: ", "Sources: "
	},
	
	race_reference_women_translate={"Source: ", "Sources: "
	},
	
	--title problem
	calendar_translate={"UCI Calendar", "Date", "#", "Race", "Country", "Class", "Winner", "Second", "Third", "Overall leader", "UCI Women's World Tour", "", "UCI World Tour", "UCI Europe Tour", "UCI Asia Tour", "UCI America Tour", "UCI Africa Tour", "UCI Oceania Tour", "National championship", "Road race", "Individual time trial", "UCI ProSeries", "Ranking", "Best rider"
	},
	
	calendar_women_translate={"UCI Calendar", "Date", "#", "Race", "Country", "Class", "Winner", "Second", "Third", "Overall leader", "UCI Women's World Tour", "", "UCI World Tour", "UCI Europe Tour", "UCI Asia Tour", "UCI America Tour", "UCI Africa Tour", "UCI Oceania Tour", "National championship", "Road race", "Individual time trial", "UCI ProSeries", "Ranking", "Best rider"
	},
	
	victories_translate={"General classification", "Victories", "Date", "Race", "Country", "Class", "Winner", "stage", "Prologue"
	},

	victories_women_translate={"General classification", "Victories", "Date", "Race", "Country", "Class", "Winner", "stage", "Prologue"
	},
	
	listofstagesclassification_translate={"not attributed", "Final"
	},

	listofstagesclassification_women_translate={"not attributed", "Final"
	},
	
	stageinfobox_translate={"Race details", "Race", "Type", "Date", "Dates", "Distance", "Country", "Countries",
			"Journey origin", "Lieu d'arrivée", "Starting riders",
			"Arriving riders", "Average speed", "Cost", "Stage results", "Winner", "Second", "Third", "Combative",
			"General classification after stage", "Leader", "Second", "Third",
			"Secondary classifications after stage", "Points", "Mountain", "Sprints", "Young", "Combativity",
			"Combinated", "Intermediate sprints", "Regularity",
			"Team", "Team by points",
			"Image", "Legend", "Card", "Sectional view", "Documentation", "Cima Coppi", "Cima Pantani",
			"Azzurri d'Italia", "Breakaway", "Elevation"
		
	},
		
	stageinfobox_women_translate={"Race details", "Race", "Type", "Date", "Dates", "Distance", "Country", "Countries",
			"Journey origin", "Lieu d'arrivée", "Starting riders",
			"Arriving riders", "Average speed", "Cost", "Stage results", "Winner", "Second", "Third", "Combative",
			"General classification after stage", "Leader", "Second", "Third",
			"Secondary classifications after stage", "Points", "Mountain", "Sprints", "Young", "Combativity",
			"Combinated", "Intermediate sprints", "Regularity",
			"Team", "Team by points",
			"Image", "Legend", "Card", "Sectional view", "Documentation", "Cima Coppi", "Cima Pantani",
			"Azzurri d'Italia", "Breakaway", "Elevation"
		
	},

	raceinfobox_translate={"yearly", "monthly", "Official site", "Sport", "Creation", "End", "Number of éditions",
			"Frequency", "Type", "Place", "Places", "Organisator", "Organisators", "Official web site",
			"Category", "Categories", "Circuit",
			"Official names", "Race details", "Palmares", "Most recent", "Most wins",
			"Present races", " for the last race ",
			" for the next race ", "Documentation",
			"Race director", "Race directors", "victories", "victories", "in", "victory", "Country", "Countries"
		
	},
		
	raceinfobox_women_translate={"yearly", "monthly", "Official site", "Sport", "Creation", "End", "Number of éditions",
			"Frequency", "Type", "Place", "Places", "Organisator", "Organisators", "Official web site",
			"Category", "Categories", "Circuit",
			"Official names", "Race details", "Palmares", "Most recent", "Most wins",
			"Present races", " for the last race ",
			" for the next race ", "Documentation",
			"Race director", "Race directors", "victories", "victories", "in", "Country", "Countries"
		
	},
		
	riderinfobox_translate={"Birthname", "Birthnames", "Nickname", "Nicknames", "Official name", "Official names",
			"Short name", "Short names", "Born", "Death", "Country", "Countries", "Present team",
			"Present teams", "Speciality", "Specialities", "Lateralisation", "Blood group",
			"Height", "Weight",
			"Award", "Awards", "Managerial team", "Managerial teams", "Managerial years",
			"Amateur team", "Amateur teams", "Amateur years", 
			"non-UCI team", "non-UCI teams", "non-UCI years", 
			"pro team", "pro teams", "pro years",
			"UCI team", "UCI teams", "UCI years", "Main victories",
			"Mountain-Bike team", "Mountain-Bike teams", "Cyclo-cross team", "Cyclo-cross teams",
			"Track team", "Track teams", "Professionnal team", "Professionnal teams",
			"Medals", "year", "years", "years", "sub-title", 
			"Managerial national team", "Managerial national teams", "Managerial national years", "Information by rider",
			"Mountain-Bike", "Cyclo-cross", "Track"
		
	},

	riderinfobox_women_translate={"Birthname", "Birthnames", "Nickname", "Nicknames", "Official name", "Official names",
			"Short name", "Short names", "Born", "Death", "Country", "Countries", "Present team",
			"Present teams", "Speciality", "Specialities", "Lateralisation", "Blood group",
			"Height", "Weight",
			"Award", "Awards", "Managerial team", "Managerial teams", "Managerial years",
			"Amateur team", "Amateur teams", "Amateur years", 
			"non-UCI team", "non-UCI teams", "non-UCI years", 
			"pro team", "pro teams", "pro years",
			"UCI team", "UCI teams", "UCI years", "Main victories",
			"Mountain-Bike team", "Mountain-Bike teams", "Cyclo-cross team", "Cyclo-cross teams",
			"Track team", "Track teams", "Professionnal team", "Professionnal teams",
			"Medals", "year", "years", "years", "sub-title", 
			"Managerial national team", "Managerial national teams", "Managerial national years", "Information by rider",
			"Mountain-Bike", "Cyclo-cross", "Track"
		
	},

	teaminfobox_translate={"Informations", "Sport", "Category", "Categories", "UCI code", "UCI codes", 
			"Country", "Countries", "Creation", "Disparition", "Seasons", "in",
			"Official site", "General manager", "General managers", 
			"Sporting director", "Sporting director", "Staff", 
			"Names", "Jersey", 
			"Present season", " for the last season ", " for the next season ",
			"Bikes", "Bikes", "Budget", "Sponsor", "Sponsors"
		
	},

	teaminfobox_women_translate={"Informations", "Sport", "Category", "Categories", "UCI code", "UCI codes", 
			"Country", "Countries", "Creation", "Disparition", "Seasons", "in",
			"Official site", "General manager", "General managers", 
			"Sporting director", "Sporting director", "Staff", 
			"Names", "Jersey", 
			"Present season", " for the last season ", " for the next season ",
			"Bikes", "Bikes", "Budget", "Sponsor", "Sponsors"
		
	},
	
	getSquadTableColumn_translate={"Rider", "Date of birth", "Previous team", "note", "note", "Country", "Team roster"
	},
	
	getSquadTableColumn_women_translate={"Rider", "Date of birth", "Previous team", "note", "note", "Country", "Team roster"
	},
	
	infobox_translate={"Race details", "Course", "Competition", "Competitions", "Stages", "Date", "Dates", "Distance", "Country", "Countries",
			"Journey origin", "Journey destination", "Teams", "Starting riders", "Arriving riders", "Average speed", "Cost", "Palmares", "Winner", "Second",
			"Third", "Points", "Mountains", "Sprints", "Youth", "Combativity", "Combination", "Team", "Picture", "Caption", "Map", "Special 1", "Special 2",
			"Documentation", "Intermediate sprints", "Regularidad", "Team points", "Breakaway", "Azzurri d'Italia", "Rookie", "Amateur", "Nationality", "Elevation",
			"Region", "Racing", 
			"Edition", "Location", "Locations", "Organizer", "Organizers", 
			"Winners ", "Individual", "Youth", "Team ", "Groupe Sportif I", 
			"Groupe Sportif II", "Groupe Sportif III ", "Country", "Country U23", "Medals",
			"Arena", "Arenas ", "Team class", "Season details", "Championat details", 
			"General", "City", "Cities", "Season details", "Championship/Tournament details", "Races"
		
	},

	infobox_women_translate={"Race details", "Course", "Competition", "Competitions", "Stages", "Date", "Dates", "Distance", "Country", "Countries",
			"Journey origin", "Journey destination", "Teams", "Starting riders", "Arriving riders", "Average speed", "Cost", "Palmares", "Winner", "Second",
			"Third", "Points", "Mountains", "Sprints", "Youth", "Combativity", "Combination", "Team", "Picture", "Caption", "Map", "Special 1", "Special 2",
			"Documentation", "Intermediate sprints", "Regularidad", "Team points", "Breakaway", "Azzurri d'Italia", "Rookie", "Amateur", "Nationality", "Elevation",
			"Region", "Racing", 
			"Edition", "Location", "Locations", "Organizer", "Organizers", 
			"Winners ", "Individual", "Youth", "Team ", "Groupe Sportif I", 
			"Groupe Sportif II", "Groupe Sportif III ", "Country", "Country U23", "Medals",
			"Arena", "Arenas ", "Team class", "Season details", "Championat details", 
			"General", "City", "Cities", "Season details", "Championship/Tournament details","Races"
		
	},
	
	unit_translate={"", "h ", "' ", '"', ' km/h', " pt", " pts", "km", "m", "kg","cm"
	},

	unit_women_translate={"", "h ", "' ", '"', ' km/h', " pt", " pts", "km", "m", "kg","cm"
	},
	
	headoftable_translate={"Stage", "Date", "Course", "Distance - km (mi)", "Stage winner", "Overall leader", "Elevation (m)"
	},

	headoftable_women_translate={"Stage", "Date", "Course", "Distance - km (mi)", "Stage winner", "Overall leader", "Elevation (m)"
	},
	
	headoftableII_translate={"Rider", "Country", "Team", "Time", "Time Gap", "Speed", "Points", "Stage classification",
				"General classification", "Points classification", "Mountains classification", "Sprints classification", "Best young classification",
				"Teams classification", "Points classification for teams", "Combination classification", "Combative classification", "U23 classification", "UCI Ranking"
		
	},

	headoftableII_women_translate={"Rider", "Country", "Team", "Time", "Time Gap", "Speed", "Points", "Stage classification", "General classification", "Points classification", "Mountains classification", "Sprints classification", "Best young classification", "Teams classification", "Points classification for teams", "Combination classification", "Combative classification", "U23 classification", "UCI Ranking"
	},
	
	headoftableIII_translate={"Team name", "Country", "Code", "UCI WorldTeam", "UCI WorldTeams", "UCI ProTeam", "UCI ProTeams", "UCI Professional continental team", "UCI Professional continental teams", 
			"UCI Continental team", "UCI Continental teams", "National team", "National teams", "Cycling club team", "Cycling club teams", "Professional cycling team", "Professional cycling teams", 
			"Amateur cycling team", "Amateur cycling teams", "Groupe sportif I", "Groupes sportifs I", "Groupe sportif II", "Groupes sportifs II", "Groupe sportif III", "Groupes sportifs III", 
			"Mixed team", "Mixed teams", "UCI Women’s Team", "UCI Women’s Teams", "Women's amateur cycling team", "Women's amateur cycling teams", "UCI Women's continental team", "UCI Women's continental teams", 
			"U23", "U19", "B", "Mixt team", "Mixt teams", "National team with sponsor name", "National teams with sponsor name", "Amateurclub or region team", "Amateur, club or region teams", 
			"DCU Elite Team", "DCU Elite Teams", "UCI Track Team", "UCI Track Teams", "UCI Cyclocross Team", "UCI Cyclocross Teams", "UCI MTB Team", "UCI MTB Teams", "UCI BMX Team", "UCI BMX Teams", 
			"Regional team", "Regional teams", "UCI Women's Elite 2 Team", "UCI Women's Elite 2 Teams" 
	},

	headoftableIII_women_translate={"Team name", "Country", "Code", "UCI WorldTeam", "UCI WorldTeams", "UCI ProTeam", "UCI ProTeams", "UCI Professional continental team", "UCI Professional continental teams", "UCI Continental team", "UCI Continental teams", "National team", "National teams", "Cycling club team", "Cycling club teams", "Professional cycling team", "Professional cycling teams", "Amateur cycling team", "Amateur cycling teams", "Groupe sportif I", "Groupes sportifs I", "Groupe sportif II", "Groupes sportifs II", "Groupe sportif III", "Groupes sportifs III", "Mixed team", "Mixed teams", "UCI Women’s Team", "UCI Women’s Teams", "Women's amateur cycling team", "Women's amateur cycling teams", "UCI Women's continental team", "UCI Women's continental teams", "U23", "U19", "B", "Mixt team", "Mixt teams", "National team with sponsor name", "National teams with sponsor name", "Amateurclub or region team", "Amateur, club or region teams", "DCU Elite Team", "DCU Elite Teams", "UCI Track Team", "UCI Track Teams", "UCI Cyclocross Team", "UCI Cyclocross Teams", "UCI MTB Team", "UCI MTB Teams", "UCI BMX Team", "UCI BMX Teams", "Regional team", "Regional teams", "UCI Women's Elite 2 Team", "UCI Women's Elite 2 Teams" 
	},
	
	--trick to be added
	listofwinners_translate={"Year", "Winner", "Second", "Third", "Points", "Mountains", "Sprints", "Youth", "Combativity", "Combination", "Team", "Intermediate sprints", "Regularidad", "Team points", "Breakaway", "Azzurri d'Italia", "Rookie", "Amateur", "Nationality"
	},

	listofwinners_women_translate={"Year", "Winner", "Second", "Third", "Points", "Mountains", "Sprints", "Youth", "Combativity", "Combination", "Team", "Intermediate sprints", "Regularidad", "Team points", "Breakaway", "Azzurri d'Italia", "Rookie", "Amateur", "Nationality"
	},

	riderranking_translate={"Year", "UCI Ranking", "UCI World Tour", "World Cup", "UCI World Tour", "UCI Europe Tour",
			"UCI Asia Tour", "UCI Oceania Tour", "UCI America Tour", "UCI Africa Tour", "World Ranking", "UCI World Calendar",
			"UCI ProTour", "UCI World Ranking", "World Cup", "Super Prestige Pernod", "Challenge Desgrange-Colombo",
			"Team ranking", "Best rider ranking", "Ranking", "Best rider"
		
	},

	riderranking_women_translate={"Year", "UCI Ranking", "UCI World Tour", "World Cup", "UCI World Tour", "UCI Europe Tour",
			"UCI Asia Tour", "UCI Oceania Tour", "UCI America Tour", "UCI Africa Tour", "World Ranking", "UCI World Calendar",
			"UCI ProTour", "UCI World Ranking", "World Cup", "Super Prestige Pernod", "Challenge Desgrange-Colombo",
			"Team ranking", "Best rider ranking", "Ranking", "Best rider"
		
	},

	type_of_stage_translate={plain = "plain stage", hilly="hilly stage", inter='intermediate stage', mount='mountain stage', time_prologue='time trial stage', time_team='team time trial stage', time_indiv='individual time trial stage', uphill='uphill time trial stage', rest='rest day'
	},

	func_prologue_translate={"Prologue", "stage"
	},
	
	black_list={}
	}
}

Code

--export Cycling race/data to a given wiki

--filter all information which are not related to the given wiki
--[[
Example:
{{#invoke:Cycling race/data_exporter|entry|wiki=ar}}
]]
local p = {}
local modul_to_export='Cycling race/l10n all'

function p.entry(frame)
	local module = mw.title.new( modul_to_export, 'Module') 
	local source = module:getContent()
	local wiki = frame.args.wiki or "en"
    --Deleted unnecessary languages
	local startpos, endpos = 1
	repeat
		startpos, endpos = string.find(source, '%p*translate%p*{', startpos)
		if startpos then
			local defs = {}
			local p1, p2, key, value = endpos + 1
			local last = endpos + 1
			local count = 0
			repeat
				p1, p2, key, value = string.find(source, '^%s*(%b[])%s*=%s*(%b{}%s*,?)', p1)

mw.logObject(p1)
mw.logObject(p2)
mw.logObject(key)
mw.logObject(value)

				if p1 then
					defs[key] = value
					p1 = p2 + 1
					last = p1
				end
				count = count + 1
			until p1 == nil
			local wanted = defs['["'..wiki..'"]'] or defs['["en"]'] or defs['["fr"]']
mw.logObject(count)
mw.logObject(wanted)

			if wanted then
				wanted =string.gsub(wanted,"},","")
				source = string.sub(source, 1, endpos-1) .. wanted .. string.sub(source, last)
			else
				source = string.sub(source, 1, endpos-1) ..  string.sub(source, last)
			end
			
			startpos = endpos + 1
		end
	until startpos == nil
-- default
	source =string.gsub(source,"black_list_translate","black_list")

	local output = frame:extensionTag{ name = 'pre', content = source, args = {} }
	return output
end

return p