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='[$2 |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'] = ,
['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'] = ,
['no-wikilink'] = "Bài viết này không có liên kết trong Wikidata",
['no-wikilink-cat'] = "",
['with-local-cat'] = ,
['track-cat-wd-wd'] = ,
['track-cat-local-local'] = ,
['track-cat-wd-local'] = ,
['track-cat-local-wd'] = ,
['track-cat-local-wd-equal'] = "",
['track-cat-local-wd-unequal'] = "",
}
local limits = {
['links-shown'] = 10, -- maximum number of links shown in the article.
}

local p = {}

function p.getConfiguredClaims (self, lang)
return configured_claims[lang]
end

function p.getLimits (self)
return limits
end

function p.getMessage (self, lang, msg)
return messages_conf[lang][msg]
end

-- metatable for the export
local mt = {
-- adjust the installation of the module
['__call'] = function (self, lang)
self.configured_claims = configured_claims[lang]
self.messages_conf = messages_conf[lang]
return self
end
}

-- install the metatable
setmetatable(p, mt)

return p