Mô đun:External links/conf/Sports

local configured_claims = {}
local function commons_formatter(id)
	return "https://commons.wikimedia.org/wiki/Category:" .. id:gsub(" ", "_")
end
configured_claims'vi' = {
	{ prop='P373',  message="$2 $1 – hình ảnh, video hoặc âm thanh tại Wikimedia Commons$3", short="$2 Wikimedia Commons", langcode='en', url_f=commons_formatter },
-- Olympics / Paralympics
	-- International
	{ prop='P3171', message='$2 $1 tại Ủy ban Olympic Quốc tế$3', short='$2 International Olympic Committee', langcode='en' },
	{ prop='P4397', message='$2 $1 tại Ủy ban Paralympic Quốc tế$3', short='$2 International Paralympic Committee', langcode='en' },
	-- National
	{ prop='P2323', message='$2 $1 tại Ủy ban Olympic Thụy Điển$3', short='$2 Swedish Olympic Committee', langcode='sv' },
	{ prop='P2593', message='$2 $1 tại Ủy ban Olympic Latvia$3', short='$2 Latvian Olympic Committee', langcode='lv' },
	{ prop='P3682', message='$2 $1 tại Ủy ban Olympic Úc$3', short='$2 Australian Olympic Committee', langcode='en' },
	{ prop='P4050', message='$2 $1 tại Ủy ban Olympic Pháp$3', short='$2 French Olympic Committee', langcode='fr' },
	{ prop='P4053', message='$2 $1 tại Ủy ban Olympic Đức$3', short='$2 German Olympic Committee', langcode='de' },
	{ prop='P4054', message='$2 $1 tại Ủy ban Olympic Canada$3', short='$2 Canadian Olympic Committee', langcode='en' },
	{ prop='P4056', message='$2 $1 tại Ủy ban Olympic New Zealand$3', short='$2 New Zealand Olympic Committee', langcode='en' },
	{ prop='P4060', message='$2 $1 tại Ủy ban Olympic Brasil$3', short='$2 Brazilian Olympic Committee', langcode='pt' },
	{ prop='P4061', message='$2 $1 tại Ủy ban Olympic Litva$3', short='$2 Lithuanian Olympic Committee', langcode='lt' },
	{ prop='P4062', message='$2 $1 tại Ủy ban Olympic Séc$3', short='$2 Czech Olympic Committee', langcode='cs' },
	{ prop='P4063', message='$2 $1 tại Ủy ban Olympic Hoa Kỳ$3', short='$2 United States Olympic Committee', langcode='en' },
	{ prop='P4065', message='$2 $1 tại Ủy ban Olympic Argentine$3', short='$2 Argentine Olympic Committee', langcode='es' },
	{ prop='P4066', message='$2 $1 tại Ủy ban Olympic Hungaria$3', short='$2 Hungarian Olympic Committee', langcode='hu' },
	{ prop='P4067', message='$2 $1 tại Ủy ban Olympic Romania$3', short='$2 Romanian Olympic Committee', langcode='ro' },
	{ prop='P4068', message='$2 $1 tại Ủy ban Olympic Trung Quốc$3', short='$2 Chinese Olympic Committee', langcode='en' }, -- Wikidata formatter URL is for English language web page
	{ prop='P4069', message='$2 $1 tại Ủy ban Olympic Ý$3', short='$2 Italian Olympic Committee', langcode='it' },
	-- P4489 is Hellenic (Greece) Olympic Committee, did not add link because website is currently unsafe/infected
	{ prop='P4490', message='$2 $1 tại Hiệp hội Olympic Anh Quốc$3', short='$2 British Olympic Association', langcode='en' },
	{ prop='P4541', message='$2 $1 tại Ủy ban Olympic Croatia$3', short='$2 Croatian Olympic Committee', langcode='hr' },
	{ prop='P4547', message='$2 $1 tại Ủy ban Olympic Serbia$3', short='$2 Serbian Olympic Committee', langcode='sr' },
	{ prop='P4593', message='$2 $1 tại Ủy ban Paralympic Tây Ban Nha$3', short='$2 Spanish Paralympic Committee', langcode='es' },
	-- Other
	{ prop='P1447', message='$2 $1 tại Sports Reference (kết quả Thế vận hội)$3', short='$2 Sports Reference (Olympic results)', langcode='en' },
	{ prop='P8286', message='$2 $1 tại Olympedia (kết quả Thế vận hội)$3', short='$2 Olympedia (Olympic results)', langcode='en' },
	{ prop='P5815', message='$2 $1 tại Olympic Channel$3', short='$2 Olympic Channel', langcode='en' },
	-- removed dead link: { prop='P3520', message='$2 $1 tại databaseOlympics.com$3', short='$2 databaseOlympics.com', langcode='en' },
-- Archery
	{ prop='P3010', message='$2 $1 tại Bắn cung thế giới$3', short='$2 World Archery', langcode='en' },
-- Athletics (track and field)
	{ prop='P1146', message='$2 $1 tại IAAF$3', short='$2 IAAF', langcode='en' },
	{ prop='P3766', message='$2 $1 tại Hiệp hội điền kinh châu Âu$3', short='$2 European Athletic Association', langcode='en' },
	{ prop='P3767', message='$2 $1 tại Liên đoàn điền kinh Pháp$3', short='$2 French Athletics Federation', langcode='fr' },
	{ prop='P3446', message='$2 $1 tại Liên đoàn điền kinh Ý$3', short='$2 Italian Athletics Federation', langcode='it' },
	{ prop='P2162', message='$2 $1 tại German Ultramarathon Association$3', short='$2 German Ultramarathon Association', langcode='en' },
	-- removed dead link: { prop='P3765', message='$2 $1 tại All-Athletics.com$3', short='$2 All-Athletics.com', langcode='en' },
	{ prop='P2090', message='$2 $1 tại ThePowerOf10.info$3', short='$2 ThePowerOf10.info', langcode='en' },
	{ prop='P3915', message='$2 $1 tại Điền kinh Úc$3', short='$2 Athletics Australia', langcode='en' },
	{ prop='P3923', message='$2 $1 tại IAAF Diamond League$3', short='$2 IAAF Diamond League', langcode='en' },
	{ prop='P3881', message='$2 $1 tại National Track and Field Hall of Fame$3', short='$2 National Track and Field Hall of Fame', langcode='en' },
	{ prop='P3926', message='$2 $1 tại USA Track & Field$3', short='$2 USA Track & Field', langcode='en' },
	{ prop='P3924', message='$2 $1 tại TrackField.brinkster.net$3', short='$2 TrackField.brinkster.net', langcode='en' }, -- female
	{ prop='P3925', message='$2 $1 tại TrackField.brinkster.net$3', short='$2 TrackField.brinkster.net', langcode='en' }, -- male
	{ prop='P5120', message='$2 $1 tại TFRRS.org$3', short='$2 TFRRS', langcode='en' },
-- Badminton
	{ prop='P2729', message='$2 $1 tại BWF.tournamentsoftware.com$3', short='$2 BWF.tournamentsoftware.com', langcode='en' },
	{ prop='P3620', message='$2 $1 tại BWFbadminton.com$3', short='$2 BWFbadminton.com', langcode='en' },
	{ prop='P3623', message='$2 $1 tại BadmintonLink.com$3', short='$2 BadmintonLink.com', langcode='en' },
-- Baseball
	{ prop='P3541', message='$2 $1 tại MLB$3', short='$2 MLB', langcode='en' },
	{ prop='P1825', message='$2 $1 tại Baseball-Reference.com (major league)$3', short='$2 Baseball-Reference.com (major league)', langcode='en' },
	{ prop='P1826', message='$2 $1 tại Baseball-Reference.com (minor league)$3', short='$2 Baseball-Reference.com (minor league)', langcode='en' },
	{ prop='P3571', message='$2 $1 tại ESPN (MLB)$3', short='$2 ESPN (MLB)', langcode='en' },
	{ prop='P2482', message='$2 $1 tại SABR$3', short='$2 SABR', langcode='en' },
	{ prop='P3574', message='$2 $1 tại FanGraphs.com$3', short='$2 FanGraphs.com', langcode='en' },
-- Basketball
	{ prop='P3542', message='$2 $1 tại FIBA$3', short='$2 FIBA', langcode='en' },
	{ prop='P3536', message='$2 $1 tại EuroLeague$3', short='$2 EuroLeague', langcode='en' },
	{ prop='P3527', message='$2 $1 tại Eurobasket.com$3', short='$2 Eurobasket.com', langcode='en' },
	{ prop='P3525', message='$2 $1 tại ACB.com$3', short='$2 ACB.com', langcode='en' },
	{ prop='P3533', message='$2 $1 tại DraftExpress.com$3', short='$2 DraftExpress.com', langcode='en' },
-- Biathlon
	{ prop='P2459', message='$2 $1 tại IBU$3', short='$2 IBU', langcode='en' },
-- Billiards / snooker
	{ prop='P3531', message='$2 $1 tại AZBilliards.com$3', short='$2 AZBilliards.com', langcode='en' },
	{ prop='P3830', message='$2 $1 tại CueTracker.net$3', short='$2 CueTracker.net', langcode='en' },
-- Bobsleigh, Skeleton, Luge
	{ prop='P2991', message='$2 $1 tại IBSF$3', short='$2 IBSF', langcode='en' },
	{ prop='P2990', message='$2 $1 tại FIL$3', short='$2 FIL', langcode='en' },
-- Boxing
	{ prop='P1967', message='$2 $1 tại BoxRec$3', short='$2 BoxRec', langcode='en' },
-- Canoe / kayak
	{ prop='P3688', message='$2 $1 tại ICF (sprint)$3', short='$2 ICF (sprint)', langcode='en' },
	{ prop='P3689', message='$2 $1 tại ICF (slalom)$3', short='$2 ICF (slalom)', langcode='en' },
-- Chess
	{ prop='P3316', message='$2 $1 tại OlimpBase.org$3', short='$2 OlimpBase.org', langcode='en' },	
	{ prop='P1440', message='$2 $1 tại ICCF$3', short='$2 ICCF', langcode='en' },
	{ prop='P3558', message='$2 $1 tại US Chess Federation$3', short='$2 US Chess Federation', langcode='en' },
	{ prop='P1665', message='$2 $1 tại Chessgames.com$3', short='$2 Chessgames.com', langcode='en' },	
	{ prop='P3315', message='$2 $1 tại Chesstempo.com$3', short='$2 Chesstempo.com', langcode='en' },	
	{ prop='P3940', message='$2 $1 tại OlimpBase.org$3', short='$2 OlimpBase.org', langcode='en' },	
	{ prop='P3314', message='$2 $1 tại 365Chess.com$3', short='$2 365Chess.com', langcode='en' },	
-- Climbing
	{ prop='P3690', message='$2 $1 tại IFSC$3', short='$2 IFSC', langcode='en' },
-- Cricket
	{ prop='P2697', message='$2 $1 tại ESPNcricinfo$3', short='$2 ESPNcricinfo', langcode='en' }, -- player
	{ prop='P3572', message='$2 $1 tại ESPNcricinfo$3', short='$2 ESPNcricinfo', langcode='en' }, -- playing ground
	{ prop='P3526', message='$2 $1 tại Wisden India$3', short='$2 Wisden India', langcode='en' },
-- Curling
	{ prop='P3557', message='$2 $1 tại Liên đoàn bi đá trên tuyết thế giới$3', short='$2 World Curling Federation', langcode='en' },
	{ prop='P3556', message='$2 $1 tại World Curling Tour$3', short='$2 World Curling Tour', langcode='en' },
-- Cycling
	{ prop='P1409', message='$2 $1 tại Cycling Archives$3', short='$2 Cycling Archives', langcode='en' },
	{ prop='P1541', message='$2 $1 tại Cycling Quotient$3', short='$2 Cycling Quotient', langcode='en' }, -- male cyclist
	{ prop='P2709', message='$2 $1 tại Cycling Quotient$3', short='$2 Cycling Quotient', langcode='en' }, -- female cyclist
	{ prop='P1664', message='$2 $1 tại CyclingDatabase.com$3', short='$2 CyclingDatabase.com', langcode='en' },
	{ prop='P1663', message='$2 $1 tại ProCyclingStats$3', short='$2 ProCyclingStats', langcode='en' }, -- cyclist
	{ prop='P2327', message='$2 $1 tại ProCyclingStats$3', short='$2 ProCyclingStats', langcode='en' }, -- race
-- Darts
	{ prop='P3621', message='$2 $1 tại DartsDatabase.co.uk$3', short='$2 DartsDatabase.co.uk', langcode='en' },
-- Diving
	{ prop='P2780', message='$2 $1 tại Institute for Applied Training Science (IAT)$3', short='$2 IAT', langcode='de' }, -- diving
-- Equestrian
	{ prop='P3111', message='$2 $1 tại FEI$3', short='$2 FEI', langcode='en' },
-- Fencing
	{ prop='P2423', message="$2 $1 tại FIE$3", short='$2 FIE', langcode='en' },
-- Field hockey
	{ prop='P3742', message='$2 $1 tại FIH$3', short='$2 FIH', langcode='en' },
-- Figure skating
	{ prop='P2694', message='$2 $1 tại ISU$3', short='$2 ISU', langcode='en' },
-- Football (American, Canadian, gridiron)
	{ prop='P3539', message='$2 $1 tại NFL$3', short='$2 NFL', langcode='en' },
	{ prop='P3686', message='$2 $1 tại ESPN (NFL)$3', short='$2 ESPN (NFL)', langcode='en' },
	{ prop='P3561', message='$2 $1 tại Pro-Football-Reference.com$3', short='$2 Pro-Football-Reference.com', langcode='en' },
	{ prop='P3566', message='$2 $1 tại JustSportsStats.com$3', short='$2 JustSportsStats.com', langcode='en' },
	{ prop='P3560', message='$2 $1 tại College Football Data Warehouse$3', short='$2 College Football Data Warehouse', langcode='en' },
-- Football (association football, soccer)
	{ prop='P1469', message='$2 $1 tại FIFA$3', short='$2 FIFA', langcode='en' },
	{ prop='P2276', message='$2 $1 tại UEFA$3', short='$2 UEFA', langcode='en' },
	{ prop='P2823', message='$2 $1 tại Hiệp hội bóng đá Bỉ$3', short='$2 Belgian Football Association', langcode='en' },
	{ prop='P3659', message='$2 $1 tại Hiệp hội bóng đá Estonia$3', short='$2 Estonian Football Association', langcode='en' },
	{ prop='P3748', message='$2 $1 tại Hiệp hội bóng đá Israel$3', short='$2 Israel Football Association', langcode='en' },
	{ prop='P3577', message='$2 $1 tại Liên đoàn bóng đá Croatia$3', short='$2 Croatian Football Federation', langcode='hr' },
	{ prop='P3049', message='$2 $1 tại Hiệp hội bóng đá Scotland$3', short='$2 Scottish Football Association', langcode='en' },
	{ prop='P1238', message='$2 $1 tại Hiệp hội bóng đá Thụy Điển$3', short='$2 Swedish Football Association', langcode='sv' },
	{ prop='P3050', message='$2 $1 tại Hiệp hội bóng đá Cộng hòa Séc$3', short='$2 Football Association of the Czech Republic', langcode='en' },
	{ prop='P2448', message='$2 $1 tại Liên đoàn bóng đá Thổ Nhĩ Kỳ (cầu thủ)$3', short='$2 Turkish Football Federation', langcode='en' },
	{ prop='P2449', message='$2 $1 tại Liên đoàn bóng đá Thổ Nhĩ Kỳ (huấn luyện viên)$3', short='$2 Turkish Football Federation', langcode='en' },
	{ prop='P3662', message='$2 $1 tại Liên đoàn bóng đá Ukraina$3', short='$2 Football Federation of Ukraine', langcode='en' },
	{ prop='P3683', message='$2 $1 tại Ligue de Football Professionnel$3', short='$2 Ligue de Football Professionnel', langcode='fr' },
	{ prop='P3565', message='$2 $1 tại J.League$3', short='$2 J.League', langcode='jp' },
	{ prop='P3053', message='$2 $1 tại K League$3', short='$2 K League', langcode='en' },
	{ prop='P2398', message='$2 $1 tại Major League Soccer$3', short='$2 Major League Soccer', langcode='en' },
	{ prop='P3665', message="$2 $1 tại L'Équipe$3", short="$2 L'Équipe", langcode='fr' },
	-- removed dead link: { prop='P3532', message='$2 $1 tại databaseFootball.com$3', short='$2 databaseFootball.com', langcode='en' },
	{ prop='P2446', message='$2 $1 tại Transfermarkt (cầu thủ)$3', short='$2 Transfermarkt (player)', langcode='en' },
	{ prop='P2447', message='$2 $1 tại Transfermarkt (huấn luyện viên)$3', short='$2 Transfermarkt (manager)', langcode='en' },
	{ prop='P3699', message='$2 $1 tại Transfermarkt (trọng tài)$3', short='$2 Transfermarkt (referee)', langcode='en' },
	{ prop='P2574', message='$2 $1 tại National-Football-Teams.com$3', short='$2 National-Football-Teams.com', langcode='en' },
	{ prop='P2020', message='$2 $1 tại WorldFootball.net$3', short='$2 WorldFootball.net', langcode='en' },
	{ prop='P2193', message='$2 $1 tại Soccerbase.com (cầu thủ)$3', short='$2 Soccerbase.com (player)', langcode='en' },
	{ prop='P2195', message='$2 $1 tại Soccerbase.com (huấn luyện viên)$3', short='$2 Soccerbase.com (manager)', langcode='en' },
	{ prop='P3537', message='$2 $1 tại FootballDatabase.eu$3', short='$2 FootballDatabase.eu', langcode='en' },
--	{ prop='P3043', message='$2 $1 tại Scoresway.com$3', short='$2 Scoresway.com', langcode='en' },
	{ prop='P2369', message='$2 $1 tại Soccerway.com$3', short='$2 Soccerway.com', langcode='en' },
	{ prop='P3046', message='$2 $1 tại ForaDeJogo.net$3', short='$2 ForaDeJogo.net', langcode='en' },
	{ prop='P3047', message='$2 $1 tại TheFinalBall.com$3', short='$2 TheFinalBall.com', langcode='en' },
	{ prop='P3538', message='$2 $1 tại Fussballdaten.de$3', short='$2 Fussballdaten.de', langcode='de' },
	{ prop='P2458', message='$2 $1 tại Mackolik.com$3', short='$2 Mackolik.com', langcode='tr' },
	{ prop='P3936', message='$2 $1 tại Hiệp hội bóng đá Na Uy$3', short='$2 Football Association of Norway', langcode='no' },
-- Football (Australian)
	{ prop='P3546', message='$2 $1 tại AustralianFootball.com$3', short='$2 AustralianFootball.com', langcode='en' },
	{ prop='P3547', message='$2 $1 tại AFLtables.com$3', short='$2 AFLtables.com', langcode='en' },
-- Futsal
	{ prop='P3664', message='$2 $1 tại FutsalPlanet.com$3', short='$2 FutsalPlanet.com', langcode='en' },
-- Golf
	{ prop='P2811', message='$2 $1 tại PGA$3', short='$2 PGA', langcode='en' },
	{ prop='P2810', message='$2 $1 tại LPGA$3', short='$2 LPGA', langcode='en' },
	{ prop='P3521', message='$2 $1 tại PGA European Tour$3', short='$2 PGA European Tour', langcode='en' },
	{ prop='P3535', message='$2 $1 tại Japan Golf Tour$3', short='$2 Japan Golf Tour', langcode='en' },
	{ prop='P3897', message='$2 $1 tại Ladies European Tour$3', short='$2 Ladies European Tour', langcode='en' },
	{ prop='P3568', message='$2 $1 tại Xếp hạng Golf thế giới chính thức$3', short='$2 Official World Golf Ranking', langcode='en' },
-- Gymnastics
	{ prop='P2696', message='$2 $1 tại FIG$3', short='$2 FIG', langcode='en' },
	{ prop='P3671', message='$2 $1 tại USA Gymnastics$3', short='$2 USA Gymnastics', langcode='en' },
-- Handball
			-- Handball federations
	{ prop = 'P3573', message ='$2 $1 profil tại Liên đoàn bóng ném châu Âu $3', langcode = 'en', genitiv = true },
	{ prop = 'P3700', message ='$2 $1 profil tại Liên đoàn bóng ném Na Uy $3', langcode = 'no', genitiv = true },
			-- Handball leagues
	{ prop = 'P4289', message ='$2 $1 profil tại Ligue féminine de handball $3', langcode = 'fr', genitiv = true },
	{ prop = 'P4192', message ='$2 $1 profil tại Ligue Nationale de Handball $3', langcode = 'fr', genitiv = true },
	{ prop = 'P5057', message ='$2 $1 profil tại Handball Bundesliga $3', langcode = 'de', genitiv = true },
				-- Handball clubs
	{ prop = 'P4263', message ='$2 $1 profil tại THW Kiel $3', langcode = 'de', genitiv = true },		
				-- Etc.
--	{ prop = 'P4451', message ='$2 $1 profil tại Scoresway $3', langcode = 'en', genitiv = true },		
-- Ice hockey
	{ prop='P3522', message='$2 $1 tại NHL$3', short='NHL', langcode='en' },
	{ prop='P3687', message='$2 $1 tại ESPN (NHL)$3', short='$2 ESPN (NHL)', langcode='en' },
	{ prop='P3567', message='$2 $1 tại Hockey Hall of Fame (NHL player)$3', short='$2 Hockey Hall of Fame (NHL player)', langcode='en' },
	{ prop='P3651', message='$2 $1 tại TheAHL.com$3', short='$2 TheAHL.com', langcode='en' },
	{ prop='P3652', message='$2 $1 tại KHL.ru$3', short='$2 KHL.ru', langcode='en' },
	{ prop='P2481', message='$2 $1 tại EliteProspects.com$3', short='$2 EliteProspects.com', langcode='en' },
	{ prop='P2601', message='$2 $1 tại Eurohockey.com$3', short='$2 Eurohockey.com', langcode='en' },
	{ prop='P2602', message='$2 $1 tại HockeyDB.com$3', short='$2 HockeyDB.com', langcode='en' },
	{ prop='P3598', message='$2 $1 tại Hockey-Reference.com$3', short='$2 Hockey-Reference.com', langcode='en' },
-- Martial arts (karate, judo, taekwondo, mixed)
	{ prop='P2705', message='$2 $1 tại KarateRec.com$3', short='$2 KarateRec.com', langcode='en' },
	{ prop='P2767', message='$2 $1 tại JudoInside.com$3', short='$2 JudoInside.com', langcode='en' },
	{ prop='P2987', message='$2 $1 tại TaekwondoData.com$3', short='$2 TaekwondoData.com', langcode='en' },
	{ prop='P2818', message='$2 $1 tại Sherdog$3', short='$2 Sherdog', langcode='en' },
-- Motorsport
	{ prop='P3048', message='$2 $1 tại Racing-Reference.info$3', short='$2 Racing-Reference.info', langcode='en' },
	{ prop='P3684', message='$2 $1 tại DriverDB.com$3', short='$2 DriverDB.com', langcode='en' },
	{ prop='P3930', message='$2 $1 tại Rallye-info.com$3', short='$2 Rallye-info.com', langcode='en' },
	{ prop='P3927', message='$2 $1 tại eWRC-results.com$3', short='$2 eWRC-results.com', langcode='en' },
	{ prop='P3928', message='$2 $1 tại MotoGP.com$3', short='$2 MotoGP.com', langcode='en' },
-- Orienteering
	{ prop='P3672', message='$2 $1 tại IOF$3', short='$2 IOF', langcode='en' },
-- Rowing
	{ prop='P8990', message='$2 $1 tại FISA$3', short='$2 FISA', langcode='en' },
-- Rugby
	{ prop='P861',  message='$2 $1 tại Premiership Rugby$3', short='$2 Premiership Rugby', langcode='en' },
	{ prop='P3745', message='$2 $1 tại World Rugby Sevens Series$3', short='$2 World Rugby Sevens Series', langcode='en' },
	{ prop='P858',  message='$2 $1 tại ESPNscrum$3', short='$2 ESPNscrum', langcode='en' },
	{ prop='P3769', message='$2 $1 tại ItsRugby.co.uk$3', short='$2 ItsRugby.co.uk', langcode='en' },
-- Sailing
	{ prop='P2804', message='$2 $1 tại World Sailing$3', short='$2 World Sailing', langcode='en' },
-- Shooting
	{ prop='P2730', message='$2 $1 tại ISSF$3', short='$2 ISSF', langcode='en' },
-- Skiing (alpine, cross-country, freestyle, ski jumping, snowboarding)
	{ prop='P2772', message='$2 $1 tại FIS (alpine)$3', short='$2 FIS (alpine)', langcode='en' },
	{ prop='P2773', message='$2 $1 tại FIS (cross-country)$3', short='$2 FIS (cross-country)', langcode='en' },
	{ prop='P2774', message='$2 $1 tại FIS (freestyle)$3', short='$2 FIS (freestyle)', langcode='en' },
	{ prop='P2775', message='$2 $1 tại FIS (ski jumping)$3', short='$2 FIS (ski jumping)', langcode='en' },
	{ prop='P2776', message='$2 $1 tại FIS (Nordic combined)$3', short='$2 FIS (Nordic combined)', langcode='en' },
	{ prop='P2777', message='$2 $1 tại FIS (snowboarding)$3', short='$2 FIS (snowboarding)', langcode='en' },
	{ prop='P3619', message='$2 $1 tại Ski-DB.com$3', short='$2 Ski-DB.com', langcode='en' },
-- Speed skating
	{ prop='P2350', message='$2 $1 in SpeedSkatingBase.eu$3', short='$2 SpeedSkatingBase.eu', langcode='en' },
	{ prop='P3694', message='$2 $1 tại SpeedSkatingNews.info$3', short='$2 SpeedSkatingNews.info', langcode='en' },
	{ prop='P3695', message='$2 $1 tại SpeedSkatingStats.com$3', short='$2 SpeedSkatingStats.com', langcode='en' },
	{ prop='P3693', message='$2 $1 tại ShortTrackOnLine.info$3', short='$2 ShortTrackOnLine.info', langcode='en' },
-- Squash
	{ prop='P3476', message='$2 $1 tại PSA World Tour$3', short='$2 PSA World Tour', langcode='en' },
	{ prop='P3286', message='$2 $1 tại SquashInfo.com$3', short='$2 SquashInfo.com', langcode='en' },
-- Sumo wrestling
	{ prop='P3385', message='$2 $1 tại Hiệp hội Sumo Nhật Bản$3', short='$2 Japan Sumo Association', langcode='en' },
-- Surfing
	{ prop='P3339', message='$2 $1 tại World Surf League$3', short='$2 World Surf League', langcode='en' },
	{ prop='P3338', message='$2 $1 tại EncyclopediaOfSurfing.com$3', short='$2 EncyclopediaOfSurfing.com', langcode='en' },
-- Swimming
	{ prop='P3408', message='$2 $1 tại FINA$3', short='$2 FINA', langcode='en' },
	{ prop='P3691', message='$2 $1 tại International Swimming Hall of Fame$3', short='$2 International Swimming Hall of Fame', langcode='en' },
	{ prop='P3669', message='$2 $1 tại Bơi lội Úc$3', short='$2 Swimming Australia', langcode='en' },
	{ prop='P2640', message='$2 $1 tại SwimRankings.net$3', short='$2 SwimRankings.net', langcode='en' },
-- Table tennis
	{ prop='P1364', message='$2 $1 tại ITTF$3', short='$2 ITTF', langcode='en' },
-- Tennis
	{ prop='P536',  message='$2 $1 tại ATP$3', short='$2 ATP', langcode='en' }, -- player
	{ prop='P3456', message='$2 $1 tại ATP$3', short='$2 ATP', langcode='en' }, -- tournament
	{ prop='P597',  message="$2 $1 tại WTA$3", short='$2 WTA', langcode='en' }, -- player
	{ prop='P3469', message="$2 $1 tại WTA$3", short='$2 WTA', langcode='en' }, -- tournament
	{ prop='P599',  message='$2 $1 tại ITF$3', short='$2 WTA', langcode='en' },
	{ prop='P2641', message='$2 $1 tại Davis Cup$3', short='$2 Davis Cup', langcode='en' },
	{ prop='P2642', message='$2 $1 tại Fed Cup$3', short='$2 Fed Cup', langcode='en' },
	{ prop='P3363', message='$2 $1 tại International Tennis Hall of Fame$3', short='$2 International Tennis Hall of Fame', langcode='en' },
	{ prop='P3698', message='$2 $1 tại Quần vợt Úc$3', short='$2 Tennis Australia', langcode='en' },
	{ prop='P3670', message='$2 $1 tại TennisArchives.com$3', short='$2 TennisArchives.com', langcode='en' },
-- Triathlon
	{ prop='P3604', message='$2 $1 tại ITU$3', short='$2 ITU', langcode='en' },
	{ prop='P2778', message='$2 $1 tại Institute for Applied Training Science (IAT)$3', short='$2 IAT', langcode='en' }, -- triathlon
-- Volleyball
	{ prop='P2801', message='$2 $1 tại FIVB$3', short='$2 FIVB', langcode='en' },
	{ prop='P3725', message='$2 $1 tại Liên đoàn bóng chuyền châu Âu$3', short='$2 European Volleyball Confederation', langcode='en' },
	{ prop='P2800', message='$2 $1 tại Cơ sở dữ liệu bóng chuyền bãi biển$3', short='$2 Beach Volleyball Database', langcode='en' },
-- Weightlifting
	{ prop='P3667', message='$2 $1 tại IWF$3', short='$2 IWF', langcode='en' },
	{ prop='P2779', message='$2 $1 tại Institute for Applied Training Science (IAT)$3', short='$2 IAT', langcode='de' }, -- weightlifting
-- Wrestling (amateur)
	{ prop='P2727', message='$2 $1 tại United World Wrestling$3', short='$2 United World Wrestling', langcode='en' }, -- was FILA
-- Wrestling (professional)
	{ prop='P2857', message='$2 $1 tại WWE.com$3', short='$2 WWE.com', langcode='en' },
	{ prop='P2764', message='$2 $1 tại WrestlingData.com$3', short='$2 WrestlingData.com', langcode='en' },
	{ prop='P2728', message='$2 $1 tại CageMatch worker$3', short='$2 CageMatch worker', langcode='en' },
	{ prop='P2829', message='$2 $1 tại Internet Wrestling Database $3', short='$2 Internet Wrestling Database', langcode='en' },
	{ prop='P2830', message='$2 $1 tại Online World of Wrestling  $3', short='$2 Online World of Wrestling', langcode='en' },
	
-- Various
	{ prop='P3653', message='$2 $1 tại ARRS$3', short='$2 ARRS', langcode='en' },
	{ prop='P3760', message='$2 $1 tại Iditarod Trail Sled Dog Race$3', short='$2 Iditarod Trail Sled Dog Race', langcode='en' },
	{ prop='P3584', message='$2 $1 tại ITRA$3', short='$2 ITRA', short='$2 ITRA', langcode='en' },
	{ prop='P3427', message='$2 $1 tại AS.com$3', short='$2 AS.com', langcode='es' },
	{ prop='P1285', message='$2 $1 profile tại Munzinger Sports Archives$3', short='$2 Munzinger Sports Archives', langcode='de', genitive=true },
	{ prop='P3715', message='$2 $1 tại NISH Hall of Fame$3', short='$2 NISH Hall of Fame', langcode='de' },
}
local messages_conf = {}
messages_conf'vi' = {
	'short-list-separator' = ', ',
	'with-data-cat'              = 'Thể loại:Bài viết sử dụng liên kết thể thao có dữ liệu từ Wikidata',
	'no-data-text'               = "Bài viết này không có phương thức cho cơ sở dữ liệu thể thao trong Wikidata",
	'no-data-cat'                = 'Thể loại:Bài viết sử dụng liên kết thể thao không có dữ liệu trong Wikidata',
	'no-wikilink'                = "Bài viết này không có liên kết trong Wikidata",
	'no-wikilink-cat'            = "Thể loại:Bài viết sử dụng liên kết thể thao không có liên kết trong Wikidata",
	'with-local-cat'             = 'Thể loại:Bài viết sử dụng liên kết thể thao có giá trị địa phương',
	'track-cat-wd-wd'            = 'Thể loại:Bài viết sử dụng liên kết thể thao có $1 từ Wikidata',
	'track-cat-local-local'      = 'Thể loại:Bài viết sử dụng liên kết thể thao có $1 từ giá trị địa phương',
	'track-cat-wd-local'         = 'Thể loại:Bài viết sử dụng liên kết thể thao có $1 từ Wikidata nhưng có giá trị địa phương',
	'track-cat-local-wd'         = 'Thể loại:Bài viết sử dụng liên kết thể thao có $1 từ giá trị địa phương nhưng có Wikidata',
	'track-cat-local-wd-equal'   = "Thể loại:Bài viết sử dụng liên kết thể thao có $1 từ giá trị địa phương giống như Wikidata",
	'track-cat-local-wd-unequal' = "Thể loại:Bài viết sử dụng liên kết thể thao có $1 từ giá trị địa phương khác nhau từ Wikidata",
}
local limits = {
	'links-shown' = 10,		-- maximum number of links shown in the article.
}
local p = {}
function p.getConfiguredClaims (self, lang)
	return configured_claimslang
end
function p.getLimits (self)
	return limits
end
function p.getMessage (self, lang, msg)
	return messages_conflangmsg 
end
-- metatable for the export
local mt = {
	-- adjust the installation of the module
	'__call' = function (self, lang)
		self.configured_claims = configured_claimslang
		self.messages_conf = messages_conflang
		return self
	end
}
-- install the metatable
setmetatable(p, mt)
return p