Module:Infobox road
- Afrikaans
- العربية
- অসমীয়া
- تۆرکجه
- Basa Bali
- বাংলা
- 閩南語 / Bân-lâm-gí
- भोजपुरी
- Bikol Central
- Chavacano de Zamboanga
- الدارجة
- فارسی
- ગુજરાતી
- Հայերեն
- हिन्दी
- Bahasa Indonesia
- Jawa
- ಕನ್ನಡ
- मैथिली
- Македонски
- മലയാളം
- Bahasa Melayu
- မြန်မာဘာသာ
- नेपाली
- 日本語
- Oʻzbekcha / ўзбекча
- ਪੰਜਾਬੀ
- ပအိုဝ်ႏဘာႏသာႏ
- Română
- Русский
- Scots
- සිංහල
- Simple English
- سنڌي
- کوردی
- Tagalog
- தமிழ்
- తెలుగు
- ไทย
- Türkçe
- اردو
- Tiếng Việt
- 粵語
- 中文
- Jaku Iban
Appearance
From Wikipedia, the free encyclopedia
Warning This Lua module is used on approximately 26,000 pages and changes may be widely noticed. Test changes in the module's /sandbox or /testcases subpages, or in your own module sandbox. Consider discussing changes on the talk page before implementing them.
This module depends on the following other modules:
- Module:Road data/countrymask
- Module:Road data/browse (sandbox)
- Module:Road data/browsetable (sandbox)
- Module:Infobox road/route (sandbox)
- Module:Road data/parser (sandbox)
- Module:Road data/util
- Module:Road data/masks/HUN
- Module:Road data/masks/CHN/Expwy translations
- Module:Convert to eastern arabic numerals (sandbox)
- Module:Lang (sandbox)
- Module:Yesno (sandbox)
- Module:Arguments (sandbox)
This module implements {{infobox road }}. Please see the template documentation for further explanation.
The above documentation is transcluded from Module:Infobox road/doc. (edit | history)
Editors can experiment in this module's sandbox (edit | diff) and testcases (create) pages.
Subpages of this module.
Editors can experiment in this module's sandbox (edit | diff) and testcases (create) pages.
Subpages of this module.
localp={} localgetArgs=require('Module:Arguments').getArgs localutil=require("Module:Road data/util") localyesno=require('Module:Yesno') locallangModule=require('Module:Lang') localrouteModule=require("Module:Infobox road/route") localparserModule=require("Module:Road data/parser") localparser=parserModule.parser localformat=mw.ustring.format localframe=mw.getCurrentFrame() localfunctioncountry(args) localstate=args.stateorargs.province localcountry localcountryModule=mw.loadData("Module:Road data/countrymask") localcountry=args.countryorcountryModule[state] returncountry end -- HEADER COLORS functionp.headerStyle(frame) localargs=getArgs(frame) localheader ifargs.header_type==nilthen header=args.header_type else header=string.lower(args.header_type) end localdeleted=args.decommissionedorargs.deletedorheader=="former" localuc=header=="under construction"orheader=="const"orheader=="uc" localminor=header=="minor" localhist=header=="hist"orheader=="historic"orheader=="historical"orheader=="scenic" localcolor=parser(args,'color')orargs['header_color'] localfreeway=header=="freeway" iffreewaythen return"header-MUTCDblue" elseifucthen return"header-uc" elseifminorthen return"header-minor" elseifdeletedandheader=='hist'ordeletedandcolor=='hist'then return"header-deleted-hist" elseifdeletedthen return"header-deleted" elseifhistthen return"header-hist" elseifcolorthen return"header-"..color elseifargs.stateorargs.provinceorargs.countrythen localcountry=country(args) return"header-"..countryor"header-default" else return"header-default" end end -- SECOND IMAGE localfunctionphoto(args) localcountry=country(args) localphoto=args.photoorargs.image localwidth=args.photo_wideorargs.image_widthor"290px" localalt=args.photo_altorargs.image_altorphoto ifphoto==nilthen returnnil elseifcountry=="USA"then returnnil elsereturnstring.format('[[File:%s|%s|alt=%s]]',photo,width,alt) end end functionp.photo(frame) localargs=getArgs(frame) returnphoto(args) end -- TRANSLATION localfunctiontranslate(args,lang) locallang=parser(args,'lang')orargs.langor'none' localtranslation=args.translationorparser(args,'translation')or'' ifcountry(args)=="PAK"andtranslation~=''then localroute=args.route ifroute~=nilthen localarabicModule=require("Module:Convert to eastern arabic numerals") localarabic=arabicModule._convert({route}) localtranslated=string.gsub(translation,route,arabic) returnframe:expandTemplate{title='Nastaliq',args={translated}} else returnframe:expandTemplate{title='Nastaliq',args={translation}} end elseiftranslation~=''andlang=='none'then returntranslation elseifcountry(args)=="CHN"andargs.type=="Expwy"then localtrans=require("Module:Road data/masks/CHN/Expwy translations") localroute=args.route returnlangModule._lang({lang,trans[route]}) elseifcountry(args)=="HUN"then localnominal=require("Module:Road data/masks/HUN") localrouteNum localleading ifstring.len(args.route)>2then routeNum=string.match(args.route,"%d%d$",0) leading=string.match(args.route,"(%d*)%d%d$",0) else routeNum=args.route leading='' end ifargs.type=="M"then returnlangModule._lang({"hu","M"..leading..nominal[routeNum].." autópálya"}) elseifargs.type=="Mb"then returnlangModule._lang({"hu","M"..leading..nominal[routeNum].." autóút"}) elseifargs.type=="MR"then returnlangModule._lang({"hu",leading..nominal[routeNum].." főút"}) elseifargs.type=="Mb"then returnlangModule._lang({"hu",leading..nominal[routeNum].." közút"}) end elseiflang=="ar"andtranslation~=''then localroute=args.route localarabicModule=require("Module:Convert to eastern arabic numerals") localarabic=arabicModule._convert({route}) localtranslated=string.gsub(translation,route,arabic) returnlangModule._lang({lang,translated}) elseiftranslation~=''andlang~='none'then returnlangModule._lang({lang,translation}) else returnnil end end functionp.translate(frame) localpframe=frame:getParent() localconfig=frame.args-- the arguments passed BY the template, in the wikitext of the template itself localargs=pframe.args-- the arguments passed TO the template, in the wikitext that transcludes the template locallang=config.lang returntranslate(args,lang) end -- MAINTAINED BY localfunctionmaint(args) localmaint=args.maintorparser(args,'maint')or'' ifmaint=="none"ormaint==''then returnnil else return"Maintained by "..maint end end functionp.maint(frame) localargs=getArgs(frame) returnmaint(args) end -- DEFINED BY LAW localfunctionlaw(args) locallaw=parser(args,'law')or'' ifargs.section==''then returnnil else return"Defined by "..law end end functionp.law(frame) localargs=getArgs(frame) returnlaw(args) end -- EXISTED functionp._existed(args) localformed=args.establishedorargs.formedor'' localdeleted=args.decommissionedorargs.deletedor'' ifformed==''then returnnil elseifdeleted==''then returnformed.."–present" else returnformed.."–"..deleted end end functionp.existed(frame) localargs=getArgs(frame) returnp._existed(args) end -- TIME PERIOD localfunctionperiod(args) localinfobox_args={} infobox_args['bodystyle']='display:inline-table;' infobox_args['child']='yes' infobox_args['decat']='yes' infobox_args['label1']="Time period" infobox_args['data1']=args.time_period ifargs.time_periodthen infobox_args['label2']="Cultural significance" infobox_args['data2']=args.significance infobox_args['label3']="Known for" infobox_args['data3']=args.known_for infobox_args['label4']="Related routes" infobox_args['data4']=args.related else infobox_args['label3']="Known for" infobox_args['data3']=args.known_for end returnframe:expandTemplate({title='Infobox',args=infobox_args}) end localfunctionperiod_params(args) ifargs.time_periodorargs.known_forthen returntrue else returnfalse end end functionp.period(frame) localargs=getArgs(frame) ifperiod_params(args)==falsethen returnnil else returnperiod(args) end end -- ALLOCATION localfunctionallocation(args) localcountry=country(args) ifcountry=="AUS"then return"[[Route number#Australia|Allocation]]" elsereturn"Component<br>highways" end end functionp.allocation(frame) localargs=getArgs(frame) returnallocation(args) end -- SPUR OF localfunctionspurOf(args) localstate=args.stateorargs.province localcountry=args.country localcounty=args.county localparentType=args.spur_type localparentRoute=args.spur_of localaux=parser(args,'aux')or"Auxiliary route"ornil localjct=frame:expandTemplate{ title='jct',args={ state=state, country=country, county1=county, parentType, parentRoute, noshield1="yes" } } ifnotparentTypeandnotparentRoutethen returnnil elseiftype(aux)=="table"then return"Auxiliary route of "..jct elsereturntostring(aux).." of "..jct end end functionp.spurOf(frame) localargs=getArgs(frame) returnspurOf(args) end -- PART OF localfunctionpartOf(args) ifargs["e-road"]orargs.ahnorargs.tahnorargs.mrnthen localinfobox_args={} infobox_args['bodystyle']='display:inline-table;' infobox_args['child']='yes' infobox_args['decat']='yes' ifargs["e-road"]then localeshield=args["e-road-shield"]or'' infobox_args['data1']=eshield.." Part of "..args["e-road"] end ifargs.ahnthen localashield=args["ahn-shield"]or'' infobox_args['data2']=ashield.." Part of "..args.ahn end ifargs.tahnthen localtshield=args["tahn-shield"]or'' infobox_args['data3']=tshield.." Part of "..args.tahn end ifargs.mrnthen localmshield=args["mrn-shield"]or'' infobox_args['data4']=mshield.." Part of "..args.mrn end returnframe:expandTemplate({title='Infobox',args=infobox_args}) elsereturnnil end end functionp.partOf(frame) localargs=getArgs(frame) returnpartOf(args) end --BROWSE LINKS localfunctionbrowse(args) ifargs.nobrowsethenreturnnilend localpreviousRoute=args.previous_route localnextRoute=args.next_route ifpreviousRouteornextRoutethen localboxModule=require"Module:Road data/browse" localprimary=boxModule._browse(args) localtblModule=require"Module:Road data/browsetable" returntblModule._browsetable(primary) end end functionp.browse(frame) localargs=getArgs(frame) returnbrowse(args) end localfunctionextended(args) localextended=args.browse ifargs.nobrowseorextended==nilthen returnnil else localtblModule=require"Module:Road data/browsetable" -- Negative margin to counteract infobox border-spacing returntblModule._browsetable(extended,'margin-top:-3px') end end functionp.extended(frame) localargs=getArgs(frame) returnextended(args) end -- HIGHWAY SYSTEM LINKS localfunctionsystem(args) ifargs.system1then localinfobox_args={ ['child']="yes", ['decat']="yes", ['bodystyle']="border-collapse:collapse;" } locali=1 while(1)do localsystemClassn="class"..i localsystemDatan="data"..i localsystemArgn=args['system'..i] infobox_args[systemClassn]="hlist" infobox_args[systemDatan]=systemArgn ifi==10then break else i=i+1 end end returnframe:expandTemplate({title='Infobox',args=infobox_args}) end end functionp.system(frame) localargs=getArgs(frame) returnsystem(args) end -- ROUTE INFORMATION HEADER localfunctioninfo(args) localmaint=maint(args) locallaw=law(args) localperiod=period_params(args) localexisted=args.establishedorargs.formedornil localspur=args.spur_typeorargs.spur_ofornil localpart=partOf(args) ifperiod==trueorspur~=nilorpart~=nilorexisted~=nilormaint~=nilorargs.sectionorargs.length_miorargs.length_kmorargs.allocationorargs.historyorargs.restrictionsorargs.touristorargs.statusorargs.margarythen return"Route information" else returnnil end end functionp.info(frame) localargs=getArgs(frame) returninfo(args) end -- HIGHWAY SYSTEM HEADER localfunctionhighwaySystem(args) ifargs.nobrowsethenreturnnilend localcountry=country(args)orargs.countries ifcountry==nilthen returnnil elseifcountry=="GBR"orcountry=="ENG"orcountry=="NIR"orcountry=="SCT"orcountry=="WLS"or country=="GGY"orcountry=="IMN"orcountry=="JEY"orcountry=="AIA"orcountry=="BMU"or country=="IOT"orcountry=="VGB"orcountry=="CYM"orcountry=="FLK"orcountry=="GIB"or country=="MSR"orcountry=="PCN"orcountry=="SHN"orcountry=="SGS"orcountry=="TCA"then return"Road network" elsereturn"Highway system" end end functionp.highwaySystem(frame) localargs=getArgs(frame) returnhighwaySystem(args) end returnp