Wikipidiya bolwiki https://bol.wikipedia.org/wiki/Peji_In_Siri MediaWiki 1.47.0-wmf.16 first-letter Media Inmusamman Mossa Ruta Rutta mossa Wikipidiya Wikipidiya mossa Fayil Fayil mossa MediaWiki MediaWiki mossa Tempilet Tempilet mossa Taimako Taimako mossa Panni Panni mossa TimedText TimedText talk Module Module talk Event Event talk Peji In Siri 0 1 10399 9294 2026-08-24T13:06:44Z RAPTOR7762 18 10399 wikitext text/x-wiki __NOTOC__ __NOEDITSECTION__ <!--{{Protection padlock|small=yes}}--> <div style="text-align:center;"> <!--{{Clickable button|Special:Purge/Peji In Siri|Purge this page|class=mw-ui-progressive}}--> </div> <templatestyles src="Main page/Styles.css" /> <div style="position:relative; text-align:center; padding:3em 1em; background:#fff; overflow:hidden;"> <div style="position:absolute; top:-50px; left:0; right:0; text-align:center; opacity:0.1; z-index:0;"> [[File:Wikipedia-logo-v2.svg|600px|center|class=notpageimage|link=]] </div> <div style="position:relative; z-index:1;"> <div style="font-variant:small-caps; font-family:'Linux Libertine','Georgia',serif;"><div style="font-size:180%;">U'se ga nako</div> <div style="font-size:270%; line-height:1;">[[Wikipidiya|<span style="display: inline-block; letter-spacing: -0.35em; margin-right: 0.2em; font-family: serif;">V<span style="margin-left: -0.1em;">V</span></span>ikipidiya]] in bòo pìkkà</div> </div> <div style="font-size:120%; line-height:1.2;"> Wikipidiya ensakulopidiya in lelo in [[Harshe Bole]] la lemalo agita ina ramayi.</div> <div style="font-size:120%; line-height:1.2;"> Honsene Andi makaloli '''[[Special:AllPages|{{NUMBEROFARTICLES}}]]''' ga harshe Bole</div> </div> </div> <div style="margin:10px 0px 10px 0px; -moz-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1); -webkit-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1); box-shadow:0 1px 1px rgba(0, 0, 0, 0.1); background-color:#FFFFFF;"> {| style="border-spacing: 1px; border-collapse: separate; width:100%; text-align:center; font-size:0.85em; padding:2px 3px 2px 3px;" class="hp-portalen" | style="background-color:#F0F0F9; border-top:5px solid; border-color:#333399; padding:3px 0.15em; width:6.6%;" | [[:Category:Atiimala|<span style="color:#000000;">Atiimala</span>]] | style="background-color:#F0F9F9; border-top:5px solid; border-color:#339999; padding:3px 0.15em; width:6.6%;" | [[:Category:Annoba|<span style="color:#000000;">Annoba</span>]] | style="background-color:#F0F4F9; border-top:5px solid; border-color:#336699; padding:3px 0.15em; width:6.6%;" | [[:Category:Fasaha|<span style="color:#000000;">Fasaha</span>]] | style="background-color:#F9F0F0; border-top:5px solid; border-color:#993333; padding:3px 0.15em; width:6.6%;" | [[:Category:Ilimi|<span style="color:#000000;">Ilimi</span>]] | style="background-color:#F0F0F9; border-top:5px solid; border-color:#333399; padding:3px 0.15em; width:6.6%;" | [[:Category:Lamba|<span style="color:#000000;">Lamba</span>]] | style="background-color:#F4F9F0; border-top:5px solid; border-color:#669933; padding:3px 0.15em; width:6.6%;" | [[:Category:Miyya|<span style="color:#000000;">Miyya</span>]] | style="background-color:#F9F9F0; border-top:5px solid; border-color:#999933; padding:3px 0.15em; width:6.6%;" | [[:Category:Makami|<span style="color:#000000;">Makami</span>]] | style="background-color:#F9F0F9; border-top:5px solid; border-color:#993399; padding:3px 0.15em; width:6.6%;" | [[:Category:Malunwa|<span style="color:#000000;">Malunwa</span>]] | style="background-color:#F0F9F0; border-top:5px solid; border-color:#339933; padding:3px 0.15em; width:6.6%;" | [[:Category:Olii|<span style="color:#000000;">Olii</span>]] | style="background-color:#F9F0F4; border-top:5px solid; border-color:#993366; padding:3px 0.15em; width:6.6%;" | [[:Category:Olii pewe|<span style="color:#000000;">Olii pewe</span>]] | style="background-color:#F0F0F9; border-top:5px solid; border-color:#333399; padding:3px 0.15em; width:6.6%;" | [[:Category:Tarihi|<span style="color:#000000;">Tarihi</span>]] | style="background-color:#F0F9F9; border-top:5px solid; border-color:#339999; padding:3px 0.15em; width:6.6%;" | [[:Category:Goma|<span style="color:#000000;">Goma</span>]] | style="background-color:#F9F0F9; border-top:5px solid; border-color:#993399; padding:3px 0.15em; width:6.6%;" | [[:Category:Kimiyya|<span style="color:#000000;">Kimiyya</span>]] | style="background-color:#F4F9F0; border-top:5px solid; border-color:#669933; padding:3px 0.15em; width:6.6%;" | [[:Category:Zane|<span style="color:#000000;">Zane</span>]] |} </div> <templatestyles src="Main page/Styles.css" /> <div style="flex:1; min-width:300px; overflow:hidden; border-radius:4px; margin:8px 4px 4px 4px; box-shadow:0 0 8px rgba(0,0,0,0.15);"> <div class="image-carousel"> <ul> <li> <div style="background:#FFF; padding:5px; font-size:150%; font-family:'Arial',sans-serif; position: relative; z-index: 2;"> <div style="padding:5px 10px; color:#333333;">[[File:Star-alt-icon.png|20px|link=]]&nbsp;&nbsp;Featured Article</div> </div> <div class="carousel-image"> [[File:The City Gate of Abuja.jpg|center|class=carousel-image-wrapper|link=Nijeriya|Nijeriya]] </div> <div class="carousel-slide-content-wrapper"> <div class="carousel-slide-content"> <div class="carousel-slide-description">Nijeriya ko Nijeriya da (turanci: Nigeria): A Gwamanatance Tarayyar Najeriya, woli la ga take ga Africa ko zoni ita ji tetteke woli niger koga Arewa. Ga Chadi koga zoni koga aushi jam aji dar ga teku Atlantika.</div> <div class="carousel-slide-title">[[Nijeriya]]</div> </div> </div> </li> <li> <div style="background:#FFF; padding:5px; font-size:150%; font-family:'Arial',sans-serif; position: relative; z-index: 2;"> <div style="padding:5px 10px; color:#333333;">[[File:Paomedia small-n-flat sign-question.svg|20px|link=]]&nbsp;&nbsp; Kamontuwo?</div> </div> <div class="carousel-image"> [[File:Gooya mountain.jpg|center|class=carousel-image-wrapper|link=Gooya mountain]] </div> <div class="carousel-slide-content-wrapper"> <div class="carousel-slide-content"> <div class="carousel-slide-description">Gooya kam zoi wuro la tudu ga arewa [[Nijeriya]], inda Bòo pikka ye kam la yare miyya aji magana da yawa ga yankin da ke kewaye. </div> <div class="carousel-slide-title">[[Potiskum]]</div> </div> </div> </li> <li> <div style="background:#FFF; padding:5px; font-size:150%; font-family:'Arial',sans-serif; position: relative; z-index: 2;"> <div style="padding:5px 10px; color:#333333;">[[File:Paomedia small-n-flat file-picture.svg|20px|link=]]&nbsp;&nbsp; Featured Picture</div> </div> <div class="carousel-image"> [[File:Daniski Festival 04.jpg|center|class=carousel-image-wrapper|link=File:Daniski Festival 04.jpg]] </div> <div class="carousel-slide-content-wrapper"> <div class="carousel-slide-content"> <div class="carousel-slide-description">Daniski Hills Annual Festival kam zoi tarayya la al’ada, ba Bòo pikka ga Fika Emirate ga Yobe State, [[Nijeriya]]. </div> <div class="carousel-slide-title">[[:File:Daniski Festival 04.jpg|Daniski Festival Picture]]</div> </div> </div> </li> </ul> </div> </div> <div style="display:flex; flex-wrap:wrap;"> {{Box |header=[[File:Paomedia small-n-flat sign-info.svg|20px|link=]]&nbsp;&nbsp;Elle Wikipidiya? |content=<span style="float: left; margin: 6px 12px 6px 0px; display: inline-block;">[[File:Wikipedia-logo-v2-bol.svg|100px]]</span>Wikipidiya shafi ji in Yana gizonla ona gudumawa inko rubutu mukalai kala aji gidan ga goggo gozi ilmi do ramu-ramu ga messesu. Gabo turanci ga unda shap Maddi la ramu ramu do gede ga ilmi ga shafuka Wikipedia ga sun Wikipedia, wikipidiya aji tattira ga harsuna GA duniya ga godon shafuka lemalo aji kirkira do ramu mukalai gabo kyauta inko taimako beyi wena ilmi bo kyauta, emeyye aji Wikipedia ga zarrar a shap ga duniya beyi wena ilmi koga asali beyi ilmi fetengo. }} {{Box |header=[[File:Paomedia small-n-flat pencil.svg|20px|link=]]&nbsp;&nbsp;Kirkiru Foyo Article |content=Kaji kume Harshe Bole? Kagita ina taimako beyi Bunƙasa kunsu eme Mona (ensakulopidiya) ko goggo kirkire foyo makaloli do fadada la aji Andi ga fatan aji doffa ka'idoji Al'umma lokaci ona ga gundumawa.<br><small><i></i></small> <div style="margin-top:1em;"> <inputbox> type=create width=30 default= buttonlabel=Kirkiru Foyo Makala </inputbox> </div> }} </div> {{Box |header=English speakers |content=If you speak English, but you don't know anything about the Bole Language, you are also welcome to edit and assist in technical support, such as maintaining Templates or Modules. Your role is vital to the smooth running of the Bole Wikipedia! }} {{Box |header=[[File:Wikimedia-logo.svg|20px|link=]]&nbsp;&nbsp;Project Modi |content={{SisterProjects}} }} {{Bole Wikimedians User Group/footer}} afmj67rpptsylw6fxmuq6tefyqq3h0y 10402 10399 2026-08-24T13:08:09Z RAPTOR7762 18 10402 wikitext text/x-wiki __NOTOC__ __NOEDITSECTION__ <!--{{Protection padlock|small=yes}}--> <div style="text-align:center;"> <!--{{Clickable button|Special:Purge/Peji In Siri|Purge this page|class=mw-ui-progressive}}--> </div> <templatestyles src="Main page/Styles.css" /> <div style="position:relative; text-align:center; padding:3em 1em; background:#fff; overflow:hidden;"> <div style="position:absolute; top:-50px; left:0; right:0; text-align:center; opacity:0.1; z-index:0;"> [[File:Wikipedia-logo-v2.svg|600px|center|class=notpageimage|link=]] </div> <div style="position:relative; z-index:1;"> <div style="font-variant:small-caps; font-family:'Linux Libertine','Georgia',serif;"><div style="font-size:180%;">U'se ga nako</div> <div style="font-size:270%; line-height:1;">[[Wikipidiya|<span style="display: inline-block; letter-spacing: -0.35em; margin-right: 0.2em; font-family: serif;">V<span style="margin-left: -0.1em;">V</span></span>ikipidiya]] in bòo pìkkà</div> </div> <div style="font-size:120%; line-height:1.2;"> Wikipidiya ensakulopidiya in lelo in [[Harshe Bole]] la lemalo agita ina ramayi.</div> <div style="font-size:120%; line-height:1.2;"> Honsene Andi makaloli '''[[Special:AllPages|{{NUMBEROFARTICLES}}]]''' ga harshe Bole</div> </div> </div> <div style="margin:10px 0px 10px 0px; -moz-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1); -webkit-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1); box-shadow:0 1px 1px rgba(0, 0, 0, 0.1); background-color:#FFFFFF;"> {| style="border-spacing: 1px; border-collapse: separate; width:100%; text-align:center; font-size:0.85em; padding:2px 3px 2px 3px;" class="hp-portalen" | style="background-color:#F0F0F9; border-top:5px solid; border-color:#333399; padding:3px 0.15em; width:6.6%;" | [[:Category:Atiimala|<span style="color:#000000;">Atiimala</span>]] | style="background-color:#F0F9F9; border-top:5px solid; border-color:#339999; padding:3px 0.15em; width:6.6%;" | [[:Category:Annoba|<span style="color:#000000;">Annoba</span>]] | style="background-color:#F0F4F9; border-top:5px solid; border-color:#336699; padding:3px 0.15em; width:6.6%;" | [[:Category:Fasaha|<span style="color:#000000;">Fasaha</span>]] | style="background-color:#F9F0F0; border-top:5px solid; border-color:#993333; padding:3px 0.15em; width:6.6%;" | [[:Category:Ilimi|<span style="color:#000000;">Ilimi</span>]] | style="background-color:#F0F0F9; border-top:5px solid; border-color:#333399; padding:3px 0.15em; width:6.6%;" | [[:Category:Lamba|<span style="color:#000000;">Lamba</span>]] | style="background-color:#F4F9F0; border-top:5px solid; border-color:#669933; padding:3px 0.15em; width:6.6%;" | [[:Category:Miyya|<span style="color:#000000;">Miyya</span>]] | style="background-color:#F9F9F0; border-top:5px solid; border-color:#999933; padding:3px 0.15em; width:6.6%;" | [[:Category:Makami|<span style="color:#000000;">Makami</span>]] | style="background-color:#F9F0F9; border-top:5px solid; border-color:#993399; padding:3px 0.15em; width:6.6%;" | [[:Category:Malunwa|<span style="color:#000000;">Malunwa</span>]] | style="background-color:#F0F9F0; border-top:5px solid; border-color:#339933; padding:3px 0.15em; width:6.6%;" | [[:Category:Olii|<span style="color:#000000;">Olii</span>]] | style="background-color:#F9F0F4; border-top:5px solid; border-color:#993366; padding:3px 0.15em; width:6.6%;" | [[:Category:Olii pewe|<span style="color:#000000;">Olii pewe</span>]] | style="background-color:#F0F0F9; border-top:5px solid; border-color:#333399; padding:3px 0.15em; width:6.6%;" | [[:Category:Tarihi|<span style="color:#000000;">Tarihi</span>]] | style="background-color:#F0F9F9; border-top:5px solid; border-color:#339999; padding:3px 0.15em; width:6.6%;" | [[:Category:Goma|<span style="color:#000000;">Goma</span>]] | style="background-color:#F9F0F9; border-top:5px solid; border-color:#993399; padding:3px 0.15em; width:6.6%;" | [[:Category:Kimiyya|<span style="color:#000000;">Kimiyya</span>]] | style="background-color:#F4F9F0; border-top:5px solid; border-color:#669933; padding:3px 0.15em; width:6.6%;" | [[:Category:Zane|<span style="color:#000000;">Zane</span>]] |} </div> <templatestyles src="Main page/Styles.css" /> <div style="flex:1; min-width:300px; overflow:hidden; border-radius:4px; margin:8px 4px 4px 4px; box-shadow:0 0 8px rgba(0,0,0,0.15);"> <div class="image-carousel"> <ul> <li> <div style="background:#FFF; padding:5px; font-size:150%; font-family:'Arial',sans-serif; position: relative; z-index: 2;"> <div style="padding:5px 10px; color:#333333;">[[File:Star-alt-icon.png|20px|link=]]&nbsp;&nbsp;Featured Article</div> </div> <div class="carousel-image"> [[File:The City Gate of Abuja.jpg|center|class=carousel-image-wrapper|link=Nijeriya|Nijeriya]] </div> <div class="carousel-slide-content-wrapper"> <div class="carousel-slide-content"> <div class="carousel-slide-description">Nijeriya ko Nijeriya da (turanci: Nigeria): A Gwamanatance Tarayyar Najeriya, woli la ga take ga Africa ko zoni ita ji tetteke woli niger koga Arewa. Ga Chadi koga zoni koga aushi jam aji dar ga teku Atlantika.</div> <div class="carousel-slide-title">[[Nijeriya]]</div> </div> </div> </li> <li> <div style="background:#FFF; padding:5px; font-size:150%; font-family:'Arial',sans-serif; position: relative; z-index: 2;"> <div style="padding:5px 10px; color:#333333;">[[File:Paomedia small-n-flat sign-question.svg|20px|link=]]&nbsp;&nbsp; Kamontuwo?</div> </div> <div class="carousel-image"> [[File:Gooya mountain.jpg|center|class=carousel-image-wrapper|link=Gooya mountain]] </div> <div class="carousel-slide-content-wrapper"> <div class="carousel-slide-content"> <div class="carousel-slide-description">Gooya kam zoi wuro la tudu ga arewa [[Nijeriya]], inda Bòo pikka ye kam la yare miyya aji magana da yawa ga yankin da ke kewaye. </div> <div class="carousel-slide-title">[[Potiskum]]</div> </div> </div> </li> <li> <div style="background:#FFF; padding:5px; font-size:150%; font-family:'Arial',sans-serif; position: relative; z-index: 2;"> <div style="padding:5px 10px; color:#333333;">[[File:Paomedia small-n-flat file-picture.svg|20px|link=]]&nbsp;&nbsp; Featured Picture</div> </div> <div class="carousel-image"> [[File:Daniski Festival 04.jpg|center|class=carousel-image-wrapper|link=File:Daniski Festival 04.jpg]] </div> <div class="carousel-slide-content-wrapper"> <div class="carousel-slide-content"> <div class="carousel-slide-description">Daniski Hills Annual Festival kam zoi tarayya la al’ada, ba Bòo pikka ga Fika Emirate ga Yobe State, [[Nijeriya]]. </div> <div class="carousel-slide-title">[[:File:Daniski Festival 04.jpg|Daniski Festival Picture]]</div> </div> </div> </li> </ul> </div> </div> <div style="display:flex; flex-wrap:wrap;"> {{Box |header=[[File:Paomedia small-n-flat sign-info.svg|20px|link=]]&nbsp;&nbsp;Elle Wikipidiya? |content=<span style="float: left; margin: 6px 12px 6px 0px; display: inline-block;">[[File:Wikipedia-logo-v2-bol.svg|100px]]</span>Wikipidiya shafi ji in Yana gizonla ona gudumawa inko rubutu mukalai kala aji gidan ga goggo gozi ilmi do ramu-ramu ga messesu. Gabo turanci ga unda shap Maddi la ramu ramu do gede ga ilmi ga shafuka Wikipedia ga sun Wikipedia, wikipidiya aji tattira ga harsuna GA duniya ga godon shafuka lemalo aji kirkira do ramu mukalai gabo kyauta inko taimako beyi wena ilmi bo kyauta, emeyye aji Wikipedia ga zarrar a shap ga duniya beyi wena ilmi koga asali beyi ilmi fetengo. }} {{Box |header=[[File:Paomedia small-n-flat pencil.svg|20px|link=]]&nbsp;&nbsp;Kirkiru Foyo Article |content=Kaji kume Harshe Bole? Kagita ina taimako beyi Bunƙasa kunsu eme Mona (ensakulopidiya) ko goggo kirkire foyo makaloli do fadada la aji Andi ga fatan aji doffa ka'idoji Al'umma lokaci ona ga gundumawa.<br><small><i></i></small> <div style="margin-top:1em;"> <inputbox> type=create width=30 default= buttonlabel=Kirkiru Foyo Makala </inputbox> </div> }} </div> {{Box |header=English speakers |content=If you speak English, but you don't know anything about the Bole Language, you are also welcome to edit and assist in technical support, such as maintaining Templates or Modules. Your role is vital to the smooth running of the Bole Wikipedia! }} {{Box |header=[[File:Wikimedia-logo.svg|20px|link=]]&nbsp;&nbsp;Project Modi |content={{SisterProjects}} }} {{Bole Wikimedians User Grou}} nq4nh08ohqaur9wivx4mz2kkvvez33s 10403 10402 2026-08-24T13:08:23Z RAPTOR7762 18 10403 wikitext text/x-wiki __NOTOC__ __NOEDITSECTION__ <!--{{Protection padlock|small=yes}}--> <div style="text-align:center;"> <!--{{Clickable button|Special:Purge/Peji In Siri|Purge this page|class=mw-ui-progressive}}--> </div> <templatestyles src="Main page/Styles.css" /> <div style="position:relative; text-align:center; padding:3em 1em; background:#fff; overflow:hidden;"> <div style="position:absolute; top:-50px; left:0; right:0; text-align:center; opacity:0.1; z-index:0;"> [[File:Wikipedia-logo-v2.svg|600px|center|class=notpageimage|link=]] </div> <div style="position:relative; z-index:1;"> <div style="font-variant:small-caps; font-family:'Linux Libertine','Georgia',serif;"><div style="font-size:180%;">U'se ga nako</div> <div style="font-size:270%; line-height:1;">[[Wikipidiya|<span style="display: inline-block; letter-spacing: -0.35em; margin-right: 0.2em; font-family: serif;">V<span style="margin-left: -0.1em;">V</span></span>ikipidiya]] in bòo pìkkà</div> </div> <div style="font-size:120%; line-height:1.2;"> Wikipidiya ensakulopidiya in lelo in [[Harshe Bole]] la lemalo agita ina ramayi.</div> <div style="font-size:120%; line-height:1.2;"> Honsene Andi makaloli '''[[Special:AllPages|{{NUMBEROFARTICLES}}]]''' ga harshe Bole</div> </div> </div> <div style="margin:10px 0px 10px 0px; -moz-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1); -webkit-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1); box-shadow:0 1px 1px rgba(0, 0, 0, 0.1); background-color:#FFFFFF;"> {| style="border-spacing: 1px; border-collapse: separate; width:100%; text-align:center; font-size:0.85em; padding:2px 3px 2px 3px;" class="hp-portalen" | style="background-color:#F0F0F9; border-top:5px solid; border-color:#333399; padding:3px 0.15em; width:6.6%;" | [[:Category:Atiimala|<span style="color:#000000;">Atiimala</span>]] | style="background-color:#F0F9F9; border-top:5px solid; border-color:#339999; padding:3px 0.15em; width:6.6%;" | [[:Category:Annoba|<span style="color:#000000;">Annoba</span>]] | style="background-color:#F0F4F9; border-top:5px solid; border-color:#336699; padding:3px 0.15em; width:6.6%;" | [[:Category:Fasaha|<span style="color:#000000;">Fasaha</span>]] | style="background-color:#F9F0F0; border-top:5px solid; border-color:#993333; padding:3px 0.15em; width:6.6%;" | [[:Category:Ilimi|<span style="color:#000000;">Ilimi</span>]] | style="background-color:#F0F0F9; border-top:5px solid; border-color:#333399; padding:3px 0.15em; width:6.6%;" | [[:Category:Lamba|<span style="color:#000000;">Lamba</span>]] | style="background-color:#F4F9F0; border-top:5px solid; border-color:#669933; padding:3px 0.15em; width:6.6%;" | [[:Category:Miyya|<span style="color:#000000;">Miyya</span>]] | style="background-color:#F9F9F0; border-top:5px solid; border-color:#999933; padding:3px 0.15em; width:6.6%;" | [[:Category:Makami|<span style="color:#000000;">Makami</span>]] | style="background-color:#F9F0F9; border-top:5px solid; border-color:#993399; padding:3px 0.15em; width:6.6%;" | [[:Category:Malunwa|<span style="color:#000000;">Malunwa</span>]] | style="background-color:#F0F9F0; border-top:5px solid; border-color:#339933; padding:3px 0.15em; width:6.6%;" | [[:Category:Olii|<span style="color:#000000;">Olii</span>]] | style="background-color:#F9F0F4; border-top:5px solid; border-color:#993366; padding:3px 0.15em; width:6.6%;" | [[:Category:Olii pewe|<span style="color:#000000;">Olii pewe</span>]] | style="background-color:#F0F0F9; border-top:5px solid; border-color:#333399; padding:3px 0.15em; width:6.6%;" | [[:Category:Tarihi|<span style="color:#000000;">Tarihi</span>]] | style="background-color:#F0F9F9; border-top:5px solid; border-color:#339999; padding:3px 0.15em; width:6.6%;" | [[:Category:Goma|<span style="color:#000000;">Goma</span>]] | style="background-color:#F9F0F9; border-top:5px solid; border-color:#993399; padding:3px 0.15em; width:6.6%;" | [[:Category:Kimiyya|<span style="color:#000000;">Kimiyya</span>]] | style="background-color:#F4F9F0; border-top:5px solid; border-color:#669933; padding:3px 0.15em; width:6.6%;" | [[:Category:Zane|<span style="color:#000000;">Zane</span>]] |} </div> <templatestyles src="Main page/Styles.css" /> <div style="flex:1; min-width:300px; overflow:hidden; border-radius:4px; margin:8px 4px 4px 4px; box-shadow:0 0 8px rgba(0,0,0,0.15);"> <div class="image-carousel"> <ul> <li> <div style="background:#FFF; padding:5px; font-size:150%; font-family:'Arial',sans-serif; position: relative; z-index: 2;"> <div style="padding:5px 10px; color:#333333;">[[File:Star-alt-icon.png|20px|link=]]&nbsp;&nbsp;Featured Article</div> </div> <div class="carousel-image"> [[File:The City Gate of Abuja.jpg|center|class=carousel-image-wrapper|link=Nijeriya|Nijeriya]] </div> <div class="carousel-slide-content-wrapper"> <div class="carousel-slide-content"> <div class="carousel-slide-description">Nijeriya ko Nijeriya da (turanci: Nigeria): A Gwamanatance Tarayyar Najeriya, woli la ga take ga Africa ko zoni ita ji tetteke woli niger koga Arewa. Ga Chadi koga zoni koga aushi jam aji dar ga teku Atlantika.</div> <div class="carousel-slide-title">[[Nijeriya]]</div> </div> </div> </li> <li> <div style="background:#FFF; padding:5px; font-size:150%; font-family:'Arial',sans-serif; position: relative; z-index: 2;"> <div style="padding:5px 10px; color:#333333;">[[File:Paomedia small-n-flat sign-question.svg|20px|link=]]&nbsp;&nbsp; Kamontuwo?</div> </div> <div class="carousel-image"> [[File:Gooya mountain.jpg|center|class=carousel-image-wrapper|link=Gooya mountain]] </div> <div class="carousel-slide-content-wrapper"> <div class="carousel-slide-content"> <div class="carousel-slide-description">Gooya kam zoi wuro la tudu ga arewa [[Nijeriya]], inda Bòo pikka ye kam la yare miyya aji magana da yawa ga yankin da ke kewaye. </div> <div class="carousel-slide-title">[[Potiskum]]</div> </div> </div> </li> <li> <div style="background:#FFF; padding:5px; font-size:150%; font-family:'Arial',sans-serif; position: relative; z-index: 2;"> <div style="padding:5px 10px; color:#333333;">[[File:Paomedia small-n-flat file-picture.svg|20px|link=]]&nbsp;&nbsp; Featured Picture</div> </div> <div class="carousel-image"> [[File:Daniski Festival 04.jpg|center|class=carousel-image-wrapper|link=File:Daniski Festival 04.jpg]] </div> <div class="carousel-slide-content-wrapper"> <div class="carousel-slide-content"> <div class="carousel-slide-description">Daniski Hills Annual Festival kam zoi tarayya la al’ada, ba Bòo pikka ga Fika Emirate ga Yobe State, [[Nijeriya]]. </div> <div class="carousel-slide-title">[[:File:Daniski Festival 04.jpg|Daniski Festival Picture]]</div> </div> </div> </li> </ul> </div> </div> <div style="display:flex; flex-wrap:wrap;"> {{Box |header=[[File:Paomedia small-n-flat sign-info.svg|20px|link=]]&nbsp;&nbsp;Elle Wikipidiya? |content=<span style="float: left; margin: 6px 12px 6px 0px; display: inline-block;">[[File:Wikipedia-logo-v2-bol.svg|100px]]</span>Wikipidiya shafi ji in Yana gizonla ona gudumawa inko rubutu mukalai kala aji gidan ga goggo gozi ilmi do ramu-ramu ga messesu. Gabo turanci ga unda shap Maddi la ramu ramu do gede ga ilmi ga shafuka Wikipedia ga sun Wikipedia, wikipidiya aji tattira ga harsuna GA duniya ga godon shafuka lemalo aji kirkira do ramu mukalai gabo kyauta inko taimako beyi wena ilmi bo kyauta, emeyye aji Wikipedia ga zarrar a shap ga duniya beyi wena ilmi koga asali beyi ilmi fetengo. }} {{Box |header=[[File:Paomedia small-n-flat pencil.svg|20px|link=]]&nbsp;&nbsp;Kirkiru Foyo Article |content=Kaji kume Harshe Bole? Kagita ina taimako beyi Bunƙasa kunsu eme Mona (ensakulopidiya) ko goggo kirkire foyo makaloli do fadada la aji Andi ga fatan aji doffa ka'idoji Al'umma lokaci ona ga gundumawa.<br><small><i></i></small> <div style="margin-top:1em;"> <inputbox> type=create width=30 default= buttonlabel=Kirkiru Foyo Makala </inputbox> </div> }} </div> {{Box |header=English speakers |content=If you speak English, but you don't know anything about the Bole Language, you are also welcome to edit and assist in technical support, such as maintaining Templates or Modules. Your role is vital to the smooth running of the Bole Wikipedia! }} {{Box |header=[[File:Wikimedia-logo.svg|20px|link=]]&nbsp;&nbsp;Project Modi |content={{SisterProjects}} }} {{Bole Wikimedians User Group}} h48sxljal4svxm21oo1zyn543tj2a7y 10441 10403 2026-08-24T13:28:38Z RAPTOR7762 18 10441 wikitext text/x-wiki __NOTOC__ __NOEDITSECTION__ <!--{{Protection padlock|small=yes}}--> {{Top icon|image=Wikimedia Community Logo.svg|link=m:Bole Wikimedians User Group}} {{Top icon|image=2023 Facebook icon.svg|link=https://www.facebook.com/61590521903033/}} <div style="text-align:center;"> {{Clickable button|Special:Purge/Peji In Siri|Purge this page|class=mw-ui-progressive}} </div> <templatestyles src="Main page/Styles.css" /> <div style="position:relative; text-align:center; padding:3em 1em; background:#fff; overflow:hidden;"> <div style="position:absolute; top:-50px; left:0; right:0; text-align:center; opacity:0.1; z-index:0;"> [[File:Wikipedia-logo-v2.svg|600px|center|class=notpageimage|link=]] </div> <div style="position:relative; z-index:1;"> <div style="font-variant:small-caps; font-family:'Linux Libertine','Georgia',serif;"><div style="font-size:180%;">U'se ga nako</div> <div style="font-size:270%; line-height:1;">[[Wikipidiya|<span style="display: inline-block; letter-spacing: -0.35em; margin-right: 0.2em; font-family: serif;">V<span style="margin-left: -0.1em;">V</span></span>ikipidiya]] in bòo pìkkà</div> </div> <div style="font-size:120%; line-height:1.2;"> Wikipidiya ensakulopidiya in lelo in [[Harshe Bole]] la lemalo agita ina ramayi.</div> <div style="font-size:120%; line-height:1.2;"> Honsene Andi makaloli '''[[Special:AllPages|{{NUMBEROFARTICLES}}]]''' ga harshe Bole</div> </div> </div> <div style="margin:10px 0px 10px 0px; -moz-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1); -webkit-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1); box-shadow:0 1px 1px rgba(0, 0, 0, 0.1); background-color:#FFFFFF;"> {| style="border-spacing: 1px; border-collapse: separate; width:100%; text-align:center; font-size:0.85em; padding:2px 3px 2px 3px;" class="hp-portalen" | style="background-color:#F0F0F9; border-top:5px solid; border-color:#333399; padding:3px 0.15em; width:6.6%;" | [[:Category:Atiimala|<span style="color:#000000;">Atiimala</span>]] | style="background-color:#F0F9F9; border-top:5px solid; border-color:#339999; padding:3px 0.15em; width:6.6%;" | [[:Category:Annoba|<span style="color:#000000;">Annoba</span>]] | style="background-color:#F0F4F9; border-top:5px solid; border-color:#336699; padding:3px 0.15em; width:6.6%;" | [[:Category:Fasaha|<span style="color:#000000;">Fasaha</span>]] | style="background-color:#F9F0F0; border-top:5px solid; border-color:#993333; padding:3px 0.15em; width:6.6%;" | [[:Category:Ilimi|<span style="color:#000000;">Ilimi</span>]] | style="background-color:#F0F0F9; border-top:5px solid; border-color:#333399; padding:3px 0.15em; width:6.6%;" | [[:Category:Lamba|<span style="color:#000000;">Lamba</span>]] | style="background-color:#F4F9F0; border-top:5px solid; border-color:#669933; padding:3px 0.15em; width:6.6%;" | [[:Category:Miyya|<span style="color:#000000;">Miyya</span>]] | style="background-color:#F9F9F0; border-top:5px solid; border-color:#999933; padding:3px 0.15em; width:6.6%;" | [[:Category:Makami|<span style="color:#000000;">Makami</span>]] | style="background-color:#F9F0F9; border-top:5px solid; border-color:#993399; padding:3px 0.15em; width:6.6%;" | [[:Category:Malunwa|<span style="color:#000000;">Malunwa</span>]] | style="background-color:#F0F9F0; border-top:5px solid; border-color:#339933; padding:3px 0.15em; width:6.6%;" | [[:Category:Olii|<span style="color:#000000;">Olii</span>]] | style="background-color:#F9F0F4; border-top:5px solid; border-color:#993366; padding:3px 0.15em; width:6.6%;" | [[:Category:Olii pewe|<span style="color:#000000;">Olii pewe</span>]] | style="background-color:#F0F0F9; border-top:5px solid; border-color:#333399; padding:3px 0.15em; width:6.6%;" | [[:Category:Tarihi|<span style="color:#000000;">Tarihi</span>]] | style="background-color:#F0F9F9; border-top:5px solid; border-color:#339999; padding:3px 0.15em; width:6.6%;" | [[:Category:Goma|<span style="color:#000000;">Goma</span>]] | style="background-color:#F9F0F9; border-top:5px solid; border-color:#993399; padding:3px 0.15em; width:6.6%;" | [[:Category:Kimiyya|<span style="color:#000000;">Kimiyya</span>]] | style="background-color:#F4F9F0; border-top:5px solid; border-color:#669933; padding:3px 0.15em; width:6.6%;" | [[:Category:Zane|<span style="color:#000000;">Zane</span>]] |} </div> <templatestyles src="Main page/Styles.css" /> <div style="flex:1; min-width:300px; overflow:hidden; border-radius:4px; margin:8px 4px 4px 4px; box-shadow:0 0 8px rgba(0,0,0,0.15);"> <div class="image-carousel"> <ul> <li> <div style="background:#FFF; padding:5px; font-size:150%; font-family:'Arial',sans-serif; position: relative; z-index: 2;"> <div style="padding:5px 10px; color:#333333;">[[File:Star-alt-icon.png|20px|link=]]&nbsp;&nbsp;Featured Article</div> </div> <div class="carousel-image"> [[File:The City Gate of Abuja.jpg|center|class=carousel-image-wrapper|link=Nijeriya|Nijeriya]] </div> <div class="carousel-slide-content-wrapper"> <div class="carousel-slide-content"> <div class="carousel-slide-description">Nijeriya ko Nijeriya da (turanci: Nigeria): A Gwamanatance Tarayyar Najeriya, woli la ga take ga Africa ko zoni ita ji tetteke woli niger koga Arewa. Ga Chadi koga zoni koga aushi jam aji dar ga teku Atlantika.</div> <div class="carousel-slide-title">[[Nijeriya]]</div> </div> </div> </li> <li> <div style="background:#FFF; padding:5px; font-size:150%; font-family:'Arial',sans-serif; position: relative; z-index: 2;"> <div style="padding:5px 10px; color:#333333;">[[File:Paomedia small-n-flat sign-question.svg|20px|link=]]&nbsp;&nbsp; Kamontuwo?</div> </div> <div class="carousel-image"> [[File:Gooya mountain.jpg|center|class=carousel-image-wrapper|link=Gooya mountain]] </div> <div class="carousel-slide-content-wrapper"> <div class="carousel-slide-content"> <div class="carousel-slide-description">Gooya kam zoi wuro la tudu ga arewa [[Nijeriya]], inda Bòo pikka ye kam la yare miyya aji magana da yawa ga yankin da ke kewaye. </div> <div class="carousel-slide-title">[[Potiskum]]</div> </div> </div> </li> <li> <div style="background:#FFF; padding:5px; font-size:150%; font-family:'Arial',sans-serif; position: relative; z-index: 2;"> <div style="padding:5px 10px; color:#333333;">[[File:Paomedia small-n-flat file-picture.svg|20px|link=]]&nbsp;&nbsp; Featured Picture</div> </div> <div class="carousel-image"> [[File:Daniski Festival 04.jpg|center|class=carousel-image-wrapper|link=File:Daniski Festival 04.jpg]] </div> <div class="carousel-slide-content-wrapper"> <div class="carousel-slide-content"> <div class="carousel-slide-description">Daniski Hills Annual Festival kam zoi tarayya la al’ada, ba Bòo pikka ga Fika Emirate ga Yobe State, [[Nijeriya]]. </div> <div class="carousel-slide-title">[[:File:Daniski Festival 04.jpg|Daniski Festival Picture]]</div> </div> </div> </li> </ul> </div> </div> <div style="display:flex; flex-wrap:wrap;"> {{Box |header=[[File:Paomedia small-n-flat sign-info.svg|20px|link=]]&nbsp;&nbsp;Elle Wikipidiya? |content=<span style="float: left; margin: 6px 12px 6px 0px; display: inline-block;">[[File:Wikipedia-logo-v2-bol.svg|100px]]</span>Wikipidiya shafi ji in Yana gizonla ona gudumawa inko rubutu mukalai kala aji gidan ga goggo gozi ilmi do ramu-ramu ga messesu. Gabo turanci ga unda shap Maddi la ramu ramu do gede ga ilmi ga shafuka Wikipedia ga sun Wikipedia, wikipidiya aji tattira ga harsuna GA duniya ga godon shafuka lemalo aji kirkira do ramu mukalai gabo kyauta inko taimako beyi wena ilmi bo kyauta, emeyye aji Wikipedia ga zarrar a shap ga duniya beyi wena ilmi koga asali beyi ilmi fetengo. }} {{Box |header=[[File:Paomedia small-n-flat pencil.svg|20px|link=]]&nbsp;&nbsp;Kirkiru Foyo Article |content=Kaji kume Harshe Bole? Kagita ina taimako beyi Bunƙasa kunsu eme Mona (ensakulopidiya) ko goggo kirkire foyo makaloli do fadada la aji Andi ga fatan aji doffa ka'idoji Al'umma lokaci ona ga gundumawa.<br><small><i></i></small> <div style="margin-top:1em;"> <inputbox> type=create width=30 default= buttonlabel=Kirkiru Foyo Makala </inputbox> </div> }} </div> {{Box |header=English speakers |content=If you speak English, but you don't know anything about the Bole Language, you are also welcome to edit and assist in technical support, such as maintaining Templates or Modules. Your role is vital to the smooth running of the Bole Wikipedia! }} {{Box |header=[[File:Wikimedia-logo.svg|20px|link=]]&nbsp;&nbsp;Project Modi |content={{SisterProjects}} }} {{Bole Wikimedians User Group}} 9wecaysm4wiz8ye3qt4k2mauiulok5q 10460 10441 2026-08-24T14:47:05Z RAPTOR7762 18 10460 wikitext text/x-wiki __NOTOC__ __NOEDITSECTION__ <!--{{Protection padlock|small=yes}}--> {{Top icon|image=Wikimedia Community Logo.svg|link=m:Bole Wikimedians User Group}} {{Top icon|image=2023 Facebook icon.svg|link=https://www.facebook.com/61590521903033/}} <div style="text-align:center;"> {{Clickable button|Special:Purge/Peji In Siri|Purge this page|class=mw-ui-progressive}} </div> <templatestyles src="Main page/Styles.css" /> <div style="position:relative; text-align:center; padding:3em 1em; background:#fff; overflow:hidden;"> <div style="position:absolute; top:-50px; left:0; right:0; text-align:center; opacity:0.1; z-index:0;"> [[File:Wikipedia-logo-v2.svg|600px|center|class=notpageimage|link=]] </div> <div style="position:relative; z-index:1;"> <div style="font-variant:small-caps; font-family:'Linux Libertine','Georgia',serif;"><div style="font-size:180%;">U'se ga nako</div> <div style="font-size:270%; line-height:1;">[[Wikipidiya|<span style="display: inline-block; letter-spacing: -0.35em; margin-right: 0.2em; font-family: serif;">V<span style="margin-left: -0.1em;">V</span></span>ikipidiya]] in bòo pìkkà</div> </div> <div style="font-size:120%; line-height:1.2;"> Wikipidiya ensakulopidiya in lelo in [[Harshe Bole]] la lemalo agita ina ramayi.</div> <div style="font-size:120%; line-height:1.2;"> Honsene Andi makaloli '''[[Special:AllPages|{{NUMBEROFARTICLES}}]]''' ga harshe Bole</div> </div> </div> <div style="margin:10px 0px 10px 0px; -moz-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1); -webkit-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1); box-shadow:0 1px 1px rgba(0, 0, 0, 0.1); background-color:#FFFFFF;"> {| style="border-spacing: 1px; border-collapse: separate; width:100%; text-align:center; font-size:0.85em; padding:2px 3px 2px 3px;" class="hp-portalen" | style="background-color:#F0F0F9; border-top:5px solid; border-color:#333399; padding:3px 0.15em; width:6.6%;" | [[:Category:Atiimala|<span style="color:#000000;">Atiimala</span>]] | style="background-color:#F0F9F9; border-top:5px solid; border-color:#339999; padding:3px 0.15em; width:6.6%;" | [[:Category:Annoba|<span style="color:#000000;">Annoba</span>]] | style="background-color:#F0F4F9; border-top:5px solid; border-color:#336699; padding:3px 0.15em; width:6.6%;" | [[:Category:Fasaha|<span style="color:#000000;">Fasaha</span>]] | style="background-color:#F9F0F0; border-top:5px solid; border-color:#993333; padding:3px 0.15em; width:6.6%;" | [[:Category:Ilimi|<span style="color:#000000;">Ilimi</span>]] | style="background-color:#F0F0F9; border-top:5px solid; border-color:#333399; padding:3px 0.15em; width:6.6%;" | [[:Category:Lamba|<span style="color:#000000;">Lamba</span>]] | style="background-color:#F4F9F0; border-top:5px solid; border-color:#669933; padding:3px 0.15em; width:6.6%;" | [[:Category:Miyya|<span style="color:#000000;">Miyya</span>]] | style="background-color:#F9F9F0; border-top:5px solid; border-color:#999933; padding:3px 0.15em; width:6.6%;" | [[:Category:Makami|<span style="color:#000000;">Makami</span>]] | style="background-color:#F9F0F9; border-top:5px solid; border-color:#993399; padding:3px 0.15em; width:6.6%;" | [[:Category:Malunwa|<span style="color:#000000;">Malunwa</span>]] | style="background-color:#F0F9F0; border-top:5px solid; border-color:#339933; padding:3px 0.15em; width:6.6%;" | [[:Category:Olii|<span style="color:#000000;">Olii</span>]] | style="background-color:#F9F0F4; border-top:5px solid; border-color:#993366; padding:3px 0.15em; width:6.6%;" | [[:Category:Olii pewe|<span style="color:#000000;">Olii pewe</span>]] | style="background-color:#F0F0F9; border-top:5px solid; border-color:#333399; padding:3px 0.15em; width:6.6%;" | [[:Category:Tarihi|<span style="color:#000000;">Tarihi</span>]] | style="background-color:#F0F9F9; border-top:5px solid; border-color:#339999; padding:3px 0.15em; width:6.6%;" | [[:Category:Goma|<span style="color:#000000;">Goma</span>]] | style="background-color:#F9F0F9; border-top:5px solid; border-color:#993399; padding:3px 0.15em; width:6.6%;" | [[:Category:Kimiyya|<span style="color:#000000;">Kimiyya</span>]] | style="background-color:#F4F9F0; border-top:5px solid; border-color:#669933; padding:3px 0.15em; width:6.6%;" | [[:Category:Zane|<span style="color:#000000;">Zane</span>]] |} </div> <templatestyles src="Main page/Styles.css" /> <div style="flex:1; min-width:300px; overflow:hidden; border-radius:4px; margin:8px 4px 4px 4px; box-shadow:0 0 8px rgba(0,0,0,0.15);"> <div class="image-carousel"> <ul> <li> <div style="background:#FFF; padding:5px; font-size:150%; font-family:'Arial',sans-serif; position: relative; z-index: 2;"> <div style="padding:5px 10px; color:#333333;">[[File:Star-alt-icon.png|20px|link=]]&nbsp;&nbsp;Featured Article</div> </div> <div class="carousel-image"> [[File:The City Gate of Abuja.jpg|center|class=carousel-image-wrapper|link=Nijeriya|Nijeriya]] </div> <div class="carousel-slide-content-wrapper"> <div class="carousel-slide-content"> <div class="carousel-slide-description">Nijeriya ko Nijeriya da (turanci: Nigeria): A Gwamanatance Tarayyar Najeriya, woli la ga take ga Africa ko zoni ita ji tetteke woli niger koga Arewa. Ga Chadi koga zoni koga aushi jam aji dar ga teku Atlantika.</div> <div class="carousel-slide-title">[[Nijeriya]]</div> </div> </div> </li> <li> <div style="background:#FFF; padding:5px; font-size:150%; font-family:'Arial',sans-serif; position: relative; z-index: 2;"> <div style="padding:5px 10px; color:#333333;">[[File:Paomedia small-n-flat sign-question.svg|20px|link=]]&nbsp;&nbsp; Kamontuwo?</div> </div> <div class="carousel-image"> [[File:Gooya mountain.jpg|center|class=carousel-image-wrapper|link=Gooya mountain]] </div> <div class="carousel-slide-content-wrapper"> <div class="carousel-slide-content"> <div class="carousel-slide-description">Gooya kam zoi wuro la tudu ga arewa [[Nijeriya]], inda Bòo pikka ye kam la yare miyya aji magana da yawa ga yankin da ke kewaye. </div> <div class="carousel-slide-title">[[Potiskum]]</div> </div> </div> </li> <li> <div style="background:#FFF; padding:5px; font-size:150%; font-family:'Arial',sans-serif; position: relative; z-index: 2;"> <div style="padding:5px 10px; color:#333333;">[[File:Paomedia small-n-flat file-picture.svg|20px|link=]]&nbsp;&nbsp; Featured Picture</div> </div> <div class="carousel-image"> [[File:Daniski Festival 04.jpg|center|class=carousel-image-wrapper|link=File:Daniski Festival 04.jpg]] </div> <div class="carousel-slide-content-wrapper"> <div class="carousel-slide-content"> <div class="carousel-slide-description">Daniski Hills Annual Festival kam zoi tarayya la al’ada, ba Bòo pikka ga Fika Emirate ga Yobe State, [[Nijeriya]]. </div> <div class="carousel-slide-title">[[:File:Daniski Festival 04.jpg|Daniski Festival Picture]]</div> </div> </div> </li> </ul> </div> </div> <div style="display:flex; flex-wrap:wrap;"> {{Box |header=[[File:Paomedia small-n-flat sign-info.svg|20px|link=]]&nbsp;&nbsp;Elle Wikipidiya? |content=<span style="float: left; margin: 6px 12px 6px 0px; display: inline-block;">[[File:Wikipedia-logo-v2-bol.svg|100px]]</span>Wikipidiya shafi ji in Yana gizonla ona gudumawa inko rubutu mukalai kala aji gidan ga goggo gozi ilmi do ramu-ramu ga messesu. Gabo turanci ga unda shap Maddi la ramu ramu do gede ga ilmi ga shafuka Wikipedia ga sun Wikipedia, wikipidiya aji tattira ga harsuna GA duniya ga godon shafuka lemalo aji kirkira do ramu mukalai gabo kyauta inko taimako beyi wena ilmi bo kyauta, emeyye aji Wikipedia ga zarrar a shap ga duniya beyi wena ilmi koga asali beyi ilmi fetengo. }} {{Box |header=[[File:Paomedia small-n-flat pencil.svg|20px|link=]]&nbsp;&nbsp;Kirkiru Foyo Article |content=Kaji kume Harshe Bole? Kagita ina taimako beyi Bunƙasa kunsu eme Mona (ensakulopidiya) ko goggo kirkire foyo makaloli do fadada la aji Andi ga fatan aji doffa ka'idoji Al'umma lokaci ona ga gundumawa.<br><small><i></i></small> <div style="margin-top:1em;"> <inputbox> type=create width=30 default= buttonlabel=Kirkiru Foyo Makala </inputbox> </div> }} </div> {{Box |header=English speakers |content=If you speak English, but you don't know anything about the Bole Language, you are also welcome to edit and assist in technical support, such as maintaining Templates or Modules. Your role is vital to the smooth running of the Bole Wikipedia! }} {{Box |header=[[File:Wikimedia-logo.svg|20px|link=]]&nbsp;&nbsp;Project Modi |content={{SisterProjects}} }} {{Bole Wikimedians User Group}} {{Bole Wikimedians User Group/mobile}} hiujr1t7gr9ms7p88cn35752b7kpzpz 10499 10460 2026-08-25T06:32:47Z RAPTOR7762 18 10499 wikitext text/x-wiki __NOTOC__ __NOEDITSECTION__ <!--{{Protection padlock|small=yes}}--> {{Top icon|image=Wikimedia Community Logo.svg|link=m:Bole Wikimedians User Group}} {{Top icon|image=2023 Facebook icon.svg|link=https://www.facebook.com/61590521903033/}} <div style="text-align:center;"> {{Clickable button|Special:Purge/Peji In Siri|Purge this page|class=mw-ui-progressive}} </div> <templatestyles src="Main page/Styles.css" /> <div style="position:relative; text-align:center; padding:3em 1em; background:#fff; overflow:hidden;"> <div style="position:absolute; top:-50px; left:0; right:0; text-align:center; opacity:0.1; z-index:0;"> [[File:Wikipedia-logo-v2.svg|600px|center|class=notpageimage|link=]] </div> <div style="position:relative; z-index:1;"> <div style="font-variant:small-caps; font-family:'Linux Libertine','Georgia',serif;"><div style="font-size:180%;">U'se ga nako</div> <div style="font-size:270%; line-height:1;">[[Wikipidiya|<span style="display: inline-block; letter-spacing: -0.35em; margin-right: 0.2em; font-family: serif;">V<span style="margin-left: -0.1em;">V</span></span>ikipidiya]] in bòo pìkkà</div> </div> <div style="font-size:120%; line-height:1.2;"> Wikipidiya ensakulopidiya in lelo in [[Harshe Bole]] la lemalo agita ina ramayi.</div> <div style="font-size:120%; line-height:1.2;"> Honsene Andi makaloli '''[[Special:AllPages|{{NUMBEROFARTICLES}}]]''' ga harshe Bole</div> </div> </div> <div style="margin:10px 0px 10px 0px; -moz-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1); -webkit-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1); box-shadow:0 1px 1px rgba(0, 0, 0, 0.1); background-color:#FFFFFF;"> {| style="border-spacing: 1px; border-collapse: separate; width:100%; text-align:center; font-size:0.85em; padding:2px 3px 2px 3px;" class="hp-portalen" | style="background-color:#F0F0F9; border-top:5px solid; border-color:#333399; padding:3px 0.15em; width:6.6%;" | [[:Category:Atiimala|<span style="color:#000000;">Atiimala</span>]] | style="background-color:#F0F9F9; border-top:5px solid; border-color:#339999; padding:3px 0.15em; width:6.6%;" | [[:Category:Annoba|<span style="color:#000000;">Annoba</span>]] | style="background-color:#F0F4F9; border-top:5px solid; border-color:#336699; padding:3px 0.15em; width:6.6%;" | [[:Category:Fasaha|<span style="color:#000000;">Fasaha</span>]] | style="background-color:#F9F0F0; border-top:5px solid; border-color:#993333; padding:3px 0.15em; width:6.6%;" | [[:Category:Ilimi|<span style="color:#000000;">Ilimi</span>]] | style="background-color:#F0F0F9; border-top:5px solid; border-color:#333399; padding:3px 0.15em; width:6.6%;" | [[:Category:Lamba|<span style="color:#000000;">Lamba</span>]] | style="background-color:#F4F9F0; border-top:5px solid; border-color:#669933; padding:3px 0.15em; width:6.6%;" | [[:Category:Miyya|<span style="color:#000000;">Miyya</span>]] | style="background-color:#F9F9F0; border-top:5px solid; border-color:#999933; padding:3px 0.15em; width:6.6%;" | [[:Category:Makami|<span style="color:#000000;">Makami</span>]] | style="background-color:#F9F0F9; border-top:5px solid; border-color:#993399; padding:3px 0.15em; width:6.6%;" | [[:Category:Malunwa|<span style="color:#000000;">Malunwa</span>]] | style="background-color:#F0F9F0; border-top:5px solid; border-color:#339933; padding:3px 0.15em; width:6.6%;" | [[:Category:Olii|<span style="color:#000000;">Olii</span>]] | style="background-color:#F9F0F4; border-top:5px solid; border-color:#993366; padding:3px 0.15em; width:6.6%;" | [[:Category:Olii pewe|<span style="color:#000000;">Olii pewe</span>]] | style="background-color:#F0F0F9; border-top:5px solid; border-color:#333399; padding:3px 0.15em; width:6.6%;" | [[:Category:Tarihi|<span style="color:#000000;">Tarihi</span>]] | style="background-color:#F0F9F9; border-top:5px solid; border-color:#339999; padding:3px 0.15em; width:6.6%;" | [[:Category:Goma|<span style="color:#000000;">Goma</span>]] | style="background-color:#F9F0F9; border-top:5px solid; border-color:#993399; padding:3px 0.15em; width:6.6%;" | [[:Category:Kimiyya|<span style="color:#000000;">Kimiyya</span>]] | style="background-color:#F4F9F0; border-top:5px solid; border-color:#669933; padding:3px 0.15em; width:6.6%;" | [[:Category:Zane|<span style="color:#000000;">Zane</span>]] |} </div> <templatestyles src="Main page/Styles.css" /> <div style="flex:1; min-width:300px; overflow:hidden; border-radius:4px; margin:8px 4px 4px 4px; box-shadow:0 0 8px rgba(0,0,0,0.15);"> <div class="image-carousel"> <ul> <li> <div style="background:#FFF; padding:5px; font-size:150%; font-family:'Arial',sans-serif; position: relative; z-index: 2;"> <div style="padding:5px 10px; color:#333333;">[[File:Star-alt-icon.png|20px|link=]]&nbsp;&nbsp;Featured Article</div> </div> <div class="carousel-image"> [[File:The City Gate of Abuja.jpg|center|class=carousel-image-wrapper|link=Nijeriya|Nijeriya]] </div> <div class="carousel-slide-content-wrapper"> <div class="carousel-slide-content"> <div class="carousel-slide-description">Nijeriya ko Nijeriya da (turanci: Nigeria): A Gwamanatance Tarayyar Najeriya, woli la ga take ga Africa ko zoni ita ji tetteke woli niger koga Arewa. Ga Chadi koga zoni koga aushi jam aji dar ga teku Atlantika.</div> <div class="carousel-slide-title">[[Nijeriya]]</div> </div> </div> </li> <li> <div style="background:#FFF; padding:5px; font-size:150%; font-family:'Arial',sans-serif; position: relative; z-index: 2;"> <div style="padding:5px 10px; color:#333333;">[[File:Paomedia small-n-flat sign-question.svg|20px|link=]]&nbsp;&nbsp; Kamontuwo?</div> </div> <div class="carousel-image"> [[File:Gooya mountain.jpg|center|class=carousel-image-wrapper|link=Gooya mountain]] </div> <div class="carousel-slide-content-wrapper"> <div class="carousel-slide-content"> <div class="carousel-slide-description">Gooya kam zoi wuro la tudu ga arewa [[Nijeriya]], inda Bòo pikka ye kam la yare miyya aji magana da yawa ga yankin da ke kewaye. </div> <div class="carousel-slide-title">[[Potiskum]]</div> </div> </div> </li> <li> <div style="background:#FFF; padding:5px; font-size:150%; font-family:'Arial',sans-serif; position: relative; z-index: 2;"> <div style="padding:5px 10px; color:#333333;">[[File:Paomedia small-n-flat file-picture.svg|20px|link=]]&nbsp;&nbsp; Featured Picture</div> </div> <div class="carousel-image"> [[File:Daniski Festival 04.jpg|center|class=carousel-image-wrapper|link=File:Daniski Festival 04.jpg]] </div> <div class="carousel-slide-content-wrapper"> <div class="carousel-slide-content"> <div class="carousel-slide-description">Daniski Hills Annual Festival kam zoi tarayya la al’ada, ba Bòo pikka ga Fika Emirate ga Yobe State, [[Nijeriya]]. </div> <div class="carousel-slide-title">[[:File:Daniski Festival 04.jpg|Daniski Festival Picture]]</div> </div> </div> </li> </ul> </div> </div> <div style="display:flex; flex-wrap:wrap;"> {{Box |header=[[File:Paomedia small-n-flat sign-info.svg|20px|link=]]&nbsp;&nbsp;Elle Wikipidiya? |content=<span style="float: left; margin: 6px 12px 6px 0px; display: inline-block;">[[File:Wikipedia-logo-v2-bol.svg|100px]]</span>Wikipidiya shafi ji in Yana gizonla ona gudumawa inko rubutu mukalai kala aji gidan ga goggo gozi ilmi do ramu-ramu ga messesu. Gabo turanci ga unda shap Maddi la ramu ramu do gede ga ilmi ga shafuka Wikipedia ga sun Wikipedia, wikipidiya aji tattira ga harsuna GA duniya ga godon shafuka lemalo aji kirkira do ramu mukalai gabo kyauta inko taimako beyi wena ilmi bo kyauta, emeyye aji Wikipedia ga zarrar a shap ga duniya beyi wena ilmi koga asali beyi ilmi fetengo. }} {{Box |header=[[File:Paomedia small-n-flat pencil.svg|20px|link=]]&nbsp;&nbsp;Kirkiru Foyo Article |content=Kaji kume Harshe Bole? Kagita ina taimako beyi Bunƙasa kunsu eme Mona (ensakulopidiya) ko goggo kirkire foyo makaloli do fadada la aji Andi ga fatan aji doffa ka'idoji Al'umma lokaci ona ga gundumawa.<br><small><i></i></small> <div style="margin-top:1em;"> <inputbox> type=create width=30 default= buttonlabel=Kirkiru Foyo Makala </inputbox> </div> }} </div> {{Box |header=English speakers |content=If you speak English, but you don't know anything about the Bole Language, you are also welcome to edit and assist in technical support, such as maintaining Templates or Modules. Your role is vital to the smooth running of the Bole Wikipedia! }} {{Box |header=[[File:Wikimedia-logo.svg|20px|link=]]&nbsp;&nbsp;Project Modi |content={{SisterProjects}} }} {{Bole Wikimedians User Group}} <div class="mobile-only"> {{Bole Wikimedians User Group/mobile}} </div> 61px6ebnx2wu4vcsao2iiibfbf1fmzj 10505 10499 2026-08-25T10:15:44Z RAPTOR7762 18 10505 wikitext text/x-wiki __NOTOC__ __NOEDITSECTION__ <!--{{Protection padlock|small=yes}}--> {{Top icon|image=Wikimedia Community Logo.svg|link=m:Bole Wikimedians User Group}} {{Top icon|image=2023 Facebook icon.svg|link=https://www.facebook.com/61590521903033/}} <div style="text-align:center;"> {{Clickable button|Special:Purge/Peji In Siri|Purge this page|class=mw-ui-progressive}} <div class="mobile-only"> [[File:Wikimedia Community Logo.svg|20px|center|link=m:Bole Wikimedians User Group]][[File:2023 Facebook icon.svg|20px|center|link=https://www.facebook.com/61590521903033/]] </div> <templatestyles src="Main page/Styles.css" /> <div style="position:relative; text-align:center; padding:3em 1em; background:#fff; overflow:hidden;"> <div style="position:absolute; top:-50px; left:0; right:0; text-align:center; opacity:0.1; z-index:0;"> [[File:Wikipedia-logo-v2.svg|600px|center|class=notpageimage|link=]] </div> <div style="position:relative; z-index:1;"> <div style="font-variant:small-caps; font-family:'Linux Libertine','Georgia',serif;"><div style="font-size:180%;">U'se ga nako</div> <div style="font-size:270%; line-height:1;">[[Wikipidiya|<span style="display: inline-block; letter-spacing: -0.35em; margin-right: 0.2em; font-family: serif;">V<span style="margin-left: -0.1em;">V</span></span>ikipidiya]] in bòo pìkkà</div> </div> <div style="font-size:120%; line-height:1.2;"> Wikipidiya ensakulopidiya in lelo in [[Harshe Bole]] la lemalo agita ina ramayi.</div> <div style="font-size:120%; line-height:1.2;"> Honsene Andi makaloli '''[[Special:AllPages|{{NUMBEROFARTICLES}}]]''' ga harshe Bole</div> </div> </div> <div style="margin:10px 0px 10px 0px; -moz-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1); -webkit-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1); box-shadow:0 1px 1px rgba(0, 0, 0, 0.1); background-color:#FFFFFF;"> {| style="border-spacing: 1px; border-collapse: separate; width:100%; text-align:center; font-size:0.85em; padding:2px 3px 2px 3px;" class="hp-portalen" | style="background-color:#F0F0F9; border-top:5px solid; border-color:#333399; padding:3px 0.15em; width:6.6%;" | [[:Category:Atiimala|<span style="color:#000000;">Atiimala</span>]] | style="background-color:#F0F9F9; border-top:5px solid; border-color:#339999; padding:3px 0.15em; width:6.6%;" | [[:Category:Annoba|<span style="color:#000000;">Annoba</span>]] | style="background-color:#F0F4F9; border-top:5px solid; border-color:#336699; padding:3px 0.15em; width:6.6%;" | [[:Category:Fasaha|<span style="color:#000000;">Fasaha</span>]] | style="background-color:#F9F0F0; border-top:5px solid; border-color:#993333; padding:3px 0.15em; width:6.6%;" | [[:Category:Ilimi|<span style="color:#000000;">Ilimi</span>]] | style="background-color:#F0F0F9; border-top:5px solid; border-color:#333399; padding:3px 0.15em; width:6.6%;" | [[:Category:Lamba|<span style="color:#000000;">Lamba</span>]] | style="background-color:#F4F9F0; border-top:5px solid; border-color:#669933; padding:3px 0.15em; width:6.6%;" | [[:Category:Miyya|<span style="color:#000000;">Miyya</span>]] | style="background-color:#F9F9F0; border-top:5px solid; border-color:#999933; padding:3px 0.15em; width:6.6%;" | [[:Category:Makami|<span style="color:#000000;">Makami</span>]] | style="background-color:#F9F0F9; border-top:5px solid; border-color:#993399; padding:3px 0.15em; width:6.6%;" | [[:Category:Malunwa|<span style="color:#000000;">Malunwa</span>]] | style="background-color:#F0F9F0; border-top:5px solid; border-color:#339933; padding:3px 0.15em; width:6.6%;" | [[:Category:Olii|<span style="color:#000000;">Olii</span>]] | style="background-color:#F9F0F4; border-top:5px solid; border-color:#993366; padding:3px 0.15em; width:6.6%;" | [[:Category:Olii pewe|<span style="color:#000000;">Olii pewe</span>]] | style="background-color:#F0F0F9; border-top:5px solid; border-color:#333399; padding:3px 0.15em; width:6.6%;" | [[:Category:Tarihi|<span style="color:#000000;">Tarihi</span>]] | style="background-color:#F0F9F9; border-top:5px solid; border-color:#339999; padding:3px 0.15em; width:6.6%;" | [[:Category:Goma|<span style="color:#000000;">Goma</span>]] | style="background-color:#F9F0F9; border-top:5px solid; border-color:#993399; padding:3px 0.15em; width:6.6%;" | [[:Category:Kimiyya|<span style="color:#000000;">Kimiyya</span>]] | style="background-color:#F4F9F0; border-top:5px solid; border-color:#669933; padding:3px 0.15em; width:6.6%;" | [[:Category:Zane|<span style="color:#000000;">Zane</span>]] |} </div> <templatestyles src="Main page/Styles.css" /> <div style="flex:1; min-width:300px; overflow:hidden; border-radius:4px; margin:8px 4px 4px 4px; box-shadow:0 0 8px rgba(0,0,0,0.15);"> <div class="image-carousel"> <ul> <li> <div style="background:#FFF; padding:5px; font-size:150%; font-family:'Arial',sans-serif; position: relative; z-index: 2;"> <div style="padding:5px 10px; color:#333333;">[[File:Star-alt-icon.png|20px|link=]]&nbsp;&nbsp;Featured Article</div> </div> <div class="carousel-image"> [[File:The City Gate of Abuja.jpg|center|class=carousel-image-wrapper|link=Nijeriya|Nijeriya]] </div> <div class="carousel-slide-content-wrapper"> <div class="carousel-slide-content"> <div class="carousel-slide-description">Nijeriya ko Nijeriya da (turanci: Nigeria): A Gwamanatance Tarayyar Najeriya, woli la ga take ga Africa ko zoni ita ji tetteke woli niger koga Arewa. Ga Chadi koga zoni koga aushi jam aji dar ga teku Atlantika.</div> <div class="carousel-slide-title">[[Nijeriya]]</div> </div> </div> </li> <li> <div style="background:#FFF; padding:5px; font-size:150%; font-family:'Arial',sans-serif; position: relative; z-index: 2;"> <div style="padding:5px 10px; color:#333333;">[[File:Paomedia small-n-flat sign-question.svg|20px|link=]]&nbsp;&nbsp; Kamontuwo?</div> </div> <div class="carousel-image"> [[File:Gooya mountain.jpg|center|class=carousel-image-wrapper|link=Gooya mountain]] </div> <div class="carousel-slide-content-wrapper"> <div class="carousel-slide-content"> <div class="carousel-slide-description">Gooya kam zoi wuro la tudu ga arewa [[Nijeriya]], inda Bòo pikka ye kam la yare miyya aji magana da yawa ga yankin da ke kewaye. </div> <div class="carousel-slide-title">[[Potiskum]]</div> </div> </div> </li> <li> <div style="background:#FFF; padding:5px; font-size:150%; font-family:'Arial',sans-serif; position: relative; z-index: 2;"> <div style="padding:5px 10px; color:#333333;">[[File:Paomedia small-n-flat file-picture.svg|20px|link=]]&nbsp;&nbsp; Featured Picture</div> </div> <div class="carousel-image"> [[File:Daniski Festival 04.jpg|center|class=carousel-image-wrapper|link=File:Daniski Festival 04.jpg]] </div> <div class="carousel-slide-content-wrapper"> <div class="carousel-slide-content"> <div class="carousel-slide-description">Daniski Hills Annual Festival kam zoi tarayya la al’ada, ba Bòo pikka ga Fika Emirate ga Yobe State, [[Nijeriya]]. </div> <div class="carousel-slide-title">[[:File:Daniski Festival 04.jpg|Daniski Festival Picture]]</div> </div> </div> </li> </ul> </div> </div> <div style="display:flex; flex-wrap:wrap;"> {{Box |header=[[File:Paomedia small-n-flat sign-info.svg|20px|link=]]&nbsp;&nbsp;Elle Wikipidiya? |content=<span style="float: left; margin: 6px 12px 6px 0px; display: inline-block;">[[File:Wikipedia-logo-v2-bol.svg|100px]]</span>Wikipidiya shafi ji in Yana gizonla ona gudumawa inko rubutu mukalai kala aji gidan ga goggo gozi ilmi do ramu-ramu ga messesu. Gabo turanci ga unda shap Maddi la ramu ramu do gede ga ilmi ga shafuka Wikipedia ga sun Wikipedia, wikipidiya aji tattira ga harsuna GA duniya ga godon shafuka lemalo aji kirkira do ramu mukalai gabo kyauta inko taimako beyi wena ilmi bo kyauta, emeyye aji Wikipedia ga zarrar a shap ga duniya beyi wena ilmi koga asali beyi ilmi fetengo. }} {{Box |header=[[File:Paomedia small-n-flat pencil.svg|20px|link=]]&nbsp;&nbsp;Kirkiru Foyo Article |content=Kaji kume Harshe Bole? Kagita ina taimako beyi Bunƙasa kunsu eme Mona (ensakulopidiya) ko goggo kirkire foyo makaloli do fadada la aji Andi ga fatan aji doffa ka'idoji Al'umma lokaci ona ga gundumawa.<br><small><i></i></small> <div style="margin-top:1em;"> <inputbox> type=create width=30 default= buttonlabel=Kirkiru Foyo Makala </inputbox> </div> }} </div> {{Box |header=English speakers |content=If you speak English, but you don't know anything about the Bole Language, you are also welcome to edit and assist in technical support, such as maintaining Templates or Modules. Your role is vital to the smooth running of the Bole Wikipedia! }} {{Box |header=[[File:Wikimedia-logo.svg|20px|link=]]&nbsp;&nbsp;Project Modi |content={{SisterProjects}} }} {{Bole Wikimedians User Group}} <div class="mobile-only"> {{Bole Wikimedians User Group/mobile}} </div> hl7mkyl7pg5gnc7kzvluvuaz3a7qhd7 10506 10505 2026-08-25T10:17:41Z RAPTOR7762 18 10506 wikitext text/x-wiki __NOTOC__ __NOEDITSECTION__ <!--{{Protection padlock|small=yes}}--> {{Top icon|image=Wikimedia Community Logo.svg|link=m:Bole Wikimedians User Group}} {{Top icon|image=2023 Facebook icon.svg|link=https://www.facebook.com/61590521903033/}} <div style="text-align:center;"> {{Clickable button|Special:Purge/Peji In Siri|Purge this page|class=mw-ui-progressive}} <div class="mobile-only" style="text-align:center;"> [[File:Wikimedia Community Logo.svg|20px|link=m:Bole Wikimedians User Group]][[File:2023 Facebook icon.svg|20px|link=https://www.facebook.com/61590521903033/]] </div> <templatestyles src="Main page/Styles.css" /> <div style="position:relative; text-align:center; padding:3em 1em; background:#fff; overflow:hidden;"> <div style="position:absolute; top:-50px; left:0; right:0; text-align:center; opacity:0.1; z-index:0;"> [[File:Wikipedia-logo-v2.svg|600px|center|class=notpageimage|link=]] </div> <div style="position:relative; z-index:1;"> <div style="font-variant:small-caps; font-family:'Linux Libertine','Georgia',serif;"><div style="font-size:180%;">U'se ga nako</div> <div style="font-size:270%; line-height:1;">[[Wikipidiya|<span style="display: inline-block; letter-spacing: -0.35em; margin-right: 0.2em; font-family: serif;">V<span style="margin-left: -0.1em;">V</span></span>ikipidiya]] in bòo pìkkà</div> </div> <div style="font-size:120%; line-height:1.2;"> Wikipidiya ensakulopidiya in lelo in [[Harshe Bole]] la lemalo agita ina ramayi.</div> <div style="font-size:120%; line-height:1.2;"> Honsene Andi makaloli '''[[Special:AllPages|{{NUMBEROFARTICLES}}]]''' ga harshe Bole</div> </div> </div> <div style="margin:10px 0px 10px 0px; -moz-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1); -webkit-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1); box-shadow:0 1px 1px rgba(0, 0, 0, 0.1); background-color:#FFFFFF;"> {| style="border-spacing: 1px; border-collapse: separate; width:100%; text-align:center; font-size:0.85em; padding:2px 3px 2px 3px;" class="hp-portalen" | style="background-color:#F0F0F9; border-top:5px solid; border-color:#333399; padding:3px 0.15em; width:6.6%;" | [[:Category:Atiimala|<span style="color:#000000;">Atiimala</span>]] | style="background-color:#F0F9F9; border-top:5px solid; border-color:#339999; padding:3px 0.15em; width:6.6%;" | [[:Category:Annoba|<span style="color:#000000;">Annoba</span>]] | style="background-color:#F0F4F9; border-top:5px solid; border-color:#336699; padding:3px 0.15em; width:6.6%;" | [[:Category:Fasaha|<span style="color:#000000;">Fasaha</span>]] | style="background-color:#F9F0F0; border-top:5px solid; border-color:#993333; padding:3px 0.15em; width:6.6%;" | [[:Category:Ilimi|<span style="color:#000000;">Ilimi</span>]] | style="background-color:#F0F0F9; border-top:5px solid; border-color:#333399; padding:3px 0.15em; width:6.6%;" | [[:Category:Lamba|<span style="color:#000000;">Lamba</span>]] | style="background-color:#F4F9F0; border-top:5px solid; border-color:#669933; padding:3px 0.15em; width:6.6%;" | [[:Category:Miyya|<span style="color:#000000;">Miyya</span>]] | style="background-color:#F9F9F0; border-top:5px solid; border-color:#999933; padding:3px 0.15em; width:6.6%;" | [[:Category:Makami|<span style="color:#000000;">Makami</span>]] | style="background-color:#F9F0F9; border-top:5px solid; border-color:#993399; padding:3px 0.15em; width:6.6%;" | [[:Category:Malunwa|<span style="color:#000000;">Malunwa</span>]] | style="background-color:#F0F9F0; border-top:5px solid; border-color:#339933; padding:3px 0.15em; width:6.6%;" | [[:Category:Olii|<span style="color:#000000;">Olii</span>]] | style="background-color:#F9F0F4; border-top:5px solid; border-color:#993366; padding:3px 0.15em; width:6.6%;" | [[:Category:Olii pewe|<span style="color:#000000;">Olii pewe</span>]] | style="background-color:#F0F0F9; border-top:5px solid; border-color:#333399; padding:3px 0.15em; width:6.6%;" | [[:Category:Tarihi|<span style="color:#000000;">Tarihi</span>]] | style="background-color:#F0F9F9; border-top:5px solid; border-color:#339999; padding:3px 0.15em; width:6.6%;" | [[:Category:Goma|<span style="color:#000000;">Goma</span>]] | style="background-color:#F9F0F9; border-top:5px solid; border-color:#993399; padding:3px 0.15em; width:6.6%;" | [[:Category:Kimiyya|<span style="color:#000000;">Kimiyya</span>]] | style="background-color:#F4F9F0; border-top:5px solid; border-color:#669933; padding:3px 0.15em; width:6.6%;" | [[:Category:Zane|<span style="color:#000000;">Zane</span>]] |} </div> <templatestyles src="Main page/Styles.css" /> <div style="flex:1; min-width:300px; overflow:hidden; border-radius:4px; margin:8px 4px 4px 4px; box-shadow:0 0 8px rgba(0,0,0,0.15);"> <div class="image-carousel"> <ul> <li> <div style="background:#FFF; padding:5px; font-size:150%; font-family:'Arial',sans-serif; position: relative; z-index: 2;"> <div style="padding:5px 10px; color:#333333;">[[File:Star-alt-icon.png|20px|link=]]&nbsp;&nbsp;Featured Article</div> </div> <div class="carousel-image"> [[File:The City Gate of Abuja.jpg|center|class=carousel-image-wrapper|link=Nijeriya|Nijeriya]] </div> <div class="carousel-slide-content-wrapper"> <div class="carousel-slide-content"> <div class="carousel-slide-description">Nijeriya ko Nijeriya da (turanci: Nigeria): A Gwamanatance Tarayyar Najeriya, woli la ga take ga Africa ko zoni ita ji tetteke woli niger koga Arewa. Ga Chadi koga zoni koga aushi jam aji dar ga teku Atlantika.</div> <div class="carousel-slide-title">[[Nijeriya]]</div> </div> </div> </li> <li> <div style="background:#FFF; padding:5px; font-size:150%; font-family:'Arial',sans-serif; position: relative; z-index: 2;"> <div style="padding:5px 10px; color:#333333;">[[File:Paomedia small-n-flat sign-question.svg|20px|link=]]&nbsp;&nbsp; Kamontuwo?</div> </div> <div class="carousel-image"> [[File:Gooya mountain.jpg|center|class=carousel-image-wrapper|link=Gooya mountain]] </div> <div class="carousel-slide-content-wrapper"> <div class="carousel-slide-content"> <div class="carousel-slide-description">Gooya kam zoi wuro la tudu ga arewa [[Nijeriya]], inda Bòo pikka ye kam la yare miyya aji magana da yawa ga yankin da ke kewaye. </div> <div class="carousel-slide-title">[[Potiskum]]</div> </div> </div> </li> <li> <div style="background:#FFF; padding:5px; font-size:150%; font-family:'Arial',sans-serif; position: relative; z-index: 2;"> <div style="padding:5px 10px; color:#333333;">[[File:Paomedia small-n-flat file-picture.svg|20px|link=]]&nbsp;&nbsp; Featured Picture</div> </div> <div class="carousel-image"> [[File:Daniski Festival 04.jpg|center|class=carousel-image-wrapper|link=File:Daniski Festival 04.jpg]] </div> <div class="carousel-slide-content-wrapper"> <div class="carousel-slide-content"> <div class="carousel-slide-description">Daniski Hills Annual Festival kam zoi tarayya la al’ada, ba Bòo pikka ga Fika Emirate ga Yobe State, [[Nijeriya]]. </div> <div class="carousel-slide-title">[[:File:Daniski Festival 04.jpg|Daniski Festival Picture]]</div> </div> </div> </li> </ul> </div> </div> <div style="display:flex; flex-wrap:wrap;"> {{Box |header=[[File:Paomedia small-n-flat sign-info.svg|20px|link=]]&nbsp;&nbsp;Elle Wikipidiya? |content=<span style="float: left; margin: 6px 12px 6px 0px; display: inline-block;">[[File:Wikipedia-logo-v2-bol.svg|100px]]</span>Wikipidiya shafi ji in Yana gizonla ona gudumawa inko rubutu mukalai kala aji gidan ga goggo gozi ilmi do ramu-ramu ga messesu. Gabo turanci ga unda shap Maddi la ramu ramu do gede ga ilmi ga shafuka Wikipedia ga sun Wikipedia, wikipidiya aji tattira ga harsuna GA duniya ga godon shafuka lemalo aji kirkira do ramu mukalai gabo kyauta inko taimako beyi wena ilmi bo kyauta, emeyye aji Wikipedia ga zarrar a shap ga duniya beyi wena ilmi koga asali beyi ilmi fetengo. }} {{Box |header=[[File:Paomedia small-n-flat pencil.svg|20px|link=]]&nbsp;&nbsp;Kirkiru Foyo Article |content=Kaji kume Harshe Bole? Kagita ina taimako beyi Bunƙasa kunsu eme Mona (ensakulopidiya) ko goggo kirkire foyo makaloli do fadada la aji Andi ga fatan aji doffa ka'idoji Al'umma lokaci ona ga gundumawa.<br><small><i></i></small> <div style="margin-top:1em;"> <inputbox> type=create width=30 default= buttonlabel=Kirkiru Foyo Makala </inputbox> </div> }} </div> {{Box |header=English speakers |content=If you speak English, but you don't know anything about the Bole Language, you are also welcome to edit and assist in technical support, such as maintaining Templates or Modules. Your role is vital to the smooth running of the Bole Wikipedia! }} {{Box |header=[[File:Wikimedia-logo.svg|20px|link=]]&nbsp;&nbsp;Project Modi |content={{SisterProjects}} }} {{Bole Wikimedians User Group}} <div class="mobile-only"> {{Bole Wikimedians User Group/mobile}} </div> 0n6j9zv1r67p3qwmvypj13ht639z707 10507 10506 2026-08-25T10:18:58Z RAPTOR7762 18 10507 wikitext text/x-wiki __NOTOC__ __NOEDITSECTION__ <!--{{Protection padlock|small=yes}}--> {{Top icon|image=Wikimedia Community Logo.svg|link=m:Bole Wikimedians User Group}} {{Top icon|image=2023 Facebook icon.svg|link=https://www.facebook.com/61590521903033/}} <div style="text-align:center;"> {{Clickable button|Special:Purge/Peji In Siri|Purge this page|class=mw-ui-progressive}} <div class="mobile-only" style="text-align:center;"> [[File:Wikimedia Community Logo.svg|30px|link=m:Bole Wikimedians User Group]]&nbsp;[[File:2023 Facebook icon.svg|30px|link=https://www.facebook.com/61590521903033/]] </div> <templatestyles src="Main page/Styles.css" /> <div style="position:relative; text-align:center; padding:3em 1em; background:#fff; overflow:hidden;"> <div style="position:absolute; top:-50px; left:0; right:0; text-align:center; opacity:0.1; z-index:0;"> [[File:Wikipedia-logo-v2.svg|600px|center|class=notpageimage|link=]] </div> <div style="position:relative; z-index:1;"> <div style="font-variant:small-caps; font-family:'Linux Libertine','Georgia',serif;"><div style="font-size:180%;">U'se ga nako</div> <div style="font-size:270%; line-height:1;">[[Wikipidiya|<span style="display: inline-block; letter-spacing: -0.35em; margin-right: 0.2em; font-family: serif;">V<span style="margin-left: -0.1em;">V</span></span>ikipidiya]] in bòo pìkkà</div> </div> <div style="font-size:120%; line-height:1.2;"> Wikipidiya ensakulopidiya in lelo in [[Harshe Bole]] la lemalo agita ina ramayi.</div> <div style="font-size:120%; line-height:1.2;"> Honsene Andi makaloli '''[[Special:AllPages|{{NUMBEROFARTICLES}}]]''' ga harshe Bole</div> </div> </div> <div style="margin:10px 0px 10px 0px; -moz-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1); -webkit-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1); box-shadow:0 1px 1px rgba(0, 0, 0, 0.1); background-color:#FFFFFF;"> {| style="border-spacing: 1px; border-collapse: separate; width:100%; text-align:center; font-size:0.85em; padding:2px 3px 2px 3px;" class="hp-portalen" | style="background-color:#F0F0F9; border-top:5px solid; border-color:#333399; padding:3px 0.15em; width:6.6%;" | [[:Category:Atiimala|<span style="color:#000000;">Atiimala</span>]] | style="background-color:#F0F9F9; border-top:5px solid; border-color:#339999; padding:3px 0.15em; width:6.6%;" | [[:Category:Annoba|<span style="color:#000000;">Annoba</span>]] | style="background-color:#F0F4F9; border-top:5px solid; border-color:#336699; padding:3px 0.15em; width:6.6%;" | [[:Category:Fasaha|<span style="color:#000000;">Fasaha</span>]] | style="background-color:#F9F0F0; border-top:5px solid; border-color:#993333; padding:3px 0.15em; width:6.6%;" | [[:Category:Ilimi|<span style="color:#000000;">Ilimi</span>]] | style="background-color:#F0F0F9; border-top:5px solid; border-color:#333399; padding:3px 0.15em; width:6.6%;" | [[:Category:Lamba|<span style="color:#000000;">Lamba</span>]] | style="background-color:#F4F9F0; border-top:5px solid; border-color:#669933; padding:3px 0.15em; width:6.6%;" | [[:Category:Miyya|<span style="color:#000000;">Miyya</span>]] | style="background-color:#F9F9F0; border-top:5px solid; border-color:#999933; padding:3px 0.15em; width:6.6%;" | [[:Category:Makami|<span style="color:#000000;">Makami</span>]] | style="background-color:#F9F0F9; border-top:5px solid; border-color:#993399; padding:3px 0.15em; width:6.6%;" | [[:Category:Malunwa|<span style="color:#000000;">Malunwa</span>]] | style="background-color:#F0F9F0; border-top:5px solid; border-color:#339933; padding:3px 0.15em; width:6.6%;" | [[:Category:Olii|<span style="color:#000000;">Olii</span>]] | style="background-color:#F9F0F4; border-top:5px solid; border-color:#993366; padding:3px 0.15em; width:6.6%;" | [[:Category:Olii pewe|<span style="color:#000000;">Olii pewe</span>]] | style="background-color:#F0F0F9; border-top:5px solid; border-color:#333399; padding:3px 0.15em; width:6.6%;" | [[:Category:Tarihi|<span style="color:#000000;">Tarihi</span>]] | style="background-color:#F0F9F9; border-top:5px solid; border-color:#339999; padding:3px 0.15em; width:6.6%;" | [[:Category:Goma|<span style="color:#000000;">Goma</span>]] | style="background-color:#F9F0F9; border-top:5px solid; border-color:#993399; padding:3px 0.15em; width:6.6%;" | [[:Category:Kimiyya|<span style="color:#000000;">Kimiyya</span>]] | style="background-color:#F4F9F0; border-top:5px solid; border-color:#669933; padding:3px 0.15em; width:6.6%;" | [[:Category:Zane|<span style="color:#000000;">Zane</span>]] |} </div> <templatestyles src="Main page/Styles.css" /> <div style="flex:1; min-width:300px; overflow:hidden; border-radius:4px; margin:8px 4px 4px 4px; box-shadow:0 0 8px rgba(0,0,0,0.15);"> <div class="image-carousel"> <ul> <li> <div style="background:#FFF; padding:5px; font-size:150%; font-family:'Arial',sans-serif; position: relative; z-index: 2;"> <div style="padding:5px 10px; color:#333333;">[[File:Star-alt-icon.png|20px|link=]]&nbsp;&nbsp;Featured Article</div> </div> <div class="carousel-image"> [[File:The City Gate of Abuja.jpg|center|class=carousel-image-wrapper|link=Nijeriya|Nijeriya]] </div> <div class="carousel-slide-content-wrapper"> <div class="carousel-slide-content"> <div class="carousel-slide-description">Nijeriya ko Nijeriya da (turanci: Nigeria): A Gwamanatance Tarayyar Najeriya, woli la ga take ga Africa ko zoni ita ji tetteke woli niger koga Arewa. Ga Chadi koga zoni koga aushi jam aji dar ga teku Atlantika.</div> <div class="carousel-slide-title">[[Nijeriya]]</div> </div> </div> </li> <li> <div style="background:#FFF; padding:5px; font-size:150%; font-family:'Arial',sans-serif; position: relative; z-index: 2;"> <div style="padding:5px 10px; color:#333333;">[[File:Paomedia small-n-flat sign-question.svg|20px|link=]]&nbsp;&nbsp; Kamontuwo?</div> </div> <div class="carousel-image"> [[File:Gooya mountain.jpg|center|class=carousel-image-wrapper|link=Gooya mountain]] </div> <div class="carousel-slide-content-wrapper"> <div class="carousel-slide-content"> <div class="carousel-slide-description">Gooya kam zoi wuro la tudu ga arewa [[Nijeriya]], inda Bòo pikka ye kam la yare miyya aji magana da yawa ga yankin da ke kewaye. </div> <div class="carousel-slide-title">[[Potiskum]]</div> </div> </div> </li> <li> <div style="background:#FFF; padding:5px; font-size:150%; font-family:'Arial',sans-serif; position: relative; z-index: 2;"> <div style="padding:5px 10px; color:#333333;">[[File:Paomedia small-n-flat file-picture.svg|20px|link=]]&nbsp;&nbsp; Featured Picture</div> </div> <div class="carousel-image"> [[File:Daniski Festival 04.jpg|center|class=carousel-image-wrapper|link=File:Daniski Festival 04.jpg]] </div> <div class="carousel-slide-content-wrapper"> <div class="carousel-slide-content"> <div class="carousel-slide-description">Daniski Hills Annual Festival kam zoi tarayya la al’ada, ba Bòo pikka ga Fika Emirate ga Yobe State, [[Nijeriya]]. </div> <div class="carousel-slide-title">[[:File:Daniski Festival 04.jpg|Daniski Festival Picture]]</div> </div> </div> </li> </ul> </div> </div> <div style="display:flex; flex-wrap:wrap;"> {{Box |header=[[File:Paomedia small-n-flat sign-info.svg|20px|link=]]&nbsp;&nbsp;Elle Wikipidiya? |content=<span style="float: left; margin: 6px 12px 6px 0px; display: inline-block;">[[File:Wikipedia-logo-v2-bol.svg|100px]]</span>Wikipidiya shafi ji in Yana gizonla ona gudumawa inko rubutu mukalai kala aji gidan ga goggo gozi ilmi do ramu-ramu ga messesu. Gabo turanci ga unda shap Maddi la ramu ramu do gede ga ilmi ga shafuka Wikipedia ga sun Wikipedia, wikipidiya aji tattira ga harsuna GA duniya ga godon shafuka lemalo aji kirkira do ramu mukalai gabo kyauta inko taimako beyi wena ilmi bo kyauta, emeyye aji Wikipedia ga zarrar a shap ga duniya beyi wena ilmi koga asali beyi ilmi fetengo. }} {{Box |header=[[File:Paomedia small-n-flat pencil.svg|20px|link=]]&nbsp;&nbsp;Kirkiru Foyo Article |content=Kaji kume Harshe Bole? Kagita ina taimako beyi Bunƙasa kunsu eme Mona (ensakulopidiya) ko goggo kirkire foyo makaloli do fadada la aji Andi ga fatan aji doffa ka'idoji Al'umma lokaci ona ga gundumawa.<br><small><i></i></small> <div style="margin-top:1em;"> <inputbox> type=create width=30 default= buttonlabel=Kirkiru Foyo Makala </inputbox> </div> }} </div> {{Box |header=English speakers |content=If you speak English, but you don't know anything about the Bole Language, you are also welcome to edit and assist in technical support, such as maintaining Templates or Modules. Your role is vital to the smooth running of the Bole Wikipedia! }} {{Box |header=[[File:Wikimedia-logo.svg|20px|link=]]&nbsp;&nbsp;Project Modi |content={{SisterProjects}} }} {{Bole Wikimedians User Group}} <div class="mobile-only"> {{Bole Wikimedians User Group/mobile}} </div> rra1ew21qcxj6808rjqrjd1sasuqcod 10508 10507 2026-08-25T10:58:12Z RAPTOR7762 18 10508 wikitext text/x-wiki __NOTOC__ __NOEDITSECTION__ <!--{{Protection padlock|small=yes}}--> {{Top icon|image=Wikimedia Community Logo.svg|link=m:Bole Wikimedians User Group}} {{Top icon|image=2023 Facebook icon.svg|link=https://www.facebook.com/61590521903033/}} <div style="text-align:center;"> {{Clickable button|Special:Purge/Peji In Siri|Purge this page|class=mw-ui-progressive}} <templatestyles src="Main page/Styles.css" /> <div style="position:relative; text-align:center; padding:3em 1em; background:#fff; overflow:hidden;"> <div style="position:absolute; top:-50px; left:0; right:0; text-align:center; opacity:0.1; z-index:0;"> [[File:Wikipedia-logo-v2.svg|600px|center|class=notpageimage|link=]] </div> <div style="position:relative; z-index:1;"> <div style="font-variant:small-caps; font-family:'Linux Libertine','Georgia',serif;"><div style="font-size:180%;">U'se ga nako</div> <div style="font-size:270%; line-height:1;">[[Wikipidiya|<span style="display: inline-block; letter-spacing: -0.35em; margin-right: 0.2em; font-family: serif;">V<span style="margin-left: -0.1em;">V</span></span>ikipidiya]] in bòo pìkkà</div> </div> <div style="font-size:120%; line-height:1.2;"> Wikipidiya ensakulopidiya in lelo in [[Harshe Bole]] la lemalo agita ina ramayi.</div> <div style="font-size:120%; line-height:1.2;"> Honsene Andi makaloli '''[[Special:AllPages|{{NUMBEROFARTICLES}}]]''' ga harshe Bole</div> </div> </div> <div style="margin:10px 0px 10px 0px; -moz-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1); -webkit-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1); box-shadow:0 1px 1px rgba(0, 0, 0, 0.1); background-color:#FFFFFF;"> {| style="border-spacing: 1px; border-collapse: separate; width:100%; text-align:center; font-size:0.85em; padding:2px 3px 2px 3px;" class="hp-portalen" | style="background-color:#F0F0F9; border-top:5px solid; border-color:#333399; padding:3px 0.15em; width:6.6%;" | [[:Category:Atiimala|<span style="color:#000000;">Atiimala</span>]] | style="background-color:#F0F9F9; border-top:5px solid; border-color:#339999; padding:3px 0.15em; width:6.6%;" | [[:Category:Annoba|<span style="color:#000000;">Annoba</span>]] | style="background-color:#F0F4F9; border-top:5px solid; border-color:#336699; padding:3px 0.15em; width:6.6%;" | [[:Category:Fasaha|<span style="color:#000000;">Fasaha</span>]] | style="background-color:#F9F0F0; border-top:5px solid; border-color:#993333; padding:3px 0.15em; width:6.6%;" | [[:Category:Ilimi|<span style="color:#000000;">Ilimi</span>]] | style="background-color:#F0F0F9; border-top:5px solid; border-color:#333399; padding:3px 0.15em; width:6.6%;" | [[:Category:Lamba|<span style="color:#000000;">Lamba</span>]] | style="background-color:#F4F9F0; border-top:5px solid; border-color:#669933; padding:3px 0.15em; width:6.6%;" | [[:Category:Miyya|<span style="color:#000000;">Miyya</span>]] | style="background-color:#F9F9F0; border-top:5px solid; border-color:#999933; padding:3px 0.15em; width:6.6%;" | [[:Category:Makami|<span style="color:#000000;">Makami</span>]] | style="background-color:#F9F0F9; border-top:5px solid; border-color:#993399; padding:3px 0.15em; width:6.6%;" | [[:Category:Malunwa|<span style="color:#000000;">Malunwa</span>]] | style="background-color:#F0F9F0; border-top:5px solid; border-color:#339933; padding:3px 0.15em; width:6.6%;" | [[:Category:Olii|<span style="color:#000000;">Olii</span>]] | style="background-color:#F9F0F4; border-top:5px solid; border-color:#993366; padding:3px 0.15em; width:6.6%;" | [[:Category:Olii pewe|<span style="color:#000000;">Olii pewe</span>]] | style="background-color:#F0F0F9; border-top:5px solid; border-color:#333399; padding:3px 0.15em; width:6.6%;" | [[:Category:Tarihi|<span style="color:#000000;">Tarihi</span>]] | style="background-color:#F0F9F9; border-top:5px solid; border-color:#339999; padding:3px 0.15em; width:6.6%;" | [[:Category:Goma|<span style="color:#000000;">Goma</span>]] | style="background-color:#F9F0F9; border-top:5px solid; border-color:#993399; padding:3px 0.15em; width:6.6%;" | [[:Category:Kimiyya|<span style="color:#000000;">Kimiyya</span>]] | style="background-color:#F4F9F0; border-top:5px solid; border-color:#669933; padding:3px 0.15em; width:6.6%;" | [[:Category:Zane|<span style="color:#000000;">Zane</span>]] |} </div> <div class="mobile-only" style="text-align:center; width:100%; "> [[File:Wikimedia Community Logo.svg|40px|link=m:Bole Wikimedians User Group]]&nbsp;&nbsp;[[File:2023 Facebook icon.svg|40px|link=https://www.facebook.com/61590521903033/]] </div> <templatestyles src="Main page/Styles.css" /> <div style="flex:1; min-width:300px; overflow:hidden; border-radius:4px; margin:8px 4px 4px 4px; box-shadow:0 0 8px rgba(0,0,0,0.15);"> <div class="image-carousel"> <ul> <li> <div style="background:#FFF; padding:5px; font-size:150%; font-family:'Arial',sans-serif; position: relative; z-index: 2;"> <div style="padding:5px 10px; color:#333333;">[[File:Star-alt-icon.png|20px|link=]]&nbsp;&nbsp;Featured Article</div> </div> <div class="carousel-image"> [[File:The City Gate of Abuja.jpg|center|class=carousel-image-wrapper|link=Nijeriya|Nijeriya]] </div> <div class="carousel-slide-content-wrapper"> <div class="carousel-slide-content"> <div class="carousel-slide-description">Nijeriya ko Nijeriya da (turanci: Nigeria): A Gwamanatance Tarayyar Najeriya, woli la ga take ga Africa ko zoni ita ji tetteke woli niger koga Arewa. Ga Chadi koga zoni koga aushi jam aji dar ga teku Atlantika.</div> <div class="carousel-slide-title">[[Nijeriya]]</div> </div> </div> </li> <li> <div style="background:#FFF; padding:5px; font-size:150%; font-family:'Arial',sans-serif; position: relative; z-index: 2;"> <div style="padding:5px 10px; color:#333333;">[[File:Paomedia small-n-flat sign-question.svg|20px|link=]]&nbsp;&nbsp; Kamontuwo?</div> </div> <div class="carousel-image"> [[File:Gooya mountain.jpg|center|class=carousel-image-wrapper|link=Gooya mountain]] </div> <div class="carousel-slide-content-wrapper"> <div class="carousel-slide-content"> <div class="carousel-slide-description">Gooya kam zoi wuro la tudu ga arewa [[Nijeriya]], inda Bòo pikka ye kam la yare miyya aji magana da yawa ga yankin da ke kewaye. </div> <div class="carousel-slide-title">[[Potiskum]]</div> </div> </div> </li> <li> <div style="background:#FFF; padding:5px; font-size:150%; font-family:'Arial',sans-serif; position: relative; z-index: 2;"> <div style="padding:5px 10px; color:#333333;">[[File:Paomedia small-n-flat file-picture.svg|20px|link=]]&nbsp;&nbsp; Featured Picture</div> </div> <div class="carousel-image"> [[File:Daniski Festival 04.jpg|center|class=carousel-image-wrapper|link=File:Daniski Festival 04.jpg]] </div> <div class="carousel-slide-content-wrapper"> <div class="carousel-slide-content"> <div class="carousel-slide-description">Daniski Hills Annual Festival kam zoi tarayya la al’ada, ba Bòo pikka ga Fika Emirate ga Yobe State, [[Nijeriya]]. </div> <div class="carousel-slide-title">[[:File:Daniski Festival 04.jpg|Daniski Festival Picture]]</div> </div> </div> </li> </ul> </div> </div> <div style="display:flex; flex-wrap:wrap;"> {{Box |header=[[File:Paomedia small-n-flat sign-info.svg|20px|link=]]&nbsp;&nbsp;Elle Wikipidiya? |content=<span style="float: left; margin: 6px 12px 6px 0px; display: inline-block;">[[File:Wikipedia-logo-v2-bol.svg|100px]]</span>Wikipidiya shafi ji in Yana gizonla ona gudumawa inko rubutu mukalai kala aji gidan ga goggo gozi ilmi do ramu-ramu ga messesu. Gabo turanci ga unda shap Maddi la ramu ramu do gede ga ilmi ga shafuka Wikipedia ga sun Wikipedia, wikipidiya aji tattira ga harsuna GA duniya ga godon shafuka lemalo aji kirkira do ramu mukalai gabo kyauta inko taimako beyi wena ilmi bo kyauta, emeyye aji Wikipedia ga zarrar a shap ga duniya beyi wena ilmi koga asali beyi ilmi fetengo. }} {{Box |header=[[File:Paomedia small-n-flat pencil.svg|20px|link=]]&nbsp;&nbsp;Kirkiru Foyo Article |content=Kaji kume Harshe Bole? Kagita ina taimako beyi Bunƙasa kunsu eme Mona (ensakulopidiya) ko goggo kirkire foyo makaloli do fadada la aji Andi ga fatan aji doffa ka'idoji Al'umma lokaci ona ga gundumawa.<br><small><i></i></small> <div style="margin-top:1em;"> <inputbox> type=create width=30 default= buttonlabel=Kirkiru Foyo Makala </inputbox> </div> }} </div> {{Box |header=English speakers |content=If you speak English, but you don't know anything about the Bole Language, you are also welcome to edit and assist in technical support, such as maintaining Templates or Modules. Your role is vital to the smooth running of the Bole Wikipedia! }} {{Box |header=[[File:Wikimedia-logo.svg|20px|link=]]&nbsp;&nbsp;Project Modi |content={{SisterProjects}} }} {{Bole Wikimedians User Group}} <div class="mobile-only"> {{Bole Wikimedians User Group/mobile}} </div> d3rbjp6filljj3nm3cafmfbjmeavsyb 10509 10508 2026-08-25T11:09:39Z RAPTOR7762 18 10509 wikitext text/x-wiki __NOTOC__ __NOEDITSECTION__ <!--{{Protection padlock|small=yes}}--> {{Top icon|image=Wikimedia Community Logo.svg|link=m:Bole Wikimedians User Group}} {{Top icon|image=2023 Facebook icon.svg|link=https://www.facebook.com/61590521903033/}} <div style="text-align:center;"> {{Clickable button|Special:Purge/Peji In Siri|Purge this page|class=mw-ui-progressive}} <templatestyles src="Main page/Styles.css" /> <div style="position:relative; text-align:center; padding:3em 1em; background:#fff; overflow:hidden;"> <div style="position:absolute; top:-50px; left:0; right:0; text-align:center; opacity:0.1; z-index:0;"> [[File:Wikipedia-logo-v2.svg|600px|center|class=notpageimage|link=]] </div> <div style="position:relative; z-index:1;"> <div style="font-variant:small-caps; font-family:'Linux Libertine','Georgia',serif;"><div style="font-size:180%;">U'se ga nako</div> <div style="font-size:270%; line-height:1;">[[Wikipidiya|<span style="display: inline-block; letter-spacing: -0.35em; margin-right: 0.2em; font-family: serif;">V<span style="margin-left: -0.1em;">V</span></span>ikipidiya]] in bòo pìkkà</div> </div> <div style="font-size:120%; line-height:1.2;"> Wikipidiya ensakulopidiya in lelo in [[Harshe Bole]] la lemalo agita ina ramayi.</div> <div style="font-size:120%; line-height:1.2;"> Honsene Andi makaloli '''[[Special:AllPages|{{NUMBEROFARTICLES}}]]''' ga harshe Bole</div> </div> <div class="mobile-only" style="text-align:center; width:100%; "> [[File:Wikimedia Community Logo.svg|40px|link=m:Bole Wikimedians User Group]]&nbsp;&nbsp;[[File:2023 Facebook icon.svg|40px|link=https://www.facebook.com/61590521903033/]] </div> </div> <div style="margin:10px 0px 10px 0px; -moz-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1); -webkit-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1); box-shadow:0 1px 1px rgba(0, 0, 0, 0.1); background-color:#FFFFFF;"> {| style="border-spacing: 1px; border-collapse: separate; width:100%; text-align:center; font-size:0.85em; padding:2px 3px 2px 3px;" class="hp-portalen" | style="background-color:#F0F0F9; border-top:5px solid; border-color:#333399; padding:3px 0.15em; width:6.6%;" | [[:Category:Atiimala|<span style="color:#000000;">Atiimala</span>]] | style="background-color:#F0F9F9; border-top:5px solid; border-color:#339999; padding:3px 0.15em; width:6.6%;" | [[:Category:Annoba|<span style="color:#000000;">Annoba</span>]] | style="background-color:#F0F4F9; border-top:5px solid; border-color:#336699; padding:3px 0.15em; width:6.6%;" | [[:Category:Fasaha|<span style="color:#000000;">Fasaha</span>]] | style="background-color:#F9F0F0; border-top:5px solid; border-color:#993333; padding:3px 0.15em; width:6.6%;" | [[:Category:Ilimi|<span style="color:#000000;">Ilimi</span>]] | style="background-color:#F0F0F9; border-top:5px solid; border-color:#333399; padding:3px 0.15em; width:6.6%;" | [[:Category:Lamba|<span style="color:#000000;">Lamba</span>]] | style="background-color:#F4F9F0; border-top:5px solid; border-color:#669933; padding:3px 0.15em; width:6.6%;" | [[:Category:Miyya|<span style="color:#000000;">Miyya</span>]] | style="background-color:#F9F9F0; border-top:5px solid; border-color:#999933; padding:3px 0.15em; width:6.6%;" | [[:Category:Makami|<span style="color:#000000;">Makami</span>]] | style="background-color:#F9F0F9; border-top:5px solid; border-color:#993399; padding:3px 0.15em; width:6.6%;" | [[:Category:Malunwa|<span style="color:#000000;">Malunwa</span>]] | style="background-color:#F0F9F0; border-top:5px solid; border-color:#339933; padding:3px 0.15em; width:6.6%;" | [[:Category:Olii|<span style="color:#000000;">Olii</span>]] | style="background-color:#F9F0F4; border-top:5px solid; border-color:#993366; padding:3px 0.15em; width:6.6%;" | [[:Category:Olii pewe|<span style="color:#000000;">Olii pewe</span>]] | style="background-color:#F0F0F9; border-top:5px solid; border-color:#333399; padding:3px 0.15em; width:6.6%;" | [[:Category:Tarihi|<span style="color:#000000;">Tarihi</span>]] | style="background-color:#F0F9F9; border-top:5px solid; border-color:#339999; padding:3px 0.15em; width:6.6%;" | [[:Category:Goma|<span style="color:#000000;">Goma</span>]] | style="background-color:#F9F0F9; border-top:5px solid; border-color:#993399; padding:3px 0.15em; width:6.6%;" | [[:Category:Kimiyya|<span style="color:#000000;">Kimiyya</span>]] | style="background-color:#F4F9F0; border-top:5px solid; border-color:#669933; padding:3px 0.15em; width:6.6%;" | [[:Category:Zane|<span style="color:#000000;">Zane</span>]] |} </div> <templatestyles src="Main page/Styles.css" /> <div style="flex:1; min-width:300px; overflow:hidden; border-radius:4px; margin:8px 4px 4px 4px; box-shadow:0 0 8px rgba(0,0,0,0.15);"> <div class="image-carousel"> <ul> <li> <div style="background:#FFF; padding:5px; font-size:150%; font-family:'Arial',sans-serif; position: relative; z-index: 2;"> <div style="padding:5px 10px; color:#333333;">[[File:Star-alt-icon.png|20px|link=]]&nbsp;&nbsp;Featured Article</div> </div> <div class="carousel-image"> [[File:The City Gate of Abuja.jpg|center|class=carousel-image-wrapper|link=Nijeriya|Nijeriya]] </div> <div class="carousel-slide-content-wrapper"> <div class="carousel-slide-content"> <div class="carousel-slide-description">Nijeriya ko Nijeriya da (turanci: Nigeria): A Gwamanatance Tarayyar Najeriya, woli la ga take ga Africa ko zoni ita ji tetteke woli niger koga Arewa. Ga Chadi koga zoni koga aushi jam aji dar ga teku Atlantika.</div> <div class="carousel-slide-title">[[Nijeriya]]</div> </div> </div> </li> <li> <div style="background:#FFF; padding:5px; font-size:150%; font-family:'Arial',sans-serif; position: relative; z-index: 2;"> <div style="padding:5px 10px; color:#333333;">[[File:Paomedia small-n-flat sign-question.svg|20px|link=]]&nbsp;&nbsp; Kamontuwo?</div> </div> <div class="carousel-image"> [[File:Gooya mountain.jpg|center|class=carousel-image-wrapper|link=Gooya mountain]] </div> <div class="carousel-slide-content-wrapper"> <div class="carousel-slide-content"> <div class="carousel-slide-description">Gooya kam zoi wuro la tudu ga arewa [[Nijeriya]], inda Bòo pikka ye kam la yare miyya aji magana da yawa ga yankin da ke kewaye. </div> <div class="carousel-slide-title">[[Potiskum]]</div> </div> </div> </li> <li> <div style="background:#FFF; padding:5px; font-size:150%; font-family:'Arial',sans-serif; position: relative; z-index: 2;"> <div style="padding:5px 10px; color:#333333;">[[File:Paomedia small-n-flat file-picture.svg|20px|link=]]&nbsp;&nbsp; Featured Picture</div> </div> <div class="carousel-image"> [[File:Daniski Festival 04.jpg|center|class=carousel-image-wrapper|link=File:Daniski Festival 04.jpg]] </div> <div class="carousel-slide-content-wrapper"> <div class="carousel-slide-content"> <div class="carousel-slide-description">Daniski Hills Annual Festival kam zoi tarayya la al’ada, ba Bòo pikka ga Fika Emirate ga Yobe State, [[Nijeriya]]. </div> <div class="carousel-slide-title">[[:File:Daniski Festival 04.jpg|Daniski Festival Picture]]</div> </div> </div> </li> </ul> </div> </div> <div style="display:flex; flex-wrap:wrap;"> {{Box |header=[[File:Paomedia small-n-flat sign-info.svg|20px|link=]]&nbsp;&nbsp;Elle Wikipidiya? |content=<span style="float: left; margin: 6px 12px 6px 0px; display: inline-block;">[[File:Wikipedia-logo-v2-bol.svg|100px]]</span>Wikipidiya shafi ji in Yana gizonla ona gudumawa inko rubutu mukalai kala aji gidan ga goggo gozi ilmi do ramu-ramu ga messesu. Gabo turanci ga unda shap Maddi la ramu ramu do gede ga ilmi ga shafuka Wikipedia ga sun Wikipedia, wikipidiya aji tattira ga harsuna GA duniya ga godon shafuka lemalo aji kirkira do ramu mukalai gabo kyauta inko taimako beyi wena ilmi bo kyauta, emeyye aji Wikipedia ga zarrar a shap ga duniya beyi wena ilmi koga asali beyi ilmi fetengo. }} {{Box |header=[[File:Paomedia small-n-flat pencil.svg|20px|link=]]&nbsp;&nbsp;Kirkiru Foyo Article |content=Kaji kume Harshe Bole? Kagita ina taimako beyi Bunƙasa kunsu eme Mona (ensakulopidiya) ko goggo kirkire foyo makaloli do fadada la aji Andi ga fatan aji doffa ka'idoji Al'umma lokaci ona ga gundumawa.<br><small><i></i></small> <div style="margin-top:1em;"> <inputbox> type=create width=30 default= buttonlabel=Kirkiru Foyo Makala </inputbox> </div> }} </div> {{Box |header=English speakers |content=If you speak English, but you don't know anything about the Bole Language, you are also welcome to edit and assist in technical support, such as maintaining Templates or Modules. Your role is vital to the smooth running of the Bole Wikipedia! }} {{Box |header=[[File:Wikimedia-logo.svg|20px|link=]]&nbsp;&nbsp;Project Modi |content={{SisterProjects}} }} {{Bole Wikimedians User Group}} <div class="mobile-only"> {{Bole Wikimedians User Group/mobile}} </div> ruc7031z1rblaqj762jcca7tvir2sed 10510 10509 2026-08-25T11:10:57Z RAPTOR7762 18 10510 wikitext text/x-wiki __NOTOC__ __NOEDITSECTION__ <!--{{Protection padlock|small=yes}}--> {{Top icon|image=Wikimedia Community Logo.svg|link=m:Bole Wikimedians User Group}} {{Top icon|image=2023 Facebook icon.svg|link=https://www.facebook.com/61590521903033/}} <div style="text-align:center;"> {{Clickable button|Special:Purge/Peji In Siri|Purge this page|class=mw-ui-progressive}} <templatestyles src="Main page/Styles.css" /> <div style="position:relative; text-align:center; padding:3em 1em; background:#fff; overflow:hidden;"> <div style="position:absolute; top:-50px; left:0; right:0; text-align:center; opacity:0.1; z-index:0;"> [[File:Wikipedia-logo-v2.svg|600px|center|class=notpageimage|link=]] </div> <div style="position:relative; z-index:1;"> <div style="font-variant:small-caps; font-family:'Linux Libertine','Georgia',serif;"><div style="font-size:180%;">U'se ga nako</div> <div style="font-size:270%; line-height:1;">[[Wikipidiya|<span style="display: inline-block; letter-spacing: -0.35em; margin-right: 0.2em; font-family: serif;">V<span style="margin-left: -0.1em;">V</span></span>ikipidiya]] in bòo pìkkà</div> </div> <div style="font-size:120%; line-height:1.2;"> Wikipidiya ensakulopidiya in lelo in [[Harshe Bole]] la lemalo agita ina ramayi.</div> <div style="font-size:120%; line-height:1.2;"> Honsene Andi makaloli '''[[Special:AllPages|{{NUMBEROFARTICLES}}]]''' ga harshe Bole</div> </div> <div style="text-align:center;"> [[File:Wikimedia Community Logo.svg|40px|link=m:Bole Wikimedians User Group]]&nbsp;&nbsp;[[File:2023 Facebook icon.svg|40px|link=https://www.facebook.com/61590521903033/]] </div> </div> <div style="margin:10px 0px 10px 0px; -moz-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1); -webkit-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1); box-shadow:0 1px 1px rgba(0, 0, 0, 0.1); background-color:#FFFFFF;"> {| style="border-spacing: 1px; border-collapse: separate; width:100%; text-align:center; font-size:0.85em; padding:2px 3px 2px 3px;" class="hp-portalen" | style="background-color:#F0F0F9; border-top:5px solid; border-color:#333399; padding:3px 0.15em; width:6.6%;" | [[:Category:Atiimala|<span style="color:#000000;">Atiimala</span>]] | style="background-color:#F0F9F9; border-top:5px solid; border-color:#339999; padding:3px 0.15em; width:6.6%;" | [[:Category:Annoba|<span style="color:#000000;">Annoba</span>]] | style="background-color:#F0F4F9; border-top:5px solid; border-color:#336699; padding:3px 0.15em; width:6.6%;" | [[:Category:Fasaha|<span style="color:#000000;">Fasaha</span>]] | style="background-color:#F9F0F0; border-top:5px solid; border-color:#993333; padding:3px 0.15em; width:6.6%;" | [[:Category:Ilimi|<span style="color:#000000;">Ilimi</span>]] | style="background-color:#F0F0F9; border-top:5px solid; border-color:#333399; padding:3px 0.15em; width:6.6%;" | [[:Category:Lamba|<span style="color:#000000;">Lamba</span>]] | style="background-color:#F4F9F0; border-top:5px solid; border-color:#669933; padding:3px 0.15em; width:6.6%;" | [[:Category:Miyya|<span style="color:#000000;">Miyya</span>]] | style="background-color:#F9F9F0; border-top:5px solid; border-color:#999933; padding:3px 0.15em; width:6.6%;" | [[:Category:Makami|<span style="color:#000000;">Makami</span>]] | style="background-color:#F9F0F9; border-top:5px solid; border-color:#993399; padding:3px 0.15em; width:6.6%;" | [[:Category:Malunwa|<span style="color:#000000;">Malunwa</span>]] | style="background-color:#F0F9F0; border-top:5px solid; border-color:#339933; padding:3px 0.15em; width:6.6%;" | [[:Category:Olii|<span style="color:#000000;">Olii</span>]] | style="background-color:#F9F0F4; border-top:5px solid; border-color:#993366; padding:3px 0.15em; width:6.6%;" | [[:Category:Olii pewe|<span style="color:#000000;">Olii pewe</span>]] | style="background-color:#F0F0F9; border-top:5px solid; border-color:#333399; padding:3px 0.15em; width:6.6%;" | [[:Category:Tarihi|<span style="color:#000000;">Tarihi</span>]] | style="background-color:#F0F9F9; border-top:5px solid; border-color:#339999; padding:3px 0.15em; width:6.6%;" | [[:Category:Goma|<span style="color:#000000;">Goma</span>]] | style="background-color:#F9F0F9; border-top:5px solid; border-color:#993399; padding:3px 0.15em; width:6.6%;" | [[:Category:Kimiyya|<span style="color:#000000;">Kimiyya</span>]] | style="background-color:#F4F9F0; border-top:5px solid; border-color:#669933; padding:3px 0.15em; width:6.6%;" | [[:Category:Zane|<span style="color:#000000;">Zane</span>]] |} </div> <templatestyles src="Main page/Styles.css" /> <div style="flex:1; min-width:300px; overflow:hidden; border-radius:4px; margin:8px 4px 4px 4px; box-shadow:0 0 8px rgba(0,0,0,0.15);"> <div class="image-carousel"> <ul> <li> <div style="background:#FFF; padding:5px; font-size:150%; font-family:'Arial',sans-serif; position: relative; z-index: 2;"> <div style="padding:5px 10px; color:#333333;">[[File:Star-alt-icon.png|20px|link=]]&nbsp;&nbsp;Featured Article</div> </div> <div class="carousel-image"> [[File:The City Gate of Abuja.jpg|center|class=carousel-image-wrapper|link=Nijeriya|Nijeriya]] </div> <div class="carousel-slide-content-wrapper"> <div class="carousel-slide-content"> <div class="carousel-slide-description">Nijeriya ko Nijeriya da (turanci: Nigeria): A Gwamanatance Tarayyar Najeriya, woli la ga take ga Africa ko zoni ita ji tetteke woli niger koga Arewa. Ga Chadi koga zoni koga aushi jam aji dar ga teku Atlantika.</div> <div class="carousel-slide-title">[[Nijeriya]]</div> </div> </div> </li> <li> <div style="background:#FFF; padding:5px; font-size:150%; font-family:'Arial',sans-serif; position: relative; z-index: 2;"> <div style="padding:5px 10px; color:#333333;">[[File:Paomedia small-n-flat sign-question.svg|20px|link=]]&nbsp;&nbsp; Kamontuwo?</div> </div> <div class="carousel-image"> [[File:Gooya mountain.jpg|center|class=carousel-image-wrapper|link=Gooya mountain]] </div> <div class="carousel-slide-content-wrapper"> <div class="carousel-slide-content"> <div class="carousel-slide-description">Gooya kam zoi wuro la tudu ga arewa [[Nijeriya]], inda Bòo pikka ye kam la yare miyya aji magana da yawa ga yankin da ke kewaye. </div> <div class="carousel-slide-title">[[Potiskum]]</div> </div> </div> </li> <li> <div style="background:#FFF; padding:5px; font-size:150%; font-family:'Arial',sans-serif; position: relative; z-index: 2;"> <div style="padding:5px 10px; color:#333333;">[[File:Paomedia small-n-flat file-picture.svg|20px|link=]]&nbsp;&nbsp; Featured Picture</div> </div> <div class="carousel-image"> [[File:Daniski Festival 04.jpg|center|class=carousel-image-wrapper|link=File:Daniski Festival 04.jpg]] </div> <div class="carousel-slide-content-wrapper"> <div class="carousel-slide-content"> <div class="carousel-slide-description">Daniski Hills Annual Festival kam zoi tarayya la al’ada, ba Bòo pikka ga Fika Emirate ga Yobe State, [[Nijeriya]]. </div> <div class="carousel-slide-title">[[:File:Daniski Festival 04.jpg|Daniski Festival Picture]]</div> </div> </div> </li> </ul> </div> </div> <div style="display:flex; flex-wrap:wrap;"> {{Box |header=[[File:Paomedia small-n-flat sign-info.svg|20px|link=]]&nbsp;&nbsp;Elle Wikipidiya? |content=<span style="float: left; margin: 6px 12px 6px 0px; display: inline-block;">[[File:Wikipedia-logo-v2-bol.svg|100px]]</span>Wikipidiya shafi ji in Yana gizonla ona gudumawa inko rubutu mukalai kala aji gidan ga goggo gozi ilmi do ramu-ramu ga messesu. Gabo turanci ga unda shap Maddi la ramu ramu do gede ga ilmi ga shafuka Wikipedia ga sun Wikipedia, wikipidiya aji tattira ga harsuna GA duniya ga godon shafuka lemalo aji kirkira do ramu mukalai gabo kyauta inko taimako beyi wena ilmi bo kyauta, emeyye aji Wikipedia ga zarrar a shap ga duniya beyi wena ilmi koga asali beyi ilmi fetengo. }} {{Box |header=[[File:Paomedia small-n-flat pencil.svg|20px|link=]]&nbsp;&nbsp;Kirkiru Foyo Article |content=Kaji kume Harshe Bole? Kagita ina taimako beyi Bunƙasa kunsu eme Mona (ensakulopidiya) ko goggo kirkire foyo makaloli do fadada la aji Andi ga fatan aji doffa ka'idoji Al'umma lokaci ona ga gundumawa.<br><small><i></i></small> <div style="margin-top:1em;"> <inputbox> type=create width=30 default= buttonlabel=Kirkiru Foyo Makala </inputbox> </div> }} </div> {{Box |header=English speakers |content=If you speak English, but you don't know anything about the Bole Language, you are also welcome to edit and assist in technical support, such as maintaining Templates or Modules. Your role is vital to the smooth running of the Bole Wikipedia! }} {{Box |header=[[File:Wikimedia-logo.svg|20px|link=]]&nbsp;&nbsp;Project Modi |content={{SisterProjects}} }} {{Bole Wikimedians User Group}} <div class="mobile-only"> {{Bole Wikimedians User Group/mobile}} </div> ivteotm0ls9mnbkmymuei5de44anp07 10511 10510 2026-08-25T11:12:34Z RAPTOR7762 18 10511 wikitext text/x-wiki __NOTOC__ __NOEDITSECTION__ <!--{{Protection padlock|small=yes}}--> {{Top icon|image=Wikimedia Community Logo.svg|link=m:Bole Wikimedians User Group}} {{Top icon|image=2023 Facebook icon.svg|link=https://www.facebook.com/61590521903033/}} <div style="text-align:center;"> {{Clickable button|Special:Purge/Peji In Siri|Purge this page|class=mw-ui-progressive}} <templatestyles src="Main page/Styles.css" /> <div style="position:relative; text-align:center; padding:3em 1em; background:#fff; overflow:hidden;"> <div style="position:absolute; top:-50px; left:0; right:0; text-align:center; opacity:0.1; z-index:0;"> [[File:Wikipedia-logo-v2.svg|600px|center|class=notpageimage|link=]] </div> <div style="position:relative; z-index:1;"> <div style="font-variant:small-caps; font-family:'Linux Libertine','Georgia',serif;"><div style="font-size:180%;">U'se ga nako</div> <div style="font-size:270%; line-height:1;">[[Wikipidiya|<span style="display: inline-block; letter-spacing: -0.35em; margin-right: 0.2em; font-family: serif;">V<span style="margin-left: -0.1em;">V</span></span>ikipidiya]] in bòo pìkkà</div> </div> <div style="font-size:120%; line-height:1.2;"> Wikipidiya ensakulopidiya in lelo in [[Harshe Bole]] la lemalo agita ina ramayi.</div> <div style="font-size:120%; line-height:1.2;"> Honsene Andi makaloli '''[[Special:AllPages|{{NUMBEROFARTICLES}}]]''' ga harshe Bole</div> </div> </div> <div style="margin:10px 0px 10px 0px; -moz-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1); -webkit-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1); box-shadow:0 1px 1px rgba(0, 0, 0, 0.1); background-color:#FFFFFF;"> {| style="border-spacing: 1px; border-collapse: separate; width:100%; text-align:center; font-size:0.85em; padding:2px 3px 2px 3px;" class="hp-portalen" | style="background-color:#F0F0F9; border-top:5px solid; border-color:#333399; padding:3px 0.15em; width:6.6%;" | [[:Category:Atiimala|<span style="color:#000000;">Atiimala</span>]] | style="background-color:#F0F9F9; border-top:5px solid; border-color:#339999; padding:3px 0.15em; width:6.6%;" | [[:Category:Annoba|<span style="color:#000000;">Annoba</span>]] | style="background-color:#F0F4F9; border-top:5px solid; border-color:#336699; padding:3px 0.15em; width:6.6%;" | [[:Category:Fasaha|<span style="color:#000000;">Fasaha</span>]] | style="background-color:#F9F0F0; border-top:5px solid; border-color:#993333; padding:3px 0.15em; width:6.6%;" | [[:Category:Ilimi|<span style="color:#000000;">Ilimi</span>]] | style="background-color:#F0F0F9; border-top:5px solid; border-color:#333399; padding:3px 0.15em; width:6.6%;" | [[:Category:Lamba|<span style="color:#000000;">Lamba</span>]] | style="background-color:#F4F9F0; border-top:5px solid; border-color:#669933; padding:3px 0.15em; width:6.6%;" | [[:Category:Miyya|<span style="color:#000000;">Miyya</span>]] | style="background-color:#F9F9F0; border-top:5px solid; border-color:#999933; padding:3px 0.15em; width:6.6%;" | [[:Category:Makami|<span style="color:#000000;">Makami</span>]] | style="background-color:#F9F0F9; border-top:5px solid; border-color:#993399; padding:3px 0.15em; width:6.6%;" | [[:Category:Malunwa|<span style="color:#000000;">Malunwa</span>]] | style="background-color:#F0F9F0; border-top:5px solid; border-color:#339933; padding:3px 0.15em; width:6.6%;" | [[:Category:Olii|<span style="color:#000000;">Olii</span>]] | style="background-color:#F9F0F4; border-top:5px solid; border-color:#993366; padding:3px 0.15em; width:6.6%;" | [[:Category:Olii pewe|<span style="color:#000000;">Olii pewe</span>]] | style="background-color:#F0F0F9; border-top:5px solid; border-color:#333399; padding:3px 0.15em; width:6.6%;" | [[:Category:Tarihi|<span style="color:#000000;">Tarihi</span>]] | style="background-color:#F0F9F9; border-top:5px solid; border-color:#339999; padding:3px 0.15em; width:6.6%;" | [[:Category:Goma|<span style="color:#000000;">Goma</span>]] | style="background-color:#F9F0F9; border-top:5px solid; border-color:#993399; padding:3px 0.15em; width:6.6%;" | [[:Category:Kimiyya|<span style="color:#000000;">Kimiyya</span>]] | style="background-color:#F4F9F0; border-top:5px solid; border-color:#669933; padding:3px 0.15em; width:6.6%;" | [[:Category:Zane|<span style="color:#000000;">Zane</span>]] |} </div> <templatestyles src="Main page/Styles.css" /> <div style="flex:1; min-width:300px; overflow:hidden; border-radius:4px; margin:8px 4px 4px 4px; box-shadow:0 0 8px rgba(0,0,0,0.15);"> <div class="image-carousel"> <ul> <li> <div style="background:#FFF; padding:5px; font-size:150%; font-family:'Arial',sans-serif; position: relative; z-index: 2;"> <div style="padding:5px 10px; color:#333333;">[[File:Star-alt-icon.png|20px|link=]]&nbsp;&nbsp;Featured Article</div> </div> <div class="carousel-image"> [[File:The City Gate of Abuja.jpg|center|class=carousel-image-wrapper|link=Nijeriya|Nijeriya]] </div> <div class="carousel-slide-content-wrapper"> <div class="carousel-slide-content"> <div class="carousel-slide-description">Nijeriya ko Nijeriya da (turanci: Nigeria): A Gwamanatance Tarayyar Najeriya, woli la ga take ga Africa ko zoni ita ji tetteke woli niger koga Arewa. Ga Chadi koga zoni koga aushi jam aji dar ga teku Atlantika.</div> <div class="carousel-slide-title">[[Nijeriya]]</div> </div> </div> </li> <li> <div style="background:#FFF; padding:5px; font-size:150%; font-family:'Arial',sans-serif; position: relative; z-index: 2;"> <div style="padding:5px 10px; color:#333333;">[[File:Paomedia small-n-flat sign-question.svg|20px|link=]]&nbsp;&nbsp; Kamontuwo?</div> </div> <div class="carousel-image"> [[File:Gooya mountain.jpg|center|class=carousel-image-wrapper|link=Gooya mountain]] </div> <div class="carousel-slide-content-wrapper"> <div class="carousel-slide-content"> <div class="carousel-slide-description">Gooya kam zoi wuro la tudu ga arewa [[Nijeriya]], inda Bòo pikka ye kam la yare miyya aji magana da yawa ga yankin da ke kewaye. </div> <div class="carousel-slide-title">[[Potiskum]]</div> </div> </div> </li> <li> <div style="background:#FFF; padding:5px; font-size:150%; font-family:'Arial',sans-serif; position: relative; z-index: 2;"> <div style="padding:5px 10px; color:#333333;">[[File:Paomedia small-n-flat file-picture.svg|20px|link=]]&nbsp;&nbsp; Featured Picture</div> </div> <div class="carousel-image"> [[File:Daniski Festival 04.jpg|center|class=carousel-image-wrapper|link=File:Daniski Festival 04.jpg]] </div> <div class="carousel-slide-content-wrapper"> <div class="carousel-slide-content"> <div class="carousel-slide-description">Daniski Hills Annual Festival kam zoi tarayya la al’ada, ba Bòo pikka ga Fika Emirate ga Yobe State, [[Nijeriya]]. </div> <div class="carousel-slide-title">[[:File:Daniski Festival 04.jpg|Daniski Festival Picture]]</div> </div> </div> </li> </ul> </div> </div> <div style="display:flex; flex-wrap:wrap;"> {{Box |header=[[File:Paomedia small-n-flat sign-info.svg|20px|link=]]&nbsp;&nbsp;Elle Wikipidiya? |content=<span style="float: left; margin: 6px 12px 6px 0px; display: inline-block;">[[File:Wikipedia-logo-v2-bol.svg|100px]]</span>Wikipidiya shafi ji in Yana gizonla ona gudumawa inko rubutu mukalai kala aji gidan ga goggo gozi ilmi do ramu-ramu ga messesu. Gabo turanci ga unda shap Maddi la ramu ramu do gede ga ilmi ga shafuka Wikipedia ga sun Wikipedia, wikipidiya aji tattira ga harsuna GA duniya ga godon shafuka lemalo aji kirkira do ramu mukalai gabo kyauta inko taimako beyi wena ilmi bo kyauta, emeyye aji Wikipedia ga zarrar a shap ga duniya beyi wena ilmi koga asali beyi ilmi fetengo. }} {{Box |header=[[File:Paomedia small-n-flat pencil.svg|20px|link=]]&nbsp;&nbsp;Kirkiru Foyo Article |content=Kaji kume Harshe Bole? Kagita ina taimako beyi Bunƙasa kunsu eme Mona (ensakulopidiya) ko goggo kirkire foyo makaloli do fadada la aji Andi ga fatan aji doffa ka'idoji Al'umma lokaci ona ga gundumawa.<br><small><i></i></small> <div style="margin-top:1em;"> <inputbox> type=create width=30 default= buttonlabel=Kirkiru Foyo Makala </inputbox> </div> }} </div> {{Box |header=English speakers |content=If you speak English, but you don't know anything about the Bole Language, you are also welcome to edit and assist in technical support, such as maintaining Templates or Modules. Your role is vital to the smooth running of the Bole Wikipedia! }} {{Box |header=[[File:Wikimedia-logo.svg|20px|link=]]&nbsp;&nbsp;Project Modi |content={{SisterProjects}} }} {{Bole Wikimedians User Group}} <div class="mobile-only"> {{Bole Wikimedians User Group/mobile}} </div> drlmnzx1f30mypf5n8gci425ajiz3ig 10512 10511 2026-08-25T11:26:00Z RAPTOR7762 18 10512 wikitext text/x-wiki __NOTOC__ __NOEDITSECTION__ <!--{{Protection padlock|small=yes}}--> {{Top icon|image=Wikimedia Community Logo.svg|link=m:Bole Wikimedians User Group}} {{Top icon|image=2023 Facebook icon.svg|link=https://www.facebook.com/61590521903033/}} <div style="text-align:center;"> {{Clickable button|Special:Purge/Peji In Siri|Purge this page|class=mw-ui-progressive}} </div> <templatestyles src="Main page/Styles.css" /> <div style="position:relative; text-align:center; padding:3em 1em; background:#fff; overflow:hidden;"> <div style="position:absolute; top:-50px; left:0; right:0; text-align:center; opacity:0.1; z-index:0;"> [[File:Wikipedia-logo-v2.svg|600px|center|class=notpageimage|link=]] </div> <div style="position:relative; z-index:1;"> <div style="font-variant:small-caps; font-family:'Linux Libertine','Georgia',serif;"><div style="font-size:180%;">U'se ga nako</div> <div style="font-size:270%; line-height:1;">[[Wikipidiya|<span style="display: inline-block; letter-spacing: -0.35em; margin-right: 0.2em; font-family: serif;">V<span style="margin-left: -0.1em;">V</span></span>ikipidiya]] in bòo pìkkà</div> </div> <div style="font-size:120%; line-height:1.2;"> Wikipidiya ensakulopidiya in lelo in [[Harshe Bole]] la lemalo agita ina ramayi.</div> <div style="font-size:120%; line-height:1.2;"> Honsene Andi makaloli '''[[Special:AllPages|{{NUMBEROFARTICLES}}]]''' ga harshe Bole</div> </div> </div> <div style="margin:10px 0px 10px 0px; -moz-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1); -webkit-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1); box-shadow:0 1px 1px rgba(0, 0, 0, 0.1); background-color:#FFFFFF;"> {| style="border-spacing: 1px; border-collapse: separate; width:100%; text-align:center; font-size:0.85em; padding:2px 3px 2px 3px;" class="hp-portalen" | style="background-color:#F0F0F9; border-top:5px solid; border-color:#333399; padding:3px 0.15em; width:6.6%;" | [[:Category:Atiimala|<span style="color:#000000;">Atiimala</span>]] | style="background-color:#F0F9F9; border-top:5px solid; border-color:#339999; padding:3px 0.15em; width:6.6%;" | [[:Category:Annoba|<span style="color:#000000;">Annoba</span>]] | style="background-color:#F0F4F9; border-top:5px solid; border-color:#336699; padding:3px 0.15em; width:6.6%;" | [[:Category:Fasaha|<span style="color:#000000;">Fasaha</span>]] | style="background-color:#F9F0F0; border-top:5px solid; border-color:#993333; padding:3px 0.15em; width:6.6%;" | [[:Category:Ilimi|<span style="color:#000000;">Ilimi</span>]] | style="background-color:#F0F0F9; border-top:5px solid; border-color:#333399; padding:3px 0.15em; width:6.6%;" | [[:Category:Lamba|<span style="color:#000000;">Lamba</span>]] | style="background-color:#F4F9F0; border-top:5px solid; border-color:#669933; padding:3px 0.15em; width:6.6%;" | [[:Category:Miyya|<span style="color:#000000;">Miyya</span>]] | style="background-color:#F9F9F0; border-top:5px solid; border-color:#999933; padding:3px 0.15em; width:6.6%;" | [[:Category:Makami|<span style="color:#000000;">Makami</span>]] | style="background-color:#F9F0F9; border-top:5px solid; border-color:#993399; padding:3px 0.15em; width:6.6%;" | [[:Category:Malunwa|<span style="color:#000000;">Malunwa</span>]] | style="background-color:#F0F9F0; border-top:5px solid; border-color:#339933; padding:3px 0.15em; width:6.6%;" | [[:Category:Olii|<span style="color:#000000;">Olii</span>]] | style="background-color:#F9F0F4; border-top:5px solid; border-color:#993366; padding:3px 0.15em; width:6.6%;" | [[:Category:Olii pewe|<span style="color:#000000;">Olii pewe</span>]] | style="background-color:#F0F0F9; border-top:5px solid; border-color:#333399; padding:3px 0.15em; width:6.6%;" | [[:Category:Tarihi|<span style="color:#000000;">Tarihi</span>]] | style="background-color:#F0F9F9; border-top:5px solid; border-color:#339999; padding:3px 0.15em; width:6.6%;" | [[:Category:Goma|<span style="color:#000000;">Goma</span>]] | style="background-color:#F9F0F9; border-top:5px solid; border-color:#993399; padding:3px 0.15em; width:6.6%;" | [[:Category:Kimiyya|<span style="color:#000000;">Kimiyya</span>]] | style="background-color:#F4F9F0; border-top:5px solid; border-color:#669933; padding:3px 0.15em; width:6.6%;" | [[:Category:Zane|<span style="color:#000000;">Zane</span>]] |} </div> <templatestyles src="Main page/Styles.css" /> <div style="flex:1; min-width:300px; overflow:hidden; border-radius:4px; margin:8px 4px 4px 4px; box-shadow:0 0 8px rgba(0,0,0,0.15);"> <div class="image-carousel"> <ul> <li> <div style="background:#FFF; padding:5px; font-size:150%; font-family:'Arial',sans-serif; position: relative; z-index: 2;"> <div style="padding:5px 10px; color:#333333;">[[File:Star-alt-icon.png|20px|link=]]&nbsp;&nbsp;Featured Article</div> </div> <div class="carousel-image"> [[File:The City Gate of Abuja.jpg|center|class=carousel-image-wrapper|link=Nijeriya|Nijeriya]] </div> <div class="carousel-slide-content-wrapper"> <div class="carousel-slide-content"> <div class="carousel-slide-description">Nijeriya ko Nijeriya da (turanci: Nigeria): A Gwamanatance Tarayyar Najeriya, woli la ga take ga Africa ko zoni ita ji tetteke woli niger koga Arewa. Ga Chadi koga zoni koga aushi jam aji dar ga teku Atlantika.</div> <div class="carousel-slide-title">[[Nijeriya]]</div> </div> </div> </li> <li> <div style="background:#FFF; padding:5px; font-size:150%; font-family:'Arial',sans-serif; position: relative; z-index: 2;"> <div style="padding:5px 10px; color:#333333;">[[File:Paomedia small-n-flat sign-question.svg|20px|link=]]&nbsp;&nbsp; Kamontuwo?</div> </div> <div class="carousel-image"> [[File:Gooya mountain.jpg|center|class=carousel-image-wrapper|link=Gooya mountain]] </div> <div class="carousel-slide-content-wrapper"> <div class="carousel-slide-content"> <div class="carousel-slide-description">Gooya kam zoi wuro la tudu ga arewa [[Nijeriya]], inda Bòo pikka ye kam la yare miyya aji magana da yawa ga yankin da ke kewaye. </div> <div class="carousel-slide-title">[[Potiskum]]</div> </div> </div> </li> <li> <div style="background:#FFF; padding:5px; font-size:150%; font-family:'Arial',sans-serif; position: relative; z-index: 2;"> <div style="padding:5px 10px; color:#333333;">[[File:Paomedia small-n-flat file-picture.svg|20px|link=]]&nbsp;&nbsp; Featured Picture</div> </div> <div class="carousel-image"> [[File:Daniski Festival 04.jpg|center|class=carousel-image-wrapper|link=File:Daniski Festival 04.jpg]] </div> <div class="carousel-slide-content-wrapper"> <div class="carousel-slide-content"> <div class="carousel-slide-description">Daniski Hills Annual Festival kam zoi tarayya la al’ada, ba Bòo pikka ga Fika Emirate ga Yobe State, [[Nijeriya]]. </div> <div class="carousel-slide-title">[[:File:Daniski Festival 04.jpg|Daniski Festival Picture]]</div> </div> </div> </li> </ul> </div> </div> <div style="display:flex; flex-wrap:wrap;"> {{Box |header=[[File:Paomedia small-n-flat sign-info.svg|20px|link=]]&nbsp;&nbsp;Elle Wikipidiya? |content=<span style="float: left; margin: 6px 12px 6px 0px; display: inline-block;">[[File:Wikipedia-logo-v2-bol.svg|100px]]</span>Wikipidiya shafi ji in Yana gizonla ona gudumawa inko rubutu mukalai kala aji gidan ga goggo gozi ilmi do ramu-ramu ga messesu. Gabo turanci ga unda shap Maddi la ramu ramu do gede ga ilmi ga shafuka Wikipedia ga sun Wikipedia, wikipidiya aji tattira ga harsuna GA duniya ga godon shafuka lemalo aji kirkira do ramu mukalai gabo kyauta inko taimako beyi wena ilmi bo kyauta, emeyye aji Wikipedia ga zarrar a shap ga duniya beyi wena ilmi koga asali beyi ilmi fetengo. }} {{Box |header=[[File:Paomedia small-n-flat pencil.svg|20px|link=]]&nbsp;&nbsp;Kirkiru Foyo Article |content=Kaji kume Harshe Bole? Kagita ina taimako beyi Bunƙasa kunsu eme Mona (ensakulopidiya) ko goggo kirkire foyo makaloli do fadada la aji Andi ga fatan aji doffa ka'idoji Al'umma lokaci ona ga gundumawa.<br><small><i></i></small> <div style="margin-top:1em;"> <inputbox> type=create width=30 default= buttonlabel=Kirkiru Foyo Makala </inputbox> </div> }} </div> {{Box |header=English speakers |content=If you speak English, but you don't know anything about the Bole Language, you are also welcome to edit and assist in technical support, such as maintaining Templates or Modules. Your role is vital to the smooth running of the Bole Wikipedia! }} {{Box |header=[[File:Wikimedia-logo.svg|20px|link=]]&nbsp;&nbsp;Project Modi |content={{SisterProjects}} }} {{Bole Wikimedians User Group}} <div class="mobile-only"> {{Bole Wikimedians User Group/mobile}} </div> 61px6ebnx2wu4vcsao2iiibfbf1fmzj Tempilet:Main page/Styles.css 10 130 10500 9210 2026-08-25T06:33:25Z RAPTOR7762 18 10500 sanitized-css text/css /* {{pp-protected|small=yes}} Derived from https://ay.wikipedia.org/wiki/Plantilla:Portada/styles.css (2025-06-06) */ .image-carousel { overflow: hidden; width: 100%; height: 210px; min-width: 280px; } .image-carousel ul { width: 100%; margin: 0; padding: 0; display: table; table-layout: fixed; height: 100%; } .image-carousel ul li { display: table-cell; vertical-align: top; position: relative; height: 100%; min-height: 210px; width: 33.33333%; transition: all 1000ms ease; } .carousel-image { width: 100%; height: 100%; display: block; position: relative; overflow: hidden; } .carousel-image-wrapper { position: absolute; display: block; width: 100%; height: 100%; z-index: 1; } .carousel-image-wrapper img { width: 100%; height: 100%; min-height: 170px; object-fit: cover; position: absolute; top: 0; left: 0; } .carousel-slide-content-wrapper { overflow: hidden; width: 100%; height: calc(100% - 40px); position: absolute; top: 40px; } .carousel-slide-content { display: flex; flex-direction: column; justify-content: flex-end; height: 100%; width: 100%; position: relative; padding: 15px 20px; box-sizing: border-box; color: #fff; z-index: 3; } .carousel-slide-content .carousel-slide-title, .carousel-slide-content .carousel-slide-description { opacity: 0; width: 100%; position: relative; } .carousel-slide-title { font-size: 135%; font-weight: bold; text-align: right; } .carousel-slide-description { text-align: left; } @media (min-width: 800px) { .image-carousel ul:hover li { width: 10%; } .image-carousel ul:hover li:hover { width: 60%; } .image-carousel ul:hover li:hover .carousel-slide-content { background: rgba(0, 0, 0, 0.7); } .image-carousel ul:hover li:hover .carousel-slide-title, .image-carousel ul:hover li:hover .carousel-slide-description { opacity: 1; } } .carousel-slide-title a { font-weight: bold; } .carousel-slide-title a, .carousel-slide-description a { color: white; } .carousel-slide-title a:link, .carousel-slide-title a:visited, .carousel-slide-title a:hover, .carousel-slide-title a:active, .carousel-slide-description a:link, .carousel-slide-description a:visited, .carousel-slide-description a:hover, .carousel-slide-description a:active { color: white; } @media (max-width: 800px) { .image-carousel { height: auto; min-height: unset; } .image-carousel ul { display: block; height: auto; } .image-carousel ul li { display: block; width: 100%; height: auto; min-height: unset; transition: none; } .carousel-image { height: auto; } .carousel-image-wrapper { position: relative; height: auto; } .carousel-image-wrapper img { position: relative; width: 100%; height: auto; min-height: unset; object-fit: cover; } .carousel-slide-content-wrapper { position: relative; height: auto; top: auto; } .carousel-slide-content { position: relative; background: rgba(0, 0, 0, 0.6); padding: 10px; color: white; } /* Override opacity on mobile */ .carousel-slide-content-wrapper .carousel-slide-title, .carousel-slide-content-wrapper .carousel-slide-description { opacity: 1; } /* Disable hover effect for mobile */ .image-carousel ul:hover li { width: 100%; } .image-carousel ul:hover li:hover { width: 100%; } .image-carousel ul:hover li:hover .carousel-slide-content { background: rgba(0, 0, 0, 0.6); } } .mobile-only { display: none; } /* Display on mobile views (Minerva Neue skin / MobileFrontend) */ @media screen and (max-width: 768px) { .mobile-only { display: block; } } t3ygn5txfjp8g1opf5a5ns8lw48ogjy 10501 10500 2026-08-25T07:39:02Z RAPTOR7762 18 10501 sanitized-css text/css /* {{pp-protected|small=yes}} Derived from https://ay.wikipedia.org/wiki/Plantilla:Portada/styles.css (2025-06-06) */ .image-carousel { overflow: hidden; width: 100%; height: 210px; min-width: 280px; } .image-carousel ul { width: 100%; margin: 0; padding: 0; display: table; table-layout: fixed; height: 100%; } .image-carousel ul li { display: table-cell; vertical-align: top; position: relative; height: 100%; min-height: 210px; width: 33.33333%; transition: all 1000ms ease; } .carousel-image { width: 100%; height: 100%; display: block; position: relative; overflow: hidden; } .carousel-image-wrapper { position: absolute; display: block; width: 100%; height: 100%; z-index: 1; } .carousel-image-wrapper img { width: 100%; height: 100%; min-height: 170px; object-fit: cover; position: absolute; top: 0; left: 0; } .carousel-slide-content-wrapper { overflow: hidden; width: 100%; height: calc(100% - 40px); position: absolute; top: 40px; } .carousel-slide-content { display: flex; flex-direction: column; justify-content: flex-end; height: 100%; width: 100%; position: relative; padding: 15px 20px; box-sizing: border-box; color: #fff; z-index: 3; } .carousel-slide-content .carousel-slide-title, .carousel-slide-content .carousel-slide-description { opacity: 0; width: 100%; position: relative; } .carousel-slide-title { font-size: 135%; font-weight: bold; text-align: right; } .carousel-slide-description { text-align: left; } @media (min-width: 800px) { .image-carousel ul:hover li { width: 10%; } .image-carousel ul:hover li:hover { width: 60%; } .image-carousel ul:hover li:hover .carousel-slide-content { background: rgba(0, 0, 0, 0.7); } .image-carousel ul:hover li:hover .carousel-slide-title, .image-carousel ul:hover li:hover .carousel-slide-description { opacity: 1; } } .carousel-slide-title a { font-weight: bold; } .carousel-slide-title a, .carousel-slide-description a { color: white; } .carousel-slide-title a:link, .carousel-slide-title a:visited, .carousel-slide-title a:hover, .carousel-slide-title a:active, .carousel-slide-description a:link, .carousel-slide-description a:visited, .carousel-slide-description a:hover, .carousel-slide-description a:active { color: white; } @media (max-width: 800px) { .image-carousel { height: auto; min-height: unset; } .image-carousel ul { display: block; height: auto; } .image-carousel ul li { display: block; width: 100%; height: auto; min-height: unset; transition: none; } .carousel-image { height: auto; } .carousel-image-wrapper { position: relative; height: auto; } .carousel-image-wrapper img { position: relative; width: 100%; height: auto; min-height: unset; object-fit: cover; } .carousel-slide-content-wrapper { position: relative; height: auto; top: auto; } .carousel-slide-content { position: relative; background: rgba(0, 0, 0, 0.6); padding: 10px; color: white; } /* Override opacity on mobile */ .carousel-slide-content-wrapper .carousel-slide-title, .carousel-slide-content-wrapper .carousel-slide-description { opacity: 1; } /* Disable hover effect for mobile */ .image-carousel ul:hover li { width: 100%; } .image-carousel ul:hover li:hover { width: 100%; } .image-carousel ul:hover li:hover .carousel-slide-content { background: rgba(0, 0, 0, 0.6); } } .mobile-only { display: none; } /* Display on mobile views (Minerva Neue skin / MobileFrontend) */ @media screen and (max-width: 640px) { .mobile-only { display: block; } } j2tnulyblaxgv6ppx19dne9p96kzcy7 Tempilet:SisterProjects 10 164 10502 8996 2026-08-25T07:41:36Z RAPTOR7762 18 10502 wikitext text/x-wiki <table class="layout plainlinks" style="width:100%; margin:auto; text-align:left; background:transparent;"> <tr> <td style="text-align:center; padding:4px;"> [[Fayil:Commons-logo.svg|31px|link=commons:|Wikimedia Commons]] </td> <td style="width:33%; padding:4px;"> '''[[:c:|Commons]]''' <br><span style="font-size:85%; color:#777;">Beyi zena ya modi ga media la aji bissayi kyauta</span></td> <td style="text-align:center; padding:4px;"> [[Fayil:Wikimedia Community Logo.svg|35px|link=m:|Meta-Wiki]] </td> <td style="width:33%; padding:4px;"> '''[[:m:|Meta-Wiki]]''' <br><span style="font-size:85%; color:#777;">Gonnta koyi ga ruta wikimedia</span></td> </tr><tr> <td style="text-align:center; padding:4px;"> [[Fayil:Wikibooks-logo.svg|35px|link=b:en:|Wikibooks]] </td> <td style="padding:4px;"> '''[[:b:en:|Wikibooks]]''' <br><span style="font-size:85%; color:#777;">Litattafai ga jagorori in gozi kyauta</span></td> <td style="text-align:center; padding:3px;"> [[Fayil:Wikidata-logo.svg|47px|link=d:|Wikidata]] </td> <td style="padding:4px;"> '''[[:d:|Wikidata]]''' <br><span style="font-size:85%; color:#777;">Beyi zena ya modi bo kyauta</span></td> <td style="text-align:center; padding:3px;"> [[Fayil:Wikifunctions-logo.svg|47px|link=f:|Wikifunctions]] </td> <td style="padding:4px;"> '''[[:f:|Wikifunctions]]''' <br><span style="font-size:85%; color:#777;">Gabin ruta (function)</span></td> </tr><tr> <td style="text-align:center; padding:4px;"> [[Fayil:Wiktionary-logo-v2.svg|35px|link=wikt:|Wiktionary]] </td> <td style="width:33%; padding:4px;"> '''[[:wikt:|Wiktionary]]''' <br><span style="font-size:85%; color:#777;"> Kamus kyauta</span></td> <td style="text-align:center; padding:4px;"> [[Fayil:Wikiquote-logo.svg|51px|link=q:|Wikiquote]] </td> <td style="padding:4px;"> '''[[:q:en:|Wikiquote]]''' <br><span style="font-size:85%; color:#777;">Fetila zantuka (kauli)</span></td> <td style="text-align:center; padding:4px;"> [[Fayil:Wikispecies-logo.svg|35px|link=species:|Wikispecies]] </td> <td style="padding:4px;"> '''[[:species:|Wikispecies]]''' <br><span style="font-size:85%; color:#777;">Jeri nau'o'in halitta</span></td> </tr><tr> <td style="text-align:center; padding:4px;"> [[Fayil:Wikisource-logo.svg|35px|link=s:|Wikisource]] </td> <td style="padding:4px;"> '''[[:s:en:|Wikisource]]''' <br><span style="font-size:85%; color:#777;">Gabin Zena Yan gawa kyauta</span></td> <td style="text-align:center; padding:4px;"> [[Fayil:Wikiversity-logo.svg|41px|link=v:|Wikiversity]] </td> <td style="padding:4px;"> '''[[:v:en:|Wikiversity]]''' <br><span style="font-size:85%; color:#777;">Karai gozi karatu kyauta</span></td> <td style="text-align:center; padding:4px;"> [[Fayil:Wikivoyage-Logo-v3-icon.svg|35px|link=voy:|Wikivoyage]] </td> <td style="padding:4px;"> '''[[:voy:|Wikivoyage]]''' <br><span style="font-size:85%; color:#777;">Jagora mecce mecce kyauta</span></td> </tr></table> d6svogo1so4b8209nza9bfy6m7g1z8m Tempilet:Template display 10 175 10429 2025-02-08T19:00:50Z en>Jonesey95 0 link to better explanatino 10429 wikitext text/x-wiki <includeonly>{{#invoke:Message box|ombox|type=notice |image={{#switch:{{{1}}}|adaptive=[[File:Different devices simple.svg|65x65px|link=|alt=]]|nomobile=[[File:Handheld devices no.svg|55px|link=|alt=]]|nodesktop=[[File:Desktop devices no.svg|55px|link=|alt=]]}} |text={{#switch:{{{1}}} | adaptive = This template is [[Adaptive web design|responsive]] and <strong>displays differently in mobile and desktop view</strong>. Read the documentation for an explanation of the differences and why they exist. | nomobile = This template does ''not'' display in the mobile view of Wikipedia; it is <strong>desktop only</strong>. See [[Template:Navbox visibility]] for a brief explanation. | nomobile720 = This template does ''not'' display in the mobile view of Wikipedia when the window is less than 720 pixels wide. Read the documentation for an explanation. | nodesktop = This template does ''not'' display in the desktop view of Wikipedia; it is <strong>mobile only</strong>. Read the documentation for an explanation. | nomobilesidebar = This template does ''not'' display in the mobile view of Wikipedia; it is <strong>desktop only</strong>. Read the [[Template:Sidebar/doc|parent documentation]] for an explanation. | badmobile = This template contains coding that is not compatible with [[Help:Mobile access|mobile versions of Wikipedia]], causing display and [[Wikipedia:Manual of Style/Accessibility|accessibility problems]]. Read the documentation for an explanation. | vector2022 = This template does not work properly in the [[Wikipedia:Vector 2022|Vector 2022]] skin. Read the documentation for an explanation. | #default = {{{1}}} }}}}</includeonly><noinclude> {{Documentation}} </noinclude> egx1w755hd3mso4m0o760gw2scpmk9c 10430 868 2026-08-24T13:15:13Z RAPTOR7762 18 1 revision imported from [[:en:Template:Template_display]] 866 wikitext text/x-wiki <includeonly>{{#invoke:Message box|ombox|type=notice |image={{#switch:{{{1}}}|adaptive=[[Fayil:Different devices simple.svg|65x65px|link=|alt=]]|nomobile=[[Fayil:Handheld devices no.svg|55px|link=|alt=]]|nodesktop=[[Fayil:Desktop devices no.svg|55px|link=|alt=]]}} |text={{#switch:{{{1}}} | adaptive = This template is [[Adaptive web design|responsive]] and <strong>displays differently in mobile and desktop view</strong>. Read the documentation for an explanation of the differences and why they exist. | nomobile = This template does ''not'' display in the mobile view of Wikipedia; it is <strong>desktop only</strong>. See [[Tempilet:Navbox visibility]] for a brief explanation. | nomobile720 = This template does ''not'' display in the mobile view of Wikipedia when the window is less than 720 pixels wide. Read the documentation for an explanation. | nodesktop = This template does ''not'' display in the desktop view of Wikipedia; it is <strong>mobile only</strong>. Read the documentation for an explanation. | nomobilesidebar = This template does ''not'' display in the mobile view of Wikipedia; it is <strong>desktop only</strong>. Read the [[Tempilet:Sidebar/doc|parent documentation]] for an explanation. | badmobile = This template contains coding that is not compatible with [[Taimako:Mobile access|mobile versions of Wikipedia]], causing display and [[Wikipidiya:Manual of Style/Accessibility|accessibility problems]]. Read the documentation for an explanation. | vector2022 = This template does not work properly in the [[Wikipidiya:Vector 2022|Vector 2022]] skin. Read the documentation for an explanation. | #default = {{{1}}} }}}}</includeonly><noinclude> {{Documentation}} </noinclude> sjbj2f3235eag0cyf7gnue524ivu209 Module:Arguments 828 215 9559 2014-01-19T07:43:51Z meta>Mxn 0 Copied from [[w:Module:Arguments]] (590466411) 9559 Scribunto text/plain -- This module provides easy processing of arguments passed to Scribunto from #invoke. -- It is intended for use by other Lua modules, and should not be called from #invoke directly. local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local arguments = {} local nilArg = {} -- Used for memoizing nil arguments in metaArgs. -- Generate four different tidyVal functions, so that we don't have to check the options every time we call it. local function tidyValDefault(key, val) if type(val) == 'string' then val = val:match('^%s*(.-)%s*$') if val == '' then return nil else return val end else return val end end local function tidyValTrimOnly(key, val) if type(val) == 'string' then return val:match('^%s*(.-)%s*$') else return val end end local function tidyValRemoveBlanksOnly(key, val) if type(val) == 'string' then if val:find('%S') then return val else return nil end else return val end end local function tidyValNoChange(key, val) return val end function arguments.getArgs(frame, options) checkType('getArgs', 1, frame, 'table', true) checkType('getArgs', 2, options, 'table', true) frame = frame or {} options = options or {} -- Get the arguments from the frame object if available. If the frame object is not available, we are being called -- from another Lua module or from the debug console, so assign the args to a new variable so we can differentiate them. local fargs, pargs, luaArgs if type(frame.args) == 'table' and type(frame.getParent) == 'function' then if not options.parentOnly then fargs = frame.args end if not options.frameOnly then pargs = frame:getParent().args end if options.parentFirst then fargs, pargs = pargs, fargs end else luaArgs = frame end -- Set up the args and metaArgs tables. args will be the one accessed from functions, and metaArgs will hold the actual arguments. -- The metatable connects the two together. local args, metaArgs, metatable = {}, {}, {} setmetatable(args, metatable) -- Generate the tidyVal function. If it has been specified by the user, we use that; if not, we choose one of four functions -- depending on the options chosen. This is so that we don't have to call the options table every time the function is called. local tidyVal = options.valueFunc if tidyVal then if type(tidyVal) ~= 'function' then error("bad value assigned to option 'valueFunc' (function expected, got " .. type(tidyVal) .. ')', 2) end elseif options.trim ~= false then if options.removeBlanks ~= false then tidyVal = tidyValDefault else tidyVal = tidyValTrimOnly end else if options.removeBlanks ~= false then tidyVal = tidyValRemoveBlanksOnly else tidyVal = tidyValNoChange end end local function mergeArgs(iterator, tables) -- Accepts multiple tables as input and merges their keys and values into one table using the specified iterator. -- If a value is already present it is not overwritten; tables listed earlier have precedence. -- We are also memoizing nil values, but those values can be overwritten. for _, t in ipairs(tables) do for key, val in iterator(t) do local metaArgsVal = metaArgs[key] if metaArgsVal == nil or metaArgsVal == nilArg then local tidiedVal = tidyVal(key, val) if tidiedVal == nil then metaArgs[key] = nilArg else metaArgs[key] = tidiedVal end end end end end -- Set the order of precedence of the argument tables. If the variables are nil, nothing will be added to the table, -- which is how we avoid clashes between the frame/parent args and the Lua args. local argTables = {fargs} argTables[#argTables + 1] = pargs argTables[#argTables + 1] = luaArgs --[[ -- Define metatable behaviour. Arguments are memoized in the metaArgs table, and are only fetched from the -- argument tables once. Nil arguments are also memoized using the nilArg variable in order to increase -- performance. Also, we keep a record in the metatable of when pairs and ipairs have been called, so we -- do not run pairs and ipairs on fargs and pargs more than once. We also do not run ipairs on fargs and -- pargs if pairs has already been run, as all the arguments will already have been copied over. --]] metatable.__index = function (t, key) local val = metaArgs[key] if val ~= nil then if val == nilArg then return nil else return val end end for _, argTable in ipairs(argTables) do local argTableVal = tidyVal(key, argTable[key]) if argTableVal == nil then metaArgs[key] = nilArg else metaArgs[key] = argTableVal return argTableVal end end return nil end metatable.__newindex = function (t, key, val) if options.readOnly then error('could not write to argument table key "' .. tostring(key) .. '"; the table is read-only', 2) elseif options.noOverwrite and args[key] ~= nil then error('could not write to argument table key "' .. tostring(key) .. '"; overwriting existing arguments is not permitted', 2) elseif val == nil then metaArgs[key] = nilArg -- Memoize nils. else metaArgs[key] = val end end metatable.__pairs = function () if not metatable.donePairs then mergeArgs(pairs, argTables) metatable.donePairs = true metatable.doneIpairs = true end return function (t, k) local nk, val = next(metaArgs, k) if val == nilArg then val = nil end return nk, val end end metatable.__ipairs = function () if not metatable.doneIpairs then mergeArgs(ipairs, argTables) metatable.doneIpairs = true end return function (t, i) local val = metaArgs[i + 1] if val == nil then return nil elseif val == nilArg then val = nil end return i + 1, val end, nil, 0 end return args end return arguments shj2fpwayer5zfm1tiuj45e19ovlmf1 9560 2013-12-07T16:01:15Z meta>Mr. Stradivarius 0 create argument-processing module 9560 Scribunto text/plain -- This module provides easy processing of arguments passed to Scribunto from #invoke. local function getArguments(frame, options) options = type(options) == 'table' and options or {} local fargs, pargs if frame == mw.getCurrentFrame() then fargs = frame.args pargs = frame:getParent().args else fargs = type(frame) == 'table' and frame or {} pargs = {} end local args, metaArgs, metatable = {}, {}, {} setmetatable(args, metatable) local function tidyVal(key, val) -- Processes a value according to the options given to getArguments. Can trim whitespace and remove blanks. -- Keys are not used here, but they can be used by user-generated functions, so defining it here to avoid breakage. if type(val) == 'string' then if options.trim ~= false then val = mw.text.trim(val) end if options.removeBlanks == false or mw.ustring.find(val, '%S') then return val end else return val end end local valueFunc = options.valueFunc if valueFunc then local valueFuncType = type(valueFunc) if valueFuncType == 'function' then tidyVal = valueFunc else error('type error in option "valueFunc": expected function, got ' .. valueFuncType, 2) end end local function mergeArgs(iterator, ...) -- Accepts multiple tables as input and merges their keys and values into one table using the specified iterator. -- If a value is already present it is not overwritten; tables listed earlier have precendence. local tables = {...} for _, t in ipairs(tables) do for key, val in iterator(t) do if metaArgs[key] == nil then metaArgs[key] = tidyVal(key, val) end end end end local firstArgs, secondArgs = fargs, pargs if options.parentFirst then firstArgs, secondArgs = pargs, fargs end metatable.__index = function (t, key) local val = metaArgs[key] if val ~= nil then return val else local firstVal = tidyVal(key, firstArgs[key]) if firstVal ~= nil then return firstVal else return tidyVal(key, secondArgs[key]) end end end metatable.__newindex = function (t, key, val) if not options.readOnly and (not options.noOverwrite or metaArgs[key] == nil) then metaArgs[key] = val end end metatable.__pairs = function () if not metatable.donePairs then mergeArgs(pairs, firstArgs, secondArgs) metatable.donePairs = true metatable.doneIpairs = true end return pairs(metaArgs) end metatable.__ipairs = function () if not metatable.doneIpairs then mergeArgs(ipairs, firstArgs, secondArgs) metatable.doneIpairs = true end return ipairs(metaArgs) end return args end return getArguments 6x9zvqrejfxd0fvgcavm9s545cz0kzl 9561 9560 2013-12-09T02:19:53Z meta>Mr. Stradivarius 0 return a table rather than a function, improve the comments 9561 Scribunto text/plain -- This module provides easy processing of arguments passed to Scribunto from #invoke. -- It is intended for use by other Lua modules, and should not be called from #invoke directly. local arguments = {} function arguments.getArgs(frame, options) options = type(options) == 'table' and options or {} -- Get the arguments from the frame object if available. If the frame object is not available, we are being called -- from another Lua module or from the debug console, so assume arguments are passed directly in. local fargs, pargs if frame == mw.getCurrentFrame() then fargs = frame.args pargs = frame:getParent().args else fargs = type(frame) == 'table' and frame or {} pargs = {} end local args, metaArgs, metatable = {}, {}, {} setmetatable(args, metatable) local function tidyVal(key, val) -- Processes a value according to the options given to getArguments. Can trim whitespace and remove blanks. -- Keys are not used here, but they can be used by user-generated functions, so defining it here to avoid breakage. if type(val) == 'string' then if options.trim ~= false then val = mw.text.trim(val) end if options.removeBlanks == false or mw.ustring.find(val, '%S') then return val end else return val end end -- Use a user-generated functions to tidy the values if specified. local valueFunc = options.valueFunc if valueFunc then local valueFuncType = type(valueFunc) if valueFuncType == 'function' then tidyVal = valueFunc else error('type error in option "valueFunc": expected function, got ' .. valueFuncType, 2) end end local function mergeArgs(iterator, ...) -- Accepts multiple tables as input and merges their keys and values into one table using the specified iterator. -- If a value is already present it is not overwritten; tables listed earlier have precendence. local tables = {...} for _, t in ipairs(tables) do for key, val in iterator(t) do if metaArgs[key] == nil then metaArgs[key] = tidyVal(key, val) end end end end -- Set the order of precedence of frame args and parent args. local firstArgs, secondArgs = fargs, pargs if options.parentFirst then firstArgs, secondArgs = pargs, fargs end -- Define metatable behaviour. metatable.__index = function (t, key) local val = metaArgs[key] if val ~= nil then return val else local firstVal = tidyVal(key, firstArgs[key]) if firstVal ~= nil then return firstVal else return tidyVal(key, secondArgs[key]) end end end metatable.__newindex = function (t, key, val) if not options.readOnly and (not options.noOverwrite or metaArgs[key] == nil) then metaArgs[key] = val end end metatable.__pairs = function () if not metatable.donePairs then mergeArgs(pairs, firstArgs, secondArgs) metatable.donePairs = true metatable.doneIpairs = true end return pairs(metaArgs) end metatable.__ipairs = function () if not metatable.doneIpairs then mergeArgs(ipairs, firstArgs, secondArgs) metatable.doneIpairs = true end return ipairs(metaArgs) end return args end return arguments 55c6pl9vlnywo2arm8v7jmlyq04size 9562 9561 2013-12-09T02:25:52Z meta>Mr. Stradivarius 0 add a more detailed comment about metatable behaviour 9562 Scribunto text/plain -- This module provides easy processing of arguments passed to Scribunto from #invoke. -- It is intended for use by other Lua modules, and should not be called from #invoke directly. local arguments = {} function arguments.getArgs(frame, options) options = type(options) == 'table' and options or {} -- Get the arguments from the frame object if available. If the frame object is not available, we are being called -- from another Lua module or from the debug console, so assume arguments are passed directly in. local fargs, pargs if frame == mw.getCurrentFrame() then fargs = frame.args pargs = frame:getParent().args else fargs = type(frame) == 'table' and frame or {} pargs = {} end local args, metaArgs, metatable = {}, {}, {} setmetatable(args, metatable) local function tidyVal(key, val) -- Processes a value according to the options given to getArguments. Can trim whitespace and remove blanks. -- Keys are not used here, but they can be used by user-generated functions, so defining it here to avoid breakage. if type(val) == 'string' then if options.trim ~= false then val = mw.text.trim(val) end if options.removeBlanks == false or mw.ustring.find(val, '%S') then return val end else return val end end -- Use a user-generated functions to tidy the values if specified. local valueFunc = options.valueFunc if valueFunc then local valueFuncType = type(valueFunc) if valueFuncType == 'function' then tidyVal = valueFunc else error('type error in option "valueFunc": expected function, got ' .. valueFuncType, 2) end end local function mergeArgs(iterator, ...) -- Accepts multiple tables as input and merges their keys and values into one table using the specified iterator. -- If a value is already present it is not overwritten; tables listed earlier have precendence. local tables = {...} for _, t in ipairs(tables) do for key, val in iterator(t) do if metaArgs[key] == nil then metaArgs[key] = tidyVal(key, val) end end end end -- Set the order of precedence of frame args and parent args. local firstArgs, secondArgs = fargs, pargs if options.parentFirst then firstArgs, secondArgs = pargs, fargs end --[[ -- Define metatable behaviour. Arguments are stored in the metaArgs table, and are only fetched from the -- fargs and pargs tables once. Also, we keep a record in the metatable of when pairs and ipairs have -- been called, so we do not run pairs and ipairs on fargs and pargs more than once. We also do not run -- ipairs on fargs and pargs if pairs has already been run, as all the arguments will already have been -- copied over. --]] metatable.__index = function (t, key) local val = metaArgs[key] if val ~= nil then return val else local firstVal = tidyVal(key, firstArgs[key]) if firstVal ~= nil then return firstVal else return tidyVal(key, secondArgs[key]) end end end metatable.__newindex = function (t, key, val) if not options.readOnly and (not options.noOverwrite or metaArgs[key] == nil) then metaArgs[key] = val end end metatable.__pairs = function () if not metatable.donePairs then mergeArgs(pairs, firstArgs, secondArgs) metatable.donePairs = true metatable.doneIpairs = true end return pairs(metaArgs) end metatable.__ipairs = function () if not metatable.doneIpairs then mergeArgs(ipairs, firstArgs, secondArgs) metatable.doneIpairs = true end return ipairs(metaArgs) end return args end return arguments respdbh675shrwq9c2xt0zddq92jln1 9563 9562 2013-12-09T07:17:32Z meta>Mr. Stradivarius 0 check fargs and pargs before writing new values to args if options.noOverwrite is set 9563 Scribunto text/plain -- This module provides easy processing of arguments passed to Scribunto from #invoke. -- It is intended for use by other Lua modules, and should not be called from #invoke directly. local arguments = {} function arguments.getArgs(frame, options) options = type(options) == 'table' and options or {} -- Get the arguments from the frame object if available. If the frame object is not available, we are being called -- from another Lua module or from the debug console, so assume arguments are passed directly in. local fargs, pargs if frame == mw.getCurrentFrame() then fargs = frame.args pargs = frame:getParent().args else fargs = type(frame) == 'table' and frame or {} pargs = {} end local args, metaArgs, metatable = {}, {}, {} setmetatable(args, metatable) local function tidyVal(key, val) -- Processes a value according to the options given to getArguments. Can trim whitespace and remove blanks. -- Keys are not used here, but they can be used by user-generated functions, so defining it here to avoid breakage. if type(val) == 'string' then if options.trim ~= false then val = mw.text.trim(val) end if options.removeBlanks == false or mw.ustring.find(val, '%S') then return val end else return val end end -- Use a user-generated functions to tidy the values if specified. local valueFunc = options.valueFunc if valueFunc then local valueFuncType = type(valueFunc) if valueFuncType == 'function' then tidyVal = valueFunc else error('type error in option "valueFunc": expected function, got ' .. valueFuncType, 2) end end local function mergeArgs(iterator, ...) -- Accepts multiple tables as input and merges their keys and values into one table using the specified iterator. -- If a value is already present it is not overwritten; tables listed earlier have precendence. local tables = {...} for _, t in ipairs(tables) do for key, val in iterator(t) do if metaArgs[key] == nil then metaArgs[key] = tidyVal(key, val) end end end end -- Set the order of precedence of frame args and parent args. local firstArgs, secondArgs = fargs, pargs if options.parentFirst then firstArgs, secondArgs = pargs, fargs end --[[ -- Define metatable behaviour. Arguments are stored in the metaArgs table, and are only fetched from the -- fargs and pargs tables once. Also, we keep a record in the metatable of when pairs and ipairs have -- been called, so we do not run pairs and ipairs on fargs and pargs more than once. We also do not run -- ipairs on fargs and pargs if pairs has already been run, as all the arguments will already have been -- copied over. --]] metatable.__index = function (t, key) local val = metaArgs[key] if val ~= nil then return val else local firstVal = tidyVal(key, firstArgs[key]) if firstVal ~= nil then return firstVal else return tidyVal(key, secondArgs[key]) end end end metatable.__newindex = function (t, key, val) if not options.readOnly and (not options.noOverwrite or args[key] == nil) then metaArgs[key] = val end end metatable.__pairs = function () if not metatable.donePairs then mergeArgs(pairs, firstArgs, secondArgs) metatable.donePairs = true metatable.doneIpairs = true end return pairs(metaArgs) end metatable.__ipairs = function () if not metatable.doneIpairs then mergeArgs(ipairs, firstArgs, secondArgs) metatable.doneIpairs = true end return ipairs(metaArgs) end return args end return arguments mlbkhbrepjlkuvulpiqimx2quqj08o3 9564 9563 2013-12-09T12:03:39Z meta>Mr. Stradivarius 0 use an array to hold argument tables rather than firstArgs and secondArgs variables 9564 Scribunto text/plain -- This module provides easy processing of arguments passed to Scribunto from #invoke. -- It is intended for use by other Lua modules, and should not be called from #invoke directly. local arguments = {} function arguments.getArgs(frame, options) options = type(options) == 'table' and options or {} -- Get the arguments from the frame object if available. If the frame object is not available, we are being called -- from another Lua module or from the debug console, so put the args in a special table so we can differentiate them. local fargs, pargs, luaArgs if frame == mw.getCurrentFrame() then fargs = frame.args pargs = frame:getParent().args else luaArgs = type(frame) == 'table' and frame or {} end -- Set up the args and metaArgs tables. args will be the one accessed from functions, and metaArgs will hold the actual arguments. -- The metatable connects the two together. local args, metaArgs, metatable = {}, {}, {} setmetatable(args, metatable) local function tidyVal(key, val) -- Processes a value according to the options given to getArguments. Can trim whitespace and remove blanks. -- Keys are not used here, but they can be used by user-generated functions, so defining it here to avoid breakage. if type(val) == 'string' then if options.trim ~= false then val = mw.text.trim(val) end if options.removeBlanks == false or mw.ustring.find(val, '%S') then return val end else return val end end -- Use a user-generated function to tidy the values if specified. local valueFunc = options.valueFunc if valueFunc then local valueFuncType = type(valueFunc) if valueFuncType == 'function' then tidyVal = valueFunc else error('type error in option "valueFunc": expected function, got ' .. valueFuncType, 2) end end local function mergeArgs(iterator, tables) -- Accepts multiple tables as input and merges their keys and values into one table using the specified iterator. -- If a value is already present it is not overwritten; tables listed earlier have precendence. for _, t in ipairs(tables) do for key, val in iterator(t) do if metaArgs[key] == nil then metaArgs[key] = tidyVal(key, val) end end end end -- Set the order of precedence of the argument tables. If the variables are nil, nothing will be added to the table, -- which is how we avoid clashes between the frame/parent args and the Lua args. local argTables = {} if options.parentFirst then table.insert(argTables, pargs) table.insert(argTables, fargs) else table.insert(argTables, fargs) table.insert(argTables, pargs) end table.insert(argTables, luaArgs) --[[ -- Define metatable behaviour. Arguments are stored in the metaArgs table, and are only fetched from the -- argument tables once. Also, we keep a record in the metatable of when pairs and ipairs have been called, -- so we do not run pairs and ipairs on fargs and pargs more than once. We also do not run ipairs on fargs -- and pargs if pairs has already been run, as all the arguments will already have been copied over. --]] metatable.__index = function (t, key) local val = metaArgs[key] if val ~= nil then return val else for i, argTable in ipairs(argTables) do local argTableVal = tidyVal(argTable[key]) if argTableVal ~= nil then metaArgs[key] = argTableVal return argTableVal end end end end metatable.__newindex = function (t, key, val) if not options.readOnly and (not options.noOverwrite or args[key] == nil) then metaArgs[key] = val end end metatable.__pairs = function () if not metatable.donePairs then mergeArgs(pairs, argTables) metatable.donePairs = true metatable.doneIpairs = true end return pairs(metaArgs) end metatable.__ipairs = function () if not metatable.doneIpairs then mergeArgs(ipairs, argTables) metatable.doneIpairs = true end return ipairs(metaArgs) end return args end return arguments cnggoay1of5ctunrvq2ork858rst6b1 9565 9564 2013-12-09T12:08:10Z meta>Mr. Stradivarius 0 add options.frameOnly and options.parentOnly 9565 Scribunto text/plain -- This module provides easy processing of arguments passed to Scribunto from #invoke. -- It is intended for use by other Lua modules, and should not be called from #invoke directly. local arguments = {} function arguments.getArgs(frame, options) options = type(options) == 'table' and options or {} -- Get the arguments from the frame object if available. If the frame object is not available, we are being called -- from another Lua module or from the debug console, so put the args in a special table so we can differentiate them. local fargs, pargs, luaArgs if frame == mw.getCurrentFrame() then fargs = frame.args pargs = frame:getParent().args else luaArgs = type(frame) == 'table' and frame or {} end -- Set up the args and metaArgs tables. args will be the one accessed from functions, and metaArgs will hold the actual arguments. -- The metatable connects the two together. local args, metaArgs, metatable = {}, {}, {} setmetatable(args, metatable) local function tidyVal(key, val) -- Processes a value according to the options given to getArguments. Can trim whitespace and remove blanks. -- Keys are not used here, but they can be used by user-generated functions, so defining it here to avoid breakage. if type(val) == 'string' then if options.trim ~= false then val = mw.text.trim(val) end if options.removeBlanks == false or mw.ustring.find(val, '%S') then return val end else return val end end -- Use a user-generated function to tidy the values if specified. local valueFunc = options.valueFunc if valueFunc then local valueFuncType = type(valueFunc) if valueFuncType == 'function' then tidyVal = valueFunc else error('type error in option "valueFunc": expected function, got ' .. valueFuncType, 2) end end local function mergeArgs(iterator, tables) -- Accepts multiple tables as input and merges their keys and values into one table using the specified iterator. -- If a value is already present it is not overwritten; tables listed earlier have precendence. for _, t in ipairs(tables) do for key, val in iterator(t) do if metaArgs[key] == nil then metaArgs[key] = tidyVal(key, val) end end end end -- Set the order of precedence of the argument tables. If the variables are nil, nothing will be added to the table, -- which is how we avoid clashes between the frame/parent args and the Lua args. local argTables = {} if options.frameOnly then table.insert(argTables, fargs) elseif options.parentOnly then table.insert(argTables, pargs) elseif options.parentFirst then table.insert(argTables, pargs) table.insert(argTables, fargs) else table.insert(argTables, fargs) table.insert(argTables, pargs) end table.insert(argTables, luaArgs) --[[ -- Define metatable behaviour. Arguments are stored in the metaArgs table, and are only fetched from the -- argument tables once. Also, we keep a record in the metatable of when pairs and ipairs have been called, -- so we do not run pairs and ipairs on fargs and pargs more than once. We also do not run ipairs on fargs -- and pargs if pairs has already been run, as all the arguments will already have been copied over. --]] metatable.__index = function (t, key) local val = metaArgs[key] if val ~= nil then return val else for i, argTable in ipairs(argTables) do local argTableVal = tidyVal(argTable[key]) if argTableVal ~= nil then metaArgs[key] = argTableVal return argTableVal end end end end metatable.__newindex = function (t, key, val) if not options.readOnly and (not options.noOverwrite or args[key] == nil) then metaArgs[key] = val end end metatable.__pairs = function () if not metatable.donePairs then mergeArgs(pairs, argTables) metatable.donePairs = true metatable.doneIpairs = true end return pairs(metaArgs) end metatable.__ipairs = function () if not metatable.doneIpairs then mergeArgs(ipairs, argTables) metatable.doneIpairs = true end return ipairs(metaArgs) end return args end return arguments i1cd8xjfl8l64tw0sc5540tcdcl9uf9 9566 9565 2013-12-09T13:22:16Z meta>Mr. Stradivarius 0 oops, forgot the first parameter to tidyVal 9566 Scribunto text/plain -- This module provides easy processing of arguments passed to Scribunto from #invoke. -- It is intended for use by other Lua modules, and should not be called from #invoke directly. local arguments = {} function arguments.getArgs(frame, options) options = type(options) == 'table' and options or {} -- Get the arguments from the frame object if available. If the frame object is not available, we are being called -- from another Lua module or from the debug console, so put the args in a special table so we can differentiate them. local fargs, pargs, luaArgs if frame == mw.getCurrentFrame() then fargs = frame.args pargs = frame:getParent().args else luaArgs = type(frame) == 'table' and frame or {} end -- Set up the args and metaArgs tables. args will be the one accessed from functions, and metaArgs will hold the actual arguments. -- The metatable connects the two together. local args, metaArgs, metatable = {}, {}, {} setmetatable(args, metatable) local function tidyVal(key, val) -- Processes a value according to the options given to getArguments. Can trim whitespace and remove blanks. -- Keys are not used here, but they can be used by user-generated functions, so defining it here to avoid breakage. if type(val) == 'string' then if options.trim ~= false then val = mw.text.trim(val) end if options.removeBlanks == false or mw.ustring.find(val, '%S') then return val end else return val end end -- Use a user-generated function to tidy the values if specified. local valueFunc = options.valueFunc if valueFunc then local valueFuncType = type(valueFunc) if valueFuncType == 'function' then tidyVal = valueFunc else error('type error in option "valueFunc": expected function, got ' .. valueFuncType, 2) end end local function mergeArgs(iterator, tables) -- Accepts multiple tables as input and merges their keys and values into one table using the specified iterator. -- If a value is already present it is not overwritten; tables listed earlier have precendence. for _, t in ipairs(tables) do for key, val in iterator(t) do if metaArgs[key] == nil then metaArgs[key] = tidyVal(key, val) end end end end -- Set the order of precedence of the argument tables. If the variables are nil, nothing will be added to the table, -- which is how we avoid clashes between the frame/parent args and the Lua args. local argTables = {} if options.frameOnly then table.insert(argTables, fargs) elseif options.parentOnly then table.insert(argTables, pargs) elseif options.parentFirst then table.insert(argTables, pargs) table.insert(argTables, fargs) else table.insert(argTables, fargs) table.insert(argTables, pargs) end table.insert(argTables, luaArgs) --[[ -- Define metatable behaviour. Arguments are stored in the metaArgs table, and are only fetched from the -- argument tables once. Also, we keep a record in the metatable of when pairs and ipairs have been called, -- so we do not run pairs and ipairs on fargs and pargs more than once. We also do not run ipairs on fargs -- and pargs if pairs has already been run, as all the arguments will already have been copied over. --]] metatable.__index = function (t, key) local val = metaArgs[key] if val ~= nil then return val else for i, argTable in ipairs(argTables) do local argTableVal = tidyVal(key, argTable[key]) if argTableVal ~= nil then metaArgs[key] = argTableVal return argTableVal end end end end metatable.__newindex = function (t, key, val) if not options.readOnly and (not options.noOverwrite or args[key] == nil) then metaArgs[key] = val end end metatable.__pairs = function () if not metatable.donePairs then mergeArgs(pairs, argTables) metatable.donePairs = true metatable.doneIpairs = true end return pairs(metaArgs) end metatable.__ipairs = function () if not metatable.doneIpairs then mergeArgs(ipairs, argTables) metatable.doneIpairs = true end return ipairs(metaArgs) end return args end return arguments juo949t1gclno1ik4ozv58xgea5ctdc 9567 9566 2013-12-09T13:51:00Z meta>Mr. Stradivarius 0 Protected Module:Arguments: [[Wikipedia:Lua/Modules|High-risk Lua module]] ([Edit=Allow only autoconfirmed users] (indefinite) [Move=Allow only autoconfirmed users] (indefinite)) 9566 Scribunto text/plain -- This module provides easy processing of arguments passed to Scribunto from #invoke. -- It is intended for use by other Lua modules, and should not be called from #invoke directly. local arguments = {} function arguments.getArgs(frame, options) options = type(options) == 'table' and options or {} -- Get the arguments from the frame object if available. If the frame object is not available, we are being called -- from another Lua module or from the debug console, so put the args in a special table so we can differentiate them. local fargs, pargs, luaArgs if frame == mw.getCurrentFrame() then fargs = frame.args pargs = frame:getParent().args else luaArgs = type(frame) == 'table' and frame or {} end -- Set up the args and metaArgs tables. args will be the one accessed from functions, and metaArgs will hold the actual arguments. -- The metatable connects the two together. local args, metaArgs, metatable = {}, {}, {} setmetatable(args, metatable) local function tidyVal(key, val) -- Processes a value according to the options given to getArguments. Can trim whitespace and remove blanks. -- Keys are not used here, but they can be used by user-generated functions, so defining it here to avoid breakage. if type(val) == 'string' then if options.trim ~= false then val = mw.text.trim(val) end if options.removeBlanks == false or mw.ustring.find(val, '%S') then return val end else return val end end -- Use a user-generated function to tidy the values if specified. local valueFunc = options.valueFunc if valueFunc then local valueFuncType = type(valueFunc) if valueFuncType == 'function' then tidyVal = valueFunc else error('type error in option "valueFunc": expected function, got ' .. valueFuncType, 2) end end local function mergeArgs(iterator, tables) -- Accepts multiple tables as input and merges their keys and values into one table using the specified iterator. -- If a value is already present it is not overwritten; tables listed earlier have precendence. for _, t in ipairs(tables) do for key, val in iterator(t) do if metaArgs[key] == nil then metaArgs[key] = tidyVal(key, val) end end end end -- Set the order of precedence of the argument tables. If the variables are nil, nothing will be added to the table, -- which is how we avoid clashes between the frame/parent args and the Lua args. local argTables = {} if options.frameOnly then table.insert(argTables, fargs) elseif options.parentOnly then table.insert(argTables, pargs) elseif options.parentFirst then table.insert(argTables, pargs) table.insert(argTables, fargs) else table.insert(argTables, fargs) table.insert(argTables, pargs) end table.insert(argTables, luaArgs) --[[ -- Define metatable behaviour. Arguments are stored in the metaArgs table, and are only fetched from the -- argument tables once. Also, we keep a record in the metatable of when pairs and ipairs have been called, -- so we do not run pairs and ipairs on fargs and pargs more than once. We also do not run ipairs on fargs -- and pargs if pairs has already been run, as all the arguments will already have been copied over. --]] metatable.__index = function (t, key) local val = metaArgs[key] if val ~= nil then return val else for i, argTable in ipairs(argTables) do local argTableVal = tidyVal(key, argTable[key]) if argTableVal ~= nil then metaArgs[key] = argTableVal return argTableVal end end end end metatable.__newindex = function (t, key, val) if not options.readOnly and (not options.noOverwrite or args[key] == nil) then metaArgs[key] = val end end metatable.__pairs = function () if not metatable.donePairs then mergeArgs(pairs, argTables) metatable.donePairs = true metatable.doneIpairs = true end return pairs(metaArgs) end metatable.__ipairs = function () if not metatable.doneIpairs then mergeArgs(ipairs, argTables) metatable.doneIpairs = true end return ipairs(metaArgs) end return args end return arguments juo949t1gclno1ik4ozv58xgea5ctdc 9568 9567 2013-12-10T21:50:32Z meta>Mr. Stradivarius 0 don't use "if frame == mw.getCurrentFrame()" 9568 Scribunto text/plain -- This module provides easy processing of arguments passed to Scribunto from #invoke. -- It is intended for use by other Lua modules, and should not be called from #invoke directly. local arguments = {} function arguments.getArgs(frame, options) options = type(options) == 'table' and options or {} -- Get the arguments from the frame object if available. If the frame object is not available, we are being called -- from another Lua module or from the debug console, so put the args in a special table so we can differentiate them. local fargs, pargs, luaArgs if type(frame) == 'table' and type(frame.args) == 'table' and type(frame.getParent) == 'function' then fargs = frame.args pargs = frame:getParent().args else luaArgs = type(frame) == 'table' and frame or {} end -- Set up the args and metaArgs tables. args will be the one accessed from functions, and metaArgs will hold the actual arguments. -- The metatable connects the two together. local args, metaArgs, metatable = {}, {}, {} setmetatable(args, metatable) local function tidyVal(key, val) -- Processes a value according to the options given to getArguments. Can trim whitespace and remove blanks. -- Keys are not used here, but they can be used by user-generated functions, so defining it here to avoid breakage. if type(val) == 'string' then if options.trim ~= false then val = mw.text.trim(val) end if options.removeBlanks == false or mw.ustring.find(val, '%S') then return val end else return val end end -- Use a user-generated function to tidy the values if specified. local valueFunc = options.valueFunc if valueFunc then local valueFuncType = type(valueFunc) if valueFuncType == 'function' then tidyVal = valueFunc else error('type error in option "valueFunc": expected function, got ' .. valueFuncType, 2) end end local function mergeArgs(iterator, tables) -- Accepts multiple tables as input and merges their keys and values into one table using the specified iterator. -- If a value is already present it is not overwritten; tables listed earlier have precendence. for _, t in ipairs(tables) do for key, val in iterator(t) do if metaArgs[key] == nil then metaArgs[key] = tidyVal(key, val) end end end end -- Set the order of precedence of the argument tables. If the variables are nil, nothing will be added to the table, -- which is how we avoid clashes between the frame/parent args and the Lua args. local argTables = {} if options.frameOnly then table.insert(argTables, fargs) elseif options.parentOnly then table.insert(argTables, pargs) elseif options.parentFirst then table.insert(argTables, pargs) table.insert(argTables, fargs) else table.insert(argTables, fargs) table.insert(argTables, pargs) end table.insert(argTables, luaArgs) --[[ -- Define metatable behaviour. Arguments are stored in the metaArgs table, and are only fetched from the -- argument tables once. Also, we keep a record in the metatable of when pairs and ipairs have been called, -- so we do not run pairs and ipairs on fargs and pargs more than once. We also do not run ipairs on fargs -- and pargs if pairs has already been run, as all the arguments will already have been copied over. --]] metatable.__index = function (t, key) local val = metaArgs[key] if val ~= nil then return val else for i, argTable in ipairs(argTables) do local argTableVal = tidyVal(key, argTable[key]) if argTableVal ~= nil then metaArgs[key] = argTableVal return argTableVal end end end end metatable.__newindex = function (t, key, val) if not options.readOnly and (not options.noOverwrite or args[key] == nil) then metaArgs[key] = val end end metatable.__pairs = function () if not metatable.donePairs then mergeArgs(pairs, argTables) metatable.donePairs = true metatable.doneIpairs = true end return pairs(metaArgs) end metatable.__ipairs = function () if not metatable.doneIpairs then mergeArgs(ipairs, argTables) metatable.doneIpairs = true end return ipairs(metaArgs) end return args end return arguments fw8whdaiq5sne5u1uphpdb6t72sag4p 9569 9568 2013-12-11T13:06:02Z meta>Mr. Stradivarius 0 memoize nils, add type checks for frame and options, use string library functions instead of mw.text.trim and mw.ustring.find, define four different tidyVal functions to avoid checking options every time 9569 Scribunto text/plain -- This module provides easy processing of arguments passed to Scribunto from #invoke. -- It is intended for use by other Lua modules, and should not be called from #invoke directly. local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local arguments = {} local nilArg = {} -- Used for memoizing nil arguments in metaArgs. -- Generate four different tidyVal functions, so that we don't have to check the options every time we call it. local function tidyValDefault(key, val) if type(val) == 'string' then val = val:match('^%s*(.-)%s*$') if val == '' then return nil else return val end else return val end end local function tidyValTrimOnly(key, val) if type(val) == 'string' then return val:match('^%s*(.-)%s*$') else return val end end local function tidyValRemoveBlanksOnly(key, val) if type(val) == 'string' then if val:find('%S') then return val else return nil end else return val end end local function tidyValNoChange(key, val) return val end function arguments.getArgs(frame, options) checkType('getArgs', 1, frame, 'table', true) checkType('getArgs', 2, options, 'table', true) frame = frame or {} options = options or {} -- Get the arguments from the frame object if available. If the frame object is not available, we are being called -- from another Lua module or from the debug console, so put the args in a special table so we can differentiate them. local fargs, pargs, luaArgs if type(frame.args) == 'table' and type(frame.getParent) == 'function' then if not options.parentOnly then fargs = frame.args end if not options.frameOnly then pargs = frame:getParent().args end if options.parentFirst then fargs, pargs = pargs, fargs end else luaArgs = frame end -- Set up the args and metaArgs tables. args will be the one accessed from functions, and metaArgs will hold the actual arguments. -- The metatable connects the two together. local args, metaArgs, metatable = {}, {}, {} setmetatable(args, metatable) -- Generate the tidyVal function. If it has been specified by the user, we use that; if not, we choose one of four functions -- depending on the options chosen. This is so that we don't have to call the options table every time the function is called. local tidyVal = options.valueFunc if tidyVal then if type(tidyVal) ~= 'function' then error("bad value assigned to option 'valueFunc' (function expected, got " .. type(tidyVal) .. ')', 2) end elseif options.trim ~= false then if options.removeBlanks ~= false then tidyVal = tidyValDefault else tidyVal = tidyValTrimOnly end else if options.removeBlanks ~= false then tidyVal = tidyValRemoveBlanksOnly else tidyVal = tidyValNoChange end end local function mergeArgs(iterator, tables) -- Accepts multiple tables as input and merges their keys and values into one table using the specified iterator. -- If a value is already present it is not overwritten; tables listed earlier have precendence. -- We are also memoizing nil values, but those values can be overwritten. for _, t in ipairs(tables) do for key, val in iterator(t) do local metaArgsVal = metaArgs[key] if metaArgsVal == nil or metaArgsVal == nilArg then local tidiedVal = tidyVal(key, val) if tidiedVal == nil then metaArgs[key] = nilArg else metaArgs[key] = tidiedVal end end end end end -- Set the order of precedence of the argument tables. If the variables are nil, nothing will be added to the table, -- which is how we avoid clashes between the frame/parent args and the Lua args. local argTables = {fargs} argTables[#argTables + 1] = pargs argTables[#argTables + 1] = luaArgs --[[ -- Define metatable behaviour. Arguments are memoized in the metaArgs table, and are only fetched from the -- argument tables once. Nil arguments are also memoized using the nilArg variable in order to increase -- performance. Also, we keep a record in the metatable of when pairs and ipairs have been called, so we -- do not run pairs and ipairs on fargs and pargs more than once. We also do not run ipairs on fargs and -- pargs if pairs has already been run, as all the arguments will already have been copied over. --]] metatable.__index = function (t, key) local val = metaArgs[key] if val ~= nil then if val == nilArg then return nil else return val end end for _, argTable in ipairs(argTables) do local argTableVal = tidyVal(key, argTable[key]) if argTableVal == nil then metaArgs[key] = nilArg else metaArgs[key] = argTableVal return argTableVal end end return nil end metatable.__newindex = function (t, key, val) if options.readOnly then error('could not write to argument table key "' .. tostring(key) .. '"; the table is read-only', 2) elseif options.noOverwrite and args[key] ~= nil then error('could not write to argument table key "' .. tostring(key) .. '"; overwriting existing arguments is not permitted', 2) elseif val == nil then metaArgs[key] = nilArg -- Memoize nils. else metaArgs[key] = val end end metatable.__pairs = function () if not metatable.donePairs then mergeArgs(pairs, argTables) metatable.donePairs = true metatable.doneIpairs = true end return pairs(metaArgs) end metatable.__ipairs = function () if not metatable.doneIpairs then mergeArgs(ipairs, argTables) metatable.doneIpairs = true end return ipairs(metaArgs) end return args end return arguments c3vibkvz3pzg88rx3hmibeiaqgwytil 9570 9569 2013-12-12T03:13:28Z meta>Mr. Stradivarius 0 tweak comment 9570 Scribunto text/plain -- This module provides easy processing of arguments passed to Scribunto from #invoke. -- It is intended for use by other Lua modules, and should not be called from #invoke directly. local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local arguments = {} local nilArg = {} -- Used for memoizing nil arguments in metaArgs. -- Generate four different tidyVal functions, so that we don't have to check the options every time we call it. local function tidyValDefault(key, val) if type(val) == 'string' then val = val:match('^%s*(.-)%s*$') if val == '' then return nil else return val end else return val end end local function tidyValTrimOnly(key, val) if type(val) == 'string' then return val:match('^%s*(.-)%s*$') else return val end end local function tidyValRemoveBlanksOnly(key, val) if type(val) == 'string' then if val:find('%S') then return val else return nil end else return val end end local function tidyValNoChange(key, val) return val end function arguments.getArgs(frame, options) checkType('getArgs', 1, frame, 'table', true) checkType('getArgs', 2, options, 'table', true) frame = frame or {} options = options or {} -- Get the arguments from the frame object if available. If the frame object is not available, we are being called -- from another Lua module or from the debug console, so assign the args to a new variable so we can differentiate them. local fargs, pargs, luaArgs if type(frame.args) == 'table' and type(frame.getParent) == 'function' then if not options.parentOnly then fargs = frame.args end if not options.frameOnly then pargs = frame:getParent().args end if options.parentFirst then fargs, pargs = pargs, fargs end else luaArgs = frame end -- Set up the args and metaArgs tables. args will be the one accessed from functions, and metaArgs will hold the actual arguments. -- The metatable connects the two together. local args, metaArgs, metatable = {}, {}, {} setmetatable(args, metatable) -- Generate the tidyVal function. If it has been specified by the user, we use that; if not, we choose one of four functions -- depending on the options chosen. This is so that we don't have to call the options table every time the function is called. local tidyVal = options.valueFunc if tidyVal then if type(tidyVal) ~= 'function' then error("bad value assigned to option 'valueFunc' (function expected, got " .. type(tidyVal) .. ')', 2) end elseif options.trim ~= false then if options.removeBlanks ~= false then tidyVal = tidyValDefault else tidyVal = tidyValTrimOnly end else if options.removeBlanks ~= false then tidyVal = tidyValRemoveBlanksOnly else tidyVal = tidyValNoChange end end local function mergeArgs(iterator, tables) -- Accepts multiple tables as input and merges their keys and values into one table using the specified iterator. -- If a value is already present it is not overwritten; tables listed earlier have precendence. -- We are also memoizing nil values, but those values can be overwritten. for _, t in ipairs(tables) do for key, val in iterator(t) do local metaArgsVal = metaArgs[key] if metaArgsVal == nil or metaArgsVal == nilArg then local tidiedVal = tidyVal(key, val) if tidiedVal == nil then metaArgs[key] = nilArg else metaArgs[key] = tidiedVal end end end end end -- Set the order of precedence of the argument tables. If the variables are nil, nothing will be added to the table, -- which is how we avoid clashes between the frame/parent args and the Lua args. local argTables = {fargs} argTables[#argTables + 1] = pargs argTables[#argTables + 1] = luaArgs --[[ -- Define metatable behaviour. Arguments are memoized in the metaArgs table, and are only fetched from the -- argument tables once. Nil arguments are also memoized using the nilArg variable in order to increase -- performance. Also, we keep a record in the metatable of when pairs and ipairs have been called, so we -- do not run pairs and ipairs on fargs and pargs more than once. We also do not run ipairs on fargs and -- pargs if pairs has already been run, as all the arguments will already have been copied over. --]] metatable.__index = function (t, key) local val = metaArgs[key] if val ~= nil then if val == nilArg then return nil else return val end end for _, argTable in ipairs(argTables) do local argTableVal = tidyVal(key, argTable[key]) if argTableVal == nil then metaArgs[key] = nilArg else metaArgs[key] = argTableVal return argTableVal end end return nil end metatable.__newindex = function (t, key, val) if options.readOnly then error('could not write to argument table key "' .. tostring(key) .. '"; the table is read-only', 2) elseif options.noOverwrite and args[key] ~= nil then error('could not write to argument table key "' .. tostring(key) .. '"; overwriting existing arguments is not permitted', 2) elseif val == nil then metaArgs[key] = nilArg -- Memoize nils. else metaArgs[key] = val end end metatable.__pairs = function () if not metatable.donePairs then mergeArgs(pairs, argTables) metatable.donePairs = true metatable.doneIpairs = true end return pairs(metaArgs) end metatable.__ipairs = function () if not metatable.doneIpairs then mergeArgs(ipairs, argTables) metatable.doneIpairs = true end return ipairs(metaArgs) end return args end return arguments qyssoh3qk5jvu52bhgb0wo1r75pg59j 9571 9570 2013-12-18T00:51:27Z meta>Mr. Stradivarius 0 Changed protection level of Module:Arguments: [[Wikipedia:Lua/Modules|High-risk Lua module]] ([Edit=Allow only template editors and admins] (indefinite) [Move=Allow only template editors and admins] (indefinite)) 9570 Scribunto text/plain -- This module provides easy processing of arguments passed to Scribunto from #invoke. -- It is intended for use by other Lua modules, and should not be called from #invoke directly. local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local arguments = {} local nilArg = {} -- Used for memoizing nil arguments in metaArgs. -- Generate four different tidyVal functions, so that we don't have to check the options every time we call it. local function tidyValDefault(key, val) if type(val) == 'string' then val = val:match('^%s*(.-)%s*$') if val == '' then return nil else return val end else return val end end local function tidyValTrimOnly(key, val) if type(val) == 'string' then return val:match('^%s*(.-)%s*$') else return val end end local function tidyValRemoveBlanksOnly(key, val) if type(val) == 'string' then if val:find('%S') then return val else return nil end else return val end end local function tidyValNoChange(key, val) return val end function arguments.getArgs(frame, options) checkType('getArgs', 1, frame, 'table', true) checkType('getArgs', 2, options, 'table', true) frame = frame or {} options = options or {} -- Get the arguments from the frame object if available. If the frame object is not available, we are being called -- from another Lua module or from the debug console, so assign the args to a new variable so we can differentiate them. local fargs, pargs, luaArgs if type(frame.args) == 'table' and type(frame.getParent) == 'function' then if not options.parentOnly then fargs = frame.args end if not options.frameOnly then pargs = frame:getParent().args end if options.parentFirst then fargs, pargs = pargs, fargs end else luaArgs = frame end -- Set up the args and metaArgs tables. args will be the one accessed from functions, and metaArgs will hold the actual arguments. -- The metatable connects the two together. local args, metaArgs, metatable = {}, {}, {} setmetatable(args, metatable) -- Generate the tidyVal function. If it has been specified by the user, we use that; if not, we choose one of four functions -- depending on the options chosen. This is so that we don't have to call the options table every time the function is called. local tidyVal = options.valueFunc if tidyVal then if type(tidyVal) ~= 'function' then error("bad value assigned to option 'valueFunc' (function expected, got " .. type(tidyVal) .. ')', 2) end elseif options.trim ~= false then if options.removeBlanks ~= false then tidyVal = tidyValDefault else tidyVal = tidyValTrimOnly end else if options.removeBlanks ~= false then tidyVal = tidyValRemoveBlanksOnly else tidyVal = tidyValNoChange end end local function mergeArgs(iterator, tables) -- Accepts multiple tables as input and merges their keys and values into one table using the specified iterator. -- If a value is already present it is not overwritten; tables listed earlier have precendence. -- We are also memoizing nil values, but those values can be overwritten. for _, t in ipairs(tables) do for key, val in iterator(t) do local metaArgsVal = metaArgs[key] if metaArgsVal == nil or metaArgsVal == nilArg then local tidiedVal = tidyVal(key, val) if tidiedVal == nil then metaArgs[key] = nilArg else metaArgs[key] = tidiedVal end end end end end -- Set the order of precedence of the argument tables. If the variables are nil, nothing will be added to the table, -- which is how we avoid clashes between the frame/parent args and the Lua args. local argTables = {fargs} argTables[#argTables + 1] = pargs argTables[#argTables + 1] = luaArgs --[[ -- Define metatable behaviour. Arguments are memoized in the metaArgs table, and are only fetched from the -- argument tables once. Nil arguments are also memoized using the nilArg variable in order to increase -- performance. Also, we keep a record in the metatable of when pairs and ipairs have been called, so we -- do not run pairs and ipairs on fargs and pargs more than once. We also do not run ipairs on fargs and -- pargs if pairs has already been run, as all the arguments will already have been copied over. --]] metatable.__index = function (t, key) local val = metaArgs[key] if val ~= nil then if val == nilArg then return nil else return val end end for _, argTable in ipairs(argTables) do local argTableVal = tidyVal(key, argTable[key]) if argTableVal == nil then metaArgs[key] = nilArg else metaArgs[key] = argTableVal return argTableVal end end return nil end metatable.__newindex = function (t, key, val) if options.readOnly then error('could not write to argument table key "' .. tostring(key) .. '"; the table is read-only', 2) elseif options.noOverwrite and args[key] ~= nil then error('could not write to argument table key "' .. tostring(key) .. '"; overwriting existing arguments is not permitted', 2) elseif val == nil then metaArgs[key] = nilArg -- Memoize nils. else metaArgs[key] = val end end metatable.__pairs = function () if not metatable.donePairs then mergeArgs(pairs, argTables) metatable.donePairs = true metatable.doneIpairs = true end return pairs(metaArgs) end metatable.__ipairs = function () if not metatable.doneIpairs then mergeArgs(ipairs, argTables) metatable.doneIpairs = true end return ipairs(metaArgs) end return args end return arguments qyssoh3qk5jvu52bhgb0wo1r75pg59j 9572 9571 2014-01-12T21:00:02Z meta>Anomie 0 Fix __pairs and __ipairs functions to handle the nil marker 9572 Scribunto text/plain -- This module provides easy processing of arguments passed to Scribunto from #invoke. -- It is intended for use by other Lua modules, and should not be called from #invoke directly. local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local arguments = {} local nilArg = {} -- Used for memoizing nil arguments in metaArgs. -- Generate four different tidyVal functions, so that we don't have to check the options every time we call it. local function tidyValDefault(key, val) if type(val) == 'string' then val = val:match('^%s*(.-)%s*$') if val == '' then return nil else return val end else return val end end local function tidyValTrimOnly(key, val) if type(val) == 'string' then return val:match('^%s*(.-)%s*$') else return val end end local function tidyValRemoveBlanksOnly(key, val) if type(val) == 'string' then if val:find('%S') then return val else return nil end else return val end end local function tidyValNoChange(key, val) return val end function arguments.getArgs(frame, options) checkType('getArgs', 1, frame, 'table', true) checkType('getArgs', 2, options, 'table', true) frame = frame or {} options = options or {} -- Get the arguments from the frame object if available. If the frame object is not available, we are being called -- from another Lua module or from the debug console, so assign the args to a new variable so we can differentiate them. local fargs, pargs, luaArgs if type(frame.args) == 'table' and type(frame.getParent) == 'function' then if not options.parentOnly then fargs = frame.args end if not options.frameOnly then pargs = frame:getParent().args end if options.parentFirst then fargs, pargs = pargs, fargs end else luaArgs = frame end -- Set up the args and metaArgs tables. args will be the one accessed from functions, and metaArgs will hold the actual arguments. -- The metatable connects the two together. local args, metaArgs, metatable = {}, {}, {} setmetatable(args, metatable) -- Generate the tidyVal function. If it has been specified by the user, we use that; if not, we choose one of four functions -- depending on the options chosen. This is so that we don't have to call the options table every time the function is called. local tidyVal = options.valueFunc if tidyVal then if type(tidyVal) ~= 'function' then error("bad value assigned to option 'valueFunc' (function expected, got " .. type(tidyVal) .. ')', 2) end elseif options.trim ~= false then if options.removeBlanks ~= false then tidyVal = tidyValDefault else tidyVal = tidyValTrimOnly end else if options.removeBlanks ~= false then tidyVal = tidyValRemoveBlanksOnly else tidyVal = tidyValNoChange end end local function mergeArgs(iterator, tables) -- Accepts multiple tables as input and merges their keys and values into one table using the specified iterator. -- If a value is already present it is not overwritten; tables listed earlier have precendence. -- We are also memoizing nil values, but those values can be overwritten. for _, t in ipairs(tables) do for key, val in iterator(t) do local metaArgsVal = metaArgs[key] if metaArgsVal == nil or metaArgsVal == nilArg then local tidiedVal = tidyVal(key, val) if tidiedVal == nil then metaArgs[key] = nilArg else metaArgs[key] = tidiedVal end end end end end -- Set the order of precedence of the argument tables. If the variables are nil, nothing will be added to the table, -- which is how we avoid clashes between the frame/parent args and the Lua args. local argTables = {fargs} argTables[#argTables + 1] = pargs argTables[#argTables + 1] = luaArgs --[[ -- Define metatable behaviour. Arguments are memoized in the metaArgs table, and are only fetched from the -- argument tables once. Nil arguments are also memoized using the nilArg variable in order to increase -- performance. Also, we keep a record in the metatable of when pairs and ipairs have been called, so we -- do not run pairs and ipairs on fargs and pargs more than once. We also do not run ipairs on fargs and -- pargs if pairs has already been run, as all the arguments will already have been copied over. --]] metatable.__index = function (t, key) local val = metaArgs[key] if val ~= nil then if val == nilArg then return nil else return val end end for _, argTable in ipairs(argTables) do local argTableVal = tidyVal(key, argTable[key]) if argTableVal == nil then metaArgs[key] = nilArg else metaArgs[key] = argTableVal return argTableVal end end return nil end metatable.__newindex = function (t, key, val) if options.readOnly then error('could not write to argument table key "' .. tostring(key) .. '"; the table is read-only', 2) elseif options.noOverwrite and args[key] ~= nil then error('could not write to argument table key "' .. tostring(key) .. '"; overwriting existing arguments is not permitted', 2) elseif val == nil then metaArgs[key] = nilArg -- Memoize nils. else metaArgs[key] = val end end metatable.__pairs = function () if not metatable.donePairs then mergeArgs(pairs, argTables) metatable.donePairs = true metatable.doneIpairs = true end return function ( t, k ) local nk, val = next( metaArgs, k ) if val == nilArg then val = nil end return nk, val end end metatable.__ipairs = function () if not metatable.doneIpairs then mergeArgs(ipairs, argTables) metatable.doneIpairs = true end return function ( t, i ) local val = metaArgs[i + 1] if val == nil then return nil elseif val == nilArg then val = nil end return i + 1, val end, nil, 0 end return args end return arguments bq1j7mnfqj0aq4x4e8z2c46c5onxyh8 9573 9572 2014-01-13T05:40:58Z meta>Mr. Stradivarius 0 tweak one of the comments and make some beautification fixes, now that this is in the job queue 9573 Scribunto text/plain -- This module provides easy processing of arguments passed to Scribunto from #invoke. -- It is intended for use by other Lua modules, and should not be called from #invoke directly. local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local arguments = {} local nilArg = {} -- Used for memoizing nil arguments in metaArgs. -- Generate four different tidyVal functions, so that we don't have to check the options every time we call it. local function tidyValDefault(key, val) if type(val) == 'string' then val = val:match('^%s*(.-)%s*$') if val == '' then return nil else return val end else return val end end local function tidyValTrimOnly(key, val) if type(val) == 'string' then return val:match('^%s*(.-)%s*$') else return val end end local function tidyValRemoveBlanksOnly(key, val) if type(val) == 'string' then if val:find('%S') then return val else return nil end else return val end end local function tidyValNoChange(key, val) return val end function arguments.getArgs(frame, options) checkType('getArgs', 1, frame, 'table', true) checkType('getArgs', 2, options, 'table', true) frame = frame or {} options = options or {} -- Get the arguments from the frame object if available. If the frame object is not available, we are being called -- from another Lua module or from the debug console, so assign the args to a new variable so we can differentiate them. local fargs, pargs, luaArgs if type(frame.args) == 'table' and type(frame.getParent) == 'function' then if not options.parentOnly then fargs = frame.args end if not options.frameOnly then pargs = frame:getParent().args end if options.parentFirst then fargs, pargs = pargs, fargs end else luaArgs = frame end -- Set up the args and metaArgs tables. args will be the one accessed from functions, and metaArgs will hold the actual arguments. -- The metatable connects the two together. local args, metaArgs, metatable = {}, {}, {} setmetatable(args, metatable) -- Generate the tidyVal function. If it has been specified by the user, we use that; if not, we choose one of four functions -- depending on the options chosen. This is so that we don't have to call the options table every time the function is called. local tidyVal = options.valueFunc if tidyVal then if type(tidyVal) ~= 'function' then error("bad value assigned to option 'valueFunc' (function expected, got " .. type(tidyVal) .. ')', 2) end elseif options.trim ~= false then if options.removeBlanks ~= false then tidyVal = tidyValDefault else tidyVal = tidyValTrimOnly end else if options.removeBlanks ~= false then tidyVal = tidyValRemoveBlanksOnly else tidyVal = tidyValNoChange end end local function mergeArgs(iterator, tables) -- Accepts multiple tables as input and merges their keys and values into one table using the specified iterator. -- If a value is already present it is not overwritten; tables listed earlier have precedence. -- We are also memoizing nil values, but those values can be overwritten. for _, t in ipairs(tables) do for key, val in iterator(t) do local metaArgsVal = metaArgs[key] if metaArgsVal == nil or metaArgsVal == nilArg then local tidiedVal = tidyVal(key, val) if tidiedVal == nil then metaArgs[key] = nilArg else metaArgs[key] = tidiedVal end end end end end -- Set the order of precedence of the argument tables. If the variables are nil, nothing will be added to the table, -- which is how we avoid clashes between the frame/parent args and the Lua args. local argTables = {fargs} argTables[#argTables + 1] = pargs argTables[#argTables + 1] = luaArgs --[[ -- Define metatable behaviour. Arguments are memoized in the metaArgs table, and are only fetched from the -- argument tables once. Nil arguments are also memoized using the nilArg variable in order to increase -- performance. Also, we keep a record in the metatable of when pairs and ipairs have been called, so we -- do not run pairs and ipairs on fargs and pargs more than once. We also do not run ipairs on fargs and -- pargs if pairs has already been run, as all the arguments will already have been copied over. --]] metatable.__index = function (t, key) local val = metaArgs[key] if val ~= nil then if val == nilArg then return nil else return val end end for _, argTable in ipairs(argTables) do local argTableVal = tidyVal(key, argTable[key]) if argTableVal == nil then metaArgs[key] = nilArg else metaArgs[key] = argTableVal return argTableVal end end return nil end metatable.__newindex = function (t, key, val) if options.readOnly then error('could not write to argument table key "' .. tostring(key) .. '"; the table is read-only', 2) elseif options.noOverwrite and args[key] ~= nil then error('could not write to argument table key "' .. tostring(key) .. '"; overwriting existing arguments is not permitted', 2) elseif val == nil then metaArgs[key] = nilArg -- Memoize nils. else metaArgs[key] = val end end metatable.__pairs = function () if not metatable.donePairs then mergeArgs(pairs, argTables) metatable.donePairs = true metatable.doneIpairs = true end return function (t, k) local nk, val = next(metaArgs, k) if val == nilArg then val = nil end return nk, val end end metatable.__ipairs = function () if not metatable.doneIpairs then mergeArgs(ipairs, argTables) metatable.doneIpairs = true end return function (t, i) local val = metaArgs[i + 1] if val == nil then return nil elseif val == nilArg then val = nil end return i + 1, val end, nil, 0 end return args end return arguments shj2fpwayer5zfm1tiuj45e19ovlmf1 9574 9559 2014-04-15T08:10:43Z meta>Mr. Stradivarius 0 fix undefined next() behaviour bug by checking for metatable.donePairs in the __index metamethod; also, format the module so it fits into 80 characters 9574 Scribunto text/plain -- This module provides easy processing of arguments passed to Scribunto from -- #invoke. It is intended for use by other Lua modules, and should not be -- called from #invoke directly. local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local arguments = {} local nilArg = {} -- Used for memoizing nil arguments in metaArgs. -- Generate four different tidyVal functions, so that we don't have to check the -- options every time we call it. local function tidyValDefault(key, val) if type(val) == 'string' then val = val:match('^%s*(.-)%s*$') if val == '' then return nil else return val end else return val end end local function tidyValTrimOnly(key, val) if type(val) == 'string' then return val:match('^%s*(.-)%s*$') else return val end end local function tidyValRemoveBlanksOnly(key, val) if type(val) == 'string' then if val:find('%S') then return val else return nil end else return val end end local function tidyValNoChange(key, val) return val end function arguments.getArgs(frame, options) checkType('getArgs', 1, frame, 'table', true) checkType('getArgs', 2, options, 'table', true) frame = frame or {} options = options or {} --[[ -- Get the arguments from the frame object if available. If the frame object -- is not available, we are being called from another Lua module or from the -- debug console, so assign the args to a new variable so we can -- differentiate them. --]] local fargs, pargs, luaArgs if type(frame.args) == 'table' and type(frame.getParent) == 'function' then if not options.parentOnly then fargs = frame.args end if not options.frameOnly then pargs = frame:getParent().args end if options.parentFirst then fargs, pargs = pargs, fargs end else luaArgs = frame end -- Set up the args and metaArgs tables. args will be the one accessed from -- functions, and metaArgs will hold the actual arguments. The metatable -- connects the two together. local args, metaArgs, metatable = {}, {}, {} setmetatable(args, metatable) --[[ -- Generate the tidyVal function. If it has been specified by the user, we -- use that; if not, we choose one of four functions depending on the -- options chosen. This is so that we don't have to call the options table -- every time the function is called. --]] local tidyVal = options.valueFunc if tidyVal then if type(tidyVal) ~= 'function' then error( "bad value assigned to option 'valueFunc'" .. '(function expected, got ' .. type(tidyVal) .. ')', 2 ) end elseif options.trim ~= false then if options.removeBlanks ~= false then tidyVal = tidyValDefault else tidyVal = tidyValTrimOnly end else if options.removeBlanks ~= false then tidyVal = tidyValRemoveBlanksOnly else tidyVal = tidyValNoChange end end local function mergeArgs(iterator, tables) --[[ -- Accepts multiple tables as input and merges their keys and values -- into one table using the specified iterator. If a value is already -- present it is not overwritten; tables listed earlier have precedence. -- We are also memoizing nil values, but those values can be -- overwritten. --]] for _, t in ipairs(tables) do for key, val in iterator(t) do local metaArgsVal = metaArgs[key] if metaArgsVal == nil or metaArgsVal == nilArg then local tidiedVal = tidyVal(key, val) if tidiedVal == nil then metaArgs[key] = nilArg else metaArgs[key] = tidiedVal end end end end end -- Set the order of precedence of the argument tables. If the variables are -- nil, nothing will be added to the table, which is how we avoid clashes -- between the frame/parent args and the Lua args. local argTables = {fargs} argTables[#argTables + 1] = pargs argTables[#argTables + 1] = luaArgs --[[ -- Define metatable behaviour. Arguments are memoized in the metaArgs table, -- and are only fetched from the argument tables once. Nil arguments are -- also memoized using the nilArg variable in order to increase performance. -- Also, we keep a record in the metatable of when pairs and ipairs have -- been called, so we do not run pairs and ipairs on fargs and pargs more -- than once. We also do not run ipairs on fargs and pargs if pairs has -- already been run, as all the arguments will already have been copied -- over. --]] metatable.__index = function (t, key) local val = metaArgs[key] if metatable.donePairs or val ~= nil then --[[ -- We have either memoized the argument already, or pairs has been -- called, meaning that mergeArgs has already copied all of the -- available arguments into the metaArgs table. We need to check for -- pairs as we can't memoize nils to the metaArgs table while pairs -- is iterating. Adding new instances of nilArg to the metaArgs -- table while pairs is iterating over it produces undefined -- behaviour in the next() function. --]] if val == nilArg then return nil else return val end end for _, argTable in ipairs(argTables) do local argTableVal = tidyVal(key, argTable[key]) if argTableVal == nil then metaArgs[key] = nilArg else metaArgs[key] = argTableVal return argTableVal end end return nil end metatable.__newindex = function (t, key, val) if options.readOnly then error( 'could not write to argument table key "' .. tostring(key) .. '"; the table is read-only', 2 ) elseif options.noOverwrite and args[key] ~= nil then error( 'could not write to argument table key "' .. tostring(key) .. '"; overwriting existing arguments is not permitted', 2 ) elseif val == nil then metaArgs[key] = nilArg -- Memoize nils. else metaArgs[key] = val end end metatable.__pairs = function () if not metatable.donePairs then mergeArgs(pairs, argTables) metatable.donePairs = true metatable.doneIpairs = true end return function (t, k) local nk, val = next(metaArgs, k) if val == nilArg then val = nil end return nk, val end end metatable.__ipairs = function () if not metatable.doneIpairs then mergeArgs(ipairs, argTables) metatable.doneIpairs = true end return function (t, i) local val = metaArgs[i + 1] if val == nil then return nil elseif val == nilArg then val = nil end return i + 1, val end, nil, 0 end return args end return arguments soz7ckaiuuxtgprig23ayjvzn2s9sun 9575 9574 2014-04-18T10:30:10Z meta>Mr. Stradivarius 0 memoize nils using a separate nilArgs table; this fixes a bug where nil values were being iterated over with pairs() 9575 Scribunto text/plain -- This module provides easy processing of arguments passed to Scribunto from -- #invoke. It is intended for use by other Lua modules, and should not be -- called from #invoke directly. local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local arguments = {} -- Generate four different tidyVal functions, so that we don't have to check the -- options every time we call it. local function tidyValDefault(key, val) if type(val) == 'string' then val = val:match('^%s*(.-)%s*$') if val == '' then return nil else return val end else return val end end local function tidyValTrimOnly(key, val) if type(val) == 'string' then return val:match('^%s*(.-)%s*$') else return val end end local function tidyValRemoveBlanksOnly(key, val) if type(val) == 'string' then if val:find('%S') then return val else return nil end else return val end end local function tidyValNoChange(key, val) return val end function arguments.getArgs(frame, options) checkType('getArgs', 1, frame, 'table', true) checkType('getArgs', 2, options, 'table', true) frame = frame or {} options = options or {} --[[ -- Get the arguments from the frame object if available. If the frame object -- is not available, we are being called from another Lua module or from the -- debug console, so assign the args to a new variable so we can -- differentiate them. --]] local fargs, pargs, luaArgs if type(frame.args) == 'table' and type(frame.getParent) == 'function' then if not options.parentOnly then fargs = frame.args end if not options.frameOnly then pargs = frame:getParent().args end if options.parentFirst then fargs, pargs = pargs, fargs end else luaArgs = frame end -- Set the order of precedence of the argument tables. If the variables are -- nil, nothing will be added to the table, which is how we avoid clashes -- between the frame/parent args and the Lua args. local argTables = {fargs} argTables[#argTables + 1] = pargs argTables[#argTables + 1] = luaArgs --[[ -- Generate the tidyVal function. If it has been specified by the user, we -- use that; if not, we choose one of four functions depending on the -- options chosen. This is so that we don't have to call the options table -- every time the function is called. --]] local tidyVal = options.valueFunc if tidyVal then if type(tidyVal) ~= 'function' then error( "bad value assigned to option 'valueFunc'" .. '(function expected, got ' .. type(tidyVal) .. ')', 2 ) end elseif options.trim ~= false then if options.removeBlanks ~= false then tidyVal = tidyValDefault else tidyVal = tidyValTrimOnly end else if options.removeBlanks ~= false then tidyVal = tidyValRemoveBlanksOnly else tidyVal = tidyValNoChange end end --[[ -- Set up the args, metaArgs and nilArgs tables. args will be the one -- accessed from functions, and metaArgs will hold the actual arguments. Nil -- arguments are memoized in nilArgs, and the metatable connects all of them -- together. --]] local args, metaArgs, nilArgs, metatable = {}, {}, {}, {} setmetatable(args, metatable) local function mergeArgs(iterator, tables) --[[ -- Accepts multiple tables as input and merges their keys and values -- into one table using the specified iterator. If a value is already -- present it is not overwritten; tables listed earlier have precedence. -- We are also memoizing nil values, but those values can be -- overwritten. --]] for _, t in ipairs(tables) do for key, val in iterator(t) do if metaArgs[key] == nil then local tidiedVal = tidyVal(key, val) if tidiedVal == nil then nilArgs[key] = true else metaArgs[key] = tidiedVal end end end end end --[[ -- Define metatable behaviour. Arguments are memoized in the metaArgs table, -- and are only fetched from the argument tables once. Fetching arguments -- from the argument tables is the most resource-intensive step in this -- module, so we try and avoid it where possible. For this reason, nil -- arguments are also memoized, in the nilArgs table. Also, we keep a record -- in the metatable of when pairs and ipairs have been called, so we do not -- run pairs and ipairs on the argument tables more than once. We also do -- not run ipairs on fargs and pargs if pairs has already been run, as all -- the arguments will already have been copied over. --]] metatable.__index = function (t, key) --[[ -- Fetches an argument when the args table is indexed. First we check -- to see if the value is memoized, and if not we try and fetch it from -- the argument tables. When we check memoization, we need to check -- metaArgs before nilArgs, as both can be non-nil at the same time. -- If the argument is not present in metaArgs, we also check whether -- pairs has been run yet. If pairs has already been run, we return nil. -- This is because all the arguments will have already been copied into -- metaArgs by the mergeArgs function, meaning that any other arguments -- must be nil. --]] local val = metaArgs[key] if val ~= nil then return val elseif metatable.donePairs or nilArgs[key] then return nil end for _, argTable in ipairs(argTables) do local argTableVal = tidyVal(key, argTable[key]) if argTableVal == nil then nilArgs[key] = true else metaArgs[key] = argTableVal return argTableVal end end return nil end metatable.__newindex = function (t, key, val) -- This function is called when a module tries to add a new value to the -- args table, or tries to change an existing value. if options.readOnly then error( 'could not write to argument table key "' .. tostring(key) .. '"; the table is read-only', 2 ) elseif options.noOverwrite and args[key] ~= nil then error( 'could not write to argument table key "' .. tostring(key) .. '"; overwriting existing arguments is not permitted', 2 ) elseif val == nil then --[[ -- If the argument is to be overwritten with nil, we need to erase -- the value in metaArgs, so that __index, __pairs and __ipairs do -- not use a previous existing value, if present; and we also need -- to memoize the nil in nilArgs, so that the value isn't looked -- up in the argument tables if it is accessed again. --]] metaArgs[key] = nil nilArgs[key] = true -- Memoize nils. else metaArgs[key] = val end end metatable.__pairs = function () -- Called when pairs is run on the args table. if not metatable.donePairs then mergeArgs(pairs, argTables) metatable.donePairs = true metatable.doneIpairs = true end return pairs(metaArgs) end metatable.__ipairs = function () -- Called when ipairs is run on the args table. if not metatable.doneIpairs then mergeArgs(ipairs, argTables) metatable.doneIpairs = true end return ipairs(metaArgs) end return args end return arguments 40uxhi8w4ka6how2vsohizy8ehdfiej 9576 9575 2014-06-06T14:24:47Z meta>Mr. Stradivarius 0 add a "wrappers" option and fix bug when frame:getParent() returns nil, per protected edit request by [[User:Jackmcbarn]] 9576 Scribunto text/plain -- This module provides easy processing of arguments passed to Scribunto from -- #invoke. It is intended for use by other Lua modules, and should not be -- called from #invoke directly. local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local arguments = {} -- Generate four different tidyVal functions, so that we don't have to check the -- options every time we call it. local function tidyValDefault(key, val) if type(val) == 'string' then val = val:match('^%s*(.-)%s*$') if val == '' then return nil else return val end else return val end end local function tidyValTrimOnly(key, val) if type(val) == 'string' then return val:match('^%s*(.-)%s*$') else return val end end local function tidyValRemoveBlanksOnly(key, val) if type(val) == 'string' then if val:find('%S') then return val else return nil end else return val end end local function tidyValNoChange(key, val) return val end function arguments.getArgs(frame, options) checkType('getArgs', 1, frame, 'table', true) checkType('getArgs', 2, options, 'table', true) frame = frame or {} options = options or {} --[[ -- Get the argument tables. If we were passed a valid frame object, get the -- frame arguments (fargs) and the parent frame arguments (pargs), depending -- on the options set and on the parent frame's availability. If we weren't -- passed a valid frame object, we are being called from another Lua module -- or from the debug console, so assume that we were passed a table of args -- directly, and assign it to a new variable (luaArgs). --]] local fargs, pargs, luaArgs if type(frame.args) == 'table' and type(frame.getParent) == 'function' then if options.wrappers then --[[ -- The wrappers option makes Module:Arguments look up arguments in -- either the frame argument table or the parent argument table, but -- not both. This means that users can use either the #invoke syntax -- or a wrapper template without the loss of performance associated -- with looking arguments up in both the frame and the parent frame. -- Module:Arguments will look up arguments in the parent frame -- if it finds the parent frame's title in options.wrapper; -- otherwise it will look up arguments in the frame object passed -- to getArgs. --]] local parent = frame:getParent() if not parent then fargs = frame.args else local title = parent:getTitle():gsub('/sandbox$', '') local found = false if type(options.wrappers) == 'table' then for _,v in pairs(options.wrappers) do if v == title then found = true break end end elseif options.wrappers == title then found = true end if found then pargs = parent.args else fargs = frame.args end end else -- options.wrapper isn't set, so check the other options. if not options.parentOnly then fargs = frame.args end if not options.frameOnly then local parent = frame:getParent() pargs = parent and parent.args or nil end if options.parentFirst then fargs, pargs = pargs, fargs end end else luaArgs = frame end -- Set the order of precedence of the argument tables. If the variables are -- nil, nothing will be added to the table, which is how we avoid clashes -- between the frame/parent args and the Lua args. local argTables = {fargs} argTables[#argTables + 1] = pargs argTables[#argTables + 1] = luaArgs --[[ -- Generate the tidyVal function. If it has been specified by the user, we -- use that; if not, we choose one of four functions depending on the -- options chosen. This is so that we don't have to call the options table -- every time the function is called. --]] local tidyVal = options.valueFunc if tidyVal then if type(tidyVal) ~= 'function' then error( "bad value assigned to option 'valueFunc'" .. '(function expected, got ' .. type(tidyVal) .. ')', 2 ) end elseif options.trim ~= false then if options.removeBlanks ~= false then tidyVal = tidyValDefault else tidyVal = tidyValTrimOnly end else if options.removeBlanks ~= false then tidyVal = tidyValRemoveBlanksOnly else tidyVal = tidyValNoChange end end --[[ -- Set up the args, metaArgs and nilArgs tables. args will be the one -- accessed from functions, and metaArgs will hold the actual arguments. Nil -- arguments are memoized in nilArgs, and the metatable connects all of them -- together. --]] local args, metaArgs, nilArgs, metatable = {}, {}, {}, {} setmetatable(args, metatable) local function mergeArgs(iterator, tables) --[[ -- Accepts multiple tables as input and merges their keys and values -- into one table using the specified iterator. If a value is already -- present it is not overwritten; tables listed earlier have precedence. -- We are also memoizing nil values, but those values can be -- overwritten. --]] for _, t in ipairs(tables) do for key, val in iterator(t) do if metaArgs[key] == nil then local tidiedVal = tidyVal(key, val) if tidiedVal == nil then nilArgs[key] = true else metaArgs[key] = tidiedVal end end end end end --[[ -- Define metatable behaviour. Arguments are memoized in the metaArgs table, -- and are only fetched from the argument tables once. Fetching arguments -- from the argument tables is the most resource-intensive step in this -- module, so we try and avoid it where possible. For this reason, nil -- arguments are also memoized, in the nilArgs table. Also, we keep a record -- in the metatable of when pairs and ipairs have been called, so we do not -- run pairs and ipairs on the argument tables more than once. We also do -- not run ipairs on fargs and pargs if pairs has already been run, as all -- the arguments will already have been copied over. --]] metatable.__index = function (t, key) --[[ -- Fetches an argument when the args table is indexed. First we check -- to see if the value is memoized, and if not we try and fetch it from -- the argument tables. When we check memoization, we need to check -- metaArgs before nilArgs, as both can be non-nil at the same time. -- If the argument is not present in metaArgs, we also check whether -- pairs has been run yet. If pairs has already been run, we return nil. -- This is because all the arguments will have already been copied into -- metaArgs by the mergeArgs function, meaning that any other arguments -- must be nil. --]] local val = metaArgs[key] if val ~= nil then return val elseif metatable.donePairs or nilArgs[key] then return nil end for _, argTable in ipairs(argTables) do local argTableVal = tidyVal(key, argTable[key]) if argTableVal == nil then nilArgs[key] = true else metaArgs[key] = argTableVal return argTableVal end end return nil end metatable.__newindex = function (t, key, val) -- This function is called when a module tries to add a new value to the -- args table, or tries to change an existing value. if options.readOnly then error( 'could not write to argument table key "' .. tostring(key) .. '"; the table is read-only', 2 ) elseif options.noOverwrite and args[key] ~= nil then error( 'could not write to argument table key "' .. tostring(key) .. '"; overwriting existing arguments is not permitted', 2 ) elseif val == nil then --[[ -- If the argument is to be overwritten with nil, we need to erase -- the value in metaArgs, so that __index, __pairs and __ipairs do -- not use a previous existing value, if present; and we also need -- to memoize the nil in nilArgs, so that the value isn't looked -- up in the argument tables if it is accessed again. --]] metaArgs[key] = nil nilArgs[key] = true else metaArgs[key] = val end end metatable.__pairs = function () -- Called when pairs is run on the args table. if not metatable.donePairs then mergeArgs(pairs, argTables) metatable.donePairs = true metatable.doneIpairs = true end return pairs(metaArgs) end metatable.__ipairs = function () -- Called when ipairs is run on the args table. if not metatable.doneIpairs then mergeArgs(ipairs, argTables) metatable.doneIpairs = true end return ipairs(metaArgs) end return args end return arguments 30w8m8aul6mthv759io7vhd4e3tq5t8 9577 9576 2014-07-05T03:52:56Z meta>Mr. Stradivarius 0 allow using both the frame and parent frame arguments with the wrappers option if specifically requested, per protected edit request by [[User:Jackmcbarn]] 9577 Scribunto text/plain -- This module provides easy processing of arguments passed to Scribunto from -- #invoke. It is intended for use by other Lua modules, and should not be -- called from #invoke directly. local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local arguments = {} -- Generate four different tidyVal functions, so that we don't have to check the -- options every time we call it. local function tidyValDefault(key, val) if type(val) == 'string' then val = val:match('^%s*(.-)%s*$') if val == '' then return nil else return val end else return val end end local function tidyValTrimOnly(key, val) if type(val) == 'string' then return val:match('^%s*(.-)%s*$') else return val end end local function tidyValRemoveBlanksOnly(key, val) if type(val) == 'string' then if val:find('%S') then return val else return nil end else return val end end local function tidyValNoChange(key, val) return val end function arguments.getArgs(frame, options) checkType('getArgs', 1, frame, 'table', true) checkType('getArgs', 2, options, 'table', true) frame = frame or {} options = options or {} --[[ -- Get the argument tables. If we were passed a valid frame object, get the -- frame arguments (fargs) and the parent frame arguments (pargs), depending -- on the options set and on the parent frame's availability. If we weren't -- passed a valid frame object, we are being called from another Lua module -- or from the debug console, so assume that we were passed a table of args -- directly, and assign it to a new variable (luaArgs). --]] local fargs, pargs, luaArgs if type(frame.args) == 'table' and type(frame.getParent) == 'function' then if options.wrappers then --[[ -- The wrappers option makes Module:Arguments look up arguments in -- either the frame argument table or the parent argument table, but -- not both. This means that users can use either the #invoke syntax -- or a wrapper template without the loss of performance associated -- with looking arguments up in both the frame and the parent frame. -- Module:Arguments will look up arguments in the parent frame -- if it finds the parent frame's title in options.wrapper; -- otherwise it will look up arguments in the frame object passed -- to getArgs. --]] local parent = frame:getParent() if not parent then fargs = frame.args else local title = parent:getTitle():gsub('/sandbox$', '') local found = false if type(options.wrappers) == 'table' then for _,v in pairs(options.wrappers) do if v == title then found = true break end end elseif options.wrappers == title then found = true end -- We test for false specifically here so that nil (the default) acts like true. if found or options.frameOnly == false then pargs = parent.args end if not found or options.parentOnly == false then fargs = frame.args end end else -- options.wrapper isn't set, so check the other options. if not options.parentOnly then fargs = frame.args end if not options.frameOnly then local parent = frame:getParent() pargs = parent and parent.args or nil end end if options.parentFirst then fargs, pargs = pargs, fargs end else luaArgs = frame end -- Set the order of precedence of the argument tables. If the variables are -- nil, nothing will be added to the table, which is how we avoid clashes -- between the frame/parent args and the Lua args. local argTables = {fargs} argTables[#argTables + 1] = pargs argTables[#argTables + 1] = luaArgs --[[ -- Generate the tidyVal function. If it has been specified by the user, we -- use that; if not, we choose one of four functions depending on the -- options chosen. This is so that we don't have to call the options table -- every time the function is called. --]] local tidyVal = options.valueFunc if tidyVal then if type(tidyVal) ~= 'function' then error( "bad value assigned to option 'valueFunc'" .. '(function expected, got ' .. type(tidyVal) .. ')', 2 ) end elseif options.trim ~= false then if options.removeBlanks ~= false then tidyVal = tidyValDefault else tidyVal = tidyValTrimOnly end else if options.removeBlanks ~= false then tidyVal = tidyValRemoveBlanksOnly else tidyVal = tidyValNoChange end end --[[ -- Set up the args, metaArgs and nilArgs tables. args will be the one -- accessed from functions, and metaArgs will hold the actual arguments. Nil -- arguments are memoized in nilArgs, and the metatable connects all of them -- together. --]] local args, metaArgs, nilArgs, metatable = {}, {}, {}, {} setmetatable(args, metatable) local function mergeArgs(iterator, tables) --[[ -- Accepts multiple tables as input and merges their keys and values -- into one table using the specified iterator. If a value is already -- present it is not overwritten; tables listed earlier have precedence. -- We are also memoizing nil values, but those values can be -- overwritten. --]] for _, t in ipairs(tables) do for key, val in iterator(t) do if metaArgs[key] == nil then local tidiedVal = tidyVal(key, val) if tidiedVal == nil then nilArgs[key] = true else metaArgs[key] = tidiedVal end end end end end --[[ -- Define metatable behaviour. Arguments are memoized in the metaArgs table, -- and are only fetched from the argument tables once. Fetching arguments -- from the argument tables is the most resource-intensive step in this -- module, so we try and avoid it where possible. For this reason, nil -- arguments are also memoized, in the nilArgs table. Also, we keep a record -- in the metatable of when pairs and ipairs have been called, so we do not -- run pairs and ipairs on the argument tables more than once. We also do -- not run ipairs on fargs and pargs if pairs has already been run, as all -- the arguments will already have been copied over. --]] metatable.__index = function (t, key) --[[ -- Fetches an argument when the args table is indexed. First we check -- to see if the value is memoized, and if not we try and fetch it from -- the argument tables. When we check memoization, we need to check -- metaArgs before nilArgs, as both can be non-nil at the same time. -- If the argument is not present in metaArgs, we also check whether -- pairs has been run yet. If pairs has already been run, we return nil. -- This is because all the arguments will have already been copied into -- metaArgs by the mergeArgs function, meaning that any other arguments -- must be nil. --]] local val = metaArgs[key] if val ~= nil then return val elseif metatable.donePairs or nilArgs[key] then return nil end for _, argTable in ipairs(argTables) do local argTableVal = tidyVal(key, argTable[key]) if argTableVal == nil then nilArgs[key] = true else metaArgs[key] = argTableVal return argTableVal end end return nil end metatable.__newindex = function (t, key, val) -- This function is called when a module tries to add a new value to the -- args table, or tries to change an existing value. if options.readOnly then error( 'could not write to argument table key "' .. tostring(key) .. '"; the table is read-only', 2 ) elseif options.noOverwrite and args[key] ~= nil then error( 'could not write to argument table key "' .. tostring(key) .. '"; overwriting existing arguments is not permitted', 2 ) elseif val == nil then --[[ -- If the argument is to be overwritten with nil, we need to erase -- the value in metaArgs, so that __index, __pairs and __ipairs do -- not use a previous existing value, if present; and we also need -- to memoize the nil in nilArgs, so that the value isn't looked -- up in the argument tables if it is accessed again. --]] metaArgs[key] = nil nilArgs[key] = true else metaArgs[key] = val end end metatable.__pairs = function () -- Called when pairs is run on the args table. if not metatable.donePairs then mergeArgs(pairs, argTables) metatable.donePairs = true metatable.doneIpairs = true end return pairs(metaArgs) end metatable.__ipairs = function () -- Called when ipairs is run on the args table. if not metatable.doneIpairs then mergeArgs(ipairs, argTables) metatable.doneIpairs = true end return ipairs(metaArgs) end return args end return arguments m9ddo769dkkvlkz48buir34035j4qhc 9578 9577 2014-12-11T04:32:27Z meta>Mr. Stradivarius 0 fix bug where explicitly deleted args were still appearing when iterated over with pairs or ipairs - code courtesy of [[User:Jackmcbarn]] 9578 Scribunto text/plain -- This module provides easy processing of arguments passed to Scribunto from -- #invoke. It is intended for use by other Lua modules, and should not be -- called from #invoke directly. local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local arguments = {} -- Generate four different tidyVal functions, so that we don't have to check the -- options every time we call it. local function tidyValDefault(key, val) if type(val) == 'string' then val = val:match('^%s*(.-)%s*$') if val == '' then return nil else return val end else return val end end local function tidyValTrimOnly(key, val) if type(val) == 'string' then return val:match('^%s*(.-)%s*$') else return val end end local function tidyValRemoveBlanksOnly(key, val) if type(val) == 'string' then if val:find('%S') then return val else return nil end else return val end end local function tidyValNoChange(key, val) return val end function arguments.getArgs(frame, options) checkType('getArgs', 1, frame, 'table', true) checkType('getArgs', 2, options, 'table', true) frame = frame or {} options = options or {} --[[ -- Get the argument tables. If we were passed a valid frame object, get the -- frame arguments (fargs) and the parent frame arguments (pargs), depending -- on the options set and on the parent frame's availability. If we weren't -- passed a valid frame object, we are being called from another Lua module -- or from the debug console, so assume that we were passed a table of args -- directly, and assign it to a new variable (luaArgs). --]] local fargs, pargs, luaArgs if type(frame.args) == 'table' and type(frame.getParent) == 'function' then if options.wrappers then --[[ -- The wrappers option makes Module:Arguments look up arguments in -- either the frame argument table or the parent argument table, but -- not both. This means that users can use either the #invoke syntax -- or a wrapper template without the loss of performance associated -- with looking arguments up in both the frame and the parent frame. -- Module:Arguments will look up arguments in the parent frame -- if it finds the parent frame's title in options.wrapper; -- otherwise it will look up arguments in the frame object passed -- to getArgs. --]] local parent = frame:getParent() if not parent then fargs = frame.args else local title = parent:getTitle():gsub('/sandbox$', '') local found = false if type(options.wrappers) == 'table' then for _,v in pairs(options.wrappers) do if v == title then found = true break end end elseif options.wrappers == title then found = true end -- We test for false specifically here so that nil (the default) acts like true. if found or options.frameOnly == false then pargs = parent.args end if not found or options.parentOnly == false then fargs = frame.args end end else -- options.wrapper isn't set, so check the other options. if not options.parentOnly then fargs = frame.args end if not options.frameOnly then local parent = frame:getParent() pargs = parent and parent.args or nil end end if options.parentFirst then fargs, pargs = pargs, fargs end else luaArgs = frame end -- Set the order of precedence of the argument tables. If the variables are -- nil, nothing will be added to the table, which is how we avoid clashes -- between the frame/parent args and the Lua args. local argTables = {fargs} argTables[#argTables + 1] = pargs argTables[#argTables + 1] = luaArgs --[[ -- Generate the tidyVal function. If it has been specified by the user, we -- use that; if not, we choose one of four functions depending on the -- options chosen. This is so that we don't have to call the options table -- every time the function is called. --]] local tidyVal = options.valueFunc if tidyVal then if type(tidyVal) ~= 'function' then error( "bad value assigned to option 'valueFunc'" .. '(function expected, got ' .. type(tidyVal) .. ')', 2 ) end elseif options.trim ~= false then if options.removeBlanks ~= false then tidyVal = tidyValDefault else tidyVal = tidyValTrimOnly end else if options.removeBlanks ~= false then tidyVal = tidyValRemoveBlanksOnly else tidyVal = tidyValNoChange end end --[[ -- Set up the args, metaArgs and nilArgs tables. args will be the one -- accessed from functions, and metaArgs will hold the actual arguments. Nil -- arguments are memoized in nilArgs, and the metatable connects all of them -- together. --]] local args, metaArgs, nilArgs, metatable = {}, {}, {}, {} setmetatable(args, metatable) local function mergeArgs(iterator, tables) --[[ -- Accepts multiple tables as input and merges their keys and values -- into one table using the specified iterator. If a value is already -- present it is not overwritten; tables listed earlier have precedence. -- We are also memoizing nil values, which can be overwritten if they -- are 's' (soft). --]] for _, t in ipairs(tables) do for key, val in iterator(t) do if metaArgs[key] == nil and nilArgs[key] ~= 'h' then local tidiedVal = tidyVal(key, val) if tidiedVal == nil then nilArgs[key] = 's' else metaArgs[key] = tidiedVal end end end end end --[[ -- Define metatable behaviour. Arguments are memoized in the metaArgs table, -- and are only fetched from the argument tables once. Fetching arguments -- from the argument tables is the most resource-intensive step in this -- module, so we try and avoid it where possible. For this reason, nil -- arguments are also memoized, in the nilArgs table. Also, we keep a record -- in the metatable of when pairs and ipairs have been called, so we do not -- run pairs and ipairs on the argument tables more than once. We also do -- not run ipairs on fargs and pargs if pairs has already been run, as all -- the arguments will already have been copied over. --]] metatable.__index = function (t, key) --[[ -- Fetches an argument when the args table is indexed. First we check -- to see if the value is memoized, and if not we try and fetch it from -- the argument tables. When we check memoization, we need to check -- metaArgs before nilArgs, as both can be non-nil at the same time. -- If the argument is not present in metaArgs, we also check whether -- pairs has been run yet. If pairs has already been run, we return nil. -- This is because all the arguments will have already been copied into -- metaArgs by the mergeArgs function, meaning that any other arguments -- must be nil. --]] local val = metaArgs[key] if val ~= nil then return val elseif metatable.donePairs or nilArgs[key] then return nil end for _, argTable in ipairs(argTables) do local argTableVal = tidyVal(key, argTable[key]) if argTableVal ~= nil then metaArgs[key] = argTableVal return argTableVal end end nilArgs[key] = 'h' return nil end metatable.__newindex = function (t, key, val) -- This function is called when a module tries to add a new value to the -- args table, or tries to change an existing value. if options.readOnly then error( 'could not write to argument table key "' .. tostring(key) .. '"; the table is read-only', 2 ) elseif options.noOverwrite and args[key] ~= nil then error( 'could not write to argument table key "' .. tostring(key) .. '"; overwriting existing arguments is not permitted', 2 ) elseif val == nil then --[[ -- If the argument is to be overwritten with nil, we need to erase -- the value in metaArgs, so that __index, __pairs and __ipairs do -- not use a previous existing value, if present; and we also need -- to memoize the nil in nilArgs, so that the value isn't looked -- up in the argument tables if it is accessed again. --]] metaArgs[key] = nil nilArgs[key] = 'h' else metaArgs[key] = val end end metatable.__pairs = function () -- Called when pairs is run on the args table. if not metatable.donePairs then mergeArgs(pairs, argTables) metatable.donePairs = true metatable.doneIpairs = true end return pairs(metaArgs) end metatable.__ipairs = function () -- Called when ipairs is run on the args table. if not metatable.doneIpairs then mergeArgs(ipairs, argTables) metatable.doneIpairs = true end return ipairs(metaArgs) end return args end return arguments 7d4ocur2hyywy6ph59tc89jv97up2wi 9579 9578 2015-01-31T22:31:40Z meta>Jackmcbarn 0 apply changes from sandbox - all tests pass 9579 Scribunto text/plain -- This module provides easy processing of arguments passed to Scribunto from -- #invoke. It is intended for use by other Lua modules, and should not be -- called from #invoke directly. local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local arguments = {} -- Generate four different tidyVal functions, so that we don't have to check the -- options every time we call it. local function tidyValDefault(key, val) if type(val) == 'string' then val = val:match('^%s*(.-)%s*$') if val == '' then return nil else return val end else return val end end local function tidyValTrimOnly(key, val) if type(val) == 'string' then return val:match('^%s*(.-)%s*$') else return val end end local function tidyValRemoveBlanksOnly(key, val) if type(val) == 'string' then if val:find('%S') then return val else return nil end else return val end end local function tidyValNoChange(key, val) return val end local function matchesTitle(given, title) local tp = type( given ) return (tp == 'string' or tp == 'number') and mw.title.new( given ).prefixedText == title end function arguments.getArgs(frame, options) checkType('getArgs', 1, frame, 'table', true) checkType('getArgs', 2, options, 'table', true) frame = frame or {} options = options or {} --[[ -- Get the argument tables. If we were passed a valid frame object, get the -- frame arguments (fargs) and the parent frame arguments (pargs), depending -- on the options set and on the parent frame's availability. If we weren't -- passed a valid frame object, we are being called from another Lua module -- or from the debug console, so assume that we were passed a table of args -- directly, and assign it to a new variable (luaArgs). --]] local fargs, pargs, luaArgs if type(frame.args) == 'table' and type(frame.getParent) == 'function' then if options.wrappers then --[[ -- The wrappers option makes Module:Arguments look up arguments in -- either the frame argument table or the parent argument table, but -- not both. This means that users can use either the #invoke syntax -- or a wrapper template without the loss of performance associated -- with looking arguments up in both the frame and the parent frame. -- Module:Arguments will look up arguments in the parent frame -- if it finds the parent frame's title in options.wrapper; -- otherwise it will look up arguments in the frame object passed -- to getArgs. --]] local parent = frame:getParent() if not parent then fargs = frame.args else local title = parent:getTitle():gsub('/sandbox$', '') local found = false if matchesTitle(options.wrappers, title) then found = true elseif type(options.wrappers) == 'table' then for _,v in pairs(options.wrappers) do if matchesTitle(v, title) then found = true break end end end -- We test for false specifically here so that nil (the default) acts like true. if found or options.frameOnly == false then pargs = parent.args end if not found or options.parentOnly == false then fargs = frame.args end end else -- options.wrapper isn't set, so check the other options. if not options.parentOnly then fargs = frame.args end if not options.frameOnly then local parent = frame:getParent() pargs = parent and parent.args or nil end end if options.parentFirst then fargs, pargs = pargs, fargs end else luaArgs = frame end -- Set the order of precedence of the argument tables. If the variables are -- nil, nothing will be added to the table, which is how we avoid clashes -- between the frame/parent args and the Lua args. local argTables = {fargs} argTables[#argTables + 1] = pargs argTables[#argTables + 1] = luaArgs --[[ -- Generate the tidyVal function. If it has been specified by the user, we -- use that; if not, we choose one of four functions depending on the -- options chosen. This is so that we don't have to call the options table -- every time the function is called. --]] local tidyVal = options.valueFunc if tidyVal then if type(tidyVal) ~= 'function' then error( "bad value assigned to option 'valueFunc'" .. '(function expected, got ' .. type(tidyVal) .. ')', 2 ) end elseif options.trim ~= false then if options.removeBlanks ~= false then tidyVal = tidyValDefault else tidyVal = tidyValTrimOnly end else if options.removeBlanks ~= false then tidyVal = tidyValRemoveBlanksOnly else tidyVal = tidyValNoChange end end --[[ -- Set up the args, metaArgs and nilArgs tables. args will be the one -- accessed from functions, and metaArgs will hold the actual arguments. Nil -- arguments are memoized in nilArgs, and the metatable connects all of them -- together. --]] local args, metaArgs, nilArgs, metatable = {}, {}, {}, {} setmetatable(args, metatable) local function mergeArgs(tables) --[[ -- Accepts multiple tables as input and merges their keys and values -- into one table. If a value is already present it is not overwritten; -- tables listed earlier have precedence. We are also memoizing nil -- values, which can be overwritten if they are 's' (soft). --]] for _, t in ipairs(tables) do for key, val in pairs(t) do if metaArgs[key] == nil and nilArgs[key] ~= 'h' then local tidiedVal = tidyVal(key, val) if tidiedVal == nil then nilArgs[key] = 's' else metaArgs[key] = tidiedVal end end end end end --[[ -- Define metatable behaviour. Arguments are memoized in the metaArgs table, -- and are only fetched from the argument tables once. Fetching arguments -- from the argument tables is the most resource-intensive step in this -- module, so we try and avoid it where possible. For this reason, nil -- arguments are also memoized, in the nilArgs table. Also, we keep a record -- in the metatable of when pairs and ipairs have been called, so we do not -- run pairs and ipairs on the argument tables more than once. We also do -- not run ipairs on fargs and pargs if pairs has already been run, as all -- the arguments will already have been copied over. --]] metatable.__index = function (t, key) --[[ -- Fetches an argument when the args table is indexed. First we check -- to see if the value is memoized, and if not we try and fetch it from -- the argument tables. When we check memoization, we need to check -- metaArgs before nilArgs, as both can be non-nil at the same time. -- If the argument is not present in metaArgs, we also check whether -- pairs has been run yet. If pairs has already been run, we return nil. -- This is because all the arguments will have already been copied into -- metaArgs by the mergeArgs function, meaning that any other arguments -- must be nil. --]] local val = metaArgs[key] if val ~= nil then return val elseif metatable.donePairs or nilArgs[key] then return nil end for _, argTable in ipairs(argTables) do local argTableVal = tidyVal(key, argTable[key]) if argTableVal ~= nil then metaArgs[key] = argTableVal return argTableVal end end nilArgs[key] = 'h' return nil end metatable.__newindex = function (t, key, val) -- This function is called when a module tries to add a new value to the -- args table, or tries to change an existing value. if options.readOnly then error( 'could not write to argument table key "' .. tostring(key) .. '"; the table is read-only', 2 ) elseif options.noOverwrite and args[key] ~= nil then error( 'could not write to argument table key "' .. tostring(key) .. '"; overwriting existing arguments is not permitted', 2 ) elseif val == nil then --[[ -- If the argument is to be overwritten with nil, we need to erase -- the value in metaArgs, so that __index, __pairs and __ipairs do -- not use a previous existing value, if present; and we also need -- to memoize the nil in nilArgs, so that the value isn't looked -- up in the argument tables if it is accessed again. --]] metaArgs[key] = nil nilArgs[key] = 'h' else metaArgs[key] = val end end metatable.__pairs = function () -- Called when pairs is run on the args table. if not metatable.donePairs then mergeArgs(argTables) metatable.donePairs = true end return pairs(metaArgs) end local function inext(t, i) -- This uses our __index metamethod local v = t[i + 1] if v ~= nil then return i + 1, v end end metatable.__ipairs = function (t) -- Called when ipairs is run on the args table. return inext, t, 0 end return args end return arguments t970zub1k7inh2aeu97r09x0r0tku4d 9580 9579 2015-02-19T20:51:16Z meta>Peteforsyth 0 20 revisions imported from [[:w:Module:Arguments]]: Attempting, per request from [[User:Titodutta]]. I'm not sure if "w" is the right source wiki (only a few options in drop-down menu) 9579 Scribunto text/plain -- This module provides easy processing of arguments passed to Scribunto from -- #invoke. It is intended for use by other Lua modules, and should not be -- called from #invoke directly. local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local arguments = {} -- Generate four different tidyVal functions, so that we don't have to check the -- options every time we call it. local function tidyValDefault(key, val) if type(val) == 'string' then val = val:match('^%s*(.-)%s*$') if val == '' then return nil else return val end else return val end end local function tidyValTrimOnly(key, val) if type(val) == 'string' then return val:match('^%s*(.-)%s*$') else return val end end local function tidyValRemoveBlanksOnly(key, val) if type(val) == 'string' then if val:find('%S') then return val else return nil end else return val end end local function tidyValNoChange(key, val) return val end local function matchesTitle(given, title) local tp = type( given ) return (tp == 'string' or tp == 'number') and mw.title.new( given ).prefixedText == title end function arguments.getArgs(frame, options) checkType('getArgs', 1, frame, 'table', true) checkType('getArgs', 2, options, 'table', true) frame = frame or {} options = options or {} --[[ -- Get the argument tables. If we were passed a valid frame object, get the -- frame arguments (fargs) and the parent frame arguments (pargs), depending -- on the options set and on the parent frame's availability. If we weren't -- passed a valid frame object, we are being called from another Lua module -- or from the debug console, so assume that we were passed a table of args -- directly, and assign it to a new variable (luaArgs). --]] local fargs, pargs, luaArgs if type(frame.args) == 'table' and type(frame.getParent) == 'function' then if options.wrappers then --[[ -- The wrappers option makes Module:Arguments look up arguments in -- either the frame argument table or the parent argument table, but -- not both. This means that users can use either the #invoke syntax -- or a wrapper template without the loss of performance associated -- with looking arguments up in both the frame and the parent frame. -- Module:Arguments will look up arguments in the parent frame -- if it finds the parent frame's title in options.wrapper; -- otherwise it will look up arguments in the frame object passed -- to getArgs. --]] local parent = frame:getParent() if not parent then fargs = frame.args else local title = parent:getTitle():gsub('/sandbox$', '') local found = false if matchesTitle(options.wrappers, title) then found = true elseif type(options.wrappers) == 'table' then for _,v in pairs(options.wrappers) do if matchesTitle(v, title) then found = true break end end end -- We test for false specifically here so that nil (the default) acts like true. if found or options.frameOnly == false then pargs = parent.args end if not found or options.parentOnly == false then fargs = frame.args end end else -- options.wrapper isn't set, so check the other options. if not options.parentOnly then fargs = frame.args end if not options.frameOnly then local parent = frame:getParent() pargs = parent and parent.args or nil end end if options.parentFirst then fargs, pargs = pargs, fargs end else luaArgs = frame end -- Set the order of precedence of the argument tables. If the variables are -- nil, nothing will be added to the table, which is how we avoid clashes -- between the frame/parent args and the Lua args. local argTables = {fargs} argTables[#argTables + 1] = pargs argTables[#argTables + 1] = luaArgs --[[ -- Generate the tidyVal function. If it has been specified by the user, we -- use that; if not, we choose one of four functions depending on the -- options chosen. This is so that we don't have to call the options table -- every time the function is called. --]] local tidyVal = options.valueFunc if tidyVal then if type(tidyVal) ~= 'function' then error( "bad value assigned to option 'valueFunc'" .. '(function expected, got ' .. type(tidyVal) .. ')', 2 ) end elseif options.trim ~= false then if options.removeBlanks ~= false then tidyVal = tidyValDefault else tidyVal = tidyValTrimOnly end else if options.removeBlanks ~= false then tidyVal = tidyValRemoveBlanksOnly else tidyVal = tidyValNoChange end end --[[ -- Set up the args, metaArgs and nilArgs tables. args will be the one -- accessed from functions, and metaArgs will hold the actual arguments. Nil -- arguments are memoized in nilArgs, and the metatable connects all of them -- together. --]] local args, metaArgs, nilArgs, metatable = {}, {}, {}, {} setmetatable(args, metatable) local function mergeArgs(tables) --[[ -- Accepts multiple tables as input and merges their keys and values -- into one table. If a value is already present it is not overwritten; -- tables listed earlier have precedence. We are also memoizing nil -- values, which can be overwritten if they are 's' (soft). --]] for _, t in ipairs(tables) do for key, val in pairs(t) do if metaArgs[key] == nil and nilArgs[key] ~= 'h' then local tidiedVal = tidyVal(key, val) if tidiedVal == nil then nilArgs[key] = 's' else metaArgs[key] = tidiedVal end end end end end --[[ -- Define metatable behaviour. Arguments are memoized in the metaArgs table, -- and are only fetched from the argument tables once. Fetching arguments -- from the argument tables is the most resource-intensive step in this -- module, so we try and avoid it where possible. For this reason, nil -- arguments are also memoized, in the nilArgs table. Also, we keep a record -- in the metatable of when pairs and ipairs have been called, so we do not -- run pairs and ipairs on the argument tables more than once. We also do -- not run ipairs on fargs and pargs if pairs has already been run, as all -- the arguments will already have been copied over. --]] metatable.__index = function (t, key) --[[ -- Fetches an argument when the args table is indexed. First we check -- to see if the value is memoized, and if not we try and fetch it from -- the argument tables. When we check memoization, we need to check -- metaArgs before nilArgs, as both can be non-nil at the same time. -- If the argument is not present in metaArgs, we also check whether -- pairs has been run yet. If pairs has already been run, we return nil. -- This is because all the arguments will have already been copied into -- metaArgs by the mergeArgs function, meaning that any other arguments -- must be nil. --]] local val = metaArgs[key] if val ~= nil then return val elseif metatable.donePairs or nilArgs[key] then return nil end for _, argTable in ipairs(argTables) do local argTableVal = tidyVal(key, argTable[key]) if argTableVal ~= nil then metaArgs[key] = argTableVal return argTableVal end end nilArgs[key] = 'h' return nil end metatable.__newindex = function (t, key, val) -- This function is called when a module tries to add a new value to the -- args table, or tries to change an existing value. if options.readOnly then error( 'could not write to argument table key "' .. tostring(key) .. '"; the table is read-only', 2 ) elseif options.noOverwrite and args[key] ~= nil then error( 'could not write to argument table key "' .. tostring(key) .. '"; overwriting existing arguments is not permitted', 2 ) elseif val == nil then --[[ -- If the argument is to be overwritten with nil, we need to erase -- the value in metaArgs, so that __index, __pairs and __ipairs do -- not use a previous existing value, if present; and we also need -- to memoize the nil in nilArgs, so that the value isn't looked -- up in the argument tables if it is accessed again. --]] metaArgs[key] = nil nilArgs[key] = 'h' else metaArgs[key] = val end end metatable.__pairs = function () -- Called when pairs is run on the args table. if not metatable.donePairs then mergeArgs(argTables) metatable.donePairs = true end return pairs(metaArgs) end local function inext(t, i) -- This uses our __index metamethod local v = t[i + 1] if v ~= nil then return i + 1, v end end metatable.__ipairs = function (t) -- Called when ipairs is run on the args table. return inext, t, 0 end return args end return arguments t970zub1k7inh2aeu97r09x0r0tku4d 9581 9580 2015-06-26T22:53:15Z meta>Jackmcbarn 0 add argument translation from sandbox - all tests pass 9581 Scribunto text/plain -- This module provides easy processing of arguments passed to Scribunto from -- #invoke. It is intended for use by other Lua modules, and should not be -- called from #invoke directly. local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local arguments = {} -- Generate four different tidyVal functions, so that we don't have to check the -- options every time we call it. local function tidyValDefault(key, val) if type(val) == 'string' then val = val:match('^%s*(.-)%s*$') if val == '' then return nil else return val end else return val end end local function tidyValTrimOnly(key, val) if type(val) == 'string' then return val:match('^%s*(.-)%s*$') else return val end end local function tidyValRemoveBlanksOnly(key, val) if type(val) == 'string' then if val:find('%S') then return val else return nil end else return val end end local function tidyValNoChange(key, val) return val end local function matchesTitle(given, title) local tp = type( given ) return (tp == 'string' or tp == 'number') and mw.title.new( given ).prefixedText == title end local translate_mt = { __index = function(t, k) return k end } function arguments.getArgs(frame, options) checkType('getArgs', 1, frame, 'table', true) checkType('getArgs', 2, options, 'table', true) frame = frame or {} options = options or {} --[[ -- Set up argument translation. --]] options.translate = options.translate or {} if getmetatable(options.translate) == nil then setmetatable(options.translate, translate_mt) end if options.backtranslate == nil then options.backtranslate = {} for k,v in pairs(options.translate) do options.backtranslate[v] = k end end if options.backtranslate and getmetatable(options.backtranslate) == nil then setmetatable(options.backtranslate, { __index = function(t, k) if options.translate[k] ~= k then return nil else return k end end }) end --[[ -- Get the argument tables. If we were passed a valid frame object, get the -- frame arguments (fargs) and the parent frame arguments (pargs), depending -- on the options set and on the parent frame's availability. If we weren't -- passed a valid frame object, we are being called from another Lua module -- or from the debug console, so assume that we were passed a table of args -- directly, and assign it to a new variable (luaArgs). --]] local fargs, pargs, luaArgs if type(frame.args) == 'table' and type(frame.getParent) == 'function' then if options.wrappers then --[[ -- The wrappers option makes Module:Arguments look up arguments in -- either the frame argument table or the parent argument table, but -- not both. This means that users can use either the #invoke syntax -- or a wrapper template without the loss of performance associated -- with looking arguments up in both the frame and the parent frame. -- Module:Arguments will look up arguments in the parent frame -- if it finds the parent frame's title in options.wrapper; -- otherwise it will look up arguments in the frame object passed -- to getArgs. --]] local parent = frame:getParent() if not parent then fargs = frame.args else local title = parent:getTitle():gsub('/sandbox$', '') local found = false if matchesTitle(options.wrappers, title) then found = true elseif type(options.wrappers) == 'table' then for _,v in pairs(options.wrappers) do if matchesTitle(v, title) then found = true break end end end -- We test for false specifically here so that nil (the default) acts like true. if found or options.frameOnly == false then pargs = parent.args end if not found or options.parentOnly == false then fargs = frame.args end end else -- options.wrapper isn't set, so check the other options. if not options.parentOnly then fargs = frame.args end if not options.frameOnly then local parent = frame:getParent() pargs = parent and parent.args or nil end end if options.parentFirst then fargs, pargs = pargs, fargs end else luaArgs = frame end -- Set the order of precedence of the argument tables. If the variables are -- nil, nothing will be added to the table, which is how we avoid clashes -- between the frame/parent args and the Lua args. local argTables = {fargs} argTables[#argTables + 1] = pargs argTables[#argTables + 1] = luaArgs --[[ -- Generate the tidyVal function. If it has been specified by the user, we -- use that; if not, we choose one of four functions depending on the -- options chosen. This is so that we don't have to call the options table -- every time the function is called. --]] local tidyVal = options.valueFunc if tidyVal then if type(tidyVal) ~= 'function' then error( "bad value assigned to option 'valueFunc'" .. '(function expected, got ' .. type(tidyVal) .. ')', 2 ) end elseif options.trim ~= false then if options.removeBlanks ~= false then tidyVal = tidyValDefault else tidyVal = tidyValTrimOnly end else if options.removeBlanks ~= false then tidyVal = tidyValRemoveBlanksOnly else tidyVal = tidyValNoChange end end --[[ -- Set up the args, metaArgs and nilArgs tables. args will be the one -- accessed from functions, and metaArgs will hold the actual arguments. Nil -- arguments are memoized in nilArgs, and the metatable connects all of them -- together. --]] local args, metaArgs, nilArgs, metatable = {}, {}, {}, {} setmetatable(args, metatable) local function mergeArgs(tables) --[[ -- Accepts multiple tables as input and merges their keys and values -- into one table. If a value is already present it is not overwritten; -- tables listed earlier have precedence. We are also memoizing nil -- values, which can be overwritten if they are 's' (soft). --]] for _, t in ipairs(tables) do for key, val in pairs(t) do if metaArgs[key] == nil and nilArgs[key] ~= 'h' then local tidiedVal = tidyVal(key, val) if tidiedVal == nil then nilArgs[key] = 's' else metaArgs[key] = tidiedVal end end end end end --[[ -- Define metatable behaviour. Arguments are memoized in the metaArgs table, -- and are only fetched from the argument tables once. Fetching arguments -- from the argument tables is the most resource-intensive step in this -- module, so we try and avoid it where possible. For this reason, nil -- arguments are also memoized, in the nilArgs table. Also, we keep a record -- in the metatable of when pairs and ipairs have been called, so we do not -- run pairs and ipairs on the argument tables more than once. We also do -- not run ipairs on fargs and pargs if pairs has already been run, as all -- the arguments will already have been copied over. --]] metatable.__index = function (t, key) --[[ -- Fetches an argument when the args table is indexed. First we check -- to see if the value is memoized, and if not we try and fetch it from -- the argument tables. When we check memoization, we need to check -- metaArgs before nilArgs, as both can be non-nil at the same time. -- If the argument is not present in metaArgs, we also check whether -- pairs has been run yet. If pairs has already been run, we return nil. -- This is because all the arguments will have already been copied into -- metaArgs by the mergeArgs function, meaning that any other arguments -- must be nil. --]] if type(key) == 'string' then key = options.translate[key] end local val = metaArgs[key] if val ~= nil then return val elseif metatable.donePairs or nilArgs[key] then return nil end for _, argTable in ipairs(argTables) do local argTableVal = tidyVal(key, argTable[key]) if argTableVal ~= nil then metaArgs[key] = argTableVal return argTableVal end end nilArgs[key] = 'h' return nil end metatable.__newindex = function (t, key, val) -- This function is called when a module tries to add a new value to the -- args table, or tries to change an existing value. if type(key) == 'string' then key = options.translate[key] end if options.readOnly then error( 'could not write to argument table key "' .. tostring(key) .. '"; the table is read-only', 2 ) elseif options.noOverwrite and args[key] ~= nil then error( 'could not write to argument table key "' .. tostring(key) .. '"; overwriting existing arguments is not permitted', 2 ) elseif val == nil then --[[ -- If the argument is to be overwritten with nil, we need to erase -- the value in metaArgs, so that __index, __pairs and __ipairs do -- not use a previous existing value, if present; and we also need -- to memoize the nil in nilArgs, so that the value isn't looked -- up in the argument tables if it is accessed again. --]] metaArgs[key] = nil nilArgs[key] = 'h' else metaArgs[key] = val end end local function translatenext(invariant) local k, v = next(invariant.t, invariant.k) invariant.k = k if k == nil then return nil elseif type(k) ~= 'string' or not options.backtranslate then return k, v else local backtranslate = options.backtranslate[k] if backtranslate == nil then -- Skip this one. This is a tail call, so this won't cause stack overflow return translatenext(invariant) else return backtranslate, v end end end metatable.__pairs = function () -- Called when pairs is run on the args table. if not metatable.donePairs then mergeArgs(argTables) metatable.donePairs = true end return translatenext, { t = metaArgs } end local function inext(t, i) -- This uses our __index metamethod local v = t[i + 1] if v ~= nil then return i + 1, v end end metatable.__ipairs = function (t) -- Called when ipairs is run on the args table. return inext, t, 0 end return args end return arguments 5qx9tzlul9ser30uxj9nbasjt92cevn 9582 9581 2015-12-23T16:07:27Z meta>Xaosflux 0 Changed protection level of Module:Arguments: used in the mediawiki interface ex: [[MediaWiki:Watchlist-details]] ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) 9581 Scribunto text/plain -- This module provides easy processing of arguments passed to Scribunto from -- #invoke. It is intended for use by other Lua modules, and should not be -- called from #invoke directly. local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local arguments = {} -- Generate four different tidyVal functions, so that we don't have to check the -- options every time we call it. local function tidyValDefault(key, val) if type(val) == 'string' then val = val:match('^%s*(.-)%s*$') if val == '' then return nil else return val end else return val end end local function tidyValTrimOnly(key, val) if type(val) == 'string' then return val:match('^%s*(.-)%s*$') else return val end end local function tidyValRemoveBlanksOnly(key, val) if type(val) == 'string' then if val:find('%S') then return val else return nil end else return val end end local function tidyValNoChange(key, val) return val end local function matchesTitle(given, title) local tp = type( given ) return (tp == 'string' or tp == 'number') and mw.title.new( given ).prefixedText == title end local translate_mt = { __index = function(t, k) return k end } function arguments.getArgs(frame, options) checkType('getArgs', 1, frame, 'table', true) checkType('getArgs', 2, options, 'table', true) frame = frame or {} options = options or {} --[[ -- Set up argument translation. --]] options.translate = options.translate or {} if getmetatable(options.translate) == nil then setmetatable(options.translate, translate_mt) end if options.backtranslate == nil then options.backtranslate = {} for k,v in pairs(options.translate) do options.backtranslate[v] = k end end if options.backtranslate and getmetatable(options.backtranslate) == nil then setmetatable(options.backtranslate, { __index = function(t, k) if options.translate[k] ~= k then return nil else return k end end }) end --[[ -- Get the argument tables. If we were passed a valid frame object, get the -- frame arguments (fargs) and the parent frame arguments (pargs), depending -- on the options set and on the parent frame's availability. If we weren't -- passed a valid frame object, we are being called from another Lua module -- or from the debug console, so assume that we were passed a table of args -- directly, and assign it to a new variable (luaArgs). --]] local fargs, pargs, luaArgs if type(frame.args) == 'table' and type(frame.getParent) == 'function' then if options.wrappers then --[[ -- The wrappers option makes Module:Arguments look up arguments in -- either the frame argument table or the parent argument table, but -- not both. This means that users can use either the #invoke syntax -- or a wrapper template without the loss of performance associated -- with looking arguments up in both the frame and the parent frame. -- Module:Arguments will look up arguments in the parent frame -- if it finds the parent frame's title in options.wrapper; -- otherwise it will look up arguments in the frame object passed -- to getArgs. --]] local parent = frame:getParent() if not parent then fargs = frame.args else local title = parent:getTitle():gsub('/sandbox$', '') local found = false if matchesTitle(options.wrappers, title) then found = true elseif type(options.wrappers) == 'table' then for _,v in pairs(options.wrappers) do if matchesTitle(v, title) then found = true break end end end -- We test for false specifically here so that nil (the default) acts like true. if found or options.frameOnly == false then pargs = parent.args end if not found or options.parentOnly == false then fargs = frame.args end end else -- options.wrapper isn't set, so check the other options. if not options.parentOnly then fargs = frame.args end if not options.frameOnly then local parent = frame:getParent() pargs = parent and parent.args or nil end end if options.parentFirst then fargs, pargs = pargs, fargs end else luaArgs = frame end -- Set the order of precedence of the argument tables. If the variables are -- nil, nothing will be added to the table, which is how we avoid clashes -- between the frame/parent args and the Lua args. local argTables = {fargs} argTables[#argTables + 1] = pargs argTables[#argTables + 1] = luaArgs --[[ -- Generate the tidyVal function. If it has been specified by the user, we -- use that; if not, we choose one of four functions depending on the -- options chosen. This is so that we don't have to call the options table -- every time the function is called. --]] local tidyVal = options.valueFunc if tidyVal then if type(tidyVal) ~= 'function' then error( "bad value assigned to option 'valueFunc'" .. '(function expected, got ' .. type(tidyVal) .. ')', 2 ) end elseif options.trim ~= false then if options.removeBlanks ~= false then tidyVal = tidyValDefault else tidyVal = tidyValTrimOnly end else if options.removeBlanks ~= false then tidyVal = tidyValRemoveBlanksOnly else tidyVal = tidyValNoChange end end --[[ -- Set up the args, metaArgs and nilArgs tables. args will be the one -- accessed from functions, and metaArgs will hold the actual arguments. Nil -- arguments are memoized in nilArgs, and the metatable connects all of them -- together. --]] local args, metaArgs, nilArgs, metatable = {}, {}, {}, {} setmetatable(args, metatable) local function mergeArgs(tables) --[[ -- Accepts multiple tables as input and merges their keys and values -- into one table. If a value is already present it is not overwritten; -- tables listed earlier have precedence. We are also memoizing nil -- values, which can be overwritten if they are 's' (soft). --]] for _, t in ipairs(tables) do for key, val in pairs(t) do if metaArgs[key] == nil and nilArgs[key] ~= 'h' then local tidiedVal = tidyVal(key, val) if tidiedVal == nil then nilArgs[key] = 's' else metaArgs[key] = tidiedVal end end end end end --[[ -- Define metatable behaviour. Arguments are memoized in the metaArgs table, -- and are only fetched from the argument tables once. Fetching arguments -- from the argument tables is the most resource-intensive step in this -- module, so we try and avoid it where possible. For this reason, nil -- arguments are also memoized, in the nilArgs table. Also, we keep a record -- in the metatable of when pairs and ipairs have been called, so we do not -- run pairs and ipairs on the argument tables more than once. We also do -- not run ipairs on fargs and pargs if pairs has already been run, as all -- the arguments will already have been copied over. --]] metatable.__index = function (t, key) --[[ -- Fetches an argument when the args table is indexed. First we check -- to see if the value is memoized, and if not we try and fetch it from -- the argument tables. When we check memoization, we need to check -- metaArgs before nilArgs, as both can be non-nil at the same time. -- If the argument is not present in metaArgs, we also check whether -- pairs has been run yet. If pairs has already been run, we return nil. -- This is because all the arguments will have already been copied into -- metaArgs by the mergeArgs function, meaning that any other arguments -- must be nil. --]] if type(key) == 'string' then key = options.translate[key] end local val = metaArgs[key] if val ~= nil then return val elseif metatable.donePairs or nilArgs[key] then return nil end for _, argTable in ipairs(argTables) do local argTableVal = tidyVal(key, argTable[key]) if argTableVal ~= nil then metaArgs[key] = argTableVal return argTableVal end end nilArgs[key] = 'h' return nil end metatable.__newindex = function (t, key, val) -- This function is called when a module tries to add a new value to the -- args table, or tries to change an existing value. if type(key) == 'string' then key = options.translate[key] end if options.readOnly then error( 'could not write to argument table key "' .. tostring(key) .. '"; the table is read-only', 2 ) elseif options.noOverwrite and args[key] ~= nil then error( 'could not write to argument table key "' .. tostring(key) .. '"; overwriting existing arguments is not permitted', 2 ) elseif val == nil then --[[ -- If the argument is to be overwritten with nil, we need to erase -- the value in metaArgs, so that __index, __pairs and __ipairs do -- not use a previous existing value, if present; and we also need -- to memoize the nil in nilArgs, so that the value isn't looked -- up in the argument tables if it is accessed again. --]] metaArgs[key] = nil nilArgs[key] = 'h' else metaArgs[key] = val end end local function translatenext(invariant) local k, v = next(invariant.t, invariant.k) invariant.k = k if k == nil then return nil elseif type(k) ~= 'string' or not options.backtranslate then return k, v else local backtranslate = options.backtranslate[k] if backtranslate == nil then -- Skip this one. This is a tail call, so this won't cause stack overflow return translatenext(invariant) else return backtranslate, v end end end metatable.__pairs = function () -- Called when pairs is run on the args table. if not metatable.donePairs then mergeArgs(argTables) metatable.donePairs = true end return translatenext, { t = metaArgs } end local function inext(t, i) -- This uses our __index metamethod local v = t[i + 1] if v ~= nil then return i + 1, v end end metatable.__ipairs = function (t) -- Called when ipairs is run on the args table. return inext, t, 0 end return args end return arguments 5qx9tzlul9ser30uxj9nbasjt92cevn 9583 9582 2017-07-17T00:04:38Z meta>Pharos 0 2 revisions imported from [[:w:Module:Arguments]] 9581 Scribunto text/plain -- This module provides easy processing of arguments passed to Scribunto from -- #invoke. It is intended for use by other Lua modules, and should not be -- called from #invoke directly. local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local arguments = {} -- Generate four different tidyVal functions, so that we don't have to check the -- options every time we call it. local function tidyValDefault(key, val) if type(val) == 'string' then val = val:match('^%s*(.-)%s*$') if val == '' then return nil else return val end else return val end end local function tidyValTrimOnly(key, val) if type(val) == 'string' then return val:match('^%s*(.-)%s*$') else return val end end local function tidyValRemoveBlanksOnly(key, val) if type(val) == 'string' then if val:find('%S') then return val else return nil end else return val end end local function tidyValNoChange(key, val) return val end local function matchesTitle(given, title) local tp = type( given ) return (tp == 'string' or tp == 'number') and mw.title.new( given ).prefixedText == title end local translate_mt = { __index = function(t, k) return k end } function arguments.getArgs(frame, options) checkType('getArgs', 1, frame, 'table', true) checkType('getArgs', 2, options, 'table', true) frame = frame or {} options = options or {} --[[ -- Set up argument translation. --]] options.translate = options.translate or {} if getmetatable(options.translate) == nil then setmetatable(options.translate, translate_mt) end if options.backtranslate == nil then options.backtranslate = {} for k,v in pairs(options.translate) do options.backtranslate[v] = k end end if options.backtranslate and getmetatable(options.backtranslate) == nil then setmetatable(options.backtranslate, { __index = function(t, k) if options.translate[k] ~= k then return nil else return k end end }) end --[[ -- Get the argument tables. If we were passed a valid frame object, get the -- frame arguments (fargs) and the parent frame arguments (pargs), depending -- on the options set and on the parent frame's availability. If we weren't -- passed a valid frame object, we are being called from another Lua module -- or from the debug console, so assume that we were passed a table of args -- directly, and assign it to a new variable (luaArgs). --]] local fargs, pargs, luaArgs if type(frame.args) == 'table' and type(frame.getParent) == 'function' then if options.wrappers then --[[ -- The wrappers option makes Module:Arguments look up arguments in -- either the frame argument table or the parent argument table, but -- not both. This means that users can use either the #invoke syntax -- or a wrapper template without the loss of performance associated -- with looking arguments up in both the frame and the parent frame. -- Module:Arguments will look up arguments in the parent frame -- if it finds the parent frame's title in options.wrapper; -- otherwise it will look up arguments in the frame object passed -- to getArgs. --]] local parent = frame:getParent() if not parent then fargs = frame.args else local title = parent:getTitle():gsub('/sandbox$', '') local found = false if matchesTitle(options.wrappers, title) then found = true elseif type(options.wrappers) == 'table' then for _,v in pairs(options.wrappers) do if matchesTitle(v, title) then found = true break end end end -- We test for false specifically here so that nil (the default) acts like true. if found or options.frameOnly == false then pargs = parent.args end if not found or options.parentOnly == false then fargs = frame.args end end else -- options.wrapper isn't set, so check the other options. if not options.parentOnly then fargs = frame.args end if not options.frameOnly then local parent = frame:getParent() pargs = parent and parent.args or nil end end if options.parentFirst then fargs, pargs = pargs, fargs end else luaArgs = frame end -- Set the order of precedence of the argument tables. If the variables are -- nil, nothing will be added to the table, which is how we avoid clashes -- between the frame/parent args and the Lua args. local argTables = {fargs} argTables[#argTables + 1] = pargs argTables[#argTables + 1] = luaArgs --[[ -- Generate the tidyVal function. If it has been specified by the user, we -- use that; if not, we choose one of four functions depending on the -- options chosen. This is so that we don't have to call the options table -- every time the function is called. --]] local tidyVal = options.valueFunc if tidyVal then if type(tidyVal) ~= 'function' then error( "bad value assigned to option 'valueFunc'" .. '(function expected, got ' .. type(tidyVal) .. ')', 2 ) end elseif options.trim ~= false then if options.removeBlanks ~= false then tidyVal = tidyValDefault else tidyVal = tidyValTrimOnly end else if options.removeBlanks ~= false then tidyVal = tidyValRemoveBlanksOnly else tidyVal = tidyValNoChange end end --[[ -- Set up the args, metaArgs and nilArgs tables. args will be the one -- accessed from functions, and metaArgs will hold the actual arguments. Nil -- arguments are memoized in nilArgs, and the metatable connects all of them -- together. --]] local args, metaArgs, nilArgs, metatable = {}, {}, {}, {} setmetatable(args, metatable) local function mergeArgs(tables) --[[ -- Accepts multiple tables as input and merges their keys and values -- into one table. If a value is already present it is not overwritten; -- tables listed earlier have precedence. We are also memoizing nil -- values, which can be overwritten if they are 's' (soft). --]] for _, t in ipairs(tables) do for key, val in pairs(t) do if metaArgs[key] == nil and nilArgs[key] ~= 'h' then local tidiedVal = tidyVal(key, val) if tidiedVal == nil then nilArgs[key] = 's' else metaArgs[key] = tidiedVal end end end end end --[[ -- Define metatable behaviour. Arguments are memoized in the metaArgs table, -- and are only fetched from the argument tables once. Fetching arguments -- from the argument tables is the most resource-intensive step in this -- module, so we try and avoid it where possible. For this reason, nil -- arguments are also memoized, in the nilArgs table. Also, we keep a record -- in the metatable of when pairs and ipairs have been called, so we do not -- run pairs and ipairs on the argument tables more than once. We also do -- not run ipairs on fargs and pargs if pairs has already been run, as all -- the arguments will already have been copied over. --]] metatable.__index = function (t, key) --[[ -- Fetches an argument when the args table is indexed. First we check -- to see if the value is memoized, and if not we try and fetch it from -- the argument tables. When we check memoization, we need to check -- metaArgs before nilArgs, as both can be non-nil at the same time. -- If the argument is not present in metaArgs, we also check whether -- pairs has been run yet. If pairs has already been run, we return nil. -- This is because all the arguments will have already been copied into -- metaArgs by the mergeArgs function, meaning that any other arguments -- must be nil. --]] if type(key) == 'string' then key = options.translate[key] end local val = metaArgs[key] if val ~= nil then return val elseif metatable.donePairs or nilArgs[key] then return nil end for _, argTable in ipairs(argTables) do local argTableVal = tidyVal(key, argTable[key]) if argTableVal ~= nil then metaArgs[key] = argTableVal return argTableVal end end nilArgs[key] = 'h' return nil end metatable.__newindex = function (t, key, val) -- This function is called when a module tries to add a new value to the -- args table, or tries to change an existing value. if type(key) == 'string' then key = options.translate[key] end if options.readOnly then error( 'could not write to argument table key "' .. tostring(key) .. '"; the table is read-only', 2 ) elseif options.noOverwrite and args[key] ~= nil then error( 'could not write to argument table key "' .. tostring(key) .. '"; overwriting existing arguments is not permitted', 2 ) elseif val == nil then --[[ -- If the argument is to be overwritten with nil, we need to erase -- the value in metaArgs, so that __index, __pairs and __ipairs do -- not use a previous existing value, if present; and we also need -- to memoize the nil in nilArgs, so that the value isn't looked -- up in the argument tables if it is accessed again. --]] metaArgs[key] = nil nilArgs[key] = 'h' else metaArgs[key] = val end end local function translatenext(invariant) local k, v = next(invariant.t, invariant.k) invariant.k = k if k == nil then return nil elseif type(k) ~= 'string' or not options.backtranslate then return k, v else local backtranslate = options.backtranslate[k] if backtranslate == nil then -- Skip this one. This is a tail call, so this won't cause stack overflow return translatenext(invariant) else return backtranslate, v end end end metatable.__pairs = function () -- Called when pairs is run on the args table. if not metatable.donePairs then mergeArgs(argTables) metatable.donePairs = true end return translatenext, { t = metaArgs } end local function inext(t, i) -- This uses our __index metamethod local v = t[i + 1] if v ~= nil then return i + 1, v end end metatable.__ipairs = function (t) -- Called when ipairs is run on the args table. return inext, t, 0 end return args end return arguments 5qx9tzlul9ser30uxj9nbasjt92cevn 9584 9583 2019-02-14T01:32:53Z meta>MusikAnimal 0 Protected "[[Module:Arguments]]": High-risk template ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) 9581 Scribunto text/plain -- This module provides easy processing of arguments passed to Scribunto from -- #invoke. It is intended for use by other Lua modules, and should not be -- called from #invoke directly. local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local arguments = {} -- Generate four different tidyVal functions, so that we don't have to check the -- options every time we call it. local function tidyValDefault(key, val) if type(val) == 'string' then val = val:match('^%s*(.-)%s*$') if val == '' then return nil else return val end else return val end end local function tidyValTrimOnly(key, val) if type(val) == 'string' then return val:match('^%s*(.-)%s*$') else return val end end local function tidyValRemoveBlanksOnly(key, val) if type(val) == 'string' then if val:find('%S') then return val else return nil end else return val end end local function tidyValNoChange(key, val) return val end local function matchesTitle(given, title) local tp = type( given ) return (tp == 'string' or tp == 'number') and mw.title.new( given ).prefixedText == title end local translate_mt = { __index = function(t, k) return k end } function arguments.getArgs(frame, options) checkType('getArgs', 1, frame, 'table', true) checkType('getArgs', 2, options, 'table', true) frame = frame or {} options = options or {} --[[ -- Set up argument translation. --]] options.translate = options.translate or {} if getmetatable(options.translate) == nil then setmetatable(options.translate, translate_mt) end if options.backtranslate == nil then options.backtranslate = {} for k,v in pairs(options.translate) do options.backtranslate[v] = k end end if options.backtranslate and getmetatable(options.backtranslate) == nil then setmetatable(options.backtranslate, { __index = function(t, k) if options.translate[k] ~= k then return nil else return k end end }) end --[[ -- Get the argument tables. If we were passed a valid frame object, get the -- frame arguments (fargs) and the parent frame arguments (pargs), depending -- on the options set and on the parent frame's availability. If we weren't -- passed a valid frame object, we are being called from another Lua module -- or from the debug console, so assume that we were passed a table of args -- directly, and assign it to a new variable (luaArgs). --]] local fargs, pargs, luaArgs if type(frame.args) == 'table' and type(frame.getParent) == 'function' then if options.wrappers then --[[ -- The wrappers option makes Module:Arguments look up arguments in -- either the frame argument table or the parent argument table, but -- not both. This means that users can use either the #invoke syntax -- or a wrapper template without the loss of performance associated -- with looking arguments up in both the frame and the parent frame. -- Module:Arguments will look up arguments in the parent frame -- if it finds the parent frame's title in options.wrapper; -- otherwise it will look up arguments in the frame object passed -- to getArgs. --]] local parent = frame:getParent() if not parent then fargs = frame.args else local title = parent:getTitle():gsub('/sandbox$', '') local found = false if matchesTitle(options.wrappers, title) then found = true elseif type(options.wrappers) == 'table' then for _,v in pairs(options.wrappers) do if matchesTitle(v, title) then found = true break end end end -- We test for false specifically here so that nil (the default) acts like true. if found or options.frameOnly == false then pargs = parent.args end if not found or options.parentOnly == false then fargs = frame.args end end else -- options.wrapper isn't set, so check the other options. if not options.parentOnly then fargs = frame.args end if not options.frameOnly then local parent = frame:getParent() pargs = parent and parent.args or nil end end if options.parentFirst then fargs, pargs = pargs, fargs end else luaArgs = frame end -- Set the order of precedence of the argument tables. If the variables are -- nil, nothing will be added to the table, which is how we avoid clashes -- between the frame/parent args and the Lua args. local argTables = {fargs} argTables[#argTables + 1] = pargs argTables[#argTables + 1] = luaArgs --[[ -- Generate the tidyVal function. If it has been specified by the user, we -- use that; if not, we choose one of four functions depending on the -- options chosen. This is so that we don't have to call the options table -- every time the function is called. --]] local tidyVal = options.valueFunc if tidyVal then if type(tidyVal) ~= 'function' then error( "bad value assigned to option 'valueFunc'" .. '(function expected, got ' .. type(tidyVal) .. ')', 2 ) end elseif options.trim ~= false then if options.removeBlanks ~= false then tidyVal = tidyValDefault else tidyVal = tidyValTrimOnly end else if options.removeBlanks ~= false then tidyVal = tidyValRemoveBlanksOnly else tidyVal = tidyValNoChange end end --[[ -- Set up the args, metaArgs and nilArgs tables. args will be the one -- accessed from functions, and metaArgs will hold the actual arguments. Nil -- arguments are memoized in nilArgs, and the metatable connects all of them -- together. --]] local args, metaArgs, nilArgs, metatable = {}, {}, {}, {} setmetatable(args, metatable) local function mergeArgs(tables) --[[ -- Accepts multiple tables as input and merges their keys and values -- into one table. If a value is already present it is not overwritten; -- tables listed earlier have precedence. We are also memoizing nil -- values, which can be overwritten if they are 's' (soft). --]] for _, t in ipairs(tables) do for key, val in pairs(t) do if metaArgs[key] == nil and nilArgs[key] ~= 'h' then local tidiedVal = tidyVal(key, val) if tidiedVal == nil then nilArgs[key] = 's' else metaArgs[key] = tidiedVal end end end end end --[[ -- Define metatable behaviour. Arguments are memoized in the metaArgs table, -- and are only fetched from the argument tables once. Fetching arguments -- from the argument tables is the most resource-intensive step in this -- module, so we try and avoid it where possible. For this reason, nil -- arguments are also memoized, in the nilArgs table. Also, we keep a record -- in the metatable of when pairs and ipairs have been called, so we do not -- run pairs and ipairs on the argument tables more than once. We also do -- not run ipairs on fargs and pargs if pairs has already been run, as all -- the arguments will already have been copied over. --]] metatable.__index = function (t, key) --[[ -- Fetches an argument when the args table is indexed. First we check -- to see if the value is memoized, and if not we try and fetch it from -- the argument tables. When we check memoization, we need to check -- metaArgs before nilArgs, as both can be non-nil at the same time. -- If the argument is not present in metaArgs, we also check whether -- pairs has been run yet. If pairs has already been run, we return nil. -- This is because all the arguments will have already been copied into -- metaArgs by the mergeArgs function, meaning that any other arguments -- must be nil. --]] if type(key) == 'string' then key = options.translate[key] end local val = metaArgs[key] if val ~= nil then return val elseif metatable.donePairs or nilArgs[key] then return nil end for _, argTable in ipairs(argTables) do local argTableVal = tidyVal(key, argTable[key]) if argTableVal ~= nil then metaArgs[key] = argTableVal return argTableVal end end nilArgs[key] = 'h' return nil end metatable.__newindex = function (t, key, val) -- This function is called when a module tries to add a new value to the -- args table, or tries to change an existing value. if type(key) == 'string' then key = options.translate[key] end if options.readOnly then error( 'could not write to argument table key "' .. tostring(key) .. '"; the table is read-only', 2 ) elseif options.noOverwrite and args[key] ~= nil then error( 'could not write to argument table key "' .. tostring(key) .. '"; overwriting existing arguments is not permitted', 2 ) elseif val == nil then --[[ -- If the argument is to be overwritten with nil, we need to erase -- the value in metaArgs, so that __index, __pairs and __ipairs do -- not use a previous existing value, if present; and we also need -- to memoize the nil in nilArgs, so that the value isn't looked -- up in the argument tables if it is accessed again. --]] metaArgs[key] = nil nilArgs[key] = 'h' else metaArgs[key] = val end end local function translatenext(invariant) local k, v = next(invariant.t, invariant.k) invariant.k = k if k == nil then return nil elseif type(k) ~= 'string' or not options.backtranslate then return k, v else local backtranslate = options.backtranslate[k] if backtranslate == nil then -- Skip this one. This is a tail call, so this won't cause stack overflow return translatenext(invariant) else return backtranslate, v end end end metatable.__pairs = function () -- Called when pairs is run on the args table. if not metatable.donePairs then mergeArgs(argTables) metatable.donePairs = true end return translatenext, { t = metaArgs } end local function inext(t, i) -- This uses our __index metamethod local v = t[i + 1] if v ~= nil then return i + 1, v end end metatable.__ipairs = function (t) -- Called when ipairs is run on the args table. return inext, t, 0 end return args end return arguments 5qx9tzlul9ser30uxj9nbasjt92cevn 9585 8822 2021-10-29T20:02:22Z meta>GeneralNotability 0 1 revision imported from [[:w:Module:Arguments]]: blame [[User:Barkeep49]] 8822 Scribunto text/plain -- This module provides easy processing of arguments passed to Scribunto from -- #invoke. It is intended for use by other Lua modules, and should not be -- called from #invoke directly. local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local arguments = {} -- Generate four different tidyVal functions, so that we don't have to check the -- options every time we call it. local function tidyValDefault(key, val) if type(val) == 'string' then val = val:match('^%s*(.-)%s*$') if val == '' then return nil else return val end else return val end end local function tidyValTrimOnly(key, val) if type(val) == 'string' then return val:match('^%s*(.-)%s*$') else return val end end local function tidyValRemoveBlanksOnly(key, val) if type(val) == 'string' then if val:find('%S') then return val else return nil end else return val end end local function tidyValNoChange(key, val) return val end local function matchesTitle(given, title) local tp = type( given ) return (tp == 'string' or tp == 'number') and mw.title.new( given ).prefixedText == title end local translate_mt = { __index = function(t, k) return k end } function arguments.getArgs(frame, options) checkType('getArgs', 1, frame, 'table', true) checkType('getArgs', 2, options, 'table', true) frame = frame or {} options = options or {} --[[ -- Set up argument translation. --]] options.translate = options.translate or {} if getmetatable(options.translate) == nil then setmetatable(options.translate, translate_mt) end if options.backtranslate == nil then options.backtranslate = {} for k,v in pairs(options.translate) do options.backtranslate[v] = k end end if options.backtranslate and getmetatable(options.backtranslate) == nil then setmetatable(options.backtranslate, { __index = function(t, k) if options.translate[k] ~= k then return nil else return k end end }) end --[[ -- Get the argument tables. If we were passed a valid frame object, get the -- frame arguments (fargs) and the parent frame arguments (pargs), depending -- on the options set and on the parent frame's availability. If we weren't -- passed a valid frame object, we are being called from another Lua module -- or from the debug console, so assume that we were passed a table of args -- directly, and assign it to a new variable (luaArgs). --]] local fargs, pargs, luaArgs if type(frame.args) == 'table' and type(frame.getParent) == 'function' then if options.wrappers then --[[ -- The wrappers option makes Module:Arguments look up arguments in -- either the frame argument table or the parent argument table, but -- not both. This means that users can use either the #invoke syntax -- or a wrapper template without the loss of performance associated -- with looking arguments up in both the frame and the parent frame. -- Module:Arguments will look up arguments in the parent frame -- if it finds the parent frame's title in options.wrapper; -- otherwise it will look up arguments in the frame object passed -- to getArgs. --]] local parent = frame:getParent() if not parent then fargs = frame.args else local title = parent:getTitle():gsub('/sandbox$', '') local found = false if matchesTitle(options.wrappers, title) then found = true elseif type(options.wrappers) == 'table' then for _,v in pairs(options.wrappers) do if matchesTitle(v, title) then found = true break end end end -- We test for false specifically here so that nil (the default) acts like true. if found or options.frameOnly == false then pargs = parent.args end if not found or options.parentOnly == false then fargs = frame.args end end else -- options.wrapper isn't set, so check the other options. if not options.parentOnly then fargs = frame.args end if not options.frameOnly then local parent = frame:getParent() pargs = parent and parent.args or nil end end if options.parentFirst then fargs, pargs = pargs, fargs end else luaArgs = frame end -- Set the order of precedence of the argument tables. If the variables are -- nil, nothing will be added to the table, which is how we avoid clashes -- between the frame/parent args and the Lua args. local argTables = {fargs} argTables[#argTables + 1] = pargs argTables[#argTables + 1] = luaArgs --[[ -- Generate the tidyVal function. If it has been specified by the user, we -- use that; if not, we choose one of four functions depending on the -- options chosen. This is so that we don't have to call the options table -- every time the function is called. --]] local tidyVal = options.valueFunc if tidyVal then if type(tidyVal) ~= 'function' then error( "bad value assigned to option 'valueFunc'" .. '(function expected, got ' .. type(tidyVal) .. ')', 2 ) end elseif options.trim ~= false then if options.removeBlanks ~= false then tidyVal = tidyValDefault else tidyVal = tidyValTrimOnly end else if options.removeBlanks ~= false then tidyVal = tidyValRemoveBlanksOnly else tidyVal = tidyValNoChange end end --[[ -- Set up the args, metaArgs and nilArgs tables. args will be the one -- accessed from functions, and metaArgs will hold the actual arguments. Nil -- arguments are memoized in nilArgs, and the metatable connects all of them -- together. --]] local args, metaArgs, nilArgs, metatable = {}, {}, {}, {} setmetatable(args, metatable) local function mergeArgs(tables) --[[ -- Accepts multiple tables as input and merges their keys and values -- into one table. If a value is already present it is not overwritten; -- tables listed earlier have precedence. We are also memoizing nil -- values, which can be overwritten if they are 's' (soft). --]] for _, t in ipairs(tables) do for key, val in pairs(t) do if metaArgs[key] == nil and nilArgs[key] ~= 'h' then local tidiedVal = tidyVal(key, val) if tidiedVal == nil then nilArgs[key] = 's' else metaArgs[key] = tidiedVal end end end end end --[[ -- Define metatable behaviour. Arguments are memoized in the metaArgs table, -- and are only fetched from the argument tables once. Fetching arguments -- from the argument tables is the most resource-intensive step in this -- module, so we try and avoid it where possible. For this reason, nil -- arguments are also memoized, in the nilArgs table. Also, we keep a record -- in the metatable of when pairs and ipairs have been called, so we do not -- run pairs and ipairs on the argument tables more than once. We also do -- not run ipairs on fargs and pargs if pairs has already been run, as all -- the arguments will already have been copied over. --]] metatable.__index = function (t, key) --[[ -- Fetches an argument when the args table is indexed. First we check -- to see if the value is memoized, and if not we try and fetch it from -- the argument tables. When we check memoization, we need to check -- metaArgs before nilArgs, as both can be non-nil at the same time. -- If the argument is not present in metaArgs, we also check whether -- pairs has been run yet. If pairs has already been run, we return nil. -- This is because all the arguments will have already been copied into -- metaArgs by the mergeArgs function, meaning that any other arguments -- must be nil. --]] if type(key) == 'string' then key = options.translate[key] end local val = metaArgs[key] if val ~= nil then return val elseif metatable.donePairs or nilArgs[key] then return nil end for _, argTable in ipairs(argTables) do local argTableVal = tidyVal(key, argTable[key]) if argTableVal ~= nil then metaArgs[key] = argTableVal return argTableVal end end nilArgs[key] = 'h' return nil end metatable.__newindex = function (t, key, val) -- This function is called when a module tries to add a new value to the -- args table, or tries to change an existing value. if type(key) == 'string' then key = options.translate[key] end if options.readOnly then error( 'could not write to argument table key "' .. tostring(key) .. '"; the table is read-only', 2 ) elseif options.noOverwrite and args[key] ~= nil then error( 'could not write to argument table key "' .. tostring(key) .. '"; overwriting existing arguments is not permitted', 2 ) elseif val == nil then --[[ -- If the argument is to be overwritten with nil, we need to erase -- the value in metaArgs, so that __index, __pairs and __ipairs do -- not use a previous existing value, if present; and we also need -- to memoize the nil in nilArgs, so that the value isn't looked -- up in the argument tables if it is accessed again. --]] metaArgs[key] = nil nilArgs[key] = 'h' else metaArgs[key] = val end end local function translatenext(invariant) local k, v = next(invariant.t, invariant.k) invariant.k = k if k == nil then return nil elseif type(k) ~= 'string' or not options.backtranslate then return k, v else local backtranslate = options.backtranslate[k] if backtranslate == nil then -- Skip this one. This is a tail call, so this won't cause stack overflow return translatenext(invariant) else return backtranslate, v end end end metatable.__pairs = function () -- Called when pairs is run on the args table. if not metatable.donePairs then mergeArgs(argTables) metatable.donePairs = true end return translatenext, { t = metaArgs } end local function inext(t, i) -- This uses our __index metamethod local v = t[i + 1] if v ~= nil then return i + 1, v end end metatable.__ipairs = function (t) -- Called when ipairs is run on the args table. return inext, t, 0 end return args end return arguments 5qx9tzlul9ser30uxj9nbasjt92cevn 9586 9585 2025-04-17T05:49:28Z meta>Veritas Sapientiae 0 5 revisions imported from [[:commons:Module:Arguments]] 8822 Scribunto text/plain -- This module provides easy processing of arguments passed to Scribunto from -- #invoke. It is intended for use by other Lua modules, and should not be -- called from #invoke directly. local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local arguments = {} -- Generate four different tidyVal functions, so that we don't have to check the -- options every time we call it. local function tidyValDefault(key, val) if type(val) == 'string' then val = val:match('^%s*(.-)%s*$') if val == '' then return nil else return val end else return val end end local function tidyValTrimOnly(key, val) if type(val) == 'string' then return val:match('^%s*(.-)%s*$') else return val end end local function tidyValRemoveBlanksOnly(key, val) if type(val) == 'string' then if val:find('%S') then return val else return nil end else return val end end local function tidyValNoChange(key, val) return val end local function matchesTitle(given, title) local tp = type( given ) return (tp == 'string' or tp == 'number') and mw.title.new( given ).prefixedText == title end local translate_mt = { __index = function(t, k) return k end } function arguments.getArgs(frame, options) checkType('getArgs', 1, frame, 'table', true) checkType('getArgs', 2, options, 'table', true) frame = frame or {} options = options or {} --[[ -- Set up argument translation. --]] options.translate = options.translate or {} if getmetatable(options.translate) == nil then setmetatable(options.translate, translate_mt) end if options.backtranslate == nil then options.backtranslate = {} for k,v in pairs(options.translate) do options.backtranslate[v] = k end end if options.backtranslate and getmetatable(options.backtranslate) == nil then setmetatable(options.backtranslate, { __index = function(t, k) if options.translate[k] ~= k then return nil else return k end end }) end --[[ -- Get the argument tables. If we were passed a valid frame object, get the -- frame arguments (fargs) and the parent frame arguments (pargs), depending -- on the options set and on the parent frame's availability. If we weren't -- passed a valid frame object, we are being called from another Lua module -- or from the debug console, so assume that we were passed a table of args -- directly, and assign it to a new variable (luaArgs). --]] local fargs, pargs, luaArgs if type(frame.args) == 'table' and type(frame.getParent) == 'function' then if options.wrappers then --[[ -- The wrappers option makes Module:Arguments look up arguments in -- either the frame argument table or the parent argument table, but -- not both. This means that users can use either the #invoke syntax -- or a wrapper template without the loss of performance associated -- with looking arguments up in both the frame and the parent frame. -- Module:Arguments will look up arguments in the parent frame -- if it finds the parent frame's title in options.wrapper; -- otherwise it will look up arguments in the frame object passed -- to getArgs. --]] local parent = frame:getParent() if not parent then fargs = frame.args else local title = parent:getTitle():gsub('/sandbox$', '') local found = false if matchesTitle(options.wrappers, title) then found = true elseif type(options.wrappers) == 'table' then for _,v in pairs(options.wrappers) do if matchesTitle(v, title) then found = true break end end end -- We test for false specifically here so that nil (the default) acts like true. if found or options.frameOnly == false then pargs = parent.args end if not found or options.parentOnly == false then fargs = frame.args end end else -- options.wrapper isn't set, so check the other options. if not options.parentOnly then fargs = frame.args end if not options.frameOnly then local parent = frame:getParent() pargs = parent and parent.args or nil end end if options.parentFirst then fargs, pargs = pargs, fargs end else luaArgs = frame end -- Set the order of precedence of the argument tables. If the variables are -- nil, nothing will be added to the table, which is how we avoid clashes -- between the frame/parent args and the Lua args. local argTables = {fargs} argTables[#argTables + 1] = pargs argTables[#argTables + 1] = luaArgs --[[ -- Generate the tidyVal function. If it has been specified by the user, we -- use that; if not, we choose one of four functions depending on the -- options chosen. This is so that we don't have to call the options table -- every time the function is called. --]] local tidyVal = options.valueFunc if tidyVal then if type(tidyVal) ~= 'function' then error( "bad value assigned to option 'valueFunc'" .. '(function expected, got ' .. type(tidyVal) .. ')', 2 ) end elseif options.trim ~= false then if options.removeBlanks ~= false then tidyVal = tidyValDefault else tidyVal = tidyValTrimOnly end else if options.removeBlanks ~= false then tidyVal = tidyValRemoveBlanksOnly else tidyVal = tidyValNoChange end end --[[ -- Set up the args, metaArgs and nilArgs tables. args will be the one -- accessed from functions, and metaArgs will hold the actual arguments. Nil -- arguments are memoized in nilArgs, and the metatable connects all of them -- together. --]] local args, metaArgs, nilArgs, metatable = {}, {}, {}, {} setmetatable(args, metatable) local function mergeArgs(tables) --[[ -- Accepts multiple tables as input and merges their keys and values -- into one table. If a value is already present it is not overwritten; -- tables listed earlier have precedence. We are also memoizing nil -- values, which can be overwritten if they are 's' (soft). --]] for _, t in ipairs(tables) do for key, val in pairs(t) do if metaArgs[key] == nil and nilArgs[key] ~= 'h' then local tidiedVal = tidyVal(key, val) if tidiedVal == nil then nilArgs[key] = 's' else metaArgs[key] = tidiedVal end end end end end --[[ -- Define metatable behaviour. Arguments are memoized in the metaArgs table, -- and are only fetched from the argument tables once. Fetching arguments -- from the argument tables is the most resource-intensive step in this -- module, so we try and avoid it where possible. For this reason, nil -- arguments are also memoized, in the nilArgs table. Also, we keep a record -- in the metatable of when pairs and ipairs have been called, so we do not -- run pairs and ipairs on the argument tables more than once. We also do -- not run ipairs on fargs and pargs if pairs has already been run, as all -- the arguments will already have been copied over. --]] metatable.__index = function (t, key) --[[ -- Fetches an argument when the args table is indexed. First we check -- to see if the value is memoized, and if not we try and fetch it from -- the argument tables. When we check memoization, we need to check -- metaArgs before nilArgs, as both can be non-nil at the same time. -- If the argument is not present in metaArgs, we also check whether -- pairs has been run yet. If pairs has already been run, we return nil. -- This is because all the arguments will have already been copied into -- metaArgs by the mergeArgs function, meaning that any other arguments -- must be nil. --]] if type(key) == 'string' then key = options.translate[key] end local val = metaArgs[key] if val ~= nil then return val elseif metatable.donePairs or nilArgs[key] then return nil end for _, argTable in ipairs(argTables) do local argTableVal = tidyVal(key, argTable[key]) if argTableVal ~= nil then metaArgs[key] = argTableVal return argTableVal end end nilArgs[key] = 'h' return nil end metatable.__newindex = function (t, key, val) -- This function is called when a module tries to add a new value to the -- args table, or tries to change an existing value. if type(key) == 'string' then key = options.translate[key] end if options.readOnly then error( 'could not write to argument table key "' .. tostring(key) .. '"; the table is read-only', 2 ) elseif options.noOverwrite and args[key] ~= nil then error( 'could not write to argument table key "' .. tostring(key) .. '"; overwriting existing arguments is not permitted', 2 ) elseif val == nil then --[[ -- If the argument is to be overwritten with nil, we need to erase -- the value in metaArgs, so that __index, __pairs and __ipairs do -- not use a previous existing value, if present; and we also need -- to memoize the nil in nilArgs, so that the value isn't looked -- up in the argument tables if it is accessed again. --]] metaArgs[key] = nil nilArgs[key] = 'h' else metaArgs[key] = val end end local function translatenext(invariant) local k, v = next(invariant.t, invariant.k) invariant.k = k if k == nil then return nil elseif type(k) ~= 'string' or not options.backtranslate then return k, v else local backtranslate = options.backtranslate[k] if backtranslate == nil then -- Skip this one. This is a tail call, so this won't cause stack overflow return translatenext(invariant) else return backtranslate, v end end end metatable.__pairs = function () -- Called when pairs is run on the args table. if not metatable.donePairs then mergeArgs(argTables) metatable.donePairs = true end return translatenext, { t = metaArgs } end local function inext(t, i) -- This uses our __index metamethod local v = t[i + 1] if v ~= nil then return i + 1, v end end metatable.__ipairs = function (t) -- Called when ipairs is run on the args table. return inext, t, 0 end return args end return arguments 5qx9tzlul9ser30uxj9nbasjt92cevn 9587 9586 2025-04-27T20:14:11Z meta>Pppery 0 Protected "[[Module:Arguments]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) 8822 Scribunto text/plain -- This module provides easy processing of arguments passed to Scribunto from -- #invoke. It is intended for use by other Lua modules, and should not be -- called from #invoke directly. local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local arguments = {} -- Generate four different tidyVal functions, so that we don't have to check the -- options every time we call it. local function tidyValDefault(key, val) if type(val) == 'string' then val = val:match('^%s*(.-)%s*$') if val == '' then return nil else return val end else return val end end local function tidyValTrimOnly(key, val) if type(val) == 'string' then return val:match('^%s*(.-)%s*$') else return val end end local function tidyValRemoveBlanksOnly(key, val) if type(val) == 'string' then if val:find('%S') then return val else return nil end else return val end end local function tidyValNoChange(key, val) return val end local function matchesTitle(given, title) local tp = type( given ) return (tp == 'string' or tp == 'number') and mw.title.new( given ).prefixedText == title end local translate_mt = { __index = function(t, k) return k end } function arguments.getArgs(frame, options) checkType('getArgs', 1, frame, 'table', true) checkType('getArgs', 2, options, 'table', true) frame = frame or {} options = options or {} --[[ -- Set up argument translation. --]] options.translate = options.translate or {} if getmetatable(options.translate) == nil then setmetatable(options.translate, translate_mt) end if options.backtranslate == nil then options.backtranslate = {} for k,v in pairs(options.translate) do options.backtranslate[v] = k end end if options.backtranslate and getmetatable(options.backtranslate) == nil then setmetatable(options.backtranslate, { __index = function(t, k) if options.translate[k] ~= k then return nil else return k end end }) end --[[ -- Get the argument tables. If we were passed a valid frame object, get the -- frame arguments (fargs) and the parent frame arguments (pargs), depending -- on the options set and on the parent frame's availability. If we weren't -- passed a valid frame object, we are being called from another Lua module -- or from the debug console, so assume that we were passed a table of args -- directly, and assign it to a new variable (luaArgs). --]] local fargs, pargs, luaArgs if type(frame.args) == 'table' and type(frame.getParent) == 'function' then if options.wrappers then --[[ -- The wrappers option makes Module:Arguments look up arguments in -- either the frame argument table or the parent argument table, but -- not both. This means that users can use either the #invoke syntax -- or a wrapper template without the loss of performance associated -- with looking arguments up in both the frame and the parent frame. -- Module:Arguments will look up arguments in the parent frame -- if it finds the parent frame's title in options.wrapper; -- otherwise it will look up arguments in the frame object passed -- to getArgs. --]] local parent = frame:getParent() if not parent then fargs = frame.args else local title = parent:getTitle():gsub('/sandbox$', '') local found = false if matchesTitle(options.wrappers, title) then found = true elseif type(options.wrappers) == 'table' then for _,v in pairs(options.wrappers) do if matchesTitle(v, title) then found = true break end end end -- We test for false specifically here so that nil (the default) acts like true. if found or options.frameOnly == false then pargs = parent.args end if not found or options.parentOnly == false then fargs = frame.args end end else -- options.wrapper isn't set, so check the other options. if not options.parentOnly then fargs = frame.args end if not options.frameOnly then local parent = frame:getParent() pargs = parent and parent.args or nil end end if options.parentFirst then fargs, pargs = pargs, fargs end else luaArgs = frame end -- Set the order of precedence of the argument tables. If the variables are -- nil, nothing will be added to the table, which is how we avoid clashes -- between the frame/parent args and the Lua args. local argTables = {fargs} argTables[#argTables + 1] = pargs argTables[#argTables + 1] = luaArgs --[[ -- Generate the tidyVal function. If it has been specified by the user, we -- use that; if not, we choose one of four functions depending on the -- options chosen. This is so that we don't have to call the options table -- every time the function is called. --]] local tidyVal = options.valueFunc if tidyVal then if type(tidyVal) ~= 'function' then error( "bad value assigned to option 'valueFunc'" .. '(function expected, got ' .. type(tidyVal) .. ')', 2 ) end elseif options.trim ~= false then if options.removeBlanks ~= false then tidyVal = tidyValDefault else tidyVal = tidyValTrimOnly end else if options.removeBlanks ~= false then tidyVal = tidyValRemoveBlanksOnly else tidyVal = tidyValNoChange end end --[[ -- Set up the args, metaArgs and nilArgs tables. args will be the one -- accessed from functions, and metaArgs will hold the actual arguments. Nil -- arguments are memoized in nilArgs, and the metatable connects all of them -- together. --]] local args, metaArgs, nilArgs, metatable = {}, {}, {}, {} setmetatable(args, metatable) local function mergeArgs(tables) --[[ -- Accepts multiple tables as input and merges their keys and values -- into one table. If a value is already present it is not overwritten; -- tables listed earlier have precedence. We are also memoizing nil -- values, which can be overwritten if they are 's' (soft). --]] for _, t in ipairs(tables) do for key, val in pairs(t) do if metaArgs[key] == nil and nilArgs[key] ~= 'h' then local tidiedVal = tidyVal(key, val) if tidiedVal == nil then nilArgs[key] = 's' else metaArgs[key] = tidiedVal end end end end end --[[ -- Define metatable behaviour. Arguments are memoized in the metaArgs table, -- and are only fetched from the argument tables once. Fetching arguments -- from the argument tables is the most resource-intensive step in this -- module, so we try and avoid it where possible. For this reason, nil -- arguments are also memoized, in the nilArgs table. Also, we keep a record -- in the metatable of when pairs and ipairs have been called, so we do not -- run pairs and ipairs on the argument tables more than once. We also do -- not run ipairs on fargs and pargs if pairs has already been run, as all -- the arguments will already have been copied over. --]] metatable.__index = function (t, key) --[[ -- Fetches an argument when the args table is indexed. First we check -- to see if the value is memoized, and if not we try and fetch it from -- the argument tables. When we check memoization, we need to check -- metaArgs before nilArgs, as both can be non-nil at the same time. -- If the argument is not present in metaArgs, we also check whether -- pairs has been run yet. If pairs has already been run, we return nil. -- This is because all the arguments will have already been copied into -- metaArgs by the mergeArgs function, meaning that any other arguments -- must be nil. --]] if type(key) == 'string' then key = options.translate[key] end local val = metaArgs[key] if val ~= nil then return val elseif metatable.donePairs or nilArgs[key] then return nil end for _, argTable in ipairs(argTables) do local argTableVal = tidyVal(key, argTable[key]) if argTableVal ~= nil then metaArgs[key] = argTableVal return argTableVal end end nilArgs[key] = 'h' return nil end metatable.__newindex = function (t, key, val) -- This function is called when a module tries to add a new value to the -- args table, or tries to change an existing value. if type(key) == 'string' then key = options.translate[key] end if options.readOnly then error( 'could not write to argument table key "' .. tostring(key) .. '"; the table is read-only', 2 ) elseif options.noOverwrite and args[key] ~= nil then error( 'could not write to argument table key "' .. tostring(key) .. '"; overwriting existing arguments is not permitted', 2 ) elseif val == nil then --[[ -- If the argument is to be overwritten with nil, we need to erase -- the value in metaArgs, so that __index, __pairs and __ipairs do -- not use a previous existing value, if present; and we also need -- to memoize the nil in nilArgs, so that the value isn't looked -- up in the argument tables if it is accessed again. --]] metaArgs[key] = nil nilArgs[key] = 'h' else metaArgs[key] = val end end local function translatenext(invariant) local k, v = next(invariant.t, invariant.k) invariant.k = k if k == nil then return nil elseif type(k) ~= 'string' or not options.backtranslate then return k, v else local backtranslate = options.backtranslate[k] if backtranslate == nil then -- Skip this one. This is a tail call, so this won't cause stack overflow return translatenext(invariant) else return backtranslate, v end end end metatable.__pairs = function () -- Called when pairs is run on the args table. if not metatable.donePairs then mergeArgs(argTables) metatable.donePairs = true end return translatenext, { t = metaArgs } end local function inext(t, i) -- This uses our __index metamethod local v = t[i + 1] if v ~= nil then return i + 1, v end end metatable.__ipairs = function (t) -- Called when ipairs is run on the args table. return inext, t, 0 end return args end return arguments 5qx9tzlul9ser30uxj9nbasjt92cevn 9588 8823 2026-08-24T13:00:36Z RAPTOR7762 18 29 revisions imported from [[:meta:Module:Arguments]] 998 Scribunto text/plain -- This module provides easy processing of arguments passed to Scribunto from -- #invoke. It is intended for use by other Lua modules, and should not be -- called from #invoke directly. local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local arguments = {} -- Generate four different tidyVal functions, so that we don't have to check the -- options every time we call it. local function tidyValDefault(key, val) if type(val) == 'string' then val = val:match('^%s*(.-)%s*$') if val == '' then return nil else return val end else return val end end local function tidyValTrimOnly(key, val) if type(val) == 'string' then return val:match('^%s*(.-)%s*$') else return val end end local function tidyValRemoveBlanksOnly(key, val) if type(val) == 'string' then if val:find('%S') then return val else return nil end else return val end end local function tidyValNoChange(key, val) return val end local function matchesTitle(given, title) local tp = type( given ) return (tp == 'string' or tp == 'number') and mw.title.new( given ).prefixedText == title end local translate_mt = { __index = function(t, k) return k end } function arguments.getArgs(frame, options) checkType('getArgs', 1, frame, 'table', true) checkType('getArgs', 2, options, 'table', true) frame = frame or {} options = options or {} --[[ -- Set up argument translation. --]] options.translate = options.translate or {} if getmetatable(options.translate) == nil then setmetatable(options.translate, translate_mt) end if options.backtranslate == nil then options.backtranslate = {} for k,v in pairs(options.translate) do options.backtranslate[v] = k end end if options.backtranslate and getmetatable(options.backtranslate) == nil then setmetatable(options.backtranslate, { __index = function(t, k) if options.translate[k] ~= k then return nil else return k end end }) end --[[ -- Get the argument tables. If we were passed a valid frame object, get the -- frame arguments (fargs) and the parent frame arguments (pargs), depending -- on the options set and on the parent frame's availability. If we weren't -- passed a valid frame object, we are being called from another Lua module -- or from the debug console, so assume that we were passed a table of args -- directly, and assign it to a new variable (luaArgs). --]] local fargs, pargs, luaArgs if type(frame.args) == 'table' and type(frame.getParent) == 'function' then if options.wrappers then --[[ -- The wrappers option makes Module:Arguments look up arguments in -- either the frame argument table or the parent argument table, but -- not both. This means that users can use either the #invoke syntax -- or a wrapper template without the loss of performance associated -- with looking arguments up in both the frame and the parent frame. -- Module:Arguments will look up arguments in the parent frame -- if it finds the parent frame's title in options.wrapper; -- otherwise it will look up arguments in the frame object passed -- to getArgs. --]] local parent = frame:getParent() if not parent then fargs = frame.args else local title = parent:getTitle():gsub('/sandbox$', '') local found = false if matchesTitle(options.wrappers, title) then found = true elseif type(options.wrappers) == 'table' then for _,v in pairs(options.wrappers) do if matchesTitle(v, title) then found = true break end end end -- We test for false specifically here so that nil (the default) acts like true. if found or options.frameOnly == false then pargs = parent.args end if not found or options.parentOnly == false then fargs = frame.args end end else -- options.wrapper isn't set, so check the other options. if not options.parentOnly then fargs = frame.args end if not options.frameOnly then local parent = frame:getParent() pargs = parent and parent.args or nil end end if options.parentFirst then fargs, pargs = pargs, fargs end else luaArgs = frame end -- Set the order of precedence of the argument tables. If the variables are -- nil, nothing will be added to the table, which is how we avoid clashes -- between the frame/parent args and the Lua args. local argTables = {fargs} argTables[#argTables + 1] = pargs argTables[#argTables + 1] = luaArgs --[[ -- Generate the tidyVal function. If it has been specified by the user, we -- use that; if not, we choose one of four functions depending on the -- options chosen. This is so that we don't have to call the options table -- every time the function is called. --]] local tidyVal = options.valueFunc if tidyVal then if type(tidyVal) ~= 'function' then error( "bad value assigned to option 'valueFunc'" .. '(function expected, got ' .. type(tidyVal) .. ')', 2 ) end elseif options.trim ~= false then if options.removeBlanks ~= false then tidyVal = tidyValDefault else tidyVal = tidyValTrimOnly end else if options.removeBlanks ~= false then tidyVal = tidyValRemoveBlanksOnly else tidyVal = tidyValNoChange end end --[[ -- Set up the args, metaArgs and nilArgs tables. args will be the one -- accessed from functions, and metaArgs will hold the actual arguments. Nil -- arguments are memoized in nilArgs, and the metatable connects all of them -- together. --]] local args, metaArgs, nilArgs, metatable = {}, {}, {}, {} setmetatable(args, metatable) local function mergeArgs(tables) --[[ -- Accepts multiple tables as input and merges their keys and values -- into one table. If a value is already present it is not overwritten; -- tables listed earlier have precedence. We are also memoizing nil -- values, which can be overwritten if they are 's' (soft). --]] for _, t in ipairs(tables) do for key, val in pairs(t) do if metaArgs[key] == nil and nilArgs[key] ~= 'h' then local tidiedVal = tidyVal(key, val) if tidiedVal == nil then nilArgs[key] = 's' else metaArgs[key] = tidiedVal end end end end end --[[ -- Define metatable behaviour. Arguments are memoized in the metaArgs table, -- and are only fetched from the argument tables once. Fetching arguments -- from the argument tables is the most resource-intensive step in this -- module, so we try and avoid it where possible. For this reason, nil -- arguments are also memoized, in the nilArgs table. Also, we keep a record -- in the metatable of when pairs and ipairs have been called, so we do not -- run pairs and ipairs on the argument tables more than once. We also do -- not run ipairs on fargs and pargs if pairs has already been run, as all -- the arguments will already have been copied over. --]] metatable.__index = function (t, key) --[[ -- Fetches an argument when the args table is indexed. First we check -- to see if the value is memoized, and if not we try and fetch it from -- the argument tables. When we check memoization, we need to check -- metaArgs before nilArgs, as both can be non-nil at the same time. -- If the argument is not present in metaArgs, we also check whether -- pairs has been run yet. If pairs has already been run, we return nil. -- This is because all the arguments will have already been copied into -- metaArgs by the mergeArgs function, meaning that any other arguments -- must be nil. --]] if type(key) == 'string' then key = options.translate[key] end local val = metaArgs[key] if val ~= nil then return val elseif metatable.donePairs or nilArgs[key] then return nil end for _, argTable in ipairs(argTables) do local argTableVal = tidyVal(key, argTable[key]) if argTableVal ~= nil then metaArgs[key] = argTableVal return argTableVal end end nilArgs[key] = 'h' return nil end metatable.__newindex = function (t, key, val) -- This function is called when a module tries to add a new value to the -- args table, or tries to change an existing value. if type(key) == 'string' then key = options.translate[key] end if options.readOnly then error( 'could not write to argument table key "' .. tostring(key) .. '"; the table is read-only', 2 ) elseif options.noOverwrite and args[key] ~= nil then error( 'could not write to argument table key "' .. tostring(key) .. '"; overwriting existing arguments is not permitted', 2 ) elseif val == nil then --[[ -- If the argument is to be overwritten with nil, we need to erase -- the value in metaArgs, so that __index, __pairs and __ipairs do -- not use a previous existing value, if present; and we also need -- to memoize the nil in nilArgs, so that the value isn't looked -- up in the argument tables if it is accessed again. --]] metaArgs[key] = nil nilArgs[key] = 'h' else metaArgs[key] = val end end local function translatenext(invariant) local k, v = next(invariant.t, invariant.k) invariant.k = k if k == nil then return nil elseif type(k) ~= 'string' or not options.backtranslate then return k, v else local backtranslate = options.backtranslate[k] if backtranslate == nil then -- Skip this one. This is a tail call, so this won't cause stack overflow return translatenext(invariant) else return backtranslate, v end end end metatable.__pairs = function () -- Called when pairs is run on the args table. if not metatable.donePairs then mergeArgs(argTables) metatable.donePairs = true end return translatenext, { t = metaArgs } end local function inext(t, i) -- This uses our __index metamethod local v = t[i + 1] if v ~= nil then return i + 1, v end end metatable.__ipairs = function (t) -- Called when ipairs is run on the args table. return inext, t, 0 end return args end return arguments 5qx9tzlul9ser30uxj9nbasjt92cevn Module:Navbar 828 263 9632 2013-05-13T16:34:16Z meta>Frietjes 0 imported from [[:en:Module:Navbar]] 9632 Scribunto text/plain local p = {} local HtmlBuilder = require('Module:HtmlBuilder') function trim(s) return mw.ustring.match( s, "^%s*(.-)%s*$" ) end function error(s) local span = HtmlBuilder.create('span') span .addClass('error') .css('float', 'left') .css('white-space', 'nowrap') .wikitext('Error: ' .. s) return tostring(span) end function getTitle( pageName ) pageName = trim( pageName ); local page_title, talk_page_title; if mw.ustring.sub(pageName, 1, 1) == ':' then page_title = mw.title.new( mw.ustring.sub(pageName, 2) ); else page_title = mw.title.new( pageName, 'Template' ); end if page_title then talk_page_title = page_title.talkPageTitle; else talk_page_title = nil; end return page_title, talk_page_title; end function _navbar( args ) if not args[1] then return error('No name provided') end local good, title, talk_title; good, title, talk_title = pcall( getTitle, args[1] ); if not good then return error('Expensive parser function limit exceeded'); end if not title then return error('Page does not exist') end local mainpage = title.fullText; local talkpage = talk_title and talk_title.fullText or '' local editurl = title:fullUrl( 'action=edit' ); local viewLink, talkLink, editLink = 'view', 'talk', 'edit' if args.mini then viewLink, talkLink, editLink = 'v', 't', 'e' end local div = HtmlBuilder.create( 'div' ) div .addClass( 'noprint' ) .addClass( 'plainlinks' ) .addClass( 'hlist' ) .addClass( 'navbar') .cssText( args.style ) if args.mini then div.addClass('mini') end if not (args.mini or args.plain) then div .tag( 'span' ) .css( 'word-spacing', 0 ) .cssText( args.fontstyle ) .wikitext( args.text or 'This box:' ) .wikitext( ' ' ) end if args.brackets then div .tag('span') .css('margin-right', '-0.125em') .cssText( args.fontstyle ) .wikitext( '&#91;' ) .newline(); end local ul = div.tag('ul'); ul .tag( 'li' ) .addClass( 'nv-view' ) .wikitext( '[[' .. mainpage .. '|' ) .tag( 'span ' ) .attr( 'title', 'View this template' ) .cssText( args.fontstyle or '' ) .wikitext( viewLink ) .done() .wikitext( ']]' ) .done() .tag( 'li' ) .addClass( 'nv-talk' ) .wikitext( '[[' .. talkpage .. '|' ) .tag( 'span ' ) .attr( 'title', 'Discuss this template' ) .cssText( args.fontstyle or '' ) .wikitext( talkLink ) .done() .wikitext( ']]' ); if not args.noedit then ul .tag( 'li' ) .addClass( 'nv-edit' ) .wikitext( '[' .. editurl .. ' ' ) .tag( 'span ' ) .attr( 'title', 'Edit this template' ) .cssText( args.fontstyle or '' ) .wikitext( editLink ) .done() .wikitext( ']' ); end if args.brackets then div .tag('span') .css('margin-left', '-0.125em') .cssText( args.fontstyle or '' ) .wikitext( '&#93;' ) .newline(); end return tostring(div) end function p.navbar(frame) local origArgs -- If called via #invoke, use the args passed into the invoking template. -- Otherwise, for testing purposes, assume args are being passed directly in. if frame == mw.getCurrentFrame() then origArgs = frame:getParent().args else origArgs = frame end -- ParserFunctions considers the empty string to be false, so to preserve the previous -- behavior of {{navbar}}, change any empty arguments to nil, so Lua will consider -- them false too. args = {} for k, v in pairs(origArgs) do if v ~= '' then args[k] = v end end return _navbar(args) end return p h390uttz2d0kwp727rhi82zswybbf85 9633 9632 2015-06-24T02:39:56Z meta>Jackmcbarn 0 update from enwiki 9633 Scribunto text/plain local p = {} local getArgs function p._navbar(args) local titleArg = 1 if args.collapsible then titleArg = 2 if not args.plain then args.mini = 1 end if args.fontcolor then args.fontstyle = 'color:' .. args.fontcolor .. ';' end args.style = 'float:left; text-align:left; width:6em;' end local titleText = args[titleArg] or (':' .. mw.getCurrentFrame():getParent():getTitle()) local title = mw.title.new(mw.text.trim(titleText), 'Template'); if not title then error('Invalid title ' .. titleText) end local talkpage = title.talkPageTitle and title.talkPageTitle.fullText or ''; local div = mw.html.create():tag('div') div :addClass('plainlinks') :addClass('hlist') :addClass('navbar') :cssText(args.style) if args.mini then div:addClass('mini') end if not (args.mini or args.plain) then div :tag('span') :css('word-spacing', 0) :cssText(args.fontstyle) :wikitext(args.text or 'This box:') :wikitext(' ') end if args.brackets then div :tag('span') :css('margin-right', '-0.125em') :cssText(args.fontstyle) :wikitext('&#91;') :newline(); end local ul = div:tag('ul'); ul :tag('li') :addClass('nv-view') :wikitext('[[' .. title.fullText .. '|') :tag('span') :attr('title', 'View this template') :cssText(args.fontstyle) :wikitext(args.mini and 'v' or 'view') :done() :wikitext(']]') :done() :tag('li') :addClass('nv-talk') :wikitext('[[' .. talkpage .. '|') :tag('span') :attr('title', 'Discuss this template') :cssText(args.fontstyle) :wikitext(args.mini and 't' or 'talk') :done() :wikitext(']]'); if not args.noedit then ul :tag('li') :addClass('nv-edit') :wikitext('[' .. title:fullUrl('action=edit') .. ' ') :tag('span') :attr('title', 'Edit this template') :cssText(args.fontstyle) :wikitext(args.mini and 'e' or 'edit') :done() :wikitext(']'); end if args.brackets then div :tag('span') :css('margin-left', '-0.125em') :cssText(args.fontstyle) :wikitext('&#93;') :newline(); end if args.collapsible then div :done() :tag('span') :css('font-size', '110%') :cssText(args.fontstyle) :wikitext(args[1]) end return tostring(div:done()) end function p.navbar(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end return p._navbar(getArgs(frame)) end return p p4k4w6fpxrech8gjz80ymsvfxebg9dz 9634 9633 2017-02-27T18:17:16Z meta>Plagiat 0 update by [[w:User:MSGJ]|User:MSGJ]] to [[w:Special:Permalink/686648736|w:revision 686648736]]: changes requested by User:Matt Fitzpatrick to improve accessibility 9634 Scribunto text/plain local p = {} local getArgs function p._navbar(args) local titleArg = 1 if args.collapsible then titleArg = 2 if not args.plain then args.mini = 1 end if args.fontcolor then args.fontstyle = 'color:' .. args.fontcolor .. ';' end args.style = 'float:left; text-align:left; width:6em;' end local titleText = args[titleArg] or (':' .. mw.getCurrentFrame():getParent():getTitle()) local title = mw.title.new(mw.text.trim(titleText), 'Template'); if not title then error('Invalid title ' .. titleText) end local talkpage = title.talkPageTitle and title.talkPageTitle.fullText or ''; local div = mw.html.create():tag('div') div :addClass('plainlinks') :addClass('hlist') :addClass('navbar') :cssText(args.style) if args.mini then div:addClass('mini') end if not (args.mini or args.plain) then div :tag('span') :css('word-spacing', 0) :cssText(args.fontstyle) :wikitext(args.text or 'This box:') :wikitext(' ') end if args.brackets then div :tag('span') :css('margin-right', '-0.125em') :cssText(args.fontstyle) :wikitext('&#91;') :newline(); end local ul = div:tag('ul'); ul :tag('li') :addClass('nv-view') :wikitext('[[' .. title.fullText .. '|') :tag(args.mini and 'abbr' or 'span') :attr('title', 'View this template') :cssText(args.fontstyle) :wikitext(args.mini and 'v' or 'view') :done() :wikitext(']]') :done() :tag('li') :addClass('nv-talk') :wikitext('[[' .. talkpage .. '|') :tag(args.mini and 'abbr' or 'span') :attr('title', 'Discuss this template') :cssText(args.fontstyle) :wikitext(args.mini and 't' or 'talk') :done() :wikitext(']]'); if not args.noedit then ul :tag('li') :addClass('nv-edit') :wikitext('[' .. title:fullUrl('action=edit') .. ' ') :tag(args.mini and 'abbr' or 'span') :attr('title', 'Edit this template') :cssText(args.fontstyle) :wikitext(args.mini and 'e' or 'edit') :done() :wikitext(']'); end if args.brackets then div :tag('span') :css('margin-left', '-0.125em') :cssText(args.fontstyle) :wikitext('&#93;') :newline(); end if args.collapsible then div :done() :tag('span') :css('font-size', '110%') :cssText(args.fontstyle) :wikitext(args[1]) end return tostring(div:done()) end function p.navbar(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end return p._navbar(getArgs(frame)) end return p apzmy7cmwji35s1wt6iwhb6nnl1k3ni 9635 9634 2019-11-07T01:08:05Z meta>MusikAnimal 0 Protected "[[Module:Navbar]]": High-risk Lua module ([Edit=Allow only autoconfirmed users] (indefinite) [Move=Allow only autoconfirmed users] (indefinite)) 9634 Scribunto text/plain local p = {} local getArgs function p._navbar(args) local titleArg = 1 if args.collapsible then titleArg = 2 if not args.plain then args.mini = 1 end if args.fontcolor then args.fontstyle = 'color:' .. args.fontcolor .. ';' end args.style = 'float:left; text-align:left; width:6em;' end local titleText = args[titleArg] or (':' .. mw.getCurrentFrame():getParent():getTitle()) local title = mw.title.new(mw.text.trim(titleText), 'Template'); if not title then error('Invalid title ' .. titleText) end local talkpage = title.talkPageTitle and title.talkPageTitle.fullText or ''; local div = mw.html.create():tag('div') div :addClass('plainlinks') :addClass('hlist') :addClass('navbar') :cssText(args.style) if args.mini then div:addClass('mini') end if not (args.mini or args.plain) then div :tag('span') :css('word-spacing', 0) :cssText(args.fontstyle) :wikitext(args.text or 'This box:') :wikitext(' ') end if args.brackets then div :tag('span') :css('margin-right', '-0.125em') :cssText(args.fontstyle) :wikitext('&#91;') :newline(); end local ul = div:tag('ul'); ul :tag('li') :addClass('nv-view') :wikitext('[[' .. title.fullText .. '|') :tag(args.mini and 'abbr' or 'span') :attr('title', 'View this template') :cssText(args.fontstyle) :wikitext(args.mini and 'v' or 'view') :done() :wikitext(']]') :done() :tag('li') :addClass('nv-talk') :wikitext('[[' .. talkpage .. '|') :tag(args.mini and 'abbr' or 'span') :attr('title', 'Discuss this template') :cssText(args.fontstyle) :wikitext(args.mini and 't' or 'talk') :done() :wikitext(']]'); if not args.noedit then ul :tag('li') :addClass('nv-edit') :wikitext('[' .. title:fullUrl('action=edit') .. ' ') :tag(args.mini and 'abbr' or 'span') :attr('title', 'Edit this template') :cssText(args.fontstyle) :wikitext(args.mini and 'e' or 'edit') :done() :wikitext(']'); end if args.brackets then div :tag('span') :css('margin-left', '-0.125em') :cssText(args.fontstyle) :wikitext('&#93;') :newline(); end if args.collapsible then div :done() :tag('span') :css('font-size', '110%') :cssText(args.fontstyle) :wikitext(args[1]) end return tostring(div:done()) end function p.navbar(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end return p._navbar(getArgs(frame)) end return p apzmy7cmwji35s1wt6iwhb6nnl1k3ni 9636 9635 2021-07-05T15:24:12Z meta>ExE Boss 0 Use [[mw:Special:MyLanguage/Help:TemplateStyles|TemplateStyles]] ([[Template:Flatlist/styles.css]]) 9636 Scribunto text/plain local p = {} local getArgs function p._navbar(args) local titleArg = 1 if args.collapsible then titleArg = 2 if not args.plain then args.mini = 1 end if args.fontcolor then args.fontstyle = 'color:' .. args.fontcolor .. ';' end args.style = 'float:left; text-align:left; width:6em;' end local titleText = args[titleArg] or (':' .. mw.getCurrentFrame():getParent():getTitle()) local title = mw.title.new(mw.text.trim(titleText), 'Template'); if not title then error('Invalid title ' .. titleText) end local talkpage = title.talkPageTitle and title.talkPageTitle.fullText or ''; local div = mw.html.create():tag('div') div :addClass('plainlinks') :addClass('hlist') :addClass('navbar') :cssText(args.style) if args.mini then div:addClass('mini') end if not (args.mini or args.plain) then div :tag('span') :css('word-spacing', 0) :cssText(args.fontstyle) :wikitext(args.text or 'This box:') :wikitext(' ') end if args.brackets then div :tag('span') :css('margin-right', '-0.125em') :cssText(args.fontstyle) :wikitext('&#91;') :newline(); end local ul = div:tag('ul'); ul :tag('li') :addClass('nv-view') :wikitext('[[' .. title.fullText .. '|') :tag(args.mini and 'abbr' or 'span') :attr('title', 'View this template') :cssText(args.fontstyle) :wikitext(args.mini and 'v' or 'view') :done() :wikitext(']]') :done() :tag('li') :addClass('nv-talk') :wikitext('[[' .. talkpage .. '|') :tag(args.mini and 'abbr' or 'span') :attr('title', 'Discuss this template') :cssText(args.fontstyle) :wikitext(args.mini and 't' or 'talk') :done() :wikitext(']]'); if not args.noedit then ul :tag('li') :addClass('nv-edit') :wikitext('[' .. title:fullUrl('action=edit') .. ' ') :tag(args.mini and 'abbr' or 'span') :attr('title', 'Edit this template') :cssText(args.fontstyle) :wikitext(args.mini and 'e' or 'edit') :done() :wikitext(']'); end if args.brackets then div :tag('span') :css('margin-left', '-0.125em') :cssText(args.fontstyle) :wikitext('&#93;') :newline(); end if args.collapsible then div :done() :tag('span') :css('font-size', '110%') :cssText(args.fontstyle) :wikitext(args[1]) end -- DELIBERATE DELTA FROM EN.WP THAT INTEGRATES HLIST TSTYLES -- CARE WHEN SYNCING return mw.getCurrentFrame():extensionTag{ name = 'templatestyles', args = { src = 'Template:Flatlist/styles.css' } } .. tostring(div:done()) end function p.navbar(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end return p._navbar(getArgs(frame)) end return p rs6qh1i12jz3xljz1xc0788xvce6u07 9637 9636 2021-07-06T14:21:10Z meta>ExE Boss 0 Use [[mw:Special:MyLanguage/Help:TemplateStyles|TemplateStyles]] ([[Module:Navbar/styles.css]]) 9637 Scribunto text/plain local p = {} local getArgs function p._navbar(args) local titleArg = 1 if args.collapsible then titleArg = 2 if not args.plain then args.mini = 1 end if args.fontcolor then args.fontstyle = 'color:' .. args.fontcolor .. ';' end args.style = 'float:left; text-align:left; width:6em;' end local titleText = args[titleArg] or (':' .. mw.getCurrentFrame():getParent():getTitle()) local title = mw.title.new(mw.text.trim(titleText), 'Template'); if not title then error('Invalid title ' .. titleText) end local talkpage = title.talkPageTitle and title.talkPageTitle.fullText or ''; local div = mw.html.create():tag('div') div :addClass('plainlinks') :addClass('hlist') :addClass('navbar') :cssText(args.style) if args.mini then div:addClass('mini') end if not (args.mini or args.plain) then div :tag('span') :css('word-spacing', 0) :cssText(args.fontstyle) :wikitext(args.text or 'This box:') :wikitext(' ') end if args.brackets then div :tag('span') :css('margin-right', '-0.125em') :cssText(args.fontstyle) :wikitext('&#91;') :newline(); end local ul = div:tag('ul'); ul :tag('li') :addClass('nv-view') :wikitext('[[' .. title.fullText .. '|') :tag(args.mini and 'abbr' or 'span') :attr('title', 'View this template') :cssText(args.fontstyle) :wikitext(args.mini and 'v' or 'view') :done() :wikitext(']]') :done() :tag('li') :addClass('nv-talk') :wikitext('[[' .. talkpage .. '|') :tag(args.mini and 'abbr' or 'span') :attr('title', 'Discuss this template') :cssText(args.fontstyle) :wikitext(args.mini and 't' or 'talk') :done() :wikitext(']]'); if not args.noedit then ul :tag('li') :addClass('nv-edit') :wikitext('[' .. title:fullUrl('action=edit') .. ' ') :tag(args.mini and 'abbr' or 'span') :attr('title', 'Edit this template') :cssText(args.fontstyle) :wikitext(args.mini and 'e' or 'edit') :done() :wikitext(']'); end if args.brackets then div :tag('span') :css('margin-left', '-0.125em') :cssText(args.fontstyle) :wikitext('&#93;') :newline(); end if args.collapsible then div :done() :tag('span') :css('font-size', '110%') :cssText(args.fontstyle) :wikitext(args[1]) end -- DELIBERATE DELTA FROM EN.WP THAT INTEGRATES HLIST TSTYLES -- CARE WHEN SYNCING local frame = mw.getCurrentFrame() return frame:extensionTag{ name = 'templatestyles', args = { src = 'Template:Flatlist/styles.css' } } .. frame:extensionTag{ name = 'templatestyles', args = { src = 'Module:Navbar/styles.css' } } .. tostring(div:done()) end function p.navbar(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end return p._navbar(getArgs(frame)) end return p 0vb5ikq5ojf76e04h3gazkvct05vfwg 9638 9637 2021-08-23T18:01:08Z meta>MusikBot II 0 Changed protection settings for "[[Module:Navbar]]": High-risk template or module ([[User:MusikBot II/TemplateProtector|more info]]) ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) 9637 Scribunto text/plain local p = {} local getArgs function p._navbar(args) local titleArg = 1 if args.collapsible then titleArg = 2 if not args.plain then args.mini = 1 end if args.fontcolor then args.fontstyle = 'color:' .. args.fontcolor .. ';' end args.style = 'float:left; text-align:left; width:6em;' end local titleText = args[titleArg] or (':' .. mw.getCurrentFrame():getParent():getTitle()) local title = mw.title.new(mw.text.trim(titleText), 'Template'); if not title then error('Invalid title ' .. titleText) end local talkpage = title.talkPageTitle and title.talkPageTitle.fullText or ''; local div = mw.html.create():tag('div') div :addClass('plainlinks') :addClass('hlist') :addClass('navbar') :cssText(args.style) if args.mini then div:addClass('mini') end if not (args.mini or args.plain) then div :tag('span') :css('word-spacing', 0) :cssText(args.fontstyle) :wikitext(args.text or 'This box:') :wikitext(' ') end if args.brackets then div :tag('span') :css('margin-right', '-0.125em') :cssText(args.fontstyle) :wikitext('&#91;') :newline(); end local ul = div:tag('ul'); ul :tag('li') :addClass('nv-view') :wikitext('[[' .. title.fullText .. '|') :tag(args.mini and 'abbr' or 'span') :attr('title', 'View this template') :cssText(args.fontstyle) :wikitext(args.mini and 'v' or 'view') :done() :wikitext(']]') :done() :tag('li') :addClass('nv-talk') :wikitext('[[' .. talkpage .. '|') :tag(args.mini and 'abbr' or 'span') :attr('title', 'Discuss this template') :cssText(args.fontstyle) :wikitext(args.mini and 't' or 'talk') :done() :wikitext(']]'); if not args.noedit then ul :tag('li') :addClass('nv-edit') :wikitext('[' .. title:fullUrl('action=edit') .. ' ') :tag(args.mini and 'abbr' or 'span') :attr('title', 'Edit this template') :cssText(args.fontstyle) :wikitext(args.mini and 'e' or 'edit') :done() :wikitext(']'); end if args.brackets then div :tag('span') :css('margin-left', '-0.125em') :cssText(args.fontstyle) :wikitext('&#93;') :newline(); end if args.collapsible then div :done() :tag('span') :css('font-size', '110%') :cssText(args.fontstyle) :wikitext(args[1]) end -- DELIBERATE DELTA FROM EN.WP THAT INTEGRATES HLIST TSTYLES -- CARE WHEN SYNCING local frame = mw.getCurrentFrame() return frame:extensionTag{ name = 'templatestyles', args = { src = 'Template:Flatlist/styles.css' } } .. frame:extensionTag{ name = 'templatestyles', args = { src = 'Module:Navbar/styles.css' } } .. tostring(div:done()) end function p.navbar(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end return p._navbar(getArgs(frame)) end return p 0vb5ikq5ojf76e04h3gazkvct05vfwg 9639 2013-03-16T02:45:49Z w>Toohool 0 navbar code split from [[Module:Navbox]] 9639 Scribunto text/plain local p = {} local HtmlBuilder = require('Module:HtmlBuilder') function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end function _navbar( args ) if not args[1] then local span = HtmlBuilder.create('span') span .addClass('error') .css('float', 'left') .css('white-space', 'nowrap') .wikitext('Error: No name provided') return span end local title; local pageName = trim(args[1]) if mw.ustring.sub(pageName, 1, 1) == ':' then title = mw.title.new( mw.ustring.sub(pageName, 2) ); else title = mw.title.new( pageName ); if title.namespace == 0 then title = mw.title.makeTitle( 'Template', pageName ); end end local mainpage = title.fullText; local talkpage = title.talkPageTitle and title.talkPageTitle.fullText or '' local editurl = title:fullUrl( 'action=edit' ); local viewLink, talkLink, editLink = 'view', 'talk', 'edit' if args.mini then viewLink, talkLink, editLink = 'v', 't', 'e' end local div = HtmlBuilder.create( 'div' ) div .addClass( 'noprint' ) .addClass( 'plainlinks' ) .addClass( 'hlist' ) .addClass( 'navbar') .cssText( args.style ) if args.mini then div.addClass('mini') end if not (args.mini or args.plain) then div .tag( 'span' ) .css( 'word-spacing', 0 ) .cssText( args.fontstyle ) .wikitext( args.text or 'This box:' ) .wikitext( ' ' ) end if args.brackets then div .tag('span') .css('margin-right', '-0.125em') .cssText( args.fontstyle ) .wikitext( '&#91;' ) .newline(); end local ul = div.tag('ul'); ul .tag( 'li' ) .addClass( 'nv-view' ) .wikitext( '[[' .. mainpage .. '|' ) .tag( 'span ' ) .attr( 'title', 'View this template' ) .cssText( args.fontstyle or '' ) .wikitext( viewLink ) .done() .wikitext( ']]' ) .done() .tag( 'li' ) .addClass( 'nv-talk' ) .wikitext( '[[' .. talkpage .. '|' ) .tag( 'span ' ) .attr( 'title', 'Discuss this template' ) .cssText( args.fontstyle or '' ) .wikitext( talkLink ) .done() .wikitext( ']]' ); if not args.noedit then ul .tag( 'li' ) .addClass( 'nv-edit' ) .wikitext( '[' .. editurl .. ' ' ) .tag( 'span ' ) .attr( 'title', 'Edit this template' ) .cssText( args.fontstyle or '' ) .wikitext( editLink ) .done() .wikitext( ']' ); end if args.brackets then div .tag('span') .css('margin-left', '-0.125em') .cssText( args.fontstyle or '' ) .wikitext( '&#93;' ) .newline(); end return div end function p.navbar(frame) local origArgs -- If called via #invoke, use the args passed into the invoking template. -- Otherwise, for testing purposes, assume args are being passed directly in. if frame == mw.getCurrentFrame() then origArgs = frame:getParent().args else origArgs = frame end -- ParserFunctions considers the empty string to be false, so to preserve the previous -- behavior of {{navbar}}, change any empty arguments to nil, so Lua will consider -- them false too. args = {} for k, v in pairs(origArgs) do if v ~= '' then args[k] = v end end return _navbar(args) end return p p8f59aki3ul556y3hm0lifkdeiteckl 9640 9639 2013-03-16T02:47:20Z w>Toohool 0 return an html string instead of an htmlbuilder 9640 Scribunto text/plain local p = {} local HtmlBuilder = require('Module:HtmlBuilder') function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end function _navbar( args ) if not args[1] then local span = HtmlBuilder.create('span') span .addClass('error') .css('float', 'left') .css('white-space', 'nowrap') .wikitext('Error: No name provided') return span end local title; local pageName = trim(args[1]) if mw.ustring.sub(pageName, 1, 1) == ':' then title = mw.title.new( mw.ustring.sub(pageName, 2) ); else title = mw.title.new( pageName ); if title.namespace == 0 then title = mw.title.makeTitle( 'Template', pageName ); end end local mainpage = title.fullText; local talkpage = title.talkPageTitle and title.talkPageTitle.fullText or '' local editurl = title:fullUrl( 'action=edit' ); local viewLink, talkLink, editLink = 'view', 'talk', 'edit' if args.mini then viewLink, talkLink, editLink = 'v', 't', 'e' end local div = HtmlBuilder.create( 'div' ) div .addClass( 'noprint' ) .addClass( 'plainlinks' ) .addClass( 'hlist' ) .addClass( 'navbar') .cssText( args.style ) if args.mini then div.addClass('mini') end if not (args.mini or args.plain) then div .tag( 'span' ) .css( 'word-spacing', 0 ) .cssText( args.fontstyle ) .wikitext( args.text or 'This box:' ) .wikitext( ' ' ) end if args.brackets then div .tag('span') .css('margin-right', '-0.125em') .cssText( args.fontstyle ) .wikitext( '&#91;' ) .newline(); end local ul = div.tag('ul'); ul .tag( 'li' ) .addClass( 'nv-view' ) .wikitext( '[[' .. mainpage .. '|' ) .tag( 'span ' ) .attr( 'title', 'View this template' ) .cssText( args.fontstyle or '' ) .wikitext( viewLink ) .done() .wikitext( ']]' ) .done() .tag( 'li' ) .addClass( 'nv-talk' ) .wikitext( '[[' .. talkpage .. '|' ) .tag( 'span ' ) .attr( 'title', 'Discuss this template' ) .cssText( args.fontstyle or '' ) .wikitext( talkLink ) .done() .wikitext( ']]' ); if not args.noedit then ul .tag( 'li' ) .addClass( 'nv-edit' ) .wikitext( '[' .. editurl .. ' ' ) .tag( 'span ' ) .attr( 'title', 'Edit this template' ) .cssText( args.fontstyle or '' ) .wikitext( editLink ) .done() .wikitext( ']' ); end if args.brackets then div .tag('span') .css('margin-left', '-0.125em') .cssText( args.fontstyle or '' ) .wikitext( '&#93;' ) .newline(); end return tostring(div) end function p.navbar(frame) local origArgs -- If called via #invoke, use the args passed into the invoking template. -- Otherwise, for testing purposes, assume args are being passed directly in. if frame == mw.getCurrentFrame() then origArgs = frame:getParent().args else origArgs = frame end -- ParserFunctions considers the empty string to be false, so to preserve the previous -- behavior of {{navbar}}, change any empty arguments to nil, so Lua will consider -- them false too. args = {} for k, v in pairs(origArgs) do if v ~= '' then args[k] = v end end return _navbar(args) end return p ojkgfh903wn439eqdlu0m1j6tw3h3g1 9641 9640 2013-03-16T03:08:18Z w>Dragons flight 0 If the documentation is accurate, this will use the namespace part of pageName first and fallback to Template if one isn't present, which is what we want. 9641 Scribunto text/plain local p = {} local HtmlBuilder = require('Module:HtmlBuilder') function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end function _navbar( args ) if not args[1] then local span = HtmlBuilder.create('span') span .addClass('error') .css('float', 'left') .css('white-space', 'nowrap') .wikitext('Error: No name provided') return span end local title; local pageName = trim(args[1]) if mw.ustring.sub(pageName, 1, 1) == ':' then title = mw.title.new( mw.ustring.sub(pageName, 2) ); else title = mw.title.new( pageName, 'Template' ); end local mainpage = title.fullText; local talkpage = title.talkPageTitle and title.talkPageTitle.fullText or '' local editurl = title:fullUrl( 'action=edit' ); local viewLink, talkLink, editLink = 'view', 'talk', 'edit' if args.mini then viewLink, talkLink, editLink = 'v', 't', 'e' end local div = HtmlBuilder.create( 'div' ) div .addClass( 'noprint' ) .addClass( 'plainlinks' ) .addClass( 'hlist' ) .addClass( 'navbar') .cssText( args.style ) if args.mini then div.addClass('mini') end if not (args.mini or args.plain) then div .tag( 'span' ) .css( 'word-spacing', 0 ) .cssText( args.fontstyle ) .wikitext( args.text or 'This box:' ) .wikitext( ' ' ) end if args.brackets then div .tag('span') .css('margin-right', '-0.125em') .cssText( args.fontstyle ) .wikitext( '&#91;' ) .newline(); end local ul = div.tag('ul'); ul .tag( 'li' ) .addClass( 'nv-view' ) .wikitext( '[[' .. mainpage .. '|' ) .tag( 'span ' ) .attr( 'title', 'View this template' ) .cssText( args.fontstyle or '' ) .wikitext( viewLink ) .done() .wikitext( ']]' ) .done() .tag( 'li' ) .addClass( 'nv-talk' ) .wikitext( '[[' .. talkpage .. '|' ) .tag( 'span ' ) .attr( 'title', 'Discuss this template' ) .cssText( args.fontstyle or '' ) .wikitext( talkLink ) .done() .wikitext( ']]' ); if not args.noedit then ul .tag( 'li' ) .addClass( 'nv-edit' ) .wikitext( '[' .. editurl .. ' ' ) .tag( 'span ' ) .attr( 'title', 'Edit this template' ) .cssText( args.fontstyle or '' ) .wikitext( editLink ) .done() .wikitext( ']' ); end if args.brackets then div .tag('span') .css('margin-left', '-0.125em') .cssText( args.fontstyle or '' ) .wikitext( '&#93;' ) .newline(); end return tostring(div) end function p.navbar(frame) local origArgs -- If called via #invoke, use the args passed into the invoking template. -- Otherwise, for testing purposes, assume args are being passed directly in. if frame == mw.getCurrentFrame() then origArgs = frame:getParent().args else origArgs = frame end -- ParserFunctions considers the empty string to be false, so to preserve the previous -- behavior of {{navbar}}, change any empty arguments to nil, so Lua will consider -- them false too. args = {} for k, v in pairs(origArgs) do if v ~= '' then args[k] = v end end return _navbar(args) end return p cfm4luynmd3zcowp0107dw03pzfjmxt 9642 9641 2013-03-16T03:19:29Z w>Dragons flight 0 match ought to be marginally faster 9642 Scribunto text/plain local p = {} local HtmlBuilder = require('Module:HtmlBuilder') function trim(s) return mw.ustring.match( s, "^%s*(.-)%s*$" ) end function _navbar( args ) if not args[1] then local span = HtmlBuilder.create('span') span .addClass('error') .css('float', 'left') .css('white-space', 'nowrap') .wikitext('Error: No name provided') return span end local title; local pageName = trim(args[1]) if mw.ustring.sub(pageName, 1, 1) == ':' then title = mw.title.new( mw.ustring.sub(pageName, 2) ); else title = mw.title.new( pageName, 'Template' ); end local mainpage = title.fullText; local talkpage = title.talkPageTitle and title.talkPageTitle.fullText or '' local editurl = title:fullUrl( 'action=edit' ); local viewLink, talkLink, editLink = 'view', 'talk', 'edit' if args.mini then viewLink, talkLink, editLink = 'v', 't', 'e' end local div = HtmlBuilder.create( 'div' ) div .addClass( 'noprint' ) .addClass( 'plainlinks' ) .addClass( 'hlist' ) .addClass( 'navbar') .cssText( args.style ) if args.mini then div.addClass('mini') end if not (args.mini or args.plain) then div .tag( 'span' ) .css( 'word-spacing', 0 ) .cssText( args.fontstyle ) .wikitext( args.text or 'This box:' ) .wikitext( ' ' ) end if args.brackets then div .tag('span') .css('margin-right', '-0.125em') .cssText( args.fontstyle ) .wikitext( '&#91;' ) .newline(); end local ul = div.tag('ul'); ul .tag( 'li' ) .addClass( 'nv-view' ) .wikitext( '[[' .. mainpage .. '|' ) .tag( 'span ' ) .attr( 'title', 'View this template' ) .cssText( args.fontstyle or '' ) .wikitext( viewLink ) .done() .wikitext( ']]' ) .done() .tag( 'li' ) .addClass( 'nv-talk' ) .wikitext( '[[' .. talkpage .. '|' ) .tag( 'span ' ) .attr( 'title', 'Discuss this template' ) .cssText( args.fontstyle or '' ) .wikitext( talkLink ) .done() .wikitext( ']]' ); if not args.noedit then ul .tag( 'li' ) .addClass( 'nv-edit' ) .wikitext( '[' .. editurl .. ' ' ) .tag( 'span ' ) .attr( 'title', 'Edit this template' ) .cssText( args.fontstyle or '' ) .wikitext( editLink ) .done() .wikitext( ']' ); end if args.brackets then div .tag('span') .css('margin-left', '-0.125em') .cssText( args.fontstyle or '' ) .wikitext( '&#93;' ) .newline(); end return tostring(div) end function p.navbar(frame) local origArgs -- If called via #invoke, use the args passed into the invoking template. -- Otherwise, for testing purposes, assume args are being passed directly in. if frame == mw.getCurrentFrame() then origArgs = frame:getParent().args else origArgs = frame end -- ParserFunctions considers the empty string to be false, so to preserve the previous -- behavior of {{navbar}}, change any empty arguments to nil, so Lua will consider -- them false too. args = {} for k, v in pairs(origArgs) do if v ~= '' then args[k] = v end end return _navbar(args) end return p h00ref819az8yv5gpz0sykriedjq65e 9643 9642 2013-03-19T00:58:05Z w>Dragons flight 0 Protected Module:Navbar: [[WP:High-risk templates|Highly visible template]]: Used on a significant number of pages, but also still in testing. ([Edit=Allow only autoconfirmed users] (indefinite) [Move=Allow only autoconfirmed users] (indefinite)) 9642 Scribunto text/plain local p = {} local HtmlBuilder = require('Module:HtmlBuilder') function trim(s) return mw.ustring.match( s, "^%s*(.-)%s*$" ) end function _navbar( args ) if not args[1] then local span = HtmlBuilder.create('span') span .addClass('error') .css('float', 'left') .css('white-space', 'nowrap') .wikitext('Error: No name provided') return span end local title; local pageName = trim(args[1]) if mw.ustring.sub(pageName, 1, 1) == ':' then title = mw.title.new( mw.ustring.sub(pageName, 2) ); else title = mw.title.new( pageName, 'Template' ); end local mainpage = title.fullText; local talkpage = title.talkPageTitle and title.talkPageTitle.fullText or '' local editurl = title:fullUrl( 'action=edit' ); local viewLink, talkLink, editLink = 'view', 'talk', 'edit' if args.mini then viewLink, talkLink, editLink = 'v', 't', 'e' end local div = HtmlBuilder.create( 'div' ) div .addClass( 'noprint' ) .addClass( 'plainlinks' ) .addClass( 'hlist' ) .addClass( 'navbar') .cssText( args.style ) if args.mini then div.addClass('mini') end if not (args.mini or args.plain) then div .tag( 'span' ) .css( 'word-spacing', 0 ) .cssText( args.fontstyle ) .wikitext( args.text or 'This box:' ) .wikitext( ' ' ) end if args.brackets then div .tag('span') .css('margin-right', '-0.125em') .cssText( args.fontstyle ) .wikitext( '&#91;' ) .newline(); end local ul = div.tag('ul'); ul .tag( 'li' ) .addClass( 'nv-view' ) .wikitext( '[[' .. mainpage .. '|' ) .tag( 'span ' ) .attr( 'title', 'View this template' ) .cssText( args.fontstyle or '' ) .wikitext( viewLink ) .done() .wikitext( ']]' ) .done() .tag( 'li' ) .addClass( 'nv-talk' ) .wikitext( '[[' .. talkpage .. '|' ) .tag( 'span ' ) .attr( 'title', 'Discuss this template' ) .cssText( args.fontstyle or '' ) .wikitext( talkLink ) .done() .wikitext( ']]' ); if not args.noedit then ul .tag( 'li' ) .addClass( 'nv-edit' ) .wikitext( '[' .. editurl .. ' ' ) .tag( 'span ' ) .attr( 'title', 'Edit this template' ) .cssText( args.fontstyle or '' ) .wikitext( editLink ) .done() .wikitext( ']' ); end if args.brackets then div .tag('span') .css('margin-left', '-0.125em') .cssText( args.fontstyle or '' ) .wikitext( '&#93;' ) .newline(); end return tostring(div) end function p.navbar(frame) local origArgs -- If called via #invoke, use the args passed into the invoking template. -- Otherwise, for testing purposes, assume args are being passed directly in. if frame == mw.getCurrentFrame() then origArgs = frame:getParent().args else origArgs = frame end -- ParserFunctions considers the empty string to be false, so to preserve the previous -- behavior of {{navbar}}, change any empty arguments to nil, so Lua will consider -- them false too. args = {} for k, v in pairs(origArgs) do if v ~= '' then args[k] = v end end return _navbar(args) end return p h00ref819az8yv5gpz0sykriedjq65e 9644 9643 2013-03-23T05:13:17Z w>Toohool 0 return error for non-existent page 9644 Scribunto text/plain local p = {} local HtmlBuilder = require('Module:HtmlBuilder') function trim(s) return mw.ustring.match( s, "^%s*(.-)%s*$" ) end function error(s) local span = HtmlBuilder.create('span') span .addClass('error') .css('float', 'left') .css('white-space', 'nowrap') .wikitext('Error: ' .. s) return tostring(span) end function _navbar( args ) if not args[1] then return error('No name provided') end local title; local pageName = trim(args[1]) if mw.ustring.sub(pageName, 1, 1) == ':' then title = mw.title.new( mw.ustring.sub(pageName, 2) ); else title = mw.title.new( pageName, 'Template' ); end if not title then return error('Page does not exist') end local mainpage = title.fullText; local talkpage = title.talkPageTitle and title.talkPageTitle.fullText or '' local editurl = title:fullUrl( 'action=edit' ); local viewLink, talkLink, editLink = 'view', 'talk', 'edit' if args.mini then viewLink, talkLink, editLink = 'v', 't', 'e' end local div = HtmlBuilder.create( 'div' ) div .addClass( 'noprint' ) .addClass( 'plainlinks' ) .addClass( 'hlist' ) .addClass( 'navbar') .cssText( args.style ) if args.mini then div.addClass('mini') end if not (args.mini or args.plain) then div .tag( 'span' ) .css( 'word-spacing', 0 ) .cssText( args.fontstyle ) .wikitext( args.text or 'This box:' ) .wikitext( ' ' ) end if args.brackets then div .tag('span') .css('margin-right', '-0.125em') .cssText( args.fontstyle ) .wikitext( '&#91;' ) .newline(); end local ul = div.tag('ul'); ul .tag( 'li' ) .addClass( 'nv-view' ) .wikitext( '[[' .. mainpage .. '|' ) .tag( 'span ' ) .attr( 'title', 'View this template' ) .cssText( args.fontstyle or '' ) .wikitext( viewLink ) .done() .wikitext( ']]' ) .done() .tag( 'li' ) .addClass( 'nv-talk' ) .wikitext( '[[' .. talkpage .. '|' ) .tag( 'span ' ) .attr( 'title', 'Discuss this template' ) .cssText( args.fontstyle or '' ) .wikitext( talkLink ) .done() .wikitext( ']]' ); if not args.noedit then ul .tag( 'li' ) .addClass( 'nv-edit' ) .wikitext( '[' .. editurl .. ' ' ) .tag( 'span ' ) .attr( 'title', 'Edit this template' ) .cssText( args.fontstyle or '' ) .wikitext( editLink ) .done() .wikitext( ']' ); end if args.brackets then div .tag('span') .css('margin-left', '-0.125em') .cssText( args.fontstyle or '' ) .wikitext( '&#93;' ) .newline(); end return tostring(div) end function p.navbar(frame) local origArgs -- If called via #invoke, use the args passed into the invoking template. -- Otherwise, for testing purposes, assume args are being passed directly in. if frame == mw.getCurrentFrame() then origArgs = frame:getParent().args else origArgs = frame end -- ParserFunctions considers the empty string to be false, so to preserve the previous -- behavior of {{navbar}}, change any empty arguments to nil, so Lua will consider -- them false too. args = {} for k, v in pairs(origArgs) do if v ~= '' then args[k] = v end end return _navbar(args) end return p oygybbs6gc1gqoev46537r7a0za6l7k 9645 9644 2013-03-26T02:45:52Z w>Dragons flight 0 Changed protection level of Module:Navbar: [[WP:High-risk templates|Highly visible template or Lua module]] ([Edit=Block all non-admin users] (indefinite) [Move=Block all non-admin users] (indefinite)) 9644 Scribunto text/plain local p = {} local HtmlBuilder = require('Module:HtmlBuilder') function trim(s) return mw.ustring.match( s, "^%s*(.-)%s*$" ) end function error(s) local span = HtmlBuilder.create('span') span .addClass('error') .css('float', 'left') .css('white-space', 'nowrap') .wikitext('Error: ' .. s) return tostring(span) end function _navbar( args ) if not args[1] then return error('No name provided') end local title; local pageName = trim(args[1]) if mw.ustring.sub(pageName, 1, 1) == ':' then title = mw.title.new( mw.ustring.sub(pageName, 2) ); else title = mw.title.new( pageName, 'Template' ); end if not title then return error('Page does not exist') end local mainpage = title.fullText; local talkpage = title.talkPageTitle and title.talkPageTitle.fullText or '' local editurl = title:fullUrl( 'action=edit' ); local viewLink, talkLink, editLink = 'view', 'talk', 'edit' if args.mini then viewLink, talkLink, editLink = 'v', 't', 'e' end local div = HtmlBuilder.create( 'div' ) div .addClass( 'noprint' ) .addClass( 'plainlinks' ) .addClass( 'hlist' ) .addClass( 'navbar') .cssText( args.style ) if args.mini then div.addClass('mini') end if not (args.mini or args.plain) then div .tag( 'span' ) .css( 'word-spacing', 0 ) .cssText( args.fontstyle ) .wikitext( args.text or 'This box:' ) .wikitext( ' ' ) end if args.brackets then div .tag('span') .css('margin-right', '-0.125em') .cssText( args.fontstyle ) .wikitext( '&#91;' ) .newline(); end local ul = div.tag('ul'); ul .tag( 'li' ) .addClass( 'nv-view' ) .wikitext( '[[' .. mainpage .. '|' ) .tag( 'span ' ) .attr( 'title', 'View this template' ) .cssText( args.fontstyle or '' ) .wikitext( viewLink ) .done() .wikitext( ']]' ) .done() .tag( 'li' ) .addClass( 'nv-talk' ) .wikitext( '[[' .. talkpage .. '|' ) .tag( 'span ' ) .attr( 'title', 'Discuss this template' ) .cssText( args.fontstyle or '' ) .wikitext( talkLink ) .done() .wikitext( ']]' ); if not args.noedit then ul .tag( 'li' ) .addClass( 'nv-edit' ) .wikitext( '[' .. editurl .. ' ' ) .tag( 'span ' ) .attr( 'title', 'Edit this template' ) .cssText( args.fontstyle or '' ) .wikitext( editLink ) .done() .wikitext( ']' ); end if args.brackets then div .tag('span') .css('margin-left', '-0.125em') .cssText( args.fontstyle or '' ) .wikitext( '&#93;' ) .newline(); end return tostring(div) end function p.navbar(frame) local origArgs -- If called via #invoke, use the args passed into the invoking template. -- Otherwise, for testing purposes, assume args are being passed directly in. if frame == mw.getCurrentFrame() then origArgs = frame:getParent().args else origArgs = frame end -- ParserFunctions considers the empty string to be false, so to preserve the previous -- behavior of {{navbar}}, change any empty arguments to nil, so Lua will consider -- them false too. args = {} for k, v in pairs(origArgs) do if v ~= '' then args[k] = v end end return _navbar(args) end return p oygybbs6gc1gqoev46537r7a0za6l7k 9646 9645 2013-03-31T20:07:29Z w>Dragons flight 0 handle expensive parser function limit without killing the box 9646 Scribunto text/plain local p = {} local HtmlBuilder = require('Module:HtmlBuilder') function trim(s) return mw.ustring.match( s, "^%s*(.-)%s*$" ) end function error(s) local span = HtmlBuilder.create('span') span .addClass('error') .css('float', 'left') .css('white-space', 'nowrap') .wikitext('Error: ' .. s) return tostring(span) end function getTitle( pageName ) pageName = trim( pageName ); if mw.ustring.sub(pageName, 1, 1) == ':' then return mw.title.new( mw.ustring.sub(pageName, 2) ); else return mw.title.new( pageName, 'Template' ); end end function _navbar( args ) if not args[1] then return error('No name provided') end local good, title; good, title = pcall( getTitle, args[1] ); if not good then return error('Expensive parser function limit exceeded'); end if not title then return error('Page does not exist') end local mainpage = title.fullText; local talkpage = title.talkPageTitle and title.talkPageTitle.fullText or '' local editurl = title:fullUrl( 'action=edit' ); local viewLink, talkLink, editLink = 'view', 'talk', 'edit' if args.mini then viewLink, talkLink, editLink = 'v', 't', 'e' end local div = HtmlBuilder.create( 'div' ) div .addClass( 'noprint' ) .addClass( 'plainlinks' ) .addClass( 'hlist' ) .addClass( 'navbar') .cssText( args.style ) if args.mini then div.addClass('mini') end if not (args.mini or args.plain) then div .tag( 'span' ) .css( 'word-spacing', 0 ) .cssText( args.fontstyle ) .wikitext( args.text or 'This box:' ) .wikitext( ' ' ) end if args.brackets then div .tag('span') .css('margin-right', '-0.125em') .cssText( args.fontstyle ) .wikitext( '&#91;' ) .newline(); end local ul = div.tag('ul'); ul .tag( 'li' ) .addClass( 'nv-view' ) .wikitext( '[[' .. mainpage .. '|' ) .tag( 'span ' ) .attr( 'title', 'View this template' ) .cssText( args.fontstyle or '' ) .wikitext( viewLink ) .done() .wikitext( ']]' ) .done() .tag( 'li' ) .addClass( 'nv-talk' ) .wikitext( '[[' .. talkpage .. '|' ) .tag( 'span ' ) .attr( 'title', 'Discuss this template' ) .cssText( args.fontstyle or '' ) .wikitext( talkLink ) .done() .wikitext( ']]' ); if not args.noedit then ul .tag( 'li' ) .addClass( 'nv-edit' ) .wikitext( '[' .. editurl .. ' ' ) .tag( 'span ' ) .attr( 'title', 'Edit this template' ) .cssText( args.fontstyle or '' ) .wikitext( editLink ) .done() .wikitext( ']' ); end if args.brackets then div .tag('span') .css('margin-left', '-0.125em') .cssText( args.fontstyle or '' ) .wikitext( '&#93;' ) .newline(); end return tostring(div) end function p.navbar(frame) local origArgs -- If called via #invoke, use the args passed into the invoking template. -- Otherwise, for testing purposes, assume args are being passed directly in. if frame == mw.getCurrentFrame() then origArgs = frame:getParent().args else origArgs = frame end -- ParserFunctions considers the empty string to be false, so to preserve the previous -- behavior of {{navbar}}, change any empty arguments to nil, so Lua will consider -- them false too. args = {} for k, v in pairs(origArgs) do if v ~= '' then args[k] = v end end return _navbar(args) end return p j91n8ccxbxrx9b29oy9cpfor8v12422 9647 9646 2013-04-02T05:53:01Z w>Dragons flight 0 also trap talk title 9647 Scribunto text/plain local p = {} local HtmlBuilder = require('Module:HtmlBuilder') function trim(s) return mw.ustring.match( s, "^%s*(.-)%s*$" ) end function error(s) local span = HtmlBuilder.create('span') span .addClass('error') .css('float', 'left') .css('white-space', 'nowrap') .wikitext('Error: ' .. s) return tostring(span) end function getTitle( pageName ) pageName = trim( pageName ); local page_title, talk_page_title; if mw.ustring.sub(pageName, 1, 1) == ':' then page_title = mw.title.new( mw.ustring.sub(pageName, 2) ); else page_title = mw.title.new( pageName, 'Template' ); end if page_title then talk_page_title = page_title.talkPageTitle; else talk_page_title = nil; end return page_title, talk_page_title; end function _navbar( args ) if not args[1] then return error('No name provided') end local good, title, talk_title; good, title, talk_title = pcall( getTitle, args[1] ); if not good then return error('Expensive parser function limit exceeded'); end if not title then return error('Page does not exist') end local mainpage = title.fullText; local talkpage = talk_title and talk_title.fullText or '' local editurl = title:fullUrl( 'action=edit' ); local viewLink, talkLink, editLink = 'view', 'talk', 'edit' if args.mini then viewLink, talkLink, editLink = 'v', 't', 'e' end local div = HtmlBuilder.create( 'div' ) div .addClass( 'noprint' ) .addClass( 'plainlinks' ) .addClass( 'hlist' ) .addClass( 'navbar') .cssText( args.style ) if args.mini then div.addClass('mini') end if not (args.mini or args.plain) then div .tag( 'span' ) .css( 'word-spacing', 0 ) .cssText( args.fontstyle ) .wikitext( args.text or 'This box:' ) .wikitext( ' ' ) end if args.brackets then div .tag('span') .css('margin-right', '-0.125em') .cssText( args.fontstyle ) .wikitext( '&#91;' ) .newline(); end local ul = div.tag('ul'); ul .tag( 'li' ) .addClass( 'nv-view' ) .wikitext( '[[' .. mainpage .. '|' ) .tag( 'span ' ) .attr( 'title', 'View this template' ) .cssText( args.fontstyle or '' ) .wikitext( viewLink ) .done() .wikitext( ']]' ) .done() .tag( 'li' ) .addClass( 'nv-talk' ) .wikitext( '[[' .. talkpage .. '|' ) .tag( 'span ' ) .attr( 'title', 'Discuss this template' ) .cssText( args.fontstyle or '' ) .wikitext( talkLink ) .done() .wikitext( ']]' ); if not args.noedit then ul .tag( 'li' ) .addClass( 'nv-edit' ) .wikitext( '[' .. editurl .. ' ' ) .tag( 'span ' ) .attr( 'title', 'Edit this template' ) .cssText( args.fontstyle or '' ) .wikitext( editLink ) .done() .wikitext( ']' ); end if args.brackets then div .tag('span') .css('margin-left', '-0.125em') .cssText( args.fontstyle or '' ) .wikitext( '&#93;' ) .newline(); end return tostring(div) end function p.navbar(frame) local origArgs -- If called via #invoke, use the args passed into the invoking template. -- Otherwise, for testing purposes, assume args are being passed directly in. if frame == mw.getCurrentFrame() then origArgs = frame:getParent().args else origArgs = frame end -- ParserFunctions considers the empty string to be false, so to preserve the previous -- behavior of {{navbar}}, change any empty arguments to nil, so Lua will consider -- them false too. args = {} for k, v in pairs(origArgs) do if v ~= '' then args[k] = v end end return _navbar(args) end return p h390uttz2d0kwp727rhi82zswybbf85 9648 9632 2013-09-03T13:47:09Z w>Anomie 0 Let's not assume the error is because of the expensive function limit, it could be something else. Especially for people who import this module into MW 1.21 installations. 9648 Scribunto text/plain local p = {} local HtmlBuilder = require('Module:HtmlBuilder') function trim(s) return mw.ustring.match( s, "^%s*(.-)%s*$" ) end function error(s) local span = HtmlBuilder.create('span') span .addClass('error') .css('float', 'left') .css('white-space', 'nowrap') .wikitext('Error: ' .. s) return tostring(span) end function getTitle( pageName ) pageName = trim( pageName ); local page_title, talk_page_title; if mw.ustring.sub(pageName, 1, 1) == ':' then page_title = mw.title.new( mw.ustring.sub(pageName, 2) ); else page_title = mw.title.new( pageName, 'Template' ); end if page_title then talk_page_title = page_title.talkPageTitle; else talk_page_title = nil; end return page_title, talk_page_title; end function _navbar( args ) if not args[1] then return error('No name provided') end local good, title, talk_title; good, title, talk_title = pcall( getTitle, args[1] ); if not good then return error(title); end if not title then return error('Page does not exist') end local mainpage = title.fullText; local talkpage = talk_title and talk_title.fullText or '' local editurl = title:fullUrl( 'action=edit' ); local viewLink, talkLink, editLink = 'view', 'talk', 'edit' if args.mini then viewLink, talkLink, editLink = 'v', 't', 'e' end local div = HtmlBuilder.create( 'div' ) div .addClass( 'noprint' ) .addClass( 'plainlinks' ) .addClass( 'hlist' ) .addClass( 'navbar') .cssText( args.style ) if args.mini then div.addClass('mini') end if not (args.mini or args.plain) then div .tag( 'span' ) .css( 'word-spacing', 0 ) .cssText( args.fontstyle ) .wikitext( args.text or 'This box:' ) .wikitext( ' ' ) end if args.brackets then div .tag('span') .css('margin-right', '-0.125em') .cssText( args.fontstyle ) .wikitext( '&#91;' ) .newline(); end local ul = div.tag('ul'); ul .tag( 'li' ) .addClass( 'nv-view' ) .wikitext( '[[' .. mainpage .. '|' ) .tag( 'span ' ) .attr( 'title', 'View this template' ) .cssText( args.fontstyle or '' ) .wikitext( viewLink ) .done() .wikitext( ']]' ) .done() .tag( 'li' ) .addClass( 'nv-talk' ) .wikitext( '[[' .. talkpage .. '|' ) .tag( 'span ' ) .attr( 'title', 'Discuss this template' ) .cssText( args.fontstyle or '' ) .wikitext( talkLink ) .done() .wikitext( ']]' ); if not args.noedit then ul .tag( 'li' ) .addClass( 'nv-edit' ) .wikitext( '[' .. editurl .. ' ' ) .tag( 'span ' ) .attr( 'title', 'Edit this template' ) .cssText( args.fontstyle or '' ) .wikitext( editLink ) .done() .wikitext( ']' ); end if args.brackets then div .tag('span') .css('margin-left', '-0.125em') .cssText( args.fontstyle or '' ) .wikitext( '&#93;' ) .newline(); end return tostring(div) end function p.navbar(frame) local origArgs -- If called via #invoke, use the args passed into the invoking template. -- Otherwise, for testing purposes, assume args are being passed directly in. if frame == mw.getCurrentFrame() then origArgs = frame:getParent().args else origArgs = frame end -- ParserFunctions considers the empty string to be false, so to preserve the previous -- behavior of {{navbar}}, change any empty arguments to nil, so Lua will consider -- them false too. args = {} for k, v in pairs(origArgs) do if v ~= '' then args[k] = v end end return _navbar(args) end return p sqtcbevb9kfapo50olhe1m7kv0f33q4 9649 9648 2013-12-03T17:17:17Z w>Edokter 0 Does not work, now hidden in [[MediaWiki:Print.css]] 9649 Scribunto text/plain local p = {} local HtmlBuilder = require('Module:HtmlBuilder') function trim(s) return mw.ustring.match( s, "^%s*(.-)%s*$" ) end function error(s) local span = HtmlBuilder.create('span') span .addClass('error') .css('float', 'left') .css('white-space', 'nowrap') .wikitext('Error: ' .. s) return tostring(span) end function getTitle( pageName ) pageName = trim( pageName ); local page_title, talk_page_title; if mw.ustring.sub(pageName, 1, 1) == ':' then page_title = mw.title.new( mw.ustring.sub(pageName, 2) ); else page_title = mw.title.new( pageName, 'Template' ); end if page_title then talk_page_title = page_title.talkPageTitle; else talk_page_title = nil; end return page_title, talk_page_title; end function _navbar( args ) if not args[1] then return error('No name provided') end local good, title, talk_title; good, title, talk_title = pcall( getTitle, args[1] ); if not good then return error(title); end if not title then return error('Page does not exist') end local mainpage = title.fullText; local talkpage = talk_title and talk_title.fullText or '' local editurl = title:fullUrl( 'action=edit' ); local viewLink, talkLink, editLink = 'view', 'talk', 'edit' if args.mini then viewLink, talkLink, editLink = 'v', 't', 'e' end local div = HtmlBuilder.create( 'div' ) div .addClass( 'plainlinks' ) .addClass( 'hlist' ) .addClass( 'navbar') .cssText( args.style ) if args.mini then div.addClass('mini') end if not (args.mini or args.plain) then div .tag( 'span' ) .css( 'word-spacing', 0 ) .cssText( args.fontstyle ) .wikitext( args.text or 'This box:' ) .wikitext( ' ' ) end if args.brackets then div .tag('span') .css('margin-right', '-0.125em') .cssText( args.fontstyle ) .wikitext( '&#91;' ) .newline(); end local ul = div.tag('ul'); ul .tag( 'li' ) .addClass( 'nv-view' ) .wikitext( '[[' .. mainpage .. '|' ) .tag( 'span ' ) .attr( 'title', 'View this template' ) .cssText( args.fontstyle or '' ) .wikitext( viewLink ) .done() .wikitext( ']]' ) .done() .tag( 'li' ) .addClass( 'nv-talk' ) .wikitext( '[[' .. talkpage .. '|' ) .tag( 'span ' ) .attr( 'title', 'Discuss this template' ) .cssText( args.fontstyle or '' ) .wikitext( talkLink ) .done() .wikitext( ']]' ); if not args.noedit then ul .tag( 'li' ) .addClass( 'nv-edit' ) .wikitext( '[' .. editurl .. ' ' ) .tag( 'span ' ) .attr( 'title', 'Edit this template' ) .cssText( args.fontstyle or '' ) .wikitext( editLink ) .done() .wikitext( ']' ); end if args.brackets then div .tag('span') .css('margin-left', '-0.125em') .cssText( args.fontstyle or '' ) .wikitext( '&#93;' ) .newline(); end return tostring(div) end function p.navbar(frame) local origArgs -- If called via #invoke, use the args passed into the invoking template. -- Otherwise, for testing purposes, assume args are being passed directly in. if frame == mw.getCurrentFrame() then origArgs = frame:getParent().args else origArgs = frame end -- ParserFunctions considers the empty string to be false, so to preserve the previous -- behavior of {{navbar}}, change any empty arguments to nil, so Lua will consider -- them false too. args = {} for k, v in pairs(origArgs) do if v ~= '' then args[k] = v end end return _navbar(args) end return p 39r5xaapswj46h9e1e5bjumm1znpf6n 9650 9649 2014-05-07T03:39:52Z w>Plastikspork 0 Per edit request 9650 Scribunto text/plain local p = {} local HtmlBuilder = require('Module:HtmlBuilder') local function trim(s) return mw.ustring.match( s, "^%s*(.-)%s*$" ) end local function htmlError(s) local span = HtmlBuilder.create('span') span .addClass('error') .css('float', 'left') .css('white-space', 'nowrap') .wikitext('Error: ' .. s) return tostring(span) end local function getTitle( pageName ) pageName = trim( pageName ); local page_title, talk_page_title; if mw.ustring.sub(pageName, 1, 1) == ':' then page_title = mw.title.new( mw.ustring.sub(pageName, 2) ); else page_title = mw.title.new( pageName, 'Template' ); end if page_title then talk_page_title = page_title.talkPageTitle; else talk_page_title = nil; end return page_title, talk_page_title; end local function _navbar( args ) if not args[1] then return htmlError('No name provided') end local good, title, talk_title; good, title, talk_title = pcall( getTitle, args[1] ); if not good then return htmlError(title); end if not title then return htmlError('Page does not exist') end local mainpage = title.fullText; local talkpage = talk_title and talk_title.fullText or '' local editurl = title:fullUrl( 'action=edit' ); local viewLink, talkLink, editLink = 'view', 'talk', 'edit' if args.mini then viewLink, talkLink, editLink = 'v', 't', 'e' end local div = HtmlBuilder.create( 'div' ) div .addClass( 'plainlinks' ) .addClass( 'hlist' ) .addClass( 'navbar') .cssText( args.style ) if args.mini then div.addClass('mini') end if not (args.mini or args.plain) then div .tag( 'span' ) .css( 'word-spacing', 0 ) .cssText( args.fontstyle ) .wikitext( args.text or 'This box:' ) .wikitext( ' ' ) end if args.brackets then div .tag('span') .css('margin-right', '-0.125em') .cssText( args.fontstyle ) .wikitext( '&#91;' ) .newline(); end local ul = div.tag('ul'); ul .tag( 'li' ) .addClass( 'nv-view' ) .wikitext( '[[' .. mainpage .. '|' ) .tag( 'span ' ) .attr( 'title', 'View this template' ) .cssText( args.fontstyle or '' ) .wikitext( viewLink ) .done() .wikitext( ']]' ) .done() .tag( 'li' ) .addClass( 'nv-talk' ) .wikitext( '[[' .. talkpage .. '|' ) .tag( 'span ' ) .attr( 'title', 'Discuss this template' ) .cssText( args.fontstyle or '' ) .wikitext( talkLink ) .done() .wikitext( ']]' ); if not args.noedit then ul .tag( 'li' ) .addClass( 'nv-edit' ) .wikitext( '[' .. editurl .. ' ' ) .tag( 'span ' ) .attr( 'title', 'Edit this template' ) .cssText( args.fontstyle or '' ) .wikitext( editLink ) .done() .wikitext( ']' ); end if args.brackets then div .tag('span') .css('margin-left', '-0.125em') .cssText( args.fontstyle or '' ) .wikitext( '&#93;' ) .newline(); end return tostring(div) end function p.navbar(frame) local origArgs -- If called via #invoke, use the args passed into the invoking template. -- Otherwise, for testing purposes, assume args are being passed directly in. if frame == mw.getCurrentFrame() then origArgs = frame:getParent().args else origArgs = frame end -- ParserFunctions considers the empty string to be false, so to preserve the previous -- behavior of {{navbar}}, change any empty arguments to nil, so Lua will consider -- them false too. local args = {} for k, v in pairs(origArgs) do if v ~= '' then args[k] = v end end return _navbar(args) end return p pgfenjg9lfv7lom32qqeuqqbm3jnyxx 9651 9650 2014-05-23T20:04:37Z w>Ymblanter 0 Changed protection level of Module:Navbar: RFPP request ([Edit=Allow only template editors and admins] (indefinite) [Move=Allow only template editors and admins] (indefinite)) 9650 Scribunto text/plain local p = {} local HtmlBuilder = require('Module:HtmlBuilder') local function trim(s) return mw.ustring.match( s, "^%s*(.-)%s*$" ) end local function htmlError(s) local span = HtmlBuilder.create('span') span .addClass('error') .css('float', 'left') .css('white-space', 'nowrap') .wikitext('Error: ' .. s) return tostring(span) end local function getTitle( pageName ) pageName = trim( pageName ); local page_title, talk_page_title; if mw.ustring.sub(pageName, 1, 1) == ':' then page_title = mw.title.new( mw.ustring.sub(pageName, 2) ); else page_title = mw.title.new( pageName, 'Template' ); end if page_title then talk_page_title = page_title.talkPageTitle; else talk_page_title = nil; end return page_title, talk_page_title; end local function _navbar( args ) if not args[1] then return htmlError('No name provided') end local good, title, talk_title; good, title, talk_title = pcall( getTitle, args[1] ); if not good then return htmlError(title); end if not title then return htmlError('Page does not exist') end local mainpage = title.fullText; local talkpage = talk_title and talk_title.fullText or '' local editurl = title:fullUrl( 'action=edit' ); local viewLink, talkLink, editLink = 'view', 'talk', 'edit' if args.mini then viewLink, talkLink, editLink = 'v', 't', 'e' end local div = HtmlBuilder.create( 'div' ) div .addClass( 'plainlinks' ) .addClass( 'hlist' ) .addClass( 'navbar') .cssText( args.style ) if args.mini then div.addClass('mini') end if not (args.mini or args.plain) then div .tag( 'span' ) .css( 'word-spacing', 0 ) .cssText( args.fontstyle ) .wikitext( args.text or 'This box:' ) .wikitext( ' ' ) end if args.brackets then div .tag('span') .css('margin-right', '-0.125em') .cssText( args.fontstyle ) .wikitext( '&#91;' ) .newline(); end local ul = div.tag('ul'); ul .tag( 'li' ) .addClass( 'nv-view' ) .wikitext( '[[' .. mainpage .. '|' ) .tag( 'span ' ) .attr( 'title', 'View this template' ) .cssText( args.fontstyle or '' ) .wikitext( viewLink ) .done() .wikitext( ']]' ) .done() .tag( 'li' ) .addClass( 'nv-talk' ) .wikitext( '[[' .. talkpage .. '|' ) .tag( 'span ' ) .attr( 'title', 'Discuss this template' ) .cssText( args.fontstyle or '' ) .wikitext( talkLink ) .done() .wikitext( ']]' ); if not args.noedit then ul .tag( 'li' ) .addClass( 'nv-edit' ) .wikitext( '[' .. editurl .. ' ' ) .tag( 'span ' ) .attr( 'title', 'Edit this template' ) .cssText( args.fontstyle or '' ) .wikitext( editLink ) .done() .wikitext( ']' ); end if args.brackets then div .tag('span') .css('margin-left', '-0.125em') .cssText( args.fontstyle or '' ) .wikitext( '&#93;' ) .newline(); end return tostring(div) end function p.navbar(frame) local origArgs -- If called via #invoke, use the args passed into the invoking template. -- Otherwise, for testing purposes, assume args are being passed directly in. if frame == mw.getCurrentFrame() then origArgs = frame:getParent().args else origArgs = frame end -- ParserFunctions considers the empty string to be false, so to preserve the previous -- behavior of {{navbar}}, change any empty arguments to nil, so Lua will consider -- them false too. local args = {} for k, v in pairs(origArgs) do if v ~= '' then args[k] = v end end return _navbar(args) end return p pgfenjg9lfv7lom32qqeuqqbm3jnyxx 9652 9651 2014-05-23T21:09:40Z w>Jackmcbarn 0 autofill name, export _navbar, use Module:Arguments, and fix whitespace, from sandbox 9652 Scribunto text/plain local p = {} local getArgs local HtmlBuilder = require('Module:HtmlBuilder') local function trim(s) return mw.ustring.match(s, "^%s*(.-)%s*$") end local function htmlError(s) local span = HtmlBuilder.create('span') span .addClass('error') .css('float', 'left') .css('white-space', 'nowrap') .wikitext('Error: ' .. s) return tostring(span) end local function getTitle(pageName) pageName = trim(pageName); local page_title, talk_page_title; if mw.ustring.sub(pageName, 1, 1) == ':' then page_title = mw.title.new( mw.ustring.sub(pageName, 2)); else page_title = mw.title.new(pageName, 'Template'); end if page_title then talk_page_title = page_title.talkPageTitle; else talk_page_title = nil; end return page_title, talk_page_title; end function p._navbar(args) local good, title, talk_title; good, title, talk_title = pcall(getTitle, args[1] or (':' .. mw.getCurrentFrame():getParent():getTitle())); if not good then return htmlError(title); end if not title then return htmlError('Page does not exist') end local mainpage = title.fullText; local talkpage = talk_title and talk_title.fullText or '' local editurl = title:fullUrl('action=edit'); local viewLink, talkLink, editLink = 'view', 'talk', 'edit' if args.mini then viewLink, talkLink, editLink = 'v', 't', 'e' end local div = HtmlBuilder.create('div') div .addClass('plainlinks') .addClass('hlist') .addClass('navbar') .cssText(args.style) if args.mini then div.addClass('mini') end if not (args.mini or args.plain) then div .tag('span') .css('word-spacing', 0) .cssText(args.fontstyle) .wikitext(args.text or 'This box:') .wikitext(' ') end if args.brackets then div .tag('span') .css('margin-right', '-0.125em') .cssText(args.fontstyle) .wikitext('&#91;') .newline(); end local ul = div.tag('ul'); ul .tag('li') .addClass('nv-view') .wikitext('[[' .. mainpage .. '|') .tag('span') .attr('title', 'View this template') .cssText(args.fontstyle or '') .wikitext(viewLink) .done() .wikitext(']]') .done() .tag('li') .addClass('nv-talk') .wikitext('[[' .. talkpage .. '|') .tag('span') .attr('title', 'Discuss this template') .cssText(args.fontstyle or '') .wikitext(talkLink) .done() .wikitext(']]'); if not args.noedit then ul .tag('li') .addClass('nv-edit') .wikitext('[' .. editurl .. ' ') .tag('span') .attr('title', 'Edit this template') .cssText(args.fontstyle or '') .wikitext(editLink) .done() .wikitext(']'); end if args.brackets then div .tag('span') .css('margin-left', '-0.125em') .cssText( args.fontstyle or '') .wikitext('&#93;') .newline(); end return tostring(div) end function p.navbar(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end return p._navbar(getArgs(frame)) end return p dzntv6aewsjm6sgv7xaqnvrydnxztnh 9653 9652 2014-05-24T16:19:17Z w>Jackmcbarn 0 support collapsible version 9653 Scribunto text/plain local p = {} local getArgs local HtmlBuilder = require('Module:HtmlBuilder') local function trim(s) return mw.ustring.match(s, "^%s*(.-)%s*$") end local function htmlError(s) local span = HtmlBuilder.create('span') span .addClass('error') .css('float', 'left') .css('white-space', 'nowrap') .wikitext('Error: ' .. s) return tostring(span) end local function getTitle(pageName) pageName = trim(pageName); local page_title, talk_page_title; if mw.ustring.sub(pageName, 1, 1) == ':' then page_title = mw.title.new( mw.ustring.sub(pageName, 2)); else page_title = mw.title.new(pageName, 'Template'); end if page_title then talk_page_title = page_title.talkPageTitle; else talk_page_title = nil; end return page_title, talk_page_title; end function p._navbar(args) local good, title, talk_title; local titleArg = 1 if args.collapsible then titleArg = 2 if not args.plain then args.mini = 1 end if args.fontcolor then args.fontstyle = 'color:' .. args.fontcolor .. ';' end args.style = 'float:left; text-align:left; width:6em;' end good, title, talk_title = pcall(getTitle, args[titleArg] or (':' .. mw.getCurrentFrame():getParent():getTitle())); if not good then return htmlError(title); end if not title then return htmlError('Page does not exist') end local mainpage = title.fullText; local talkpage = talk_title and talk_title.fullText or '' local editurl = title:fullUrl('action=edit'); local viewLink, talkLink, editLink = 'view', 'talk', 'edit' if args.mini then viewLink, talkLink, editLink = 'v', 't', 'e' end local div = HtmlBuilder.create().tag('div') div .addClass('plainlinks') .addClass('hlist') .addClass('navbar') .cssText(args.style) if args.mini then div.addClass('mini') end if not (args.mini or args.plain) then div .tag('span') .css('word-spacing', 0) .cssText(args.fontstyle) .wikitext(args.text or 'This box:') .wikitext(' ') end if args.brackets then div .tag('span') .css('margin-right', '-0.125em') .cssText(args.fontstyle) .wikitext('&#91;') .newline(); end local ul = div.tag('ul'); ul .tag('li') .addClass('nv-view') .wikitext('[[' .. mainpage .. '|') .tag('span') .attr('title', 'View this template') .cssText(args.fontstyle or '') .wikitext(viewLink) .done() .wikitext(']]') .done() .tag('li') .addClass('nv-talk') .wikitext('[[' .. talkpage .. '|') .tag('span') .attr('title', 'Discuss this template') .cssText(args.fontstyle or '') .wikitext(talkLink) .done() .wikitext(']]'); if not args.noedit then ul .tag('li') .addClass('nv-edit') .wikitext('[' .. editurl .. ' ') .tag('span') .attr('title', 'Edit this template') .cssText(args.fontstyle or '') .wikitext(editLink) .done() .wikitext(']'); end if args.brackets then div .tag('span') .css('margin-left', '-0.125em') .cssText( args.fontstyle or '') .wikitext('&#93;') .newline(); end if args.collapsible then div .done() .tag('span') .css('font-size', '110%') .cssText(args.fontstyle or '') .wikitext(args[1]) end return tostring(div.allDone()) end function p.navbar(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end return p._navbar(getArgs(frame)) end return p j7p5dh2bvjhjjc8ldrudu3mm19xz9q6 9654 9653 2014-10-09T22:35:46Z w>Jackmcbarn 0 inherit line height on the ul to override the 1.6 default, so that it doesn't take up 2 lines and cause off-centeredness in navboxes like [[Template:Grand Armee Corps]] 9654 Scribunto text/plain local p = {} local getArgs local HtmlBuilder = require('Module:HtmlBuilder') local function trim(s) return mw.ustring.match(s, "^%s*(.-)%s*$") end local function htmlError(s) local span = HtmlBuilder.create('span') span .addClass('error') .css('float', 'left') .css('white-space', 'nowrap') .wikitext('Error: ' .. s) return tostring(span) end local function getTitle(pageName) pageName = trim(pageName); local page_title, talk_page_title; if mw.ustring.sub(pageName, 1, 1) == ':' then page_title = mw.title.new( mw.ustring.sub(pageName, 2)); else page_title = mw.title.new(pageName, 'Template'); end if page_title then talk_page_title = page_title.talkPageTitle; else talk_page_title = nil; end return page_title, talk_page_title; end function p._navbar(args) local good, title, talk_title; local titleArg = 1 if args.collapsible then titleArg = 2 if not args.plain then args.mini = 1 end if args.fontcolor then args.fontstyle = 'color:' .. args.fontcolor .. ';' end args.style = 'float:left; text-align:left; width:6em;' end good, title, talk_title = pcall(getTitle, args[titleArg] or (':' .. mw.getCurrentFrame():getParent():getTitle())); if not good then return htmlError(title); end if not title then return htmlError('Page does not exist') end local mainpage = title.fullText; local talkpage = talk_title and talk_title.fullText or '' local editurl = title:fullUrl('action=edit'); local viewLink, talkLink, editLink = 'view', 'talk', 'edit' if args.mini then viewLink, talkLink, editLink = 'v', 't', 'e' end local div = HtmlBuilder.create().tag('div') div .addClass('plainlinks') .addClass('hlist') .addClass('navbar') .cssText(args.style) if args.mini then div.addClass('mini') end if not (args.mini or args.plain) then div .tag('span') .css('word-spacing', 0) .cssText(args.fontstyle) .wikitext(args.text or 'This box:') .wikitext(' ') end if args.brackets then div .tag('span') .css('margin-right', '-0.125em') .cssText(args.fontstyle) .wikitext('&#91;') .newline(); end local ul = div.tag('ul') .css('line-height', 'inherit'); -- otherwise, the default ul line height makes this take up 2 lines in navboxes, and makes the second line off-center ul .tag('li') .addClass('nv-view') .wikitext('[[' .. mainpage .. '|') .tag('span') .attr('title', 'View this template') .cssText(args.fontstyle or '') .wikitext(viewLink) .done() .wikitext(']]') .done() .tag('li') .addClass('nv-talk') .wikitext('[[' .. talkpage .. '|') .tag('span') .attr('title', 'Discuss this template') .cssText(args.fontstyle or '') .wikitext(talkLink) .done() .wikitext(']]'); if not args.noedit then ul .tag('li') .addClass('nv-edit') .wikitext('[' .. editurl .. ' ') .tag('span') .attr('title', 'Edit this template') .cssText(args.fontstyle or '') .wikitext(editLink) .done() .wikitext(']'); end if args.brackets then div .tag('span') .css('margin-left', '-0.125em') .cssText( args.fontstyle or '') .wikitext('&#93;') .newline(); end if args.collapsible then div .done() .tag('span') .css('font-size', '110%') .cssText(args.fontstyle or '') .wikitext(args[1]) end return tostring(div.allDone()) end function p.navbar(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end return p._navbar(getArgs(frame)) end return p i35idk7btcyat69j7x466plob703usm 9655 9654 2014-10-10T07:31:12Z w>Edokter 0 No longer needed; moved fix to Common.css. 9655 Scribunto text/plain local p = {} local getArgs local HtmlBuilder = require('Module:HtmlBuilder') local function trim(s) return mw.ustring.match(s, "^%s*(.-)%s*$") end local function htmlError(s) local span = HtmlBuilder.create('span') span .addClass('error') .css('float', 'left') .css('white-space', 'nowrap') .wikitext('Error: ' .. s) return tostring(span) end local function getTitle(pageName) pageName = trim(pageName); local page_title, talk_page_title; if mw.ustring.sub(pageName, 1, 1) == ':' then page_title = mw.title.new( mw.ustring.sub(pageName, 2)); else page_title = mw.title.new(pageName, 'Template'); end if page_title then talk_page_title = page_title.talkPageTitle; else talk_page_title = nil; end return page_title, talk_page_title; end function p._navbar(args) local good, title, talk_title; local titleArg = 1 if args.collapsible then titleArg = 2 if not args.plain then args.mini = 1 end if args.fontcolor then args.fontstyle = 'color:' .. args.fontcolor .. ';' end args.style = 'float:left; text-align:left; width:6em;' end good, title, talk_title = pcall(getTitle, args[titleArg] or (':' .. mw.getCurrentFrame():getParent():getTitle())); if not good then return htmlError(title); end if not title then return htmlError('Page does not exist') end local mainpage = title.fullText; local talkpage = talk_title and talk_title.fullText or '' local editurl = title:fullUrl('action=edit'); local viewLink, talkLink, editLink = 'view', 'talk', 'edit' if args.mini then viewLink, talkLink, editLink = 'v', 't', 'e' end local div = HtmlBuilder.create().tag('div') div .addClass('plainlinks') .addClass('hlist') .addClass('navbar') .cssText(args.style) if args.mini then div.addClass('mini') end if not (args.mini or args.plain) then div .tag('span') .css('word-spacing', 0) .cssText(args.fontstyle) .wikitext(args.text or 'This box:') .wikitext(' ') end if args.brackets then div .tag('span') .css('margin-right', '-0.125em') .cssText(args.fontstyle) .wikitext('&#91;') .newline(); end local ul = div.tag('ul'); ul .tag('li') .addClass('nv-view') .wikitext('[[' .. mainpage .. '|') .tag('span') .attr('title', 'View this template') .cssText(args.fontstyle or '') .wikitext(viewLink) .done() .wikitext(']]') .done() .tag('li') .addClass('nv-talk') .wikitext('[[' .. talkpage .. '|') .tag('span') .attr('title', 'Discuss this template') .cssText(args.fontstyle or '') .wikitext(talkLink) .done() .wikitext(']]'); if not args.noedit then ul .tag('li') .addClass('nv-edit') .wikitext('[' .. editurl .. ' ') .tag('span') .attr('title', 'Edit this template') .cssText(args.fontstyle or '') .wikitext(editLink) .done() .wikitext(']'); end if args.brackets then div .tag('span') .css('margin-left', '-0.125em') .cssText( args.fontstyle or '') .wikitext('&#93;') .newline(); end if args.collapsible then div .done() .tag('span') .css('font-size', '110%') .cssText(args.fontstyle or '') .wikitext(args[1]) end return tostring(div.allDone()) end function p.navbar(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end return p._navbar(getArgs(frame)) end return p j7p5dh2bvjhjjc8ldrudu3mm19xz9q6 9656 9655 2014-11-24T21:07:38Z w>Jackmcbarn 0 remove obnoxious pcall-and-rethrow behavior, now that real script errors include details 9656 Scribunto text/plain local p = {} local getArgs local HtmlBuilder = require('Module:HtmlBuilder') local function trim(s) return mw.ustring.match(s, "^%s*(.-)%s*$") end local function getTitle(pageName) pageName = trim(pageName); local page_title, talk_page_title; if mw.ustring.sub(pageName, 1, 1) == ':' then page_title = mw.title.new( mw.ustring.sub(pageName, 2)); else page_title = mw.title.new(pageName, 'Template'); end if page_title then talk_page_title = page_title.talkPageTitle; else talk_page_title = nil; end return page_title, talk_page_title; end function p._navbar(args) local title, talk_title; local titleArg = 1 if args.collapsible then titleArg = 2 if not args.plain then args.mini = 1 end if args.fontcolor then args.fontstyle = 'color:' .. args.fontcolor .. ';' end args.style = 'float:left; text-align:left; width:6em;' end title, talk_title = getTitle(args[titleArg] or (':' .. mw.getCurrentFrame():getParent():getTitle())); if not title then error('Page does not exist') end local mainpage = title.fullText; local talkpage = talk_title and talk_title.fullText or '' local editurl = title:fullUrl('action=edit'); local viewLink, talkLink, editLink = 'view', 'talk', 'edit' if args.mini then viewLink, talkLink, editLink = 'v', 't', 'e' end local div = HtmlBuilder.create().tag('div') div .addClass('plainlinks') .addClass('hlist') .addClass('navbar') .cssText(args.style) if args.mini then div.addClass('mini') end if not (args.mini or args.plain) then div .tag('span') .css('word-spacing', 0) .cssText(args.fontstyle) .wikitext(args.text or 'This box:') .wikitext(' ') end if args.brackets then div .tag('span') .css('margin-right', '-0.125em') .cssText(args.fontstyle) .wikitext('&#91;') .newline(); end local ul = div.tag('ul'); ul .tag('li') .addClass('nv-view') .wikitext('[[' .. mainpage .. '|') .tag('span') .attr('title', 'View this template') .cssText(args.fontstyle or '') .wikitext(viewLink) .done() .wikitext(']]') .done() .tag('li') .addClass('nv-talk') .wikitext('[[' .. talkpage .. '|') .tag('span') .attr('title', 'Discuss this template') .cssText(args.fontstyle or '') .wikitext(talkLink) .done() .wikitext(']]'); if not args.noedit then ul .tag('li') .addClass('nv-edit') .wikitext('[' .. editurl .. ' ') .tag('span') .attr('title', 'Edit this template') .cssText(args.fontstyle or '') .wikitext(editLink) .done() .wikitext(']'); end if args.brackets then div .tag('span') .css('margin-left', '-0.125em') .cssText( args.fontstyle or '') .wikitext('&#93;') .newline(); end if args.collapsible then div .done() .tag('span') .css('font-size', '110%') .cssText(args.fontstyle or '') .wikitext(args[1]) end return tostring(div.allDone()) end function p.navbar(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end return p._navbar(getArgs(frame)) end return p to8gt5pp12upq05few9w43d4tl3f07y 9657 9656 2014-11-27T22:46:08Z w>Jackmcbarn 0 less misleading error message 9657 Scribunto text/plain local p = {} local getArgs local HtmlBuilder = require('Module:HtmlBuilder') local function trim(s) return mw.ustring.match(s, "^%s*(.-)%s*$") end local function getTitle(pageName) pageName = trim(pageName); local page_title, talk_page_title; if mw.ustring.sub(pageName, 1, 1) == ':' then page_title = mw.title.new( mw.ustring.sub(pageName, 2)); else page_title = mw.title.new(pageName, 'Template'); end if page_title then talk_page_title = page_title.talkPageTitle; else talk_page_title = nil; end return page_title, talk_page_title; end function p._navbar(args) local title, talk_title; local titleArg = 1 if args.collapsible then titleArg = 2 if not args.plain then args.mini = 1 end if args.fontcolor then args.fontstyle = 'color:' .. args.fontcolor .. ';' end args.style = 'float:left; text-align:left; width:6em;' end local titleText = args[titleArg] or (':' .. mw.getCurrentFrame():getParent():getTitle()) title, talk_title = getTitle(titleText); if not title then error('Invalid title ' .. titleText) end local mainpage = title.fullText; local talkpage = talk_title and talk_title.fullText or '' local editurl = title:fullUrl('action=edit'); local viewLink, talkLink, editLink = 'view', 'talk', 'edit' if args.mini then viewLink, talkLink, editLink = 'v', 't', 'e' end local div = HtmlBuilder.create().tag('div') div .addClass('plainlinks') .addClass('hlist') .addClass('navbar') .cssText(args.style) if args.mini then div.addClass('mini') end if not (args.mini or args.plain) then div .tag('span') .css('word-spacing', 0) .cssText(args.fontstyle) .wikitext(args.text or 'This box:') .wikitext(' ') end if args.brackets then div .tag('span') .css('margin-right', '-0.125em') .cssText(args.fontstyle) .wikitext('&#91;') .newline(); end local ul = div.tag('ul'); ul .tag('li') .addClass('nv-view') .wikitext('[[' .. mainpage .. '|') .tag('span') .attr('title', 'View this template') .cssText(args.fontstyle or '') .wikitext(viewLink) .done() .wikitext(']]') .done() .tag('li') .addClass('nv-talk') .wikitext('[[' .. talkpage .. '|') .tag('span') .attr('title', 'Discuss this template') .cssText(args.fontstyle or '') .wikitext(talkLink) .done() .wikitext(']]'); if not args.noedit then ul .tag('li') .addClass('nv-edit') .wikitext('[' .. editurl .. ' ') .tag('span') .attr('title', 'Edit this template') .cssText(args.fontstyle or '') .wikitext(editLink) .done() .wikitext(']'); end if args.brackets then div .tag('span') .css('margin-left', '-0.125em') .cssText( args.fontstyle or '') .wikitext('&#93;') .newline(); end if args.collapsible then div .done() .tag('span') .css('font-size', '110%') .cssText(args.fontstyle or '') .wikitext(args[1]) end return tostring(div.allDone()) end function p.navbar(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end return p._navbar(getArgs(frame)) end return p jq72fnqcemxq6ogki5w41lckwjq9wyh 9658 9657 2014-11-30T21:04:48Z w>Jackmcbarn 0 switch to mw.html and other cleanup from sandbox 9658 Scribunto text/plain local p = {} local getArgs function p._navbar(args) local titleArg = 1 if args.collapsible then titleArg = 2 if not args.plain then args.mini = 1 end if args.fontcolor then args.fontstyle = 'color:' .. args.fontcolor .. ';' end args.style = 'float:left; text-align:left; width:6em;' end local titleText = args[titleArg] or (':' .. mw.getCurrentFrame():getParent():getTitle()) local title = mw.title.new(mw.text.trim(titleText), 'Template'); if not title then error('Invalid title ' .. titleText) end local talkpage = title.talkPageTitle and title.talkPageTitle.fullText or ''; local div = mw.html.create():tag('div') div :addClass('plainlinks') :addClass('hlist') :addClass('navbar') :cssText(args.style) if args.mini then div:addClass('mini') end if not (args.mini or args.plain) then div :tag('span') :css('word-spacing', 0) :cssText(args.fontstyle) :wikitext(args.text or 'This box:') :wikitext(' ') end if args.brackets then div :tag('span') :css('margin-right', '-0.125em') :cssText(args.fontstyle) :wikitext('&#91;') :newline(); end local ul = div:tag('ul'); ul :tag('li') :addClass('nv-view') :wikitext('[[' .. title.fullText .. '|') :tag('span') :attr('title', 'View this template') :cssText(args.fontstyle) :wikitext(args.mini and 'v' or 'view') :done() :wikitext(']]') :done() :tag('li') :addClass('nv-talk') :wikitext('[[' .. talkpage .. '|') :tag('span') :attr('title', 'Discuss this template') :cssText(args.fontstyle) :wikitext(args.mini and 't' or 'talk') :done() :wikitext(']]'); if not args.noedit then ul :tag('li') :addClass('nv-edit') :wikitext('[' .. title:fullUrl('action=edit') .. ' ') :tag('span') :attr('title', 'Edit this template') :cssText(args.fontstyle) :wikitext(args.mini and 'e' or 'edit') :done() :wikitext(']'); end if args.brackets then div :tag('span') :css('margin-left', '-0.125em') :cssText(args.fontstyle) :wikitext('&#93;') :newline(); end if args.collapsible then div :done() :tag('span') :css('font-size', '110%') :cssText(args.fontstyle) :wikitext(args[1]) end return tostring(div:done()) end function p.navbar(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end return p._navbar(getArgs(frame)) end return p 68dygg64f9aimscvjt3o11rlpvvp0jy 9659 9658 2014-11-30T21:51:43Z w>George Orwell III 0 rem unneeded tabs/spacing for more unified importing/exporting 9659 Scribunto text/plain local p = {} local getArgs function p._navbar(args) local titleArg = 1 if args.collapsible then titleArg = 2 if not args.plain then args.mini = 1 end if args.fontcolor then args.fontstyle = 'color:' .. args.fontcolor .. ';' end args.style = 'float:left; text-align:left; width:6em;' end local titleText = args[titleArg] or (':' .. mw.getCurrentFrame():getParent():getTitle()) local title = mw.title.new(mw.text.trim(titleText), 'Template'); if not title then error('Invalid title ' .. titleText) end local talkpage = title.talkPageTitle and title.talkPageTitle.fullText or ''; local div = mw.html.create():tag('div') div :addClass('plainlinks') :addClass('hlist') :addClass('navbar') :cssText(args.style) if args.mini then div:addClass('mini') end if not (args.mini or args.plain) then div :tag('span') :css('word-spacing', 0) :cssText(args.fontstyle) :wikitext(args.text or 'This box:') :wikitext(' ') end if args.brackets then div :tag('span') :css('margin-right', '-0.125em') :cssText(args.fontstyle) :wikitext('&#91;') :newline(); end local ul = div:tag('ul'); ul :tag('li') :addClass('nv-view') :wikitext('[[' .. title.fullText .. '|') :tag('span') :attr('title', 'View this template') :cssText(args.fontstyle) :wikitext(args.mini and 'v' or 'view') :done() :wikitext(']]') :done() :tag('li') :addClass('nv-talk') :wikitext('[[' .. talkpage .. '|') :tag('span') :attr('title', 'Discuss this template') :cssText(args.fontstyle) :wikitext(args.mini and 't' or 'talk') :done() :wikitext(']]'); if not args.noedit then ul :tag('li') :addClass('nv-edit') :wikitext('[' .. title:fullUrl('action=edit') .. ' ') :tag('span') :attr('title', 'Edit this template') :cssText(args.fontstyle) :wikitext(args.mini and 'e' or 'edit') :done() :wikitext(']'); end if args.brackets then div :tag('span') :css('margin-left', '-0.125em') :cssText(args.fontstyle) :wikitext('&#93;') :newline(); end if args.collapsible then div :done() :tag('span') :css('font-size', '110%') :cssText(args.fontstyle) :wikitext(args[1]) end return tostring(div:done()) end function p.navbar(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end return p._navbar(getArgs(frame)) end return p p4k4w6fpxrech8gjz80ymsvfxebg9dz 9660 9633 2015-10-20T12:19:23Z w>MSGJ 0 changes requested by [[User:Matt Fitzpatrick]] to improve accessibility 9660 Scribunto text/plain local p = {} local getArgs function p._navbar(args) local titleArg = 1 if args.collapsible then titleArg = 2 if not args.plain then args.mini = 1 end if args.fontcolor then args.fontstyle = 'color:' .. args.fontcolor .. ';' end args.style = 'float:left; text-align:left; width:6em;' end local titleText = args[titleArg] or (':' .. mw.getCurrentFrame():getParent():getTitle()) local title = mw.title.new(mw.text.trim(titleText), 'Template'); if not title then error('Invalid title ' .. titleText) end local talkpage = title.talkPageTitle and title.talkPageTitle.fullText or ''; local div = mw.html.create():tag('div') div :addClass('plainlinks') :addClass('hlist') :addClass('navbar') :cssText(args.style) if args.mini then div:addClass('mini') end if not (args.mini or args.plain) then div :tag('span') :css('word-spacing', 0) :cssText(args.fontstyle) :wikitext(args.text or 'This box:') :wikitext(' ') end if args.brackets then div :tag('span') :css('margin-right', '-0.125em') :cssText(args.fontstyle) :wikitext('&#91;') :newline(); end local ul = div:tag('ul'); ul :tag('li') :addClass('nv-view') :wikitext('[[' .. title.fullText .. '|') :tag(args.mini and 'abbr' or 'span') :attr('title', 'View this template') :cssText(args.fontstyle) :wikitext(args.mini and 'v' or 'view') :done() :wikitext(']]') :done() :tag('li') :addClass('nv-talk') :wikitext('[[' .. talkpage .. '|') :tag(args.mini and 'abbr' or 'span') :attr('title', 'Discuss this template') :cssText(args.fontstyle) :wikitext(args.mini and 't' or 'talk') :done() :wikitext(']]'); if not args.noedit then ul :tag('li') :addClass('nv-edit') :wikitext('[' .. title:fullUrl('action=edit') .. ' ') :tag(args.mini and 'abbr' or 'span') :attr('title', 'Edit this template') :cssText(args.fontstyle) :wikitext(args.mini and 'e' or 'edit') :done() :wikitext(']'); end if args.brackets then div :tag('span') :css('margin-left', '-0.125em') :cssText(args.fontstyle) :wikitext('&#93;') :newline(); end if args.collapsible then div :done() :tag('span') :css('font-size', '110%') :cssText(args.fontstyle) :wikitext(args[1]) end return tostring(div:done()) end function p.navbar(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end return p._navbar(getArgs(frame)) end return p apzmy7cmwji35s1wt6iwhb6nnl1k3ni 9661 9660 2015-12-22T16:44:07Z w>Xaosflux 0 Changed protection level of Module:Navbar: used in the mediawiki interface ex: [[MediaWiki:Watchlist-details]] ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) 9660 Scribunto text/plain local p = {} local getArgs function p._navbar(args) local titleArg = 1 if args.collapsible then titleArg = 2 if not args.plain then args.mini = 1 end if args.fontcolor then args.fontstyle = 'color:' .. args.fontcolor .. ';' end args.style = 'float:left; text-align:left; width:6em;' end local titleText = args[titleArg] or (':' .. mw.getCurrentFrame():getParent():getTitle()) local title = mw.title.new(mw.text.trim(titleText), 'Template'); if not title then error('Invalid title ' .. titleText) end local talkpage = title.talkPageTitle and title.talkPageTitle.fullText or ''; local div = mw.html.create():tag('div') div :addClass('plainlinks') :addClass('hlist') :addClass('navbar') :cssText(args.style) if args.mini then div:addClass('mini') end if not (args.mini or args.plain) then div :tag('span') :css('word-spacing', 0) :cssText(args.fontstyle) :wikitext(args.text or 'This box:') :wikitext(' ') end if args.brackets then div :tag('span') :css('margin-right', '-0.125em') :cssText(args.fontstyle) :wikitext('&#91;') :newline(); end local ul = div:tag('ul'); ul :tag('li') :addClass('nv-view') :wikitext('[[' .. title.fullText .. '|') :tag(args.mini and 'abbr' or 'span') :attr('title', 'View this template') :cssText(args.fontstyle) :wikitext(args.mini and 'v' or 'view') :done() :wikitext(']]') :done() :tag('li') :addClass('nv-talk') :wikitext('[[' .. talkpage .. '|') :tag(args.mini and 'abbr' or 'span') :attr('title', 'Discuss this template') :cssText(args.fontstyle) :wikitext(args.mini and 't' or 'talk') :done() :wikitext(']]'); if not args.noedit then ul :tag('li') :addClass('nv-edit') :wikitext('[' .. title:fullUrl('action=edit') .. ' ') :tag(args.mini and 'abbr' or 'span') :attr('title', 'Edit this template') :cssText(args.fontstyle) :wikitext(args.mini and 'e' or 'edit') :done() :wikitext(']'); end if args.brackets then div :tag('span') :css('margin-left', '-0.125em') :cssText(args.fontstyle) :wikitext('&#93;') :newline(); end if args.collapsible then div :done() :tag('span') :css('font-size', '110%') :cssText(args.fontstyle) :wikitext(args[1]) end return tostring(div:done()) end function p.navbar(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end return p._navbar(getArgs(frame)) end return p apzmy7cmwji35s1wt6iwhb6nnl1k3ni 9662 9634 2017-03-21T11:27:08Z w>Primefac 0 updating from sandbox per TPER 9662 Scribunto text/plain local p = {} local getArgs function p._navbar(args) local titleArg = 1 if args.collapsible then titleArg = 2 if not args.plain then args.mini = 1 end if args.fontcolor then args.fontstyle = 'color:' .. args.fontcolor .. ';' end args.style = 'float:left; text-align:left; width:6em;' end local titleText = args[titleArg] or (':' .. mw.getCurrentFrame():getParent():getTitle()) local title = mw.title.new(mw.text.trim(titleText), 'Template'); if not title then error('Invalid title ' .. titleText) end local talkpage = title.talkPageTitle and title.talkPageTitle.fullText or ''; local div = mw.html.create():tag('div') div :addClass('plainlinks') :addClass('hlist') :addClass('navbar') :cssText(args.style) if args.mini then div:addClass('mini') end if not (args.mini or args.plain) then div :tag('span') :css('word-spacing', 0) :cssText(args.fontstyle) :wikitext(args.text or 'This box:') :wikitext(' ') end if args.brackets then div :tag('span') :css('margin-right', '-0.125em') :cssText(args.fontstyle) :wikitext('&#91;') :newline(); end local ul = div:tag('ul'); ul :tag('li') :addClass('nv-view') :wikitext('[[' .. title.fullText .. '|') :tag(args.mini and 'abbr' or 'span') :attr('title', 'View this template') :cssText(args.fontstyle) :wikitext(args.mini and 'v' or 'view') :done() :wikitext(']]') :done() :tag('li') :addClass('nv-talk') :wikitext('[[' .. talkpage .. '|') :tag(args.mini and 'abbr' or 'span') :attr('title', 'Discuss this template') :cssText(args.fontstyle) :wikitext(args.mini and 't' or 'talk') :done() :wikitext(']]'); if not args.noedit then ul :tag('li') :addClass('nv-edit') :wikitext('[' .. title:fullUrl('action=edit') .. ' ') :tag(args.mini and 'abbr' or 'span') :attr('title', 'Edit this template') :cssText(args.fontstyle) :wikitext(args.mini and 'e' or 'edit') :done() :wikitext(']'); end if args.brackets then div :tag('span') :css('margin-left', '-0.125em') :cssText(args.fontstyle) :wikitext('&#93;') :newline(); end if args.collapsible then div :done() :tag('div') :css('font-size', '114%') :css('margin', args.mini and '0 4em' or '0 7em') :cssText(args.fontstyle) :wikitext(args[1]) end return tostring(div:done()) end function p.navbar(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end return p._navbar(getArgs(frame)) end return p s7shg7kj96z0n5to737mnfjdkng0u6n 9663 9662 2017-03-21T12:11:35Z w>Primefac 0 another update 9663 Scribunto text/plain local p = {} local getArgs function p._navbar(args) local titleArg = 1 if args.collapsible then titleArg = 2 if not args.plain then args.mini = 1 end if args.fontcolor then args.fontstyle = 'color:' .. args.fontcolor .. ';' end args.style = 'float:left; text-align:left' end local titleText = args[titleArg] or (':' .. mw.getCurrentFrame():getParent():getTitle()) local title = mw.title.new(mw.text.trim(titleText), 'Template'); if not title then error('Invalid title ' .. titleText) end local talkpage = title.talkPageTitle and title.talkPageTitle.fullText or ''; local div = mw.html.create():tag('div') div :addClass('plainlinks') :addClass('hlist') :addClass('navbar') :cssText(args.style) if args.mini then div:addClass('mini') end if not (args.mini or args.plain) then div :tag('span') :css('word-spacing', 0) :cssText(args.fontstyle) :wikitext(args.text or 'This box:') :wikitext(' ') end if args.brackets then div :tag('span') :css('margin-right', '-0.125em') :cssText(args.fontstyle) :wikitext('&#91;') :newline(); end local ul = div:tag('ul'); ul :tag('li') :addClass('nv-view') :wikitext('[[' .. title.fullText .. '|') :tag(args.mini and 'abbr' or 'span') :attr('title', 'View this template') :cssText(args.fontstyle) :wikitext(args.mini and 'v' or 'view') :done() :wikitext(']]') :done() :tag('li') :addClass('nv-talk') :wikitext('[[' .. talkpage .. '|') :tag(args.mini and 'abbr' or 'span') :attr('title', 'Discuss this template') :cssText(args.fontstyle) :wikitext(args.mini and 't' or 'talk') :done() :wikitext(']]'); if not args.noedit then ul :tag('li') :addClass('nv-edit') :wikitext('[' .. title:fullUrl('action=edit') .. ' ') :tag(args.mini and 'abbr' or 'span') :attr('title', 'Edit this template') :cssText(args.fontstyle) :wikitext(args.mini and 'e' or 'edit') :done() :wikitext(']'); end if args.brackets then div :tag('span') :css('margin-left', '-0.125em') :cssText(args.fontstyle) :wikitext('&#93;') :newline(); end if args.collapsible then div :done() :tag('div') :css('font-size', '114%') :css('margin', args.mini and '0 4em' or '0 7em') :cssText(args.fontstyle) :wikitext(args[1]) end return tostring(div:done()) end function p.navbar(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end return p._navbar(getArgs(frame)) end return p friq3cegm4ms9pzac0g724b0con4klb 9664 9663 2017-05-13T12:41:14Z w>Primefac 0 update from sandbox per [[Special:Diff/771417737]] 9664 Scribunto text/plain local p = {} local getArgs function p._navbar(args) local titleArg = 1 if args.collapsible then titleArg = 2 if not args.plain then args.mini = 1 end if args.fontcolor then args.fontstyle = 'color:' .. args.fontcolor .. ';' end args.style = 'float:left; text-align:left' end local titleText = args[titleArg] or (':' .. mw.getCurrentFrame():getParent():getTitle()) local title = mw.title.new(mw.text.trim(titleText), 'Template'); if not title then error('Invalid title ' .. titleText) end local talkpage = title.talkPageTitle and title.talkPageTitle.fullText or ''; local div = mw.html.create():tag('div') div :addClass('plainlinks') :addClass('hlist') :addClass('navbar') :cssText(args.style) if args.mini then div:addClass('mini') end if not (args.mini or args.plain) then div :tag('span') :css('word-spacing', 0) :cssText(args.fontstyle) :wikitext(args.text or 'This box:') :wikitext(' ') end if args.brackets then div :tag('span') :css('margin-right', '-0.125em') :cssText(args.fontstyle) :wikitext('&#91; ') end local ul = div:tag('ul'); ul :tag('li') :addClass('nv-view') :wikitext('[[' .. title.fullText .. '|') :tag(args.mini and 'abbr' or 'span') :attr('title', 'View this template') :cssText(args.fontstyle) :wikitext(args.mini and 'v' or 'view') :done() :wikitext(']]') :done() :tag('li') :addClass('nv-talk') :wikitext('[[' .. talkpage .. '|') :tag(args.mini and 'abbr' or 'span') :attr('title', 'Discuss this template') :cssText(args.fontstyle) :wikitext(args.mini and 't' or 'talk') :done() :wikitext(']]'); if not args.noedit then ul :tag('li') :addClass('nv-edit') :wikitext('[' .. title:fullUrl('action=edit') .. ' ') :tag(args.mini and 'abbr' or 'span') :attr('title', 'Edit this template') :cssText(args.fontstyle) :wikitext(args.mini and 'e' or 'edit') :done() :wikitext(']'); end if args.brackets then div :tag('span') :css('margin-left', '-0.125em') :cssText(args.fontstyle) :wikitext(' &#93;') end if args.collapsible then div :done() :tag('div') :css('font-size', '114%') :css('margin', args.mini and '0 4em' or '0 7em') :cssText(args.fontstyle) :wikitext(args[1]) end return tostring(div:done()) end function p.navbar(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end return p._navbar(getArgs(frame)) end return p 9d4ism2psi1oucu9pnyveg4m6i2oobx 9665 9664 2018-04-09T12:43:15Z w>Primefac 0 implementing merger for [[Template:V]], [[Template:View]], and [[Template:Navbar]] 9665 Scribunto text/plain local p = {} local getArgs local ul function p.addItem (mini, full, link, descrip, args, url) local l if url then l = {'[', '', ']'} else l = {'[[', '|', ']]'} end ul:tag('li') :addClass('nv-'..full) :wikitext(l[1] .. link .. l[2]) :tag(args.mini and 'abbr' or 'span') :attr('title', descrip..' this template') :cssText(args.fontstyle) :wikitext(args.mini and mini or full) :done() :wikitext(l[3]) end function p.brackets (position, c, args, div) if args.brackets then div :tag('span') :css('margin-'..position, '-0.125em') :cssText(args.fontstyle) :wikitext(c) end end function p._navbar(args) local show = {true, true, true, false, false, false} local titleArg = 1 if args.collapsible then titleArg = 2 if not args.plain then args.mini = 1 end if args.fontcolor then args.fontstyle = 'color:' .. args.fontcolor .. ';' end args.style = 'float:left; text-align:left' end if args.template then titleArg = 'template' show = {true, false, false, false, false, false} local index = {t = 2, d = 2, e = 3, h = 4, m = 5, w = 6, talk = 2, edit = 3, hist = 4, move = 5, watch = 6} for k,v in ipairs(require ('Module:TableTools').compressSparseArray(args)) do num = index[v] if num then show[num] = true end end end if args.noedit then show[3] = false end local titleText = args[titleArg] or (':' .. mw.getCurrentFrame():getParent():getTitle()) local title = mw.title.new(mw.text.trim(titleText), 'Template') if not title then error('Invalid title ' .. titleText) end local talkpage = title.talkPageTitle and title.talkPageTitle.fullText or '' div = mw.html.create():tag('div') div :addClass('plainlinks') :addClass('hlist') :addClass('navbar') :cssText(args.style) if args.mini then div:addClass('mini') end if not (args.mini or args.plain) then div :tag('span') :css('word-spacing', 0) :cssText(args.fontstyle) :wikitext(args.text or 'This box:') :wikitext(' ') end p.brackets('right', '&#91; ', args, div) ul = div:tag('ul') if show[1] then p.addItem('v', 'view', title.fullText, 'View', args) end if show[2] then p.addItem('t', 'talk', talkpage, 'Discuss', args) end if show[3] then p.addItem('e', 'edit', title:fullUrl('action=edit'), 'Edit', args, true) end if show[4] then p.addItem('h', 'hist', title:fullUrl('action=history'), 'History of', args, true) end if show[5] then local move = mw.title.new ('Special:Movepage') p.addItem('m', 'move', move:fullUrl('target='..title.fullText), 'Move', args, true) end if show[6] then p.addItem('w', 'watch', title:fullUrl('action=watch'), 'Watch', args, true) end p.brackets('left', ' &#93;', args, div) if args.collapsible then div :done() :tag('div') :css('font-size', '114%') :css('margin', args.mini and '0 4em' or '0 7em') :cssText(args.fontstyle) :wikitext(args[1]) end return tostring(div:done()) end function p.navbar(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end return p._navbar(getArgs(frame)) end return p bal0dox2i7kjw1f1hd3ls7kq5gsvdcx 9666 9665 2018-04-09T13:08:56Z w>Trappist the monk 0 local div; fixed? 9666 Scribunto text/plain local p = {} local getArgs local ul function p.addItem (mini, full, link, descrip, args, url) local l if url then l = {'[', '', ']'} else l = {'[[', '|', ']]'} end ul:tag('li') :addClass('nv-'..full) :wikitext(l[1] .. link .. l[2]) :tag(args.mini and 'abbr' or 'span') :attr('title', descrip..' this template') :cssText(args.fontstyle) :wikitext(args.mini and mini or full) :done() :wikitext(l[3]) end function p.brackets (position, c, args, div) if args.brackets then div :tag('span') :css('margin-'..position, '-0.125em') :cssText(args.fontstyle) :wikitext(c) end end function p._navbar(args) local show = {true, true, true, false, false, false} local titleArg = 1 if args.collapsible then titleArg = 2 if not args.plain then args.mini = 1 end if args.fontcolor then args.fontstyle = 'color:' .. args.fontcolor .. ';' end args.style = 'float:left; text-align:left' end if args.template then titleArg = 'template' show = {true, false, false, false, false, false} local index = {t = 2, d = 2, e = 3, h = 4, m = 5, w = 6, talk = 2, edit = 3, hist = 4, move = 5, watch = 6} for k,v in ipairs(require ('Module:TableTools').compressSparseArray(args)) do num = index[v] if num then show[num] = true end end end if args.noedit then show[3] = false end local titleText = args[titleArg] or (':' .. mw.getCurrentFrame():getParent():getTitle()) local title = mw.title.new(mw.text.trim(titleText), 'Template') if not title then error('Invalid title ' .. titleText) end local talkpage = title.talkPageTitle and title.talkPageTitle.fullText or '' local div = mw.html.create():tag('div') div :addClass('plainlinks') :addClass('hlist') :addClass('navbar') :cssText(args.style) if args.mini then div:addClass('mini') end if not (args.mini or args.plain) then div :tag('span') :css('word-spacing', 0) :cssText(args.fontstyle) :wikitext(args.text or 'This box:') :wikitext(' ') end p.brackets('right', '&#91; ', args, div) ul = div:tag('ul') if show[1] then p.addItem('v', 'view', title.fullText, 'View', args) end if show[2] then p.addItem('t', 'talk', talkpage, 'Discuss', args) end if show[3] then p.addItem('e', 'edit', title:fullUrl('action=edit'), 'Edit', args, true) end if show[4] then p.addItem('h', 'hist', title:fullUrl('action=history'), 'History of', args, true) end if show[5] then local move = mw.title.new ('Special:Movepage') p.addItem('m', 'move', move:fullUrl('target='..title.fullText), 'Move', args, true) end if show[6] then p.addItem('w', 'watch', title:fullUrl('action=watch'), 'Watch', args, true) end p.brackets('left', ' &#93;', args, div) if args.collapsible then div :done() :tag('div') :css('font-size', '114%') :css('margin', args.mini and '0 4em' or '0 7em') :cssText(args.fontstyle) :wikitext(args[1]) end return tostring(div:done()) end function p.navbar(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end return p._navbar(getArgs(frame)) end return p ja1vxfd59yfupf40y634gvytofegw8j 9667 9666 2018-04-10T17:55:58Z w>Primefac 0 another local 9667 Scribunto text/plain local p = {} local getArgs local ul function p.addItem (mini, full, link, descrip, args, url) local l if url then l = {'[', '', ']'} else l = {'[[', '|', ']]'} end ul:tag('li') :addClass('nv-'..full) :wikitext(l[1] .. link .. l[2]) :tag(args.mini and 'abbr' or 'span') :attr('title', descrip..' this template') :cssText(args.fontstyle) :wikitext(args.mini and mini or full) :done() :wikitext(l[3]) end function p.brackets (position, c, args, div) if args.brackets then div :tag('span') :css('margin-'..position, '-0.125em') :cssText(args.fontstyle) :wikitext(c) end end function p._navbar(args) local show = {true, true, true, false, false, false} local titleArg = 1 if args.collapsible then titleArg = 2 if not args.plain then args.mini = 1 end if args.fontcolor then args.fontstyle = 'color:' .. args.fontcolor .. ';' end args.style = 'float:left; text-align:left' end if args.template then titleArg = 'template' show = {true, false, false, false, false, false} local index = {t = 2, d = 2, e = 3, h = 4, m = 5, w = 6, talk = 2, edit = 3, hist = 4, move = 5, watch = 6} for k,v in ipairs(require ('Module:TableTools').compressSparseArray(args)) do local num = index[v] if num then show[num] = true end end end if args.noedit then show[3] = false end local titleText = args[titleArg] or (':' .. mw.getCurrentFrame():getParent():getTitle()) local title = mw.title.new(mw.text.trim(titleText), 'Template') if not title then error('Invalid title ' .. titleText) end local talkpage = title.talkPageTitle and title.talkPageTitle.fullText or '' local div = mw.html.create():tag('div') div :addClass('plainlinks') :addClass('hlist') :addClass('navbar') :cssText(args.style) if args.mini then div:addClass('mini') end if not (args.mini or args.plain) then div :tag('span') :css('word-spacing', 0) :cssText(args.fontstyle) :wikitext(args.text or 'This box:') :wikitext(' ') end p.brackets('right', '&#91; ', args, div) ul = div:tag('ul') if show[1] then p.addItem('v', 'view', title.fullText, 'View', args) end if show[2] then p.addItem('t', 'talk', talkpage, 'Discuss', args) end if show[3] then p.addItem('e', 'edit', title:fullUrl('action=edit'), 'Edit', args, true) end if show[4] then p.addItem('h', 'hist', title:fullUrl('action=history'), 'History of', args, true) end if show[5] then local move = mw.title.new ('Special:Movepage') p.addItem('m', 'move', move:fullUrl('target='..title.fullText), 'Move', args, true) end if show[6] then p.addItem('w', 'watch', title:fullUrl('action=watch'), 'Watch', args, true) end p.brackets('left', ' &#93;', args, div) if args.collapsible then div :done() :tag('div') :css('font-size', '114%') :css('margin', args.mini and '0 4em' or '0 7em') :cssText(args.fontstyle) :wikitext(args[1]) end return tostring(div:done()) end function p.navbar(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end return p._navbar(getArgs(frame)) end return p 0kto9e56pycr6rz0vadnqvghkpm06x9 9668 9635 2020-04-01T06:12:45Z w>MusikAnimal 0 1 revision imported 9634 Scribunto text/plain local p = {} local getArgs function p._navbar(args) local titleArg = 1 if args.collapsible then titleArg = 2 if not args.plain then args.mini = 1 end if args.fontcolor then args.fontstyle = 'color:' .. args.fontcolor .. ';' end args.style = 'float:left; text-align:left; width:6em;' end local titleText = args[titleArg] or (':' .. mw.getCurrentFrame():getParent():getTitle()) local title = mw.title.new(mw.text.trim(titleText), 'Template'); if not title then error('Invalid title ' .. titleText) end local talkpage = title.talkPageTitle and title.talkPageTitle.fullText or ''; local div = mw.html.create():tag('div') div :addClass('plainlinks') :addClass('hlist') :addClass('navbar') :cssText(args.style) if args.mini then div:addClass('mini') end if not (args.mini or args.plain) then div :tag('span') :css('word-spacing', 0) :cssText(args.fontstyle) :wikitext(args.text or 'This box:') :wikitext(' ') end if args.brackets then div :tag('span') :css('margin-right', '-0.125em') :cssText(args.fontstyle) :wikitext('&#91;') :newline(); end local ul = div:tag('ul'); ul :tag('li') :addClass('nv-view') :wikitext('[[' .. title.fullText .. '|') :tag(args.mini and 'abbr' or 'span') :attr('title', 'View this template') :cssText(args.fontstyle) :wikitext(args.mini and 'v' or 'view') :done() :wikitext(']]') :done() :tag('li') :addClass('nv-talk') :wikitext('[[' .. talkpage .. '|') :tag(args.mini and 'abbr' or 'span') :attr('title', 'Discuss this template') :cssText(args.fontstyle) :wikitext(args.mini and 't' or 'talk') :done() :wikitext(']]'); if not args.noedit then ul :tag('li') :addClass('nv-edit') :wikitext('[' .. title:fullUrl('action=edit') .. ' ') :tag(args.mini and 'abbr' or 'span') :attr('title', 'Edit this template') :cssText(args.fontstyle) :wikitext(args.mini and 'e' or 'edit') :done() :wikitext(']'); end if args.brackets then div :tag('span') :css('margin-left', '-0.125em') :cssText(args.fontstyle) :wikitext('&#93;') :newline(); end if args.collapsible then div :done() :tag('span') :css('font-size', '110%') :cssText(args.fontstyle) :wikitext(args[1]) end return tostring(div:done()) end function p.navbar(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end return p._navbar(getArgs(frame)) end return p apzmy7cmwji35s1wt6iwhb6nnl1k3ni 9669 9668 2020-04-01T06:30:21Z w>MusikAnimal 0 Undid revision 948472521 by [[Special:Contributions/w>MusikAnimal|w>MusikAnimal]] ([[User talk:w>MusikAnimal|talk]]) 9669 Scribunto text/plain local p = {} local getArgs local ul function p.addItem (mini, full, link, descrip, args, url) local l if url then l = {'[', '', ']'} else l = {'[[', '|', ']]'} end ul:tag('li') :addClass('nv-'..full) :wikitext(l[1] .. link .. l[2]) :tag(args.mini and 'abbr' or 'span') :attr('title', descrip..' this template') :cssText(args.fontstyle) :wikitext(args.mini and mini or full) :done() :wikitext(l[3]) end function p.brackets (position, c, args, div) if args.brackets then div :tag('span') :css('margin-'..position, '-0.125em') :cssText(args.fontstyle) :wikitext(c) end end function p._navbar(args) local show = {true, true, true, false, false, false} local titleArg = 1 if args.collapsible then titleArg = 2 if not args.plain then args.mini = 1 end if args.fontcolor then args.fontstyle = 'color:' .. args.fontcolor .. ';' end args.style = 'float:left; text-align:left' end if args.template then titleArg = 'template' show = {true, false, false, false, false, false} local index = {t = 2, d = 2, e = 3, h = 4, m = 5, w = 6, talk = 2, edit = 3, hist = 4, move = 5, watch = 6} for k,v in ipairs(require ('Module:TableTools').compressSparseArray(args)) do local num = index[v] if num then show[num] = true end end end if args.noedit then show[3] = false end local titleText = args[titleArg] or (':' .. mw.getCurrentFrame():getParent():getTitle()) local title = mw.title.new(mw.text.trim(titleText), 'Template') if not title then error('Invalid title ' .. titleText) end local talkpage = title.talkPageTitle and title.talkPageTitle.fullText or '' local div = mw.html.create():tag('div') div :addClass('plainlinks') :addClass('hlist') :addClass('navbar') :cssText(args.style) if args.mini then div:addClass('mini') end if not (args.mini or args.plain) then div :tag('span') :css('word-spacing', 0) :cssText(args.fontstyle) :wikitext(args.text or 'This box:') :wikitext(' ') end p.brackets('right', '&#91; ', args, div) ul = div:tag('ul') if show[1] then p.addItem('v', 'view', title.fullText, 'View', args) end if show[2] then p.addItem('t', 'talk', talkpage, 'Discuss', args) end if show[3] then p.addItem('e', 'edit', title:fullUrl('action=edit'), 'Edit', args, true) end if show[4] then p.addItem('h', 'hist', title:fullUrl('action=history'), 'History of', args, true) end if show[5] then local move = mw.title.new ('Special:Movepage') p.addItem('m', 'move', move:fullUrl('target='..title.fullText), 'Move', args, true) end if show[6] then p.addItem('w', 'watch', title:fullUrl('action=watch'), 'Watch', args, true) end p.brackets('left', ' &#93;', args, div) if args.collapsible then div :done() :tag('div') :css('font-size', '114%') :css('margin', args.mini and '0 4em' or '0 7em') :cssText(args.fontstyle) :wikitext(args[1]) end return tostring(div:done()) end function p.navbar(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end return p._navbar(getArgs(frame)) end return p 0kto9e56pycr6rz0vadnqvghkpm06x9 9670 9669 2020-12-08T00:35:00Z w>Izno 0 some refactoring + templatestyles 9670 Scribunto text/plain local p = {} local cfg = mw.loadData('Module:Navbar/configuration') local function get_title_arg(is_collapsible, template) local title_arg = 1 if is_collapsible then title_arg = 2 end if template then title_arg = 'template' end return title_arg end local function choose_links(template, args) -- The show table indicates the default displayed items. -- view, talk, edit, hist, move, watch -- TODO: Move to configuration. local show = {true, true, true, false, false, false} if template then show[2] = false show[3] = false local index = {t = 2, d = 2, e = 3, h = 4, m = 5, w = 6, talk = 2, edit = 3, hist = 4, move = 5, watch = 6} -- TODO: Consider removing TableTools dependency. for _, v in ipairs(require ('Module:TableTools').compressSparseArray(args)) do local num = index[v] if num then show[num] = true end end end local remove_edit_link = args.noedit if remove_edit_link then show[3] = false end return show end local function add_link(link_description, ul, is_mini, font_style) local l if link_description.url then l = {'[', '', ']'} else l = {'[[', '|', ']]'} end ul:tag('li') :addClass('nv-' .. link_description.full) :wikitext(l[1] .. link_description.link .. l[2]) :tag(is_mini and 'abbr' or 'span') :attr('title', link_description.html_title) :cssText(font_style) :wikitext(is_mini and link_description.mini or link_description.full) :done() :wikitext(l[3]) :done() end local function make_list(title_text, has_brackets, displayed_links, is_mini, font_style) local title = mw.title.new(mw.text.trim(title_text), cfg.title_namespace) if not title then error(cfg.invalid_title .. title_text) end local talkpage = title.talkPageTitle and title.talkPageTitle.fullText or '' -- TODO: Get link_descriptions and show into the configuration module. -- link_descriptions should be easier... local link_descriptions = { { ['mini'] = 'v', ['full'] = 'view', ['html_title'] = 'View this template', ['link'] = title.fullText, ['url'] = false }, { ['mini'] = 't', ['full'] = 'talk', ['html_title'] = 'Discuss this template', ['link'] = talkpage, ['url'] = false }, { ['mini'] = 'e', ['full'] = 'edit', ['html_title'] = 'Edit this template', ['link'] = title:fullUrl('action=edit'), ['url'] = true }, { ['mini'] = 'h', ['full'] = 'hist', ['html_title'] = 'History of this template', ['link'] = title:fullUrl('action=history'), ['url'] = true }, { ['mini'] = 'm', ['full'] = 'move', ['html_title'] = 'Move this template', ['link'] = mw.title.new('Special:Movepage'):fullUrl('target='..title.fullText), ['url'] = true }, { ['mini'] = 'w', ['full'] = 'watch', ['html_title'] = 'Watch this template', ['link'] = title:fullUrl('action=watch'), ['url'] = true } } local ul = mw.html.create('ul') if has_brackets then ul:addClass(cfg.classes.brackets) :cssText(font_style) end for i, _ in ipairs(displayed_links) do if displayed_links[i] then add_link(link_descriptions[i], ul, is_mini, font_style) end end return ul:done() end function p._navbar(args) -- TODO: We probably don't need both fontstyle and fontcolor... local font_style = args.fontstyle local font_color = args.fontcolor local is_collapsible = args.collapsible local is_mini = args.mini local is_plain = args.plain local collapsible_class = nil if is_collapsible then collapsible_class = cfg.classes.collapsible if not is_plain then is_mini = 1 end if font_color then font_style = (font_style or '') .. '; color: ' .. font_color .. ';' end end local navbar_style = args.style local div = mw.html.create():tag('div') div :addClass(cfg.classes.navbar) :addClass(cfg.classes.plainlinks) :addClass(cfg.classes.horizontal_list) :addClass(collapsible_class) -- we made the determination earlier :cssText(navbar_style) if is_mini then div:addClass(cfg.classes.mini) end local box_text = (args.text or cfg.box_text) .. ' ' -- the concatenated space guarantees the box text is separated if not (is_mini or is_plain) then div :tag('span') :addClass(cfg.classes.box_text) :cssText(font_style) :wikitext(box_text) end local template = args.template local displayed_links = choose_links(template, args) local has_brackets = args.brackets local title_arg = get_title_arg(is_collapsible, template) local title_text = args[title_arg] or (':' .. mw.getCurrentFrame():getParent():getTitle()) local list = make_list(title_text, has_brackets, displayed_links, is_mini, font_style) div:node(list) if is_collapsible then local title_text_class if is_mini then title_text_class = cfg.classes.collapsible_title_mini else title_text_class = cfg.classes.collapsible_title_full end div:done() :tag('div') :addClass(title_text_class) :cssText(font_style) :wikitext(args[1]) end return mw.getCurrentFrame():extensionTag{ name = 'templatestyles', args = { src = cfg.templatestyles } } .. tostring(div:done()) end function p.navbar(frame) return p._navbar(require('Module:Arguments').getArgs(frame)) end return p jd5no8v1zi4m1e6lvbwo0a9t0kogdvi 9671 9638 2021-08-24T17:32:47Z w>WOSlinker 0 add text-decoration:inherit; so that underlined hover is in same color at text 9671 Scribunto text/plain local p = {} local cfg = mw.loadData('Module:Navbar/configuration') local function get_title_arg(is_collapsible, template) local title_arg = 1 if is_collapsible then title_arg = 2 end if template then title_arg = 'template' end return title_arg end local function choose_links(template, args) -- The show table indicates the default displayed items. -- view, talk, edit, hist, move, watch -- TODO: Move to configuration. local show = {true, true, true, false, false, false} if template then show[2] = false show[3] = false local index = {t = 2, d = 2, e = 3, h = 4, m = 5, w = 6, talk = 2, edit = 3, hist = 4, move = 5, watch = 6} -- TODO: Consider removing TableTools dependency. for _, v in ipairs(require ('Module:TableTools').compressSparseArray(args)) do local num = index[v] if num then show[num] = true end end end local remove_edit_link = args.noedit if remove_edit_link then show[3] = false end return show end local function add_link(link_description, ul, is_mini, font_style) local l if link_description.url then l = {'[', '', ']'} else l = {'[[', '|', ']]'} end ul:tag('li') :addClass('nv-' .. link_description.full) :wikitext(l[1] .. link_description.link .. l[2]) :tag(is_mini and 'abbr' or 'span') :attr('title', link_description.html_title) :cssText(font_style) :wikitext(is_mini and link_description.mini or link_description.full) :done() :wikitext(l[3]) :done() end local function make_list(title_text, has_brackets, displayed_links, is_mini, font_style) local title = mw.title.new(mw.text.trim(title_text), cfg.title_namespace) if not title then error(cfg.invalid_title .. title_text) end local talkpage = title.talkPageTitle and title.talkPageTitle.fullText or '' -- TODO: Get link_descriptions and show into the configuration module. -- link_descriptions should be easier... local link_descriptions = { { ['mini'] = 'v', ['full'] = 'view', ['html_title'] = 'View this template', ['link'] = title.fullText, ['url'] = false }, { ['mini'] = 't', ['full'] = 'talk', ['html_title'] = 'Discuss this template', ['link'] = talkpage, ['url'] = false }, { ['mini'] = 'e', ['full'] = 'edit', ['html_title'] = 'Edit this template', ['link'] = title:fullUrl('action=edit'), ['url'] = true }, { ['mini'] = 'h', ['full'] = 'hist', ['html_title'] = 'History of this template', ['link'] = title:fullUrl('action=history'), ['url'] = true }, { ['mini'] = 'm', ['full'] = 'move', ['html_title'] = 'Move this template', ['link'] = mw.title.new('Special:Movepage'):fullUrl('target='..title.fullText), ['url'] = true }, { ['mini'] = 'w', ['full'] = 'watch', ['html_title'] = 'Watch this template', ['link'] = title:fullUrl('action=watch'), ['url'] = true } } local ul = mw.html.create('ul') if has_brackets then ul:addClass(cfg.classes.brackets) :cssText(font_style) end for i, _ in ipairs(displayed_links) do if displayed_links[i] then add_link(link_descriptions[i], ul, is_mini, font_style) end end return ul:done() end function p._navbar(args) -- TODO: We probably don't need both fontstyle and fontcolor... local font_style = args.fontstyle local font_color = args.fontcolor local is_collapsible = args.collapsible local is_mini = args.mini local is_plain = args.plain local collapsible_class = nil if is_collapsible then collapsible_class = cfg.classes.collapsible if not is_plain then is_mini = 1 end if font_color then font_style = (font_style or '') .. '; color: ' .. font_color .. ';' end end font_style = (font_style or '') .. ';text-decoration:inherit;' local navbar_style = args.style local div = mw.html.create():tag('div') div :addClass(cfg.classes.navbar) :addClass(cfg.classes.plainlinks) :addClass(cfg.classes.horizontal_list) :addClass(collapsible_class) -- we made the determination earlier :cssText(navbar_style) if is_mini then div:addClass(cfg.classes.mini) end local box_text = (args.text or cfg.box_text) .. ' ' -- the concatenated space guarantees the box text is separated if not (is_mini or is_plain) then div :tag('span') :addClass(cfg.classes.box_text) :cssText(font_style) :wikitext(box_text) end local template = args.template local displayed_links = choose_links(template, args) local has_brackets = args.brackets local title_arg = get_title_arg(is_collapsible, template) local title_text = args[title_arg] or (':' .. mw.getCurrentFrame():getParent():getTitle()) local list = make_list(title_text, has_brackets, displayed_links, is_mini, font_style) div:node(list) if is_collapsible then local title_text_class if is_mini then title_text_class = cfg.classes.collapsible_title_mini else title_text_class = cfg.classes.collapsible_title_full end div:done() :tag('div') :addClass(title_text_class) :cssText(font_style) :wikitext(args[1]) end return mw.getCurrentFrame():extensionTag{ name = 'templatestyles', args = { src = cfg.templatestyles } } .. tostring(div:done()) end function p.navbar(frame) return p._navbar(require('Module:Arguments').getArgs(frame)) end return p pktzhjadawuzj4l3ly2m0dn971ajo3o 9672 9671 2021-10-29T20:02:32Z meta>GeneralNotability 0 33 revisions imported from [[:w:Module:Navbar]]: blame [[User:Barkeep49]] 9671 Scribunto text/plain local p = {} local cfg = mw.loadData('Module:Navbar/configuration') local function get_title_arg(is_collapsible, template) local title_arg = 1 if is_collapsible then title_arg = 2 end if template then title_arg = 'template' end return title_arg end local function choose_links(template, args) -- The show table indicates the default displayed items. -- view, talk, edit, hist, move, watch -- TODO: Move to configuration. local show = {true, true, true, false, false, false} if template then show[2] = false show[3] = false local index = {t = 2, d = 2, e = 3, h = 4, m = 5, w = 6, talk = 2, edit = 3, hist = 4, move = 5, watch = 6} -- TODO: Consider removing TableTools dependency. for _, v in ipairs(require ('Module:TableTools').compressSparseArray(args)) do local num = index[v] if num then show[num] = true end end end local remove_edit_link = args.noedit if remove_edit_link then show[3] = false end return show end local function add_link(link_description, ul, is_mini, font_style) local l if link_description.url then l = {'[', '', ']'} else l = {'[[', '|', ']]'} end ul:tag('li') :addClass('nv-' .. link_description.full) :wikitext(l[1] .. link_description.link .. l[2]) :tag(is_mini and 'abbr' or 'span') :attr('title', link_description.html_title) :cssText(font_style) :wikitext(is_mini and link_description.mini or link_description.full) :done() :wikitext(l[3]) :done() end local function make_list(title_text, has_brackets, displayed_links, is_mini, font_style) local title = mw.title.new(mw.text.trim(title_text), cfg.title_namespace) if not title then error(cfg.invalid_title .. title_text) end local talkpage = title.talkPageTitle and title.talkPageTitle.fullText or '' -- TODO: Get link_descriptions and show into the configuration module. -- link_descriptions should be easier... local link_descriptions = { { ['mini'] = 'v', ['full'] = 'view', ['html_title'] = 'View this template', ['link'] = title.fullText, ['url'] = false }, { ['mini'] = 't', ['full'] = 'talk', ['html_title'] = 'Discuss this template', ['link'] = talkpage, ['url'] = false }, { ['mini'] = 'e', ['full'] = 'edit', ['html_title'] = 'Edit this template', ['link'] = title:fullUrl('action=edit'), ['url'] = true }, { ['mini'] = 'h', ['full'] = 'hist', ['html_title'] = 'History of this template', ['link'] = title:fullUrl('action=history'), ['url'] = true }, { ['mini'] = 'm', ['full'] = 'move', ['html_title'] = 'Move this template', ['link'] = mw.title.new('Special:Movepage'):fullUrl('target='..title.fullText), ['url'] = true }, { ['mini'] = 'w', ['full'] = 'watch', ['html_title'] = 'Watch this template', ['link'] = title:fullUrl('action=watch'), ['url'] = true } } local ul = mw.html.create('ul') if has_brackets then ul:addClass(cfg.classes.brackets) :cssText(font_style) end for i, _ in ipairs(displayed_links) do if displayed_links[i] then add_link(link_descriptions[i], ul, is_mini, font_style) end end return ul:done() end function p._navbar(args) -- TODO: We probably don't need both fontstyle and fontcolor... local font_style = args.fontstyle local font_color = args.fontcolor local is_collapsible = args.collapsible local is_mini = args.mini local is_plain = args.plain local collapsible_class = nil if is_collapsible then collapsible_class = cfg.classes.collapsible if not is_plain then is_mini = 1 end if font_color then font_style = (font_style or '') .. '; color: ' .. font_color .. ';' end end font_style = (font_style or '') .. ';text-decoration:inherit;' local navbar_style = args.style local div = mw.html.create():tag('div') div :addClass(cfg.classes.navbar) :addClass(cfg.classes.plainlinks) :addClass(cfg.classes.horizontal_list) :addClass(collapsible_class) -- we made the determination earlier :cssText(navbar_style) if is_mini then div:addClass(cfg.classes.mini) end local box_text = (args.text or cfg.box_text) .. ' ' -- the concatenated space guarantees the box text is separated if not (is_mini or is_plain) then div :tag('span') :addClass(cfg.classes.box_text) :cssText(font_style) :wikitext(box_text) end local template = args.template local displayed_links = choose_links(template, args) local has_brackets = args.brackets local title_arg = get_title_arg(is_collapsible, template) local title_text = args[title_arg] or (':' .. mw.getCurrentFrame():getParent():getTitle()) local list = make_list(title_text, has_brackets, displayed_links, is_mini, font_style) div:node(list) if is_collapsible then local title_text_class if is_mini then title_text_class = cfg.classes.collapsible_title_mini else title_text_class = cfg.classes.collapsible_title_full end div:done() :tag('div') :addClass(title_text_class) :cssText(font_style) :wikitext(args[1]) end return mw.getCurrentFrame():extensionTag{ name = 'templatestyles', args = { src = cfg.templatestyles } } .. tostring(div:done()) end function p.navbar(frame) return p._navbar(require('Module:Arguments').getArgs(frame)) end return p pktzhjadawuzj4l3ly2m0dn971ajo3o 9673 9672 2023-03-14T22:38:50Z meta>MarcoAurelio 0 From [[Module:Navbar/sandbox]] per [[Special:Permalink/24716935#hlist|edit request]] 9673 Scribunto text/plain local p = {} local cfg = mw.loadData('Module:Navbar/configuration') local function get_title_arg(is_collapsible, template) local title_arg = 1 if is_collapsible then title_arg = 2 end if template then title_arg = 'template' end return title_arg end local function choose_links(template, args) -- The show table indicates the default displayed items. -- view, talk, edit, hist, move, watch -- TODO: Move to configuration. local show = {true, true, true, false, false, false} if template then show[2] = false show[3] = false local index = {t = 2, d = 2, e = 3, h = 4, m = 5, w = 6, talk = 2, edit = 3, hist = 4, move = 5, watch = 6} -- TODO: Consider removing TableTools dependency. for _, v in ipairs(require ('Module:TableTools').compressSparseArray(args)) do local num = index[v] if num then show[num] = true end end end local remove_edit_link = args.noedit if remove_edit_link then show[3] = false end return show end local function add_link(link_description, ul, is_mini, font_style) local l if link_description.url then l = {'[', '', ']'} else l = {'[[', '|', ']]'} end ul:tag('li') :addClass('nv-' .. link_description.full) :wikitext(l[1] .. link_description.link .. l[2]) :tag(is_mini and 'abbr' or 'span') :attr('title', link_description.html_title) :cssText(font_style) :wikitext(is_mini and link_description.mini or link_description.full) :done() :wikitext(l[3]) :done() end local function make_list(title_text, has_brackets, displayed_links, is_mini, font_style) local title = mw.title.new(mw.text.trim(title_text), cfg.title_namespace) if not title then error(cfg.invalid_title .. title_text) end local talkpage = title.talkPageTitle and title.talkPageTitle.fullText or '' -- TODO: Get link_descriptions and show into the configuration module. -- link_descriptions should be easier... local link_descriptions = { { ['mini'] = 'v', ['full'] = 'view', ['html_title'] = 'View this template', ['link'] = title.fullText, ['url'] = false }, { ['mini'] = 't', ['full'] = 'talk', ['html_title'] = 'Discuss this template', ['link'] = talkpage, ['url'] = false }, { ['mini'] = 'e', ['full'] = 'edit', ['html_title'] = 'Edit this template', ['link'] = title:fullUrl('action=edit'), ['url'] = true }, { ['mini'] = 'h', ['full'] = 'hist', ['html_title'] = 'History of this template', ['link'] = title:fullUrl('action=history'), ['url'] = true }, { ['mini'] = 'm', ['full'] = 'move', ['html_title'] = 'Move this template', ['link'] = mw.title.new('Special:Movepage'):fullUrl('target='..title.fullText), ['url'] = true }, { ['mini'] = 'w', ['full'] = 'watch', ['html_title'] = 'Watch this template', ['link'] = title:fullUrl('action=watch'), ['url'] = true } } local ul = mw.html.create('ul') if has_brackets then ul:addClass(cfg.classes.brackets) :cssText(font_style) end for i, _ in ipairs(displayed_links) do if displayed_links[i] then add_link(link_descriptions[i], ul, is_mini, font_style) end end return ul:done() end function p._navbar(args) -- TODO: We probably don't need both fontstyle and fontcolor... local font_style = args.fontstyle local font_color = args.fontcolor local is_collapsible = args.collapsible local is_mini = args.mini local is_plain = args.plain local collapsible_class = nil if is_collapsible then collapsible_class = cfg.classes.collapsible if not is_plain then is_mini = 1 end if font_color then font_style = (font_style or '') .. '; color: ' .. font_color .. ';' end end local navbar_style = args.style local div = mw.html.create():tag('div') div :addClass(cfg.classes.navbar) :addClass(cfg.classes.plainlinks) :addClass(cfg.classes.horizontal_list) :addClass(collapsible_class) -- we made the determination earlier :cssText(navbar_style) if is_mini then div:addClass(cfg.classes.mini) end local box_text = (args.text or cfg.box_text) .. ' ' -- the concatenated space guarantees the box text is separated if not (is_mini or is_plain) then div :tag('span') :addClass(cfg.classes.box_text) :cssText(font_style) :wikitext(box_text) end local template = args.template local displayed_links = choose_links(template, args) local has_brackets = args.brackets local title_arg = get_title_arg(is_collapsible, template) local title_text = args[title_arg] or (':' .. mw.getCurrentFrame():getParent():getTitle()) local list = make_list(title_text, has_brackets, displayed_links, is_mini, font_style) div:node(list) if is_collapsible then local title_text_class if is_mini then title_text_class = cfg.classes.collapsible_title_mini else title_text_class = cfg.classes.collapsible_title_full end div:done() :tag('div') :addClass(title_text_class) :cssText(font_style) :wikitext(args[1]) end local frame = mw.getCurrentFrame() -- hlist -> navbar is best-effort to preserve old Common.css ordering. return frame:extensionTag{ name = 'templatestyles', args = { src = cfg.hlist_templatestyles } } .. frame:extensionTag{ name = 'templatestyles', args = { src = cfg.templatestyles } } .. tostring(div:done()) end function p.navbar(frame) return p._navbar(require('Module:Arguments').getArgs(frame)) end return p e8x4gsvao3bejgs0lle5fr5bug7ym1j 9674 8861 2026-08-24T13:00:37Z RAPTOR7762 18 42 revisions imported from [[:meta:Module:Navbar]] 1128 Scribunto text/plain local p = {} local cfg = mw.loadData('Module:Navbar/configuration') local function get_title_arg(is_collapsible, template) local title_arg = 1 if is_collapsible then title_arg = 2 end if template then title_arg = 'template' end return title_arg end local function choose_links(template, args) -- The show table indicates the default displayed items. -- view, talk, edit, hist, move, watch -- TODO: Move to configuration. local show = {true, true, true, false, false, false} if template then show[2] = false show[3] = false local index = {t = 2, d = 2, e = 3, h = 4, m = 5, w = 6, talk = 2, edit = 3, hist = 4, move = 5, watch = 6} -- TODO: Consider removing TableTools dependency. for _, v in ipairs(require ('Module:TableTools').compressSparseArray(args)) do local num = index[v] if num then show[num] = true end end end local remove_edit_link = args.noedit if remove_edit_link then show[3] = false end return show end local function add_link(link_description, ul, is_mini, font_style) local l if link_description.url then l = {'[', '', ']'} else l = {'[[', '|', ']]'} end ul:tag('li') :addClass('nv-' .. link_description.full) :wikitext(l[1] .. link_description.link .. l[2]) :tag(is_mini and 'abbr' or 'span') :attr('title', link_description.html_title) :cssText(font_style) :wikitext(is_mini and link_description.mini or link_description.full) :done() :wikitext(l[3]) :done() end local function make_list(title_text, has_brackets, displayed_links, is_mini, font_style) local title = mw.title.new(mw.text.trim(title_text), cfg.title_namespace) if not title then error(cfg.invalid_title .. title_text) end local talkpage = title.talkPageTitle and title.talkPageTitle.fullText or '' -- TODO: Get link_descriptions and show into the configuration module. -- link_descriptions should be easier... local link_descriptions = { { ['mini'] = 'v', ['full'] = 'view', ['html_title'] = 'View this template', ['link'] = title.fullText, ['url'] = false }, { ['mini'] = 't', ['full'] = 'talk', ['html_title'] = 'Discuss this template', ['link'] = talkpage, ['url'] = false }, { ['mini'] = 'e', ['full'] = 'edit', ['html_title'] = 'Edit this template', ['link'] = 'Special:EditPage/' .. title.fullText, ['url'] = false }, { ['mini'] = 'h', ['full'] = 'hist', ['html_title'] = 'History of this template', ['link'] = 'Special:PageHistory/' .. title.fullText, ['url'] = false }, { ['mini'] = 'm', ['full'] = 'move', ['html_title'] = 'Move this template', ['link'] = mw.title.new('Special:Movepage'):fullUrl('target='..title.fullText), ['url'] = true }, { ['mini'] = 'w', ['full'] = 'watch', ['html_title'] = 'Watch this template', ['link'] = title:fullUrl('action=watch'), ['url'] = true } } local ul = mw.html.create('ul') if has_brackets then ul:addClass(cfg.classes.brackets) :cssText(font_style) end for i, _ in ipairs(displayed_links) do if displayed_links[i] then add_link(link_descriptions[i], ul, is_mini, font_style) end end return ul:done() end function p._navbar(args) -- TODO: We probably don't need both fontstyle and fontcolor... local font_style = args.fontstyle local font_color = args.fontcolor local is_collapsible = args.collapsible local is_mini = args.mini local is_plain = args.plain local collapsible_class = nil if is_collapsible then collapsible_class = cfg.classes.collapsible if not is_plain then is_mini = 1 end if font_color then font_style = (font_style or '') .. '; color: ' .. font_color .. ';' end end local navbar_style = args.style local div = mw.html.create():tag('div') div :addClass(cfg.classes.navbar) :addClass(cfg.classes.plainlinks) :addClass(cfg.classes.horizontal_list) :addClass(collapsible_class) -- we made the determination earlier :cssText(navbar_style) if is_mini then div:addClass(cfg.classes.mini) end local box_text = (args.text or cfg.box_text) .. ' ' -- the concatenated space guarantees the box text is separated if not (is_mini or is_plain) then div :tag('span') :addClass(cfg.classes.box_text) :cssText(font_style) :wikitext(box_text) end local template = args.template local displayed_links = choose_links(template, args) local has_brackets = args.brackets local title_arg = get_title_arg(is_collapsible, template) local title_text = args[title_arg] or (':' .. mw.getCurrentFrame():getParent():getTitle()) local list = make_list(title_text, has_brackets, displayed_links, is_mini, font_style) div:node(list) if is_collapsible then local title_text_class if is_mini then title_text_class = cfg.classes.collapsible_title_mini else title_text_class = cfg.classes.collapsible_title_full end div:done() :tag('div') :addClass(title_text_class) :cssText(font_style) :wikitext(args[1]) end local frame = mw.getCurrentFrame() -- hlist -> navbar is best-effort to preserve old Common.css ordering. return frame:extensionTag{ name = 'templatestyles', args = { src = cfg.hlist_templatestyles } } .. frame:extensionTag{ name = 'templatestyles', args = { src = cfg.templatestyles } } .. tostring(div:done()) end function p.navbar(frame) return p._navbar(require('Module:Arguments').getArgs(frame)) end return p 0iwrh6fwqy52ve4qubv886e6mqvyrcq Module:Navbar/configuration 828 264 9675 2020-12-04T07:55:17Z w>Izno 0 move configuration to own pile 9675 Scribunto text/plain local configuration = { ['templatestyles'] = 'Module:Navbar/styles.css', ['box_text'] = 'This box: ', ['left_bracket'] = '&#91; ', -- '[ ' ['right_bracket'] = ' &#93;', -- ' ]' ['invalid_title'] = 'Invalid title ', ['classes'] = { -- translate or set a line to nil if you don't want it ['navbar'] = 'navbar', ['plainlinks'] = 'plainlinks', -- plainlinks ['horizontal_list'] = 'hlist', -- horizontal list class ['mini'] = 'mini', -- class indicating small links in the navbar ['this_box'] = 'navbar-boxtext', ['left_bracket'] = 'navbar-lbracket', ['right_bracket'] = 'navbar-rbracket', -- 'collapsible' is the key for a class to indicate the navbar is -- setting up the collapsible element in addition to the normal -- navbar. ['collapsible'] = 'navbar-collapse', ['collapsible_title_mini'] = 'navbar-ct-mini', ['collapsible_title_full'] = 'navbar-ct-full', } } return configuration nbptpmtc1p3kl7wcd0q1aq6mwxsju08 9676 9675 2020-12-04T07:56:13Z w>Izno 0 Izno moved page [[Module:Navbar/configuration/sandbox]] to [[Module:Navbar/configuration]] without leaving a redirect 9675 Scribunto text/plain local configuration = { ['templatestyles'] = 'Module:Navbar/styles.css', ['box_text'] = 'This box: ', ['left_bracket'] = '&#91; ', -- '[ ' ['right_bracket'] = ' &#93;', -- ' ]' ['invalid_title'] = 'Invalid title ', ['classes'] = { -- translate or set a line to nil if you don't want it ['navbar'] = 'navbar', ['plainlinks'] = 'plainlinks', -- plainlinks ['horizontal_list'] = 'hlist', -- horizontal list class ['mini'] = 'mini', -- class indicating small links in the navbar ['this_box'] = 'navbar-boxtext', ['left_bracket'] = 'navbar-lbracket', ['right_bracket'] = 'navbar-rbracket', -- 'collapsible' is the key for a class to indicate the navbar is -- setting up the collapsible element in addition to the normal -- navbar. ['collapsible'] = 'navbar-collapse', ['collapsible_title_mini'] = 'navbar-ct-mini', ['collapsible_title_full'] = 'navbar-ct-full', } } return configuration nbptpmtc1p3kl7wcd0q1aq6mwxsju08 9677 9676 2020-12-04T08:55:15Z w>Izno 0 add title_namespace 9677 Scribunto text/plain local configuration = { ['templatestyles'] = 'Module:Navbar/styles.css', ['box_text'] = 'This box: ', -- default text box when not plain or mini ['title_namespace'] = 'Template', -- namespace to default to for title ['left_bracket'] = '&#91; ', -- '[ ' ['right_bracket'] = ' &#93;', -- ' ]' ['invalid_title'] = 'Invalid title ', ['classes'] = { -- translate or set a line to nil if you don't want it ['navbar'] = 'navbar', ['plainlinks'] = 'plainlinks', -- plainlinks ['horizontal_list'] = 'hlist', -- horizontal list class ['mini'] = 'mini', -- class indicating small links in the navbar ['this_box'] = 'navbar-boxtext', ['left_bracket'] = 'navbar-lbracket', ['right_bracket'] = 'navbar-rbracket', -- 'collapsible' is the key for a class to indicate the navbar is -- setting up the collapsible element in addition to the normal -- navbar. ['collapsible'] = 'navbar-collapse', ['collapsible_title_mini'] = 'navbar-ct-mini', ['collapsible_title_full'] = 'navbar-ct-full', } } return configuration g8ppifty1a75gk8xrzsebqymkewjzlq 9678 9677 2020-12-06T15:04:35Z w>Izno 0 add brackets class 9678 Scribunto text/plain local configuration = { ['templatestyles'] = 'Module:Navbar/styles.css', ['box_text'] = 'This box: ', -- default text box when not plain or mini ['title_namespace'] = 'Template', -- namespace to default to for title ['left_bracket'] = '&#91; ', -- '[ ' ['right_bracket'] = ' &#93;', -- ' ]' ['invalid_title'] = 'Invalid title ', ['classes'] = { -- translate or set a line to nil if you don't want it ['navbar'] = 'navbar', ['plainlinks'] = 'plainlinks', -- plainlinks ['horizontal_list'] = 'hlist', -- horizontal list class ['mini'] = 'mini', -- class indicating small links in the navbar ['this_box'] = 'navbar-boxtext', ['brackets'] = 'navbar-brackets', ['left_bracket'] = 'navbar-lbracket', ['right_bracket'] = 'navbar-rbracket', -- 'collapsible' is the key for a class to indicate the navbar is -- setting up the collapsible element in addition to the normal -- navbar. ['collapsible'] = 'navbar-collapse', ['collapsible_title_mini'] = 'navbar-ct-mini', ['collapsible_title_full'] = 'navbar-ct-full' } } return configuration i02nxpm8rn2ublb5mxsq6n5wiem9k7n 9679 9678 2020-12-06T15:30:56Z w>Izno 0 and remove other brackets here 9679 Scribunto text/plain local configuration = { ['templatestyles'] = 'Module:Navbar/styles.css', ['box_text'] = 'This box: ', -- default text box when not plain or mini ['title_namespace'] = 'Template', -- namespace to default to for title ['invalid_title'] = 'Invalid title ', ['classes'] = { -- translate or set a line to nil if you don't want it ['navbar'] = 'navbar', ['plainlinks'] = 'plainlinks', -- plainlinks ['horizontal_list'] = 'hlist', -- horizontal list class ['mini'] = 'mini', -- class indicating small links in the navbar ['this_box'] = 'navbar-boxtext', ['brackets'] = 'navbar-brackets', -- 'collapsible' is the key for a class to indicate the navbar is -- setting up the collapsible element in addition to the normal -- navbar. ['collapsible'] = 'navbar-collapse', ['collapsible_title_mini'] = 'navbar-ct-mini', ['collapsible_title_full'] = 'navbar-ct-full' } } return configuration 4de4zb1o2wfws3w4iqtq7664oaj6il4 9680 9679 2020-12-06T15:43:28Z w>Izno 0 navbar-mini 9680 Scribunto text/plain local configuration = { ['templatestyles'] = 'Module:Navbar/styles.css', ['box_text'] = 'This box: ', -- default text box when not plain or mini ['title_namespace'] = 'Template', -- namespace to default to for title ['invalid_title'] = 'Invalid title ', ['classes'] = { -- translate or set a line to nil if you don't want it ['navbar'] = 'navbar', ['plainlinks'] = 'plainlinks', -- plainlinks ['horizontal_list'] = 'hlist', -- horizontal list class ['mini'] = 'navbar-mini', -- class indicating small links in the navbar ['this_box'] = 'navbar-boxtext', ['brackets'] = 'navbar-brackets', -- 'collapsible' is the key for a class to indicate the navbar is -- setting up the collapsible element in addition to the normal -- navbar. ['collapsible'] = 'navbar-collapse', ['collapsible_title_mini'] = 'navbar-ct-mini', ['collapsible_title_full'] = 'navbar-ct-full' } } return configuration io0okdryeayb46k6fp573u2yc0g52st 9681 9680 2020-12-07T19:45:50Z w>Izno 0 save this 9681 Scribunto text/plain local configuration = { ['templatestyles'] = 'Module:Navbar/styles.css', ['box_text'] = 'This box: ', -- default text box when not plain or mini ['title_namespace'] = 'Template', -- namespace to default to for title ['invalid_title'] = 'Invalid title ', ['classes'] = { -- translate or set a line to nil if you don't want it ['navbar'] = 'navbar', ['plainlinks'] = 'plainlinks', -- plainlinks ['horizontal_list'] = 'hlist', -- horizontal list class ['mini'] = 'navbar-mini', -- class indicating small links in the navbar ['this_box'] = 'navbar-boxtext', ['brackets'] = 'navbar-brackets', -- 'collapsible' is the key for a class to indicate the navbar is -- setting up the collapsible element in addition to the normal -- navbar. ['collapsible'] = 'navbar-collapse', ['collapsible_title_mini'] = 'navbar-ct-mini', ['collapsible_title_full'] = 'navbar-ct-full' }, ['default_links'] = { -- configure true/false. -- if you add/remove one, don't forget to update link_descriptions also ['view'] = true, ['talk'] = true, ['edit'] = true, ['hist'] = false, ['move'] = false, ['watch'] = false } } return configuration 0x7o3osqxds64bv3l4eld2gxbj5633l 9682 9681 2020-12-07T19:51:37Z w>Izno 0 Undid revision 992912931 by [[Special:Contributions/Izno|Izno]] ([[User talk:Izno|talk]]) nope 9682 Scribunto text/plain local configuration = { ['templatestyles'] = 'Module:Navbar/styles.css', ['box_text'] = 'This box: ', -- default text box when not plain or mini ['title_namespace'] = 'Template', -- namespace to default to for title ['invalid_title'] = 'Invalid title ', ['classes'] = { -- translate or set a line to nil if you don't want it ['navbar'] = 'navbar', ['plainlinks'] = 'plainlinks', -- plainlinks ['horizontal_list'] = 'hlist', -- horizontal list class ['mini'] = 'navbar-mini', -- class indicating small links in the navbar ['this_box'] = 'navbar-boxtext', ['brackets'] = 'navbar-brackets', -- 'collapsible' is the key for a class to indicate the navbar is -- setting up the collapsible element in addition to the normal -- navbar. ['collapsible'] = 'navbar-collapse', ['collapsible_title_mini'] = 'navbar-ct-mini', ['collapsible_title_full'] = 'navbar-ct-full' } } return configuration io0okdryeayb46k6fp573u2yc0g52st 9683 9682 2020-12-07T20:14:37Z w>Izno 0 move some link_descriptions here 9683 Scribunto text/plain local configuration = { ['templatestyles'] = 'Module:Navbar/styles.css', ['box_text'] = 'This box: ', -- default text box when not plain or mini ['title_namespace'] = 'Template', -- namespace to default to for title ['invalid_title'] = 'Invalid title ', ['classes'] = { -- translate or set a line to nil if you don't want it ['navbar'] = 'navbar', ['plainlinks'] = 'plainlinks', -- plainlinks ['horizontal_list'] = 'hlist', -- horizontal list class ['mini'] = 'navbar-mini', -- class indicating small links in the navbar ['this_box'] = 'navbar-boxtext', ['brackets'] = 'navbar-brackets', -- 'collapsible' is the key for a class to indicate the navbar is -- setting up the collapsible element in addition to the normal -- navbar. ['collapsible'] = 'navbar-collapse', ['collapsible_title_mini'] = 'navbar-ct-mini', ['collapsible_title_full'] = 'navbar-ct-full' }, link_descriptions = { -- if you add an option to this, don't forget to update show and -- link_descriptions_links ['view'] = { ['mini'] = 'v', ['full'] = 'view', ['html_title'] = 'View this template', ['url'] = false }, ['talk'] = { ['mini'] = 't', ['full'] = 'talk', ['html_title'] = 'Discuss this template', ['url'] = false }, ['edit'] = { ['mini'] = 'e', ['full'] = 'edit', ['html_title'] = 'Edit this template', ['url'] = true }, ['hist'] = { ['mini'] = 'h', ['full'] = 'hist', ['html_title'] = 'History of this template', ['url'] = true }, ['move'] = { ['mini'] = 'm', ['full'] = 'move', ['html_title'] = 'Move this template', ['url'] = true }, ['watch'] = { ['mini'] = 'w', ['full'] = 'watch', ['html_title'] = 'Watch this template', ['url'] = true } } } return configuration cvp3m9mt16giyp6f4fnrp6t1fenf7p2 9684 9683 2020-12-07T20:36:25Z w>Izno 0 commas hard 9684 Scribunto text/plain local configuration = { ['templatestyles'] = 'Module:Navbar/styles.css', ['box_text'] = 'This box: ', -- default text box when not plain or mini ['title_namespace'] = 'Template', -- namespace to default to for title ['invalid_title'] = 'Invalid title ', ['classes'] = { -- translate or set a line to nil if you don't want it ['navbar'] = 'navbar', ['plainlinks'] = 'plainlinks', -- plainlinks ['horizontal_list'] = 'hlist', -- horizontal list class ['mini'] = 'navbar-mini', -- class indicating small links in the navbar ['this_box'] = 'navbar-boxtext', ['brackets'] = 'navbar-brackets', -- 'collapsible' is the key for a class to indicate the navbar is -- setting up the collapsible element in addition to the normal -- navbar. ['collapsible'] = 'navbar-collapse', ['collapsible_title_mini'] = 'navbar-ct-mini', ['collapsible_title_full'] = 'navbar-ct-full' }, link_descriptions = { -- if you add an option to this, don't forget to update show and -- link_descriptions_links ['view'] = { ['default_enabled'] = true, ['mini'] = 'v', ['full'] = 'view', ['html_title'] = 'View this template', ['url'] = false }, ['talk'] = { ['default_enabled'] = true, ['mini'] = 't', ['full'] = 'talk', ['html_title'] = 'Discuss this template', ['url'] = false }, ['edit'] = { ['default_enabled'] = true, ['mini'] = 'e', ['full'] = 'edit', ['html_title'] = 'Edit this template', ['url'] = true }, ['hist'] = { ['default_enabled'] = false, ['mini'] = 'h', ['full'] = 'hist', ['html_title'] = 'History of this template', ['url'] = true }, ['move'] = { ['default_enabled'] = false, ['mini'] = 'm', ['full'] = 'move', ['html_title'] = 'Move this template', ['url'] = true }, ['watch'] = { ['default_enabled'] = false, ['mini'] = 'w', ['full'] = 'watch', ['html_title'] = 'Watch this template', ['url'] = true } } } return configuration 7vq5lf49ug6ch6bmixo90b1jrdruywp 9685 9684 2020-12-07T20:45:52Z w>Izno 0 hmm 9685 Scribunto text/plain local configuration = { ['templatestyles'] = 'Module:Navbar/styles.css', ['box_text'] = 'This box: ', -- default text box when not plain or mini ['title_namespace'] = 'Template', -- namespace to default to for title ['invalid_title'] = 'Invalid title ', ['classes'] = { -- translate or set a line to nil if you don't want it ['navbar'] = 'navbar', ['plainlinks'] = 'plainlinks', -- plainlinks ['horizontal_list'] = 'hlist', -- horizontal list class ['mini'] = 'navbar-mini', -- class indicating small links in the navbar ['this_box'] = 'navbar-boxtext', ['brackets'] = 'navbar-brackets', -- 'collapsible' is the key for a class to indicate the navbar is -- setting up the collapsible element in addition to the normal -- navbar. ['collapsible'] = 'navbar-collapse', ['collapsible_title_mini'] = 'navbar-ct-mini', ['collapsible_title_full'] = 'navbar-ct-full' }, link_descriptions = { -- if you add an option to this, don't forget to update show and -- link_descriptions_links view = { ['default_enabled'] = true, ['mini'] = 'v', ['full'] = 'view', ['html_title'] = 'View this template', ['url'] = false }, talk = { ['default_enabled'] = true, ['mini'] = 't', ['full'] = 'talk', ['html_title'] = 'Discuss this template', ['url'] = false }, edit = { ['default_enabled'] = true, ['mini'] = 'e', ['full'] = 'edit', ['html_title'] = 'Edit this template', ['url'] = true }, hist = { ['default_enabled'] = false, ['mini'] = 'h', ['full'] = 'hist', ['html_title'] = 'History of this template', ['url'] = true }, move = { ['default_enabled'] = false, ['mini'] = 'm', ['full'] = 'move', ['html_title'] = 'Move this template', ['url'] = true }, watch = { ['default_enabled'] = false, ['mini'] = 'w', ['full'] = 'watch', ['html_title'] = 'Watch this template', ['url'] = true } } } return configuration ot58kc0vdxmrlzq86zyk3sxlwdcs14w 9686 9685 2020-12-07T20:48:30Z w>Izno 0 remove link_descriptions 9686 Scribunto text/plain local configuration = { ['templatestyles'] = 'Module:Navbar/styles.css', ['box_text'] = 'This box: ', -- default text box when not plain or mini ['title_namespace'] = 'Template', -- namespace to default to for title ['invalid_title'] = 'Invalid title ', ['classes'] = { -- translate or set a line to nil if you don't want it ['navbar'] = 'navbar', ['plainlinks'] = 'plainlinks', -- plainlinks ['horizontal_list'] = 'hlist', -- horizontal list class ['mini'] = 'navbar-mini', -- class indicating small links in the navbar ['this_box'] = 'navbar-boxtext', ['brackets'] = 'navbar-brackets', -- 'collapsible' is the key for a class to indicate the navbar is -- setting up the collapsible element in addition to the normal -- navbar. ['collapsible'] = 'navbar-collapse', ['collapsible_title_mini'] = 'navbar-ct-mini', ['collapsible_title_full'] = 'navbar-ct-full' } } return configuration io0okdryeayb46k6fp573u2yc0g52st 9687 9686 2020-12-08T00:16:09Z w>Izno 0 poke 9687 Scribunto text/plain local configuration = { ['templatestyles'] = 'Module:Navbar/styles.css', ['box_text'] = 'This box: ', -- default text box when not plain or mini ['title_namespace'] = 'Template', -- namespace to default to for title ['invalid_title'] = 'Invalid title ', ['classes'] = { -- set a line to nil if you don't want it ['navbar'] = 'navbar', ['plainlinks'] = 'plainlinks', -- plainlinks ['horizontal_list'] = 'hlist', -- horizontal list class ['mini'] = 'navbar-mini', -- class indicating small links in the navbar ['this_box'] = 'navbar-boxtext', ['brackets'] = 'navbar-brackets', -- 'collapsible' is the key for a class to indicate the navbar is -- setting up the collapsible element in addition to the normal -- navbar. ['collapsible'] = 'navbar-collapse', ['collapsible_title_mini'] = 'navbar-ct-mini', ['collapsible_title_full'] = 'navbar-ct-full' } } return configuration euidki6p5y779y3t22gmvkjf2jgpam7 9688 9687 2020-12-08T00:17:17Z w>Izno 0 Protected "[[Module:Navbar/configuration]]": match parent template ([Edit=Require administrator access] (indefinite) [Move=Require administrator access] (indefinite)) 9687 Scribunto text/plain local configuration = { ['templatestyles'] = 'Module:Navbar/styles.css', ['box_text'] = 'This box: ', -- default text box when not plain or mini ['title_namespace'] = 'Template', -- namespace to default to for title ['invalid_title'] = 'Invalid title ', ['classes'] = { -- set a line to nil if you don't want it ['navbar'] = 'navbar', ['plainlinks'] = 'plainlinks', -- plainlinks ['horizontal_list'] = 'hlist', -- horizontal list class ['mini'] = 'navbar-mini', -- class indicating small links in the navbar ['this_box'] = 'navbar-boxtext', ['brackets'] = 'navbar-brackets', -- 'collapsible' is the key for a class to indicate the navbar is -- setting up the collapsible element in addition to the normal -- navbar. ['collapsible'] = 'navbar-collapse', ['collapsible_title_mini'] = 'navbar-ct-mini', ['collapsible_title_full'] = 'navbar-ct-full' } } return configuration euidki6p5y779y3t22gmvkjf2jgpam7 9689 9688 2021-10-29T20:02:36Z meta>GeneralNotability 0 14 revisions imported from [[:w:Module:Navbar/configuration]]: blame [[User:Barkeep49]] 9687 Scribunto text/plain local configuration = { ['templatestyles'] = 'Module:Navbar/styles.css', ['box_text'] = 'This box: ', -- default text box when not plain or mini ['title_namespace'] = 'Template', -- namespace to default to for title ['invalid_title'] = 'Invalid title ', ['classes'] = { -- set a line to nil if you don't want it ['navbar'] = 'navbar', ['plainlinks'] = 'plainlinks', -- plainlinks ['horizontal_list'] = 'hlist', -- horizontal list class ['mini'] = 'navbar-mini', -- class indicating small links in the navbar ['this_box'] = 'navbar-boxtext', ['brackets'] = 'navbar-brackets', -- 'collapsible' is the key for a class to indicate the navbar is -- setting up the collapsible element in addition to the normal -- navbar. ['collapsible'] = 'navbar-collapse', ['collapsible_title_mini'] = 'navbar-ct-mini', ['collapsible_title_full'] = 'navbar-ct-full' } } return configuration euidki6p5y779y3t22gmvkjf2jgpam7 9690 9689 2021-10-30T18:01:32Z meta>MusikBot II 0 Protected "[[Module:Navbar/configuration]]": High-risk template or module ([[User:MusikBot II/TemplateProtector|more info]]) ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) 9687 Scribunto text/plain local configuration = { ['templatestyles'] = 'Module:Navbar/styles.css', ['box_text'] = 'This box: ', -- default text box when not plain or mini ['title_namespace'] = 'Template', -- namespace to default to for title ['invalid_title'] = 'Invalid title ', ['classes'] = { -- set a line to nil if you don't want it ['navbar'] = 'navbar', ['plainlinks'] = 'plainlinks', -- plainlinks ['horizontal_list'] = 'hlist', -- horizontal list class ['mini'] = 'navbar-mini', -- class indicating small links in the navbar ['this_box'] = 'navbar-boxtext', ['brackets'] = 'navbar-brackets', -- 'collapsible' is the key for a class to indicate the navbar is -- setting up the collapsible element in addition to the normal -- navbar. ['collapsible'] = 'navbar-collapse', ['collapsible_title_mini'] = 'navbar-ct-mini', ['collapsible_title_full'] = 'navbar-ct-full' } } return configuration euidki6p5y779y3t22gmvkjf2jgpam7 9691 9690 2023-03-14T22:34:33Z meta>MarcoAurelio 0 Port [[Module:Navbar/configuration/sandbox]] per [[Special:Permalink/24716935#hlist|edit request]] 9691 Scribunto text/plain return { ['templatestyles'] = 'Module:Navbar/styles.css', ['hlist_templatestyles'] = 'Flatlist/styles.css', ['box_text'] = 'This box: ', -- default text box when not plain or mini ['title_namespace'] = 'Template', -- namespace to default to for title ['invalid_title'] = 'Invalid title ', ['classes'] = { -- set a line to nil if you don't want it ['navbar'] = 'navbar', ['plainlinks'] = 'plainlinks', -- plainlinks ['horizontal_list'] = 'hlist', -- horizontal list class ['mini'] = 'navbar-mini', -- class indicating small links in the navbar ['this_box'] = 'navbar-boxtext', ['brackets'] = 'navbar-brackets', -- 'collapsible' is the key for a class to indicate the navbar is -- setting up the collapsible element in addition to the normal -- navbar. ['collapsible'] = 'navbar-collapse', ['collapsible_title_mini'] = 'navbar-ct-mini', ['collapsible_title_full'] = 'navbar-ct-full' } } df3ufsfbua9z8ppazx2wr006mwe2xjx 9692 8863 2026-08-24T13:00:38Z RAPTOR7762 18 17 revisions imported from [[:meta:Module:Navbar/configuration]] 1130 Scribunto text/plain return { ['templatestyles'] = 'Module:Navbar/styles.css', ['hlist_templatestyles'] = 'Hlist/styles.css', ['box_text'] = 'This box: ', -- default text box when not plain or mini ['title_namespace'] = 'Template', -- namespace to default to for title ['invalid_title'] = 'Invalid title ', ['classes'] = { -- set a line to nil if you don't want it ['navbar'] = 'navbar', ['plainlinks'] = 'plainlinks', -- plainlinks ['horizontal_list'] = 'hlist', -- horizontal list class ['mini'] = 'navbar-mini', -- class indicating small links in the navbar ['this_box'] = 'navbar-boxtext', ['brackets'] = 'navbar-brackets', -- 'collapsible' is the key for a class to indicate the navbar is -- setting up the collapsible element in addition to the normal -- navbar. ['collapsible'] = 'navbar-collapse', ['collapsible_title_mini'] = 'navbar-ct-mini', ['collapsible_title_full'] = 'navbar-ct-full' } } kk8qwxitcbzsvf797c9dznp7tw3a53p Module:Navbar/styles.css 828 265 9693 2021-07-06T14:11:25Z meta>ExE Boss 0 Copied from [[mw:Module:Navbar/styles.css]] 9693 sanitized-css text/css /** {{Shared Template Warning}} * This TemplateStyles page is separately used for [[Template:Navbar]] * because of course there are two versions of the same template. * Be careful when adjusting styles accordingly. */ .navbar { display: inline; font-size: 88%; font-weight: normal; } .navbar ul { display: inline; white-space: nowrap; } .navbar li { word-spacing: -0.125em; } /* Navbar styling when nested in navbox */ .navbox .navbar { display: block; font-size: 100%; } .navbox-title .navbar { /* @noflip */ float: left; /* @noflip */ text-align: left; /* @noflip */ margin-right: 0.5em; width: 6em; } pjef11fnnriv88pf17yhw74jhy3pzaq 9694 9693 2021-07-06T18:00:57Z meta>MusikBot II 0 Protected "[[Module:Navbar/styles.css]]": High-risk template or module ([[User:MusikBot II/TemplateProtector|more info]]) ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) 9693 sanitized-css text/css /** {{Shared Template Warning}} * This TemplateStyles page is separately used for [[Template:Navbar]] * because of course there are two versions of the same template. * Be careful when adjusting styles accordingly. */ .navbar { display: inline; font-size: 88%; font-weight: normal; } .navbar ul { display: inline; white-space: nowrap; } .navbar li { word-spacing: -0.125em; } /* Navbar styling when nested in navbox */ .navbox .navbar { display: block; font-size: 100%; } .navbox-title .navbar { /* @noflip */ float: left; /* @noflip */ text-align: left; /* @noflip */ margin-right: 0.5em; width: 6em; } pjef11fnnriv88pf17yhw74jhy3pzaq 9695 2018-10-30T23:13:22Z w>Jdlrobson 0 Migrate Navbar styles from Mobile.css 9695 sanitized-css text/css body.skin-minerva .navbar { display: inline; font-size: 88%; font-weight: normal; } .navbar ul { display: inline; white-space: nowrap; } .navbar li { word-spacing: -0.125em; } .navbar.mini li span { font-variant: small-caps; } /* Navbar styling when nested in infobox and navbox */ .navbox .navbar, .infobox .navbar { font-size: 100%; } .navbox .navbar { display: block; } .navbox-title .navbar { /* @noflip */ float: left; /* @noflip */ text-align: left; /* @noflip */ margin-right: 0.5em; width: 6em; } disdcfbtxdjmb1nl8axcz17r69g974l 9696 9695 2018-10-30T23:16:45Z w>Jdlrobson 0 be safe and limit these to minerva for time being (but I think we can consolidate these with MediaWiki:Common.css) 9696 sanitized-css text/css body.skin-minerva .navbar { display: inline; font-size: 88%; font-weight: normal; } body.skin-minerva .navbar ul { display: inline; white-space: nowrap; } body.skin-minerva .navbar li { word-spacing: -0.125em; } .body.skin-minerva navbar.mini li span { font-variant: small-caps; } /* Navbar styling when nested in infobox and navbox */ body.skin-minerva .navbox .navbar, body.skin-minerva .infobox .navbar { font-size: 100%; } body.skin-minerva .navbox .navbar { display: block; } body.skin-minerva .navbox-title .navbar { /* @noflip */ float: left; /* @noflip */ text-align: left; /* @noflip */ margin-right: 0.5em; width: 6em; } blcw1m6w4ptf77swsl0yywglbpmd3hk 9697 9696 2020-12-03T08:25:17Z w>Izno 0 integrate 2 sheets 9697 sanitized-css text/css /* CSS below is common */ .navbar { display: inline; font-size: 88%; font-weight: normal; } .navbar ul { display: inline-block; white-space: nowrap; } body.skin-Minerva .navbar ul { display: inline; /* why does mobile differ here? */ } .navbar li { word-spacing: -0.125em; } /* Space reserved for remaining common fixes. */ /* Navbar styling when nested in infobox and navbox */ /* Should consider having a separate TemplateStyles for those specific places using an infobox/navbox and a navbar */ .infobox .navbar { font-size: 100%; } .navbox .navbar { display: block; font-size: 100%; } .navbox-title .navbar { /* @noflip */ float: left; /* @noflip */ text-align: left; /* @noflip */ margin-right: 0.5em; } body.skin-Minerva .navbox-title .navbar { width: 6em; /* Why does mobile set this width? */ } /* CSS below is from Common.css */ .mw-body-content .navbar ul { line-height: inherit; /* Why is this missing in Minerva? */ } .navbar.mini li abbr[title] { font-variant: small-caps; border-bottom: none; text-decoration: none; cursor: inherit; } /* CSS below is from Mobile.css */ .navbar.mini li span { font-variant: small-caps; /* This just looks like it missed the update to abbr */ } p9eopofv8euujo1imwyw61542i6va6a 9698 9697 2020-12-03T08:27:49Z w>Izno 0 poke 9698 sanitized-css text/css /* CSS below is common */ .navbar { display: inline; font-size: 88%; font-weight: normal; } .navbar ul { display: inline-block; white-space: nowrap; } body.skin-Minerva .navbar ul { display: inline; /* why does mobile differ here? */ } .navbar li { word-spacing: -0.125em; } /* Space reserved for remaining common fixes. */ /* Navbar styling when nested in infobox and navbox */ /* Should consider having a separate TemplateStyles for those specific places using an infobox/navbox and a navbar */ .infobox .navbar { font-size: 100%; } .navbox .navbar { display: block; font-size: 100%; } .navbox-title .navbar { /* @noflip */ float: left; /* @noflip */ text-align: left; /* @noflip */ margin-right: 0.5em; } body.skin-Minerva .navbox-title .navbar { width: 6em; /* Why does mobile set this width? */ } /* CSS below is from Common.css */ .mw-body-content .navbar ul { line-height: inherit; /* Why is this missing in Minerva? */ } .navbar.mini li abbr[title] { /* Not entirely certain why this is restricted to abbr with title; all abbrs must have a title */ font-variant: small-caps; /* Below 3 rules missing from Minerva */ border-bottom: none; text-decoration: none; cursor: inherit; } /* CSS below is from Mobile.css */ .navbar.mini li span { font-variant: small-caps; /* This just looks like it missed the update to abbr */ } dcnjv0dsl3i4nntet0lp2ikgi6dma8l 9699 9698 2020-12-03T20:44:32Z w>Izno 0 Izno moved page [[Template:Navbar/styles.css]] to [[Module:Navbar/styles.css]] without leaving a redirect: navbar is implemented in module space 9698 sanitized-css text/css /* CSS below is common */ .navbar { display: inline; font-size: 88%; font-weight: normal; } .navbar ul { display: inline-block; white-space: nowrap; } body.skin-Minerva .navbar ul { display: inline; /* why does mobile differ here? */ } .navbar li { word-spacing: -0.125em; } /* Space reserved for remaining common fixes. */ /* Navbar styling when nested in infobox and navbox */ /* Should consider having a separate TemplateStyles for those specific places using an infobox/navbox and a navbar */ .infobox .navbar { font-size: 100%; } .navbox .navbar { display: block; font-size: 100%; } .navbox-title .navbar { /* @noflip */ float: left; /* @noflip */ text-align: left; /* @noflip */ margin-right: 0.5em; } body.skin-Minerva .navbox-title .navbar { width: 6em; /* Why does mobile set this width? */ } /* CSS below is from Common.css */ .mw-body-content .navbar ul { line-height: inherit; /* Why is this missing in Minerva? */ } .navbar.mini li abbr[title] { /* Not entirely certain why this is restricted to abbr with title; all abbrs must have a title */ font-variant: small-caps; /* Below 3 rules missing from Minerva */ border-bottom: none; text-decoration: none; cursor: inherit; } /* CSS below is from Mobile.css */ .navbar.mini li span { font-variant: small-caps; /* This just looks like it missed the update to abbr */ } dcnjv0dsl3i4nntet0lp2ikgi6dma8l 9700 9699 2020-12-04T05:00:42Z w>Izno 0 clean 9700 sanitized-css text/css /* CSS below is common */ .navbar { display: inline; font-size: 88%; font-weight: normal; } .navbar ul { display: inline-block; white-space: nowrap; } .navbar-collapse { float: left; text-align: left; } .navbar-boxtext { word-spacing: 0; } .navbar li { word-spacing: -0.125em; } .navbar-lbracket { margin-right: -0.125em; } .navbar-rbracket { margin-left: -0.125em; } .navbar-c-title-full { font-size: 114%; margin: 0 7em; } .navbar-c-title-mini { font-size: 114%; margin: 0 4em; } .navbar.mini li abbr, .navbar.mini li span { font-variant: small-caps; border-bottom: none; text-decoration: none; cursor: inherit; } /* Navbar styling when nested in infobox and navbox */ /* Should consider having a separate TemplateStyles for those specific places using an infobox/navbox and a navbar, or possibly override from using template */ .infobox .navbar { font-size: 100%; } .navbox .navbar { display: block; font-size: 100%; } .navbox-title .navbar { /* @noflip */ float: left; /* @noflip */ text-align: left; /* @noflip */ margin-right: 0.5em; } body.skin-Minerva .navbox-title .navbar { width: 6em; /* Why does mobile set this width? */ } /* body.everyoneelse */ .mw-body-content .navbar ul { line-height: inherit; } 4nbgw47xpc2hewp3zc4044kh7087qqv 9701 9700 2020-12-04T08:21:57Z w>Izno 0 ct full/mini 9701 sanitized-css text/css /* CSS below is common */ .navbar { display: inline; font-size: 88%; font-weight: normal; } .navbar ul { display: inline-block; white-space: nowrap; } .navbar-collapse { float: left; text-align: left; } .navbar-boxtext { word-spacing: 0; } .navbar li { word-spacing: -0.125em; } .navbar-lbracket { margin-right: -0.125em; } .navbar-rbracket { margin-left: -0.125em; } .navbar-ct-full { font-size: 114%; margin: 0 7em; } .navbar-ct-mini { font-size: 114%; margin: 0 4em; } .navbar.mini li abbr, .navbar.mini li span { font-variant: small-caps; border-bottom: none; text-decoration: none; cursor: inherit; } /* Navbar styling when nested in infobox and navbox Should consider having a separate TemplateStyles for those specific places using an infobox/navbox and a navbar, or possibly override from using template */ .infobox .navbar { font-size: 100%; } .navbox .navbar { display: block; font-size: 100%; } .navbox-title .navbar { /* @noflip */ float: left; /* @noflip */ text-align: left; /* @noflip */ margin-right: 0.5em; } body.skin-Minerva .navbox-title .navbar { width: 6em; /* Why does mobile set this width? */ } /* body.everyoneelse */ .mw-body-content .navbar ul { line-height: inherit; } lc5792tk5onizu5jvqpfo3wrpn88bqw 9702 9701 2020-12-04T08:22:13Z w>Izno 0 poke 9702 sanitized-css text/css .navbar { display: inline; font-size: 88%; font-weight: normal; } .navbar ul { display: inline-block; white-space: nowrap; } .navbar-collapse { float: left; text-align: left; } .navbar-boxtext { word-spacing: 0; } .navbar li { word-spacing: -0.125em; } .navbar-lbracket { margin-right: -0.125em; } .navbar-rbracket { margin-left: -0.125em; } .navbar-ct-full { font-size: 114%; margin: 0 7em; } .navbar-ct-mini { font-size: 114%; margin: 0 4em; } .navbar.mini li abbr, .navbar.mini li span { font-variant: small-caps; border-bottom: none; text-decoration: none; cursor: inherit; } /* Navbar styling when nested in infobox and navbox Should consider having a separate TemplateStyles for those specific places using an infobox/navbox and a navbar, or possibly override from using template */ .infobox .navbar { font-size: 100%; } .navbox .navbar { display: block; font-size: 100%; } .navbox-title .navbar { /* @noflip */ float: left; /* @noflip */ text-align: left; /* @noflip */ margin-right: 0.5em; } body.skin-Minerva .navbox-title .navbar { width: 6em; /* Why does mobile set this width? */ } /* body.everyoneelse */ .mw-body-content .navbar ul { line-height: inherit; } enymyvlxjpol9fv1f8iwcje60dohekb 9703 9702 2020-12-04T09:56:14Z w>Izno 0 remove per research 9703 sanitized-css text/css .navbar { display: inline; font-size: 88%; font-weight: normal; } .navbar ul { display: inline-block; white-space: nowrap; } .navbar-collapse { float: left; text-align: left; } .navbar-boxtext { word-spacing: 0; } .navbar li { word-spacing: -0.125em; } .navbar-lbracket { margin-right: -0.125em; } .navbar-rbracket { margin-left: -0.125em; } .navbar-ct-full { font-size: 114%; margin: 0 7em; } .navbar-ct-mini { font-size: 114%; margin: 0 4em; } .navbar.mini li abbr, .navbar.mini li span { font-variant: small-caps; border-bottom: none; text-decoration: none; cursor: inherit; } /* Navbar styling when nested in infobox and navbox Should consider having a separate TemplateStyles for those specific places using an infobox/navbox and a navbar, or possibly override from using template */ .infobox .navbar { font-size: 100%; } .navbox .navbar { display: block; font-size: 100%; } .navbox-title .navbar { /* @noflip */ float: left; /* @noflip */ text-align: left; /* @noflip */ margin-right: 0.5em; } /* body.everyoneelse */ .mw-body-content .navbar ul { line-height: inherit; } aimxah17qdz33tvkcviubi8uhoni8q0 9704 9703 2020-12-04T09:59:16Z w>Izno 0 and move that out of more specific rule 9704 sanitized-css text/css .navbar { display: inline; font-size: 88%; font-weight: normal; } .navbar ul { display: inline-block; white-space: nowrap; line-height: inherit; } .navbar-collapse { float: left; text-align: left; } .navbar-boxtext { word-spacing: 0; } .navbar li { word-spacing: -0.125em; } .navbar-lbracket { margin-right: -0.125em; } .navbar-rbracket { margin-left: -0.125em; } .navbar-ct-full { font-size: 114%; margin: 0 7em; } .navbar-ct-mini { font-size: 114%; margin: 0 4em; } .navbar.mini li abbr, .navbar.mini li span { font-variant: small-caps; border-bottom: none; text-decoration: none; cursor: inherit; } /* Navbar styling when nested in infobox and navbox Should consider having a separate TemplateStyles for those specific places using an infobox/navbox and a navbar, or possibly override from using template */ .infobox .navbar { font-size: 100%; } .navbox .navbar { display: block; font-size: 100%; } .navbox-title .navbar { /* @noflip */ float: left; /* @noflip */ text-align: left; /* @noflip */ margin-right: 0.5em; } l1ybjpv5fto8z6ur5l6438mbwv0i07y 9705 9704 2020-12-04T10:02:08Z w>Izno 0 pokity poke poke 9705 sanitized-css text/css .navbar { display: inline; font-size: 88%; font-weight: normal; } .navbar-collapse { float: left; text-align: left; } .navbar-boxtext { word-spacing: 0; } .navbar-lbracket { margin-right: -0.125em; } .navbar-rbracket { margin-left: -0.125em; } .navbar ul { display: inline-block; white-space: nowrap; line-height: inherit; } .navbar li { word-spacing: -0.125em; } .navbar.mini li abbr, .navbar.mini li span { font-variant: small-caps; border-bottom: none; text-decoration: none; cursor: inherit; } .navbar-ct-full { font-size: 114%; /* marginally cheaper to have two rules of 114% */ margin: 0 7em; } .navbar-ct-mini { font-size: 114%; margin: 0 4em; } /* Navbar styling when nested in infobox and navbox Should consider having a separate TemplateStyles for those specific places using an infobox/navbox and a navbar, or possibly override from using template */ .infobox .navbar { font-size: 100%; } .navbox .navbar { display: block; font-size: 100%; } .navbox-title .navbar { /* @noflip */ float: left; /* @noflip */ text-align: left; /* @noflip */ margin-right: 0.5em; } mgonykp3y13coxdeax5otowy94u0m0s 9706 9705 2020-12-06T15:07:28Z w>Izno 0 add brackets in css 9706 sanitized-css text/css .navbar { display: inline; font-size: 88%; font-weight: normal; } .navbar-collapse { float: left; text-align: left; } .navbar-boxtext { word-spacing: 0; } .navbar-brackets::before { margin-right: -0.125em; content: '&#91; '; } .navbar-brackets::after { margin-left: -0.125em; content: ' &#93;'; } .navbar-lbracket { margin-right: -0.125em; } .navbar-rbracket { margin-left: -0.125em; } .navbar ul { display: inline-block; white-space: nowrap; line-height: inherit; } .navbar li { word-spacing: -0.125em; } .navbar.mini li abbr, .navbar.mini li span { font-variant: small-caps; border-bottom: none; text-decoration: none; cursor: inherit; } .navbar-ct-full { font-size: 114%; /* marginally cheaper to have two rules of 114% */ margin: 0 7em; } .navbar-ct-mini { font-size: 114%; margin: 0 4em; } /* Navbar styling when nested in infobox and navbox Should consider having a separate TemplateStyles for those specific places using an infobox/navbox and a navbar, or possibly override from using template */ .infobox .navbar { font-size: 100%; } .navbox .navbar { display: block; font-size: 100%; } .navbox-title .navbar { /* @noflip */ float: left; /* @noflip */ text-align: left; /* @noflip */ margin-right: 0.5em; } bzkutiooetk5ibolejptdifgno17b4m 9707 9706 2020-12-06T15:13:02Z w>Izno 0 ok, not html character references 9707 sanitized-css text/css .navbar { display: inline; font-size: 88%; font-weight: normal; } .navbar-collapse { float: left; text-align: left; } .navbar-boxtext { word-spacing: 0; } .navbar-lbracket { margin-right: -0.125em; } .navbar-rbracket { margin-left: -0.125em; } .navbar ul { display: inline-block; white-space: nowrap; line-height: inherit; } .navbar ul::before { margin-right: -0.125em; content: '[ '; } .navbar ul::after { margin-left: -0.125em; content: ' ]'; } .navbar li { word-spacing: -0.125em; } .navbar.mini li abbr, .navbar.mini li span { font-variant: small-caps; border-bottom: none; text-decoration: none; cursor: inherit; } .navbar-ct-full { font-size: 114%; /* marginally cheaper to have two rules of 114% */ margin: 0 7em; } .navbar-ct-mini { font-size: 114%; margin: 0 4em; } /* Navbar styling when nested in infobox and navbox Should consider having a separate TemplateStyles for those specific places using an infobox/navbox and a navbar, or possibly override from using template */ .infobox .navbar { font-size: 100%; } .navbox .navbar { display: block; font-size: 100%; } .navbox-title .navbar { /* @noflip */ float: left; /* @noflip */ text-align: left; /* @noflip */ margin-right: 0.5em; } 36mkpkg5bwdf74r4vwuno1tt7b83v0y 9708 9707 2020-12-06T15:29:10Z w>Izno 0 navbar-brackets 9708 sanitized-css text/css .navbar { display: inline; font-size: 88%; font-weight: normal; } .navbar-collapse { float: left; text-align: left; } .navbar-boxtext { word-spacing: 0; } .navbar-lbracket { margin-right: -0.125em; } .navbar-rbracket { margin-left: -0.125em; } .navbar ul { display: inline-block; white-space: nowrap; line-height: inherit; } .navbar-brackets::before { margin-right: -0.125em; content: '[ '; } .navbar-brackets::after { margin-left: -0.125em; content: ' ]'; } .navbar li { word-spacing: -0.125em; } .navbar.mini li abbr, .navbar.mini li span { font-variant: small-caps; border-bottom: none; text-decoration: none; cursor: inherit; } .navbar-ct-full { font-size: 114%; /* marginally cheaper to have two rules of 114% */ margin: 0 7em; } .navbar-ct-mini { font-size: 114%; margin: 0 4em; } /* Navbar styling when nested in infobox and navbox Should consider having a separate TemplateStyles for those specific places using an infobox/navbox and a navbar, or possibly override from using template */ .infobox .navbar { font-size: 100%; } .navbox .navbar { display: block; font-size: 100%; } .navbox-title .navbar { /* @noflip */ float: left; /* @noflip */ text-align: left; /* @noflip */ margin-right: 0.5em; } cpu1ldxdenisribi1o1iaoetlv47tna 9709 9708 2020-12-06T15:41:24Z w>Izno 0 move to navbar-mini 9709 sanitized-css text/css .navbar { display: inline; font-size: 88%; font-weight: normal; } .navbar-collapse { float: left; text-align: left; } .navbar-boxtext { word-spacing: 0; } .navbar-lbracket { margin-right: -0.125em; } .navbar-rbracket { margin-left: -0.125em; } .navbar ul { display: inline-block; white-space: nowrap; line-height: inherit; } .navbar-brackets::before { margin-right: -0.125em; content: '[ '; } .navbar-brackets::after { margin-left: -0.125em; content: ' ]'; } .navbar li { word-spacing: -0.125em; } .navbar-mini abbr, .navbar-mini span { font-variant: small-caps; border-bottom: none; text-decoration: none; cursor: inherit; } .navbar-ct-full { font-size: 114%; /* marginally cheaper to have two rules of 114% */ margin: 0 7em; } .navbar-ct-mini { font-size: 114%; margin: 0 4em; } /* Navbar styling when nested in infobox and navbox Should consider having a separate TemplateStyles for those specific places using an infobox/navbox and a navbar, or possibly override from using template */ .infobox .navbar { font-size: 100%; } .navbox .navbar { display: block; font-size: 100%; } .navbox-title .navbar { /* @noflip */ float: left; /* @noflip */ text-align: left; /* @noflip */ margin-right: 0.5em; } 0uxgxn0l6hkj3c1zhudww0bhdqfxtwe 9710 9709 2020-12-06T15:42:30Z w>Izno 0 nix lrbrackets 9710 sanitized-css text/css .navbar { display: inline; font-size: 88%; font-weight: normal; } .navbar-collapse { float: left; text-align: left; } .navbar-boxtext { word-spacing: 0; } .navbar ul { display: inline-block; white-space: nowrap; line-height: inherit; } .navbar-brackets::before { margin-right: -0.125em; content: '[ '; } .navbar-brackets::after { margin-left: -0.125em; content: ' ]'; } .navbar li { word-spacing: -0.125em; } .navbar-mini abbr, .navbar-mini span { font-variant: small-caps; border-bottom: none; text-decoration: none; cursor: inherit; } .navbar-ct-full { font-size: 114%; /* marginally cheaper to have two rules of 114% */ margin: 0 7em; } .navbar-ct-mini { font-size: 114%; margin: 0 4em; } /* Navbar styling when nested in infobox and navbox Should consider having a separate TemplateStyles for those specific places using an infobox/navbox and a navbar, or possibly override from using template */ .infobox .navbar { font-size: 100%; } .navbox .navbar { display: block; font-size: 100%; } .navbox-title .navbar { /* @noflip */ float: left; /* @noflip */ text-align: left; /* @noflip */ margin-right: 0.5em; } mwbtfqip51pgdwa5ri6o5fuxys6y0jm 9711 9710 2020-12-07T13:53:14Z w>Izno 0 clean 9711 sanitized-css text/css .navbar { display: inline; font-size: 88%; font-weight: normal; } .navbar-collapse { float: left; text-align: left; } .navbar-boxtext { word-spacing: 0; } .navbar ul { display: inline-block; white-space: nowrap; line-height: inherit; } .navbar-brackets::before { margin-right: -0.125em; content: '[ '; } .navbar-brackets::after { margin-left: -0.125em; content: ' ]'; } .navbar li { word-spacing: -0.125em; } .navbar-mini abbr, .navbar-mini span { font-variant: small-caps; border-bottom: none; text-decoration: none; cursor: inherit; } .navbar-ct-full { font-size: 114%; margin: 0 7em; } .navbar-ct-mini { font-size: 114%; margin: 0 4em; } /* Navbar styling when nested in infobox and navbox Should consider having a separate TemplateStyles for those specific places using an infobox/navbox and a navbar, or possibly override from using template */ .infobox .navbar { font-size: 100%; } .navbox .navbar { display: block; font-size: 100%; } .navbox-title .navbar { /* @noflip */ float: left; /* @noflip */ text-align: left; /* @noflip */ margin-right: 0.5em; } 6im42m5k43kqc2ygh0z6xb0r4tc789d 9712 9711 2020-12-08T00:14:03Z w>Izno 0 Protected "[[Module:Navbar/styles.css]]": [[WP:High-risk templates|Highly visible template]]: match to parent ([Edit=Require administrator access] (indefinite) [Move=Require administrator access] (indefinite)) 9711 sanitized-css text/css .navbar { display: inline; font-size: 88%; font-weight: normal; } .navbar-collapse { float: left; text-align: left; } .navbar-boxtext { word-spacing: 0; } .navbar ul { display: inline-block; white-space: nowrap; line-height: inherit; } .navbar-brackets::before { margin-right: -0.125em; content: '[ '; } .navbar-brackets::after { margin-left: -0.125em; content: ' ]'; } .navbar li { word-spacing: -0.125em; } .navbar-mini abbr, .navbar-mini span { font-variant: small-caps; border-bottom: none; text-decoration: none; cursor: inherit; } .navbar-ct-full { font-size: 114%; margin: 0 7em; } .navbar-ct-mini { font-size: 114%; margin: 0 4em; } /* Navbar styling when nested in infobox and navbox Should consider having a separate TemplateStyles for those specific places using an infobox/navbox and a navbar, or possibly override from using template */ .infobox .navbar { font-size: 100%; } .navbox .navbar { display: block; font-size: 100%; } .navbox-title .navbar { /* @noflip */ float: left; /* @noflip */ text-align: left; /* @noflip */ margin-right: 0.5em; } 6im42m5k43kqc2ygh0z6xb0r4tc789d 9713 9712 2020-12-08T00:14:21Z w>Izno 0 pp 9713 sanitized-css text/css /* {{pp}} */ .navbar { display: inline; font-size: 88%; font-weight: normal; } .navbar-collapse { float: left; text-align: left; } .navbar-boxtext { word-spacing: 0; } .navbar ul { display: inline-block; white-space: nowrap; line-height: inherit; } .navbar-brackets::before { margin-right: -0.125em; content: '[ '; } .navbar-brackets::after { margin-left: -0.125em; content: ' ]'; } .navbar li { word-spacing: -0.125em; } .navbar-mini abbr, .navbar-mini span { font-variant: small-caps; border-bottom: none; text-decoration: none; cursor: inherit; } .navbar-ct-full { font-size: 114%; margin: 0 7em; } .navbar-ct-mini { font-size: 114%; margin: 0 4em; } /* Navbar styling when nested in infobox and navbox Should consider having a separate TemplateStyles for those specific places using an infobox/navbox and a navbar, or possibly override from using template */ .infobox .navbar { font-size: 100%; } .navbox .navbar { display: block; font-size: 100%; } .navbox-title .navbar { /* @noflip */ float: left; /* @noflip */ text-align: left; /* @noflip */ margin-right: 0.5em; } l9jf90bajdsl019rkxke9v1ojgs0ouy 9714 9713 2020-12-08T00:14:55Z w>Izno 0 small = yes 9714 sanitized-css text/css /* {{pp|small=yes}} */ .navbar { display: inline; font-size: 88%; font-weight: normal; } .navbar-collapse { float: left; text-align: left; } .navbar-boxtext { word-spacing: 0; } .navbar ul { display: inline-block; white-space: nowrap; line-height: inherit; } .navbar-brackets::before { margin-right: -0.125em; content: '[ '; } .navbar-brackets::after { margin-left: -0.125em; content: ' ]'; } .navbar li { word-spacing: -0.125em; } .navbar-mini abbr, .navbar-mini span { font-variant: small-caps; border-bottom: none; text-decoration: none; cursor: inherit; } .navbar-ct-full { font-size: 114%; margin: 0 7em; } .navbar-ct-mini { font-size: 114%; margin: 0 4em; } /* Navbar styling when nested in infobox and navbox Should consider having a separate TemplateStyles for those specific places using an infobox/navbox and a navbar, or possibly override from using template */ .infobox .navbar { font-size: 100%; } .navbox .navbar { display: block; font-size: 100%; } .navbox-title .navbar { /* @noflip */ float: left; /* @noflip */ text-align: left; /* @noflip */ margin-right: 0.5em; } 82gntfxvlqadezsk4xs45d5pdo2ipq2 9715 9714 2020-12-08T00:40:59Z w>Izno 0 navbar-mini is never a span, and span doesn't have all the stuff that needs resetting 9715 sanitized-css text/css /* {{pp|small=yes}} */ .navbar { display: inline; font-size: 88%; font-weight: normal; } .navbar-collapse { float: left; text-align: left; } .navbar-boxtext { word-spacing: 0; } .navbar ul { display: inline-block; white-space: nowrap; line-height: inherit; } .navbar-brackets::before { margin-right: -0.125em; content: '[ '; } .navbar-brackets::after { margin-left: -0.125em; content: ' ]'; } .navbar li { word-spacing: -0.125em; } .navbar-mini abbr { font-variant: small-caps; border-bottom: none; text-decoration: none; cursor: inherit; } .navbar-ct-full { font-size: 114%; margin: 0 7em; } .navbar-ct-mini { font-size: 114%; margin: 0 4em; } /* Navbar styling when nested in infobox and navbox Should consider having a separate TemplateStyles for those specific places using an infobox/navbox and a navbar, or possibly override from using template */ .infobox .navbar { font-size: 100%; } .navbox .navbar { display: block; font-size: 100%; } .navbox-title .navbar { /* @noflip */ float: left; /* @noflip */ text-align: left; /* @noflip */ margin-right: 0.5em; } slh5ct0wdlbpnikxf7x7x9dfeswx1km 9716 9694 2021-10-29T20:02:36Z meta>GeneralNotability 0 21 revisions imported from [[:w:Module:Navbar/styles.css]]: blame [[User:Barkeep49]] 9693 sanitized-css text/css /** {{Shared Template Warning}} * This TemplateStyles page is separately used for [[Template:Navbar]] * because of course there are two versions of the same template. * Be careful when adjusting styles accordingly. */ .navbar { display: inline; font-size: 88%; font-weight: normal; } .navbar ul { display: inline; white-space: nowrap; } .navbar li { word-spacing: -0.125em; } /* Navbar styling when nested in navbox */ .navbox .navbar { display: block; font-size: 100%; } .navbox-title .navbar { /* @noflip */ float: left; /* @noflip */ text-align: left; /* @noflip */ margin-right: 0.5em; width: 6em; } pjef11fnnriv88pf17yhw74jhy3pzaq 9717 9716 2023-03-14T22:36:11Z meta>MarcoAurelio 0 From [[Module:Navbar/sandbox/styles.css]] per [[Special:Permalink/24716935#hlist|edit request]] 9717 sanitized-css text/css /** {{Shared Template Warning}} * This TemplateStyles page is separately used for [[Template:Navbar]] * because of course there are two versions of the same template. * Be careful when adjusting styles accordingly. */ .navbar { display: inline; font-size: 88%; font-weight: normal; } .navbar-collapse { float: left; text-align: left; } .navbar-boxtext { word-spacing: 0; } .navbar ul { display: inline-block; white-space: nowrap; line-height: inherit; } .navbar-brackets::before { margin-right: -0.125em; content: '[ '; } .navbar-brackets::after { margin-left: -0.125em; content: ' ]'; } .navbar li { word-spacing: -0.125em; } .navbar a > span, .navbar a > abbr { text-decoration: inherit; } .navbar-mini abbr { font-variant: small-caps; border-bottom: none; text-decoration: none; cursor: inherit; } .navbar-ct-full { font-size: 114%; margin: 0 7em; } .navbar-ct-mini { font-size: 114%; margin: 0 4em; } 3elxs9ngpjrcgjzkmafpgla8em0kog0 9718 9717 2023-03-14T22:36:31Z meta>MarcoAurelio 0 add line break 9718 sanitized-css text/css /** {{Shared Template Warning}} * This TemplateStyles page is separately used for [[Template:Navbar]] * because of course there are two versions of the same template. * Be careful when adjusting styles accordingly. */ .navbar { display: inline; font-size: 88%; font-weight: normal; } .navbar-collapse { float: left; text-align: left; } .navbar-boxtext { word-spacing: 0; } .navbar ul { display: inline-block; white-space: nowrap; line-height: inherit; } .navbar-brackets::before { margin-right: -0.125em; content: '[ '; } .navbar-brackets::after { margin-left: -0.125em; content: ' ]'; } .navbar li { word-spacing: -0.125em; } .navbar a > span, .navbar a > abbr { text-decoration: inherit; } .navbar-mini abbr { font-variant: small-caps; border-bottom: none; text-decoration: none; cursor: inherit; } .navbar-ct-full { font-size: 114%; margin: 0 7em; } .navbar-ct-mini { font-size: 114%; margin: 0 4em; } 1tqu71po5skqdwt9o0173mb6fni5w2q 9719 9718 2023-03-14T22:37:18Z meta>MarcoAurelio 0 ce 9719 sanitized-css text/css /** * This TemplateStyles page is separately used for [[Template:Navbar]] * because of course there are two versions of the same template. * Be careful when adjusting styles accordingly. */ .navbar { display: inline; font-size: 88%; font-weight: normal; } .navbar-collapse { float: left; text-align: left; } .navbar-boxtext { word-spacing: 0; } .navbar ul { display: inline-block; white-space: nowrap; line-height: inherit; } .navbar-brackets::before { margin-right: -0.125em; content: '[ '; } .navbar-brackets::after { margin-left: -0.125em; content: ' ]'; } .navbar li { word-spacing: -0.125em; } .navbar a > span, .navbar a > abbr { text-decoration: inherit; } .navbar-mini abbr { font-variant: small-caps; border-bottom: none; text-decoration: none; cursor: inherit; } .navbar-ct-full { font-size: 114%; margin: 0 7em; } .navbar-ct-mini { font-size: 114%; margin: 0 4em; } 22vyzbsq5ykuzgd474imn272krhpv9g 9720 9719 2023-03-14T22:39:40Z meta>MarcoAurelio 0 not needed 9720 sanitized-css text/css .navbar { display: inline; font-size: 88%; font-weight: normal; } .navbar-collapse { float: left; text-align: left; } .navbar-boxtext { word-spacing: 0; } .navbar ul { display: inline-block; white-space: nowrap; line-height: inherit; } .navbar-brackets::before { margin-right: -0.125em; content: '[ '; } .navbar-brackets::after { margin-left: -0.125em; content: ' ]'; } .navbar li { word-spacing: -0.125em; } .navbar a > span, .navbar a > abbr { text-decoration: inherit; } .navbar-mini abbr { font-variant: small-caps; border-bottom: none; text-decoration: none; cursor: inherit; } .navbar-ct-full { font-size: 114%; margin: 0 7em; } .navbar-ct-mini { font-size: 114%; margin: 0 4em; } tv0rodr5nuirgvmxcqgxt47nuxgqnv9 9721 8864 2025-08-26T16:00:35Z meta>Pppery 0 /* {{pp-template}} */ 9721 sanitized-css text/css /* {{pp-template}} */ .navbar { display: inline; font-size: 88%; font-weight: normal; } .navbar-collapse { float: left; text-align: left; } .navbar-boxtext { word-spacing: 0; } .navbar ul { display: inline-block; white-space: nowrap; line-height: inherit; } .navbar-brackets::before { margin-right: -0.125em; content: '[ '; } .navbar-brackets::after { margin-left: -0.125em; content: ' ]'; } .navbar li { word-spacing: -0.125em; } .navbar a > span, .navbar a > abbr { text-decoration: inherit; } .navbar-mini abbr { font-variant: small-caps; border-bottom: none; text-decoration: none; cursor: inherit; } .navbar-ct-full { font-size: 114%; margin: 0 7em; } .navbar-ct-mini { font-size: 114%; margin: 0 4em; } nd76zw6ebwbmn1d6uemkc8fxy45i51m 9722 8865 2026-08-24T13:00:38Z RAPTOR7762 18 29 revisions imported from [[:meta:Module:Navbar/styles.css]] 1132 sanitized-css text/css .navbar { display: inline; font-size: 88%; font-weight: normal; } .navbar-collapse { float: left; text-align: left; } .navbar-boxtext { word-spacing: 0; } .navbar ul { display: inline-block; white-space: nowrap; line-height: inherit; } .navbar-brackets::before { margin-right: -0.125em; content: '[ '; } .navbar-brackets::after { margin-left: -0.125em; content: ' ]'; } .navbar li { word-spacing: -0.125em; } .navbar a > span, .navbar a > abbr { text-decoration: inherit; } .navbar-mini abbr { font-variant: small-caps; border-bottom: none; text-decoration: none; cursor: inherit; } .navbar-ct-full { font-size: 114%; margin: 0 7em; } .navbar-ct-mini { font-size: 114%; margin: 0 4em; } /* not the usual @media screen, we simply remove navbar in @media print */ html.skin-theme-clientpref-night .navbar li a abbr { color: var(--color-base) !important; } @media (prefers-color-scheme: dark) { html.skin-theme-clientpref-os .navbar li a abbr { color: var(--color-base) !important; } } @media print { .navbar { display: none !important; } } 4adscvew8jzs01entb4br8tqpsrcves Module:String 828 270 9589 2013-05-13T16:35:00Z meta>Frietjes 0 imported from [[:en:Module:String]] 9589 Scribunto text/plain --[[ This module is intended to provide access to basic string functions. Most of the functions provided here can be invoked with named parameters, unnamed parameters, or a mixture. If named parameters are used, Mediawiki will automatically remove any leading or trailing whitespace from the parameter. Depending on the intended use, it may be advantageous to either preserve or remove such whitespace. Global options ignore_errors: If set to 'true' or 1, any error condition will result in an empty string being returned rather than an error message. error_category: If an error occurs, specifies the name of a category to include with the error message. The default category is [Category:Errors reported by Module String]. no_category: If set to 'true' or 1, no category will be added if an error is generated. Unit tests for this module are available at Module:String/tests. ]] local str = {} --[[ len This function returns the length of the target string. Usage: {{#invoke:String|len|target_string|}} OR {{#invoke:String|len|s=target_string}} Parameters s: The string whose length to report If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the target string. ]] function str.len( frame ) local new_args = str._getParameters( frame.args, {'s'} ); local s = new_args['s'] or ''; return mw.ustring.len( s ) end --[[ sub This function returns a substring of the target string at specified indices. Usage: {{#invoke:String|sub|target_string|start_index|end_index}} OR {{#invoke:String|sub|s=target_string|i=start_index|j=end_index}} Parameters s: The string to return a subset of i: The fist index of the substring to return, defaults to 1. j: The last index of the string to return, defaults to the last character. The first character of the string is assigned an index of 1. If either i or j is a negative value, it is interpreted the same as selecting a character by counting from the end of the string. Hence, a value of -1 is the same as selecting the last character of the string. If the requested indices are out of range for the given string, an error is reported. ]] function str.sub( frame ) local new_args = str._getParameters( frame.args, { 's', 'i', 'j' } ); local s = new_args['s'] or ''; local i = tonumber( new_args['i'] ) or 1; local j = tonumber( new_args['j'] ) or -1; local len = mw.ustring.len( s ); -- Convert negatives for range checking if i < 0 then i = len + i + 1; end if j < 0 then j = len + j + 1; end if i > len or j > len or i < 1 or j < 1 then return str._error( 'String subset index out of range' ); end if j < i then return str._error( 'String subset indices out of order' ); end return mw.ustring.sub( s, i, j ) end --[[ This function implements that features of {{str sub old}} and is kept in order to maintain these older templates. ]] function str.sublength( frame ) local i = tonumber( frame.args.i ) or 0 local len = tonumber( frame.args.len ) return mw.ustring.sub( frame.args.s, i + 1, len and ( i + len ) ) end --[[ match This function returns a substring from the source string that matches a specified pattern. Usage: {{#invoke:String|match|source_string|pattern_string|start_index|match_number|plain_flag|nomatch_output}} OR {{#invoke:String|pos|s=source_string|pattern=pattern_string|start=start_index |match=match_number|plain=plain_flag|nomatch=nomatch_output}} Parameters s: The string to search pattern: The pattern or string to find within the string start: The index within the source string to start the search. The first character of the string has index 1. Defaults to 1. match: In some cases it may be possible to make multiple matches on a single string. This specifies which match to return, where the first match is match= 1. If a negative number is specified then a match is returned counting from the last match. Hence match = -1 is the same as requesting the last match. Defaults to 1. plain: A flag indicating that the pattern should be understood as plain text. Defaults to false. nomatch: If no match is found, output the "nomatch" value rather than an error. If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from each string. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. If the match_number or start_index are out of range for the string being queried, then this function generates an error. An error is also generated if no match is found. If one adds the parameter ignore_errors=true, then the error will be suppressed and an empty string will be returned on any failure. For information on constructing Lua patterns, a form of [regular expression], see: * http://www.lua.org/manual/5.1/manual.html#5.4.1 * http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Patterns * http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Ustring_patterns ]] function str.match( frame ) local new_args = str._getParameters( frame.args, {'s', 'pattern', 'start', 'match', 'plain', 'nomatch'} ); local s = new_args['s'] or ''; local start = tonumber( new_args['start'] ) or 1; local plain_flag = str._getBoolean( new_args['plain'] or false ); local pattern = new_args['pattern'] or ''; local match_index = math.floor( tonumber(new_args['match']) or 1 ); local nomatch = new_args['nomatch']; if s == '' then return str._error( 'Target string is empty' ); end if pattern == '' then return str._error( 'Pattern string is empty' ); end if math.abs(start) < 1 or math.abs(start) > mw.ustring.len( s ) then return str._error( 'Requested start is out of range' ); end if match_index == 0 then return str._error( 'Match index is out of range' ); end if plain_flag then pattern = str._escapePattern( pattern ); end local result if match_index == 1 then -- Find first match is simple case result = mw.ustring.match( s, pattern, start ) else if start > 1 then s = mw.ustring.sub( s, start ); end local iterator = mw.ustring.gmatch(s, pattern); if match_index > 0 then -- Forward search for w in iterator do match_index = match_index - 1; if match_index == 0 then result = w; break; end end else -- Reverse search local result_table = {}; local count = 1; for w in iterator do result_table[count] = w; count = count + 1; end result = result_table[ count + match_index ]; end end if result == nil then if nomatch == nil then return str._error( 'Match not found' ); else return nomatch; end else return result; end end --[[ pos This function returns a single character from the target string at position pos. Usage: {{#invoke:String|pos|target_string|index_value}} OR {{#invoke:String|pos|target=target_string|pos=index_value}} Parameters target: The string to search pos: The index for the character to return If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the target string. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. The first character has an index value of 1. If one requests a negative value, this function will select a character by counting backwards from the end of the string. In other words pos = -1 is the same as asking for the last character. A requested value of zero, or a value greater than the length of the string returns an error. ]] function str.pos( frame ) local new_args = str._getParameters( frame.args, {'target', 'pos'} ); local target_str = new_args['target'] or ''; local pos = tonumber( new_args['pos'] ) or 0; if pos == 0 or math.abs(pos) > mw.ustring.len( target_str ) then return str._error( 'String index out of range' ); end return mw.ustring.sub( target_str, pos, pos ); end --[[ str_find This function duplicates the behavior of {{str_find}}, including all of its quirks. This is provided in order to support existing templates, but is NOT RECOMMENDED for new code and templates. New code is recommended to use the "find" function instead. Returns the first index in "source" that is a match to "target". Indexing is 1-based, and the function returns -1 if the "target" string is not present in "source". Important Note: If the "target" string is empty / missing, this function returns a value of "1", which is generally unexpected behavior, and must be accounted for separatetly. ]] function str.str_find( frame ) local new_args = str._getParameters( frame.args, {'source', 'target'} ); local source_str = new_args['source'] or ''; local target_str = new_args['target'] or ''; if target_str == '' then return 1; end local start = mw.ustring.find( source_str, target_str, 1, true ) if start == nil then start = -1 end return start end --[[ find This function allows one to search for a target string or pattern within another string. Usage: {{#invoke:String|find|source_str|target_string|start_index|plain_flag}} OR {{#invoke:String|find|source=source_str|target=target_str|start=start_index|plain=plain_flag}} Parameters source: The string to search target: The string or pattern to find within source start: The index within the source string to start the search, defaults to 1 plain: Boolean flag indicating that target should be understood as plain text and not as a Lua style regular expression, defaults to true If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the parameter. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. This function returns the first index >= "start" where "target" can be found within "source". Indices are 1-based. If "target" is not found, then this function returns 0. If either "source" or "target" are missing / empty, this function also returns 0. This function should be safe for UTF-8 strings. ]] function str.find( frame ) local new_args = str._getParameters( frame.args, {'source', 'target', 'start', 'plain' } ); local source_str = new_args['source'] or ''; local pattern = new_args['target'] or ''; local start_pos = tonumber(new_args['start']) or 1; local plain = new_args['plain'] or true; if source_str == '' or pattern == '' then return 0; end plain = str._getBoolean( plain ); local start = mw.ustring.find( source_str, pattern, start_pos, plain ) if start == nil then start = 0 end return start end --[[ replace This function allows one to replace a target string or pattern within another string. Usage: {{#invoke:String|replace|source_str|pattern_string|replace_string|replacement_count|plain_flag}} OR {{#invoke:String|replace|source=source_string|pattern=pattern_string|replace=replace_string| count=replacement_count|plain=plain_flag}} Parameters source: The string to search pattern: The string or pattern to find within source replace: The replacement text count: The number of occurences to replace, defaults to all. plain: Boolean flag indicating that pattern should be understood as plain text and not as a Lua style regular expression, defaults to true ]] function str.replace( frame ) local new_args = str._getParameters( frame.args, {'source', 'pattern', 'replace', 'count', 'plain' } ); local source_str = new_args['source'] or ''; local pattern = new_args['pattern'] or ''; local replace = new_args['replace'] or ''; local count = tonumber( new_args['count'] ); local plain = new_args['plain'] or true; if source_str == '' or pattern == '' then return source_str; end plain = str._getBoolean( plain ); if plain then pattern = str._escapePattern( pattern ); replace = mw.ustring.gsub( replace, "%%", "%%%%" ); --Only need to escape replacement sequences. end local result; if count ~= nil then result = mw.ustring.gsub( source_str, pattern, replace, count ); else result = mw.ustring.gsub( source_str, pattern, replace ); end return result; end --[[ simple function to pipe string.rep to templates. ]] function str.rep( frame ) local repetitions = tonumber( frame.args[2] ) if not repetitions then return str._error( 'function rep expects a number as second parameter, received "' .. ( frame.args[2] or '' ) .. '"' ) end return string.rep( frame.args[1] or '', repetitions ) end --[[ Helper function that populates the argument list given that user may need to use a mix of named and unnamed parameters. This is relevant because named parameters are not identical to unnamed parameters due to string trimming, and when dealing with strings we sometimes want to either preserve or remove that whitespace depending on the application. ]] function str._getParameters( frame_args, arg_list ) local new_args = {}; local index = 1; local value; for i,arg in ipairs( arg_list ) do value = frame_args[arg] if value == nil then value = frame_args[index]; index = index + 1; end new_args[arg] = value; end return new_args; end --[[ Helper function to handle error messages. ]] function str._error( error_str ) local frame = mw.getCurrentFrame(); local error_category = frame.args.error_category or 'Errors reported by Module String'; local ignore_errors = frame.args.ignore_errors or false; local no_category = frame.args.no_category or false; if str._getBoolean(ignore_errors) then return ''; end local error_str = '<strong class="error">String Module Error: ' .. error_str .. '</strong>'; if error_category ~= '' and not str._getBoolean( no_category ) then error_str = '[[Category:' .. error_category .. ']]' .. error_str; end return error_str; end --[[ Helper Function to interpret boolean strings ]] function str._getBoolean( boolean_str ) local boolean_value; if type( boolean_str ) == 'string' then boolean_str = boolean_str:lower(); if boolean_str == 'false' or boolean_str == 'no' or boolean_str == '0' or boolean_str == '' then boolean_value = false; else boolean_value = true; end elseif type( boolean_str ) == 'boolean' then boolean_value = boolean_str; else error( 'No boolean value found' ); end return boolean_value end --[[ Helper function that escapes all pattern characters so that they will be treated as plain text. ]] function str._escapePattern( pattern_str ) return mw.ustring.gsub( pattern_str, "([%(%)%.%%%+%-%*%?%[%^%$%]])", "%%%1" ); end return str l0shz7fzxb1bq626nihqwbptk7dfqd5 9590 9589 2014-01-28T12:04:22Z meta>Verdy p 0 9590 Scribunto text/plain --[[ This module is intended to provide access to basic string functions. Most of the functions provided here can be invoked with named parameters, unnamed parameters, or a mixture. If named parameters are used, Mediawiki will automatically remove any leading or trailing whitespace from the parameter. Depending on the intended use, it may be advantageous to either preserve or remove such whitespace. Global options ignore_errors: If set to 'true' or 1, any error condition will result in an empty string being returned rather than an error message. error_category: If an error occurs, specifies the name of a category to include with the error message. The default category is [Category:Errors reported by Module String]. no_category: If set to 'true' or 1, no category will be added if an error is generated. Unit tests for this module are available at Module:String/tests. ]] local str = {} --[[ len This function returns the length of the target string. Usage: {{#invoke:String|len|target_string|}} OR {{#invoke:String|len|s=target_string}} Parameters s: The string whose length to report If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the target string. ]] function str.len( frame ) local new_args = str._getParameters( frame.args, {'s'} ); local s = new_args['s'] or ''; return mw.ustring.len( s ) end --[[ sub This function returns a substring of the target string at specified indices. Usage: {{#invoke:String|sub|target_string|start_index|end_index}} OR {{#invoke:String|sub|s=target_string|i=start_index|j=end_index}} Parameters s: The string to return a subset of i: The fist index of the substring to return, defaults to 1. j: The last index of the string to return, defaults to the last character. The first character of the string is assigned an index of 1. If either i or j is a negative value, it is interpreted the same as selecting a character by counting from the end of the string. Hence, a value of -1 is the same as selecting the last character of the string. If the requested indices are out of range for the given string, an error is reported. ]] function str.sub( frame ) local new_args = str._getParameters( frame.args, { 's', 'i', 'j' } ) local s = new_args['s'] or '' local i = tonumber( new_args['i'] ) or 1 local j = tonumber( new_args['j'] ) or -1 local len = mw.ustring.len( s ) -- Convert negatives for range checking if i < 0 then i = len + i + 1 end if j < 0 then j = len + j + 1 end if i > len or j > len or i < 1 or j < 1 then return str._error( 'String subset index out of range' ) end if j < i then return str._error( 'String subset indices out of order' ) end return mw.ustring.sub( s, i, j ) end --[[ This function implements that features of {{subr|s|skip|max}} and is kept in order to maintain these older templates. Uses only numbered paramameters to preserve spaces (caller may trim whitespaces by passing the parameter explicitly by numbering the parameters). Accepts negative values as relative to strng length. No error is returned if attempting to read past end of string or before start of string. Currently does not parse and replace placeholders for nowiki tags. ]] function str.sublength( frame ) local s = frame.args[1] or ''; local skip = tonumber( frame.args[2] ) or 0; local max = tonumber( frame.args[3] ) or 0; local len = mw.ustring.len( s ); -- convert negative values of max and skip as relative to string length if max < 0 then max = len + max end if skip < 0 then skip = len + skip end -- check boundaries to reduce the requested max if skip < 0 then -- if before start of string max = max + skip skip = 0 -- skip can't underflow now end if max > len - skip then -- if past end of string max = len - skip -- max can't overflow now end if max <= 0 then return '' -- nothing left to return end return mw.ustring.sub( s, skip + 1, skip + max ) end --[[ match This function returns a substring from the source string that matches a specified pattern. Usage: {{#invoke:String|match|source_string|pattern_string|start_index|match_number|plain_flag|nomatch_output}} OR {{#invoke:String|pos|s=source_string|pattern=pattern_string|start=start_index |match=match_number|plain=plain_flag|nomatch=nomatch_output}} Parameters s: The string to search pattern: The pattern or string to find within the string start: The index within the source string to start the search. The first character of the string has index 1. Defaults to 1. match: In some cases it may be possible to make multiple matches on a single string. This specifies which match to return, where the first match is match= 1. If a negative number is specified then a match is returned counting from the last match. Hence match = -1 is the same as requesting the last match. Defaults to 1. plain: A flag indicating that the pattern should be understood as plain text. Defaults to false. nomatch: If no match is found, output the "nomatch" value rather than an error. If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from each string. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. If the match_number or start_index are out of range for the string being queried, then this function generates an error. An error is also generated if no match is found. If one adds the parameter ignore_errors=true, then the error will be suppressed and an empty string will be returned on any failure. For information on constructing Lua patterns, a form of [regular expression], see: * http://www.lua.org/manual/5.1/manual.html#5.4.1 * http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Patterns * http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Ustring_patterns ]] function str.match( frame ) local new_args = str._getParameters( frame.args, {'s', 'pattern', 'start', 'match', 'plain', 'nomatch'} ); local s = new_args['s'] or ''; local start = tonumber( new_args['start'] ) or 1; local plain_flag = str._getBoolean( new_args['plain'] or false ); local pattern = new_args['pattern'] or ''; local match_index = math.floor( tonumber(new_args['match']) or 1 ); local nomatch = new_args['nomatch']; if s == '' then return str._error( 'Target string is empty' ); end if pattern == '' then return str._error( 'Pattern string is empty' ); end if math.abs(start) < 1 or math.abs(start) > mw.ustring.len( s ) then return str._error( 'Requested start is out of range' ); end if match_index == 0 then return str._error( 'Match index is out of range' ); end if plain_flag then pattern = str._escapePattern( pattern ); end local result if match_index == 1 then -- Find first match is simple case result = mw.ustring.match( s, pattern, start ) else if start > 1 then s = mw.ustring.sub( s, start ); end local iterator = mw.ustring.gmatch(s, pattern); if match_index > 0 then -- Forward search for w in iterator do match_index = match_index - 1; if match_index == 0 then result = w; break; end end else -- Reverse search local result_table = {}; local count = 1; for w in iterator do result_table[count] = w; count = count + 1; end result = result_table[ count + match_index ]; end end if result == nil then if nomatch == nil then return str._error( 'Match not found' ); else return nomatch; end else return result; end end --[[ pos This function returns a single character from the target string at position pos. Usage: {{#invoke:String|pos|target_string|index_value}} OR {{#invoke:String|pos|target=target_string|pos=index_value}} Parameters target: The string to search pos: The index for the character to return If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the target string. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. The first character has an index value of 1. If one requests a negative value, this function will select a character by counting backwards from the end of the string. In other words pos = -1 is the same as asking for the last character. A requested value of zero, or a value greater than the length of the string returns an error. ]] function str.pos( frame ) local new_args = str._getParameters( frame.args, {'target', 'pos'} ); local target_str = new_args['target'] or ''; local pos = tonumber( new_args['pos'] ) or 0; if pos == 0 or math.abs(pos) > mw.ustring.len( target_str ) then return str._error( 'String index out of range' ); end return mw.ustring.sub( target_str, pos, pos ); end --[[ str_find This function duplicates the behavior of {{str_find}}, including all of its quirks. This is provided in order to support existing templates, but is NOT RECOMMENDED for new code and templates. New code is recommended to use the "find" function instead. Returns the first index in "source" that is a match to "target". Indexing is 1-based, and the function returns -1 if the "target" string is not present in "source". Important Note: If the "target" string is empty / missing, this function returns a value of "1", which is generally unexpected behavior, and must be accounted for separatetly. ]] function str.str_find( frame ) local new_args = str._getParameters( frame.args, {'source', 'target'} ); local source_str = new_args['source'] or ''; local target_str = new_args['target'] or ''; if target_str == '' then return 1; end local start = mw.ustring.find( source_str, target_str, 1, true ) if start == nil then start = -1 end return start end --[[ find This function allows one to search for a target string or pattern within another string. Usage: {{#invoke:String|find|source_str|target_string|start_index|plain_flag}} OR {{#invoke:String|find|source=source_str|target=target_str|start=start_index|plain=plain_flag}} Parameters source: The string to search target: The string or pattern to find within source start: The index within the source string to start the search, defaults to 1 plain: Boolean flag indicating that target should be understood as plain text and not as a Lua style regular expression, defaults to true If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the parameter. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. This function returns the first index >= "start" where "target" can be found within "source". Indices are 1-based. If "target" is not found, then this function returns 0. If either "source" or "target" are missing / empty, this function also returns 0. This function should be safe for UTF-8 strings. ]] function str.find( frame ) local new_args = str._getParameters( frame.args, {'source', 'target', 'start', 'plain' } ); local source_str = new_args['source'] or ''; local pattern = new_args['target'] or ''; local start_pos = tonumber(new_args['start']) or 1; local plain = new_args['plain'] or true; if source_str == '' or pattern == '' then return 0; end plain = str._getBoolean( plain ); local start = mw.ustring.find( source_str, pattern, start_pos, plain ) if start == nil then start = 0 end return start end --[[ replace This function allows one to replace a target string or pattern within another string. Usage: {{#invoke:String|replace|source_str|pattern_string|replace_string|replacement_count|plain_flag}} OR {{#invoke:String|replace|source=source_string|pattern=pattern_string|replace=replace_string| count=replacement_count|plain=plain_flag}} Parameters source: The string to search pattern: The string or pattern to find within source replace: The replacement text count: The number of occurences to replace, defaults to all. plain: Boolean flag indicating that pattern should be understood as plain text and not as a Lua style regular expression, defaults to true ]] function str.replace( frame ) local new_args = str._getParameters( frame.args, {'source', 'pattern', 'replace', 'count', 'plain' } ); local source_str = new_args['source'] or ''; local pattern = new_args['pattern'] or ''; local replace = new_args['replace'] or ''; local count = tonumber( new_args['count'] ); local plain = new_args['plain'] or true; if source_str == '' or pattern == '' then return source_str; end plain = str._getBoolean( plain ); if plain then pattern = str._escapePattern( pattern ); replace = mw.ustring.gsub( replace, "%%", "%%%%" ); --Only need to escape replacement sequences. end local result; if count ~= nil then result = mw.ustring.gsub( source_str, pattern, replace, count ); else result = mw.ustring.gsub( source_str, pattern, replace ); end return result; end --[[ simple function to pipe string.rep to templates. ]] function str.rep( frame ) local repetitions = tonumber( frame.args[2] ) if not repetitions then return str._error( 'function rep expects a number as second parameter, received "' .. ( frame.args[2] or '' ) .. '"' ) end return string.rep( frame.args[1] or '', repetitions ) end --[[ Helper function that populates the argument list given that user may need to use a mix of named and unnamed parameters. This is relevant because named parameters are not identical to unnamed parameters due to string trimming, and when dealing with strings we sometimes want to either preserve or remove that whitespace depending on the application. ]] function str._getParameters( frame_args, arg_list ) local new_args = {}; local index = 1; local value; for i,arg in ipairs( arg_list ) do value = frame_args[arg] if value == nil then value = frame_args[index]; index = index + 1; end new_args[arg] = value; end return new_args; end --[[ Helper function to handle error messages. ]] function str._error( error_str ) local frame = mw.getCurrentFrame(); local error_category = frame.args.error_category or 'Errors reported by Module String'; local ignore_errors = frame.args.ignore_errors or false; local no_category = frame.args.no_category or false; if str._getBoolean(ignore_errors) then return ''; end local error_str = '<strong class="error">String Module Error: ' .. error_str .. '</strong>'; if error_category ~= '' and not str._getBoolean( no_category ) then error_str = '[[Category:' .. error_category .. ']]' .. error_str; end return error_str; end --[[ Helper Function to interpret boolean strings ]] function str._getBoolean( boolean_str ) local boolean_value; if type( boolean_str ) == 'string' then boolean_str = boolean_str:lower(); if boolean_str == 'false' or boolean_str == 'no' or boolean_str == '0' or boolean_str == '' then boolean_value = false; else boolean_value = true; end elseif type( boolean_str ) == 'boolean' then boolean_value = boolean_str; else error( 'No boolean value found' ); end return boolean_value end --[[ Helper function that escapes all pattern characters so that they will be treated as plain text. ]] function str._escapePattern( pattern_str ) return mw.ustring.gsub( pattern_str, "([%(%)%.%%%+%-%*%?%[%^%$%]])", "%%%1" ); end return str e9zvxa6novk6t70sairzsparsn73ff6 9591 9590 2015-01-22T00:17:02Z meta>Technical 13 0 Updated per version on enwp 9591 Scribunto text/plain --[[ This module is intended to provide access to basic string functions. Most of the functions provided here can be invoked with named parameters, unnamed parameters, or a mixture. If named parameters are used, Mediawiki will automatically remove any leading or trailing whitespace from the parameter. Depending on the intended use, it may be advantageous to either preserve or remove such whitespace. Global options ignore_errors: If set to 'true' or 1, any error condition will result in an empty string being returned rather than an error message. error_category: If an error occurs, specifies the name of a category to include with the error message. The default category is [Category:Errors reported by Module String]. no_category: If set to 'true' or 1, no category will be added if an error is generated. Unit tests for this module are available at Module:String/tests. ]] local str = {} --[[ len This function returns the length of the target string. Usage: {{#invoke:String|len|target_string|}} OR {{#invoke:String|len|s=target_string}} Parameters s: The string whose length to report If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the target string. ]] function str.len( frame ) local new_args = str._getParameters( frame.args, {'s'} ); local s = new_args['s'] or ''; return mw.ustring.len( s ) end --[[ sub This function returns a substring of the target string at specified indices. Usage: {{#invoke:String|sub|target_string|start_index|end_index}} OR {{#invoke:String|sub|s=target_string|i=start_index|j=end_index}} Parameters s: The string to return a subset of i: The fist index of the substring to return, defaults to 1. j: The last index of the string to return, defaults to the last character. The first character of the string is assigned an index of 1. If either i or j is a negative value, it is interpreted the same as selecting a character by counting from the end of the string. Hence, a value of -1 is the same as selecting the last character of the string. If the requested indices are out of range for the given string, an error is reported. ]] function str.sub( frame ) local new_args = str._getParameters( frame.args, { 's', 'i', 'j' } ); local s = new_args['s'] or ''; local i = tonumber( new_args['i'] ) or 1; local j = tonumber( new_args['j'] ) or -1; local len = mw.ustring.len( s ); -- Convert negatives for range checking if i < 0 then i = len + i + 1; end if j < 0 then j = len + j + 1; end if i > len or j > len or i < 1 or j < 1 then return str._error( 'String subset index out of range' ); end if j < i then return str._error( 'String subset indices out of order' ); end return mw.ustring.sub( s, i, j ) end --[[ This function implements that features of {{subr|s|skip|max}} and is kept in order to maintain these older templates. Uses only numbered paramameters to preserve spaces (caller may trim whitespaces by passing the parameter explicitly by numbering the parameters). Accepts negative values as relative to strng length. No error is returned if attempting to read past end of string or before start of string. Currently does not parse and replace placeholders for nowiki tags. ]] function str.sublength( frame ) local s = frame.args[1] or ''; local skip = tonumber( frame.args[2] ) or 0; local max = tonumber( frame.args[3] ) or 0; local len = mw.ustring.len( s ); -- convert negative values of max and skip as relative to string length if max < 0 then max = len + max end if skip < 0 then skip = len + skip end -- check boundaries to reduce the requested max if skip < 0 then -- if before start of string max = max + skip skip = 0 -- skip can't underflow now end if max > len - skip then -- if past end of string max = len - skip -- max can't overflow now end if max <= 0 then return '' -- nothing left to return end return mw.ustring.sub( s, skip + 1, skip + max ) end --[[ match This function returns a substring from the source string that matches a specified pattern. Usage: {{#invoke:String|match|source_string|pattern_string|start_index|match_number|plain_flag|nomatch_output}} OR {{#invoke:String|pos|s=source_string|pattern=pattern_string|start=start_index |match=match_number|plain=plain_flag|nomatch=nomatch_output}} Parameters s: The string to search pattern: The pattern or string to find within the string start: The index within the source string to start the search. The first character of the string has index 1. Defaults to 1. match: In some cases it may be possible to make multiple matches on a single string. This specifies which match to return, where the first match is match= 1. If a negative number is specified then a match is returned counting from the last match. Hence match = -1 is the same as requesting the last match. Defaults to 1. plain: A flag indicating that the pattern should be understood as plain text. Defaults to false. nomatch: If no match is found, output the "nomatch" value rather than an error. If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from each string. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. If the match_number or start_index are out of range for the string being queried, then this function generates an error. An error is also generated if no match is found. If one adds the parameter ignore_errors=true, then the error will be suppressed and an empty string will be returned on any failure. For information on constructing Lua patterns, a form of [regular expression], see: * http://www.lua.org/manual/5.1/manual.html#5.4.1 * http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Patterns * http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Ustring_patterns ]] function str.match( frame ) local new_args = str._getParameters( frame.args, {'s', 'pattern', 'start', 'match', 'plain', 'nomatch'} ); local s = new_args['s'] or ''; local start = tonumber( new_args['start'] ) or 1; local plain_flag = str._getBoolean( new_args['plain'] or false ); local pattern = new_args['pattern'] or ''; local match_index = math.floor( tonumber(new_args['match']) or 1 ); local nomatch = new_args['nomatch']; if s == '' then return str._error( 'Target string is empty' ); end if pattern == '' then return str._error( 'Pattern string is empty' ); end if math.abs(start) < 1 or math.abs(start) > mw.ustring.len( s ) then return str._error( 'Requested start is out of range' ); end if match_index == 0 then return str._error( 'Match index is out of range' ); end if plain_flag then pattern = str._escapePattern( pattern ); end local result if match_index == 1 then -- Find first match is simple case result = mw.ustring.match( s, pattern, start ) else if start > 1 then s = mw.ustring.sub( s, start ); end local iterator = mw.ustring.gmatch(s, pattern); if match_index > 0 then -- Forward search for w in iterator do match_index = match_index - 1; if match_index == 0 then result = w; break; end end else -- Reverse search local result_table = {}; local count = 1; for w in iterator do result_table[count] = w; count = count + 1; end result = result_table[ count + match_index ]; end end if result == nil then if nomatch == nil then return str._error( 'Match not found' ); else return nomatch; end else return result; end end --[[ pos This function returns a single character from the target string at position pos. Usage: {{#invoke:String|pos|target_string|index_value}} OR {{#invoke:String|pos|target=target_string|pos=index_value}} Parameters target: The string to search pos: The index for the character to return If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the target string. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. The first character has an index value of 1. If one requests a negative value, this function will select a character by counting backwards from the end of the string. In other words pos = -1 is the same as asking for the last character. A requested value of zero, or a value greater than the length of the string returns an error. ]] function str.pos( frame ) local new_args = str._getParameters( frame.args, {'target', 'pos'} ); local target_str = new_args['target'] or ''; local pos = tonumber( new_args['pos'] ) or 0; if pos == 0 or math.abs(pos) > mw.ustring.len( target_str ) then return str._error( 'String index out of range' ); end return mw.ustring.sub( target_str, pos, pos ); end --[[ str_find This function duplicates the behavior of {{str_find}}, including all of its quirks. This is provided in order to support existing templates, but is NOT RECOMMENDED for new code and templates. New code is recommended to use the "find" function instead. Returns the first index in "source" that is a match to "target". Indexing is 1-based, and the function returns -1 if the "target" string is not present in "source". Important Note: If the "target" string is empty / missing, this function returns a value of "1", which is generally unexpected behavior, and must be accounted for separatetly. ]] function str.str_find( frame ) local new_args = str._getParameters( frame.args, {'source', 'target'} ); local source_str = new_args['source'] or ''; local target_str = new_args['target'] or ''; if target_str == '' then return 1; end local start = mw.ustring.find( source_str, target_str, 1, true ) if start == nil then start = -1 end return start end --[[ find This function allows one to search for a target string or pattern within another string. Usage: {{#invoke:String|find|source_str|target_string|start_index|plain_flag}} OR {{#invoke:String|find|source=source_str|target=target_str|start=start_index|plain=plain_flag}} Parameters source: The string to search target: The string or pattern to find within source start: The index within the source string to start the search, defaults to 1 plain: Boolean flag indicating that target should be understood as plain text and not as a Lua style regular expression, defaults to true If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the parameter. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. This function returns the first index >= "start" where "target" can be found within "source". Indices are 1-based. If "target" is not found, then this function returns 0. If either "source" or "target" are missing / empty, this function also returns 0. This function should be safe for UTF-8 strings. ]] function str.find( frame ) local new_args = str._getParameters( frame.args, {'source', 'target', 'start', 'plain' } ); local source_str = new_args['source'] or ''; local pattern = new_args['target'] or ''; local start_pos = tonumber(new_args['start']) or 1; local plain = new_args['plain'] or true; if source_str == '' or pattern == '' then return 0; end plain = str._getBoolean( plain ); local start = mw.ustring.find( source_str, pattern, start_pos, plain ) if start == nil then start = 0 end return start end --[[ replace This function allows one to replace a target string or pattern within another string. Usage: {{#invoke:String|replace|source_str|pattern_string|replace_string|replacement_count|plain_flag}} OR {{#invoke:String|replace|source=source_string|pattern=pattern_string|replace=replace_string| count=replacement_count|plain=plain_flag}} Parameters source: The string to search pattern: The string or pattern to find within source replace: The replacement text count: The number of occurences to replace, defaults to all. plain: Boolean flag indicating that pattern should be understood as plain text and not as a Lua style regular expression, defaults to true ]] function str.replace( frame ) local new_args = str._getParameters( frame.args, {'source', 'pattern', 'replace', 'count', 'plain' } ); local source_str = new_args['source'] or ''; local pattern = new_args['pattern'] or ''; local replace = new_args['replace'] or ''; local count = tonumber( new_args['count'] ); local plain = new_args['plain'] or true; if source_str == '' or pattern == '' then return source_str; end plain = str._getBoolean( plain ); if plain then pattern = str._escapePattern( pattern ); replace = mw.ustring.gsub( replace, "%%", "%%%%" ); --Only need to escape replacement sequences. end local result; if count ~= nil then result = mw.ustring.gsub( source_str, pattern, replace, count ); else result = mw.ustring.gsub( source_str, pattern, replace ); end return result; end --[[ simple function to pipe string.rep to templates. ]] function str.rep( frame ) local repetitions = tonumber( frame.args[2] ) if not repetitions then return str._error( 'function rep expects a number as second parameter, received "' .. ( frame.args[2] or '' ) .. '"' ) end return string.rep( frame.args[1] or '', repetitions ) end --[[ Helper function that populates the argument list given that user may need to use a mix of named and unnamed parameters. This is relevant because named parameters are not identical to unnamed parameters due to string trimming, and when dealing with strings we sometimes want to either preserve or remove that whitespace depending on the application. ]] function str._getParameters( frame_args, arg_list ) local new_args = {}; local index = 1; local value; for i,arg in ipairs( arg_list ) do value = frame_args[arg] if value == nil then value = frame_args[index]; index = index + 1; end new_args[arg] = value; end return new_args; end --[[ Helper function to handle error messages. ]] function str._error( error_str ) local frame = mw.getCurrentFrame(); local error_category = frame.args.error_category or 'Errors reported by Module String'; local ignore_errors = frame.args.ignore_errors or false; local no_category = frame.args.no_category or false; if str._getBoolean(ignore_errors) then return ''; end local error_str = '<strong class="error">String Module Error: ' .. error_str .. '</strong>'; if error_category ~= '' and not str._getBoolean( no_category ) then error_str = '[[Category:' .. error_category .. ']]' .. error_str; end return error_str; end --[[ Helper Function to interpret boolean strings ]] function str._getBoolean( boolean_str ) local boolean_value; if type( boolean_str ) == 'string' then boolean_str = boolean_str:lower(); if boolean_str == 'false' or boolean_str == 'no' or boolean_str == '0' or boolean_str == '' then boolean_value = false; else boolean_value = true; end elseif type( boolean_str ) == 'boolean' then boolean_value = boolean_str; else error( 'No boolean value found' ); end return boolean_value end --[[ Helper function that escapes all pattern characters so that they will be treated as plain text. ]] function str._escapePattern( pattern_str ) return mw.ustring.gsub( pattern_str, "([%(%)%.%%%+%-%*%?%[%^%$%]])", "%%%1" ); end return str p7kauspn14nrehhdza0f0zbrpve5c5i 9592 9591 2016-04-09T23:16:44Z meta>Pathoschild 0 updated from [[w:Module:String]] 9592 Scribunto text/plain --[[ This module is intended to provide access to basic string functions. Most of the functions provided here can be invoked with named parameters, unnamed parameters, or a mixture. If named parameters are used, Mediawiki will automatically remove any leading or trailing whitespace from the parameter. Depending on the intended use, it may be advantageous to either preserve or remove such whitespace. Global options ignore_errors: If set to 'true' or 1, any error condition will result in an empty string being returned rather than an error message. error_category: If an error occurs, specifies the name of a category to include with the error message. The default category is [Category:Errors reported by Module String]. no_category: If set to 'true' or 1, no category will be added if an error is generated. Unit tests for this module are available at Module:String/tests. ]] local str = {} --[[ len This function returns the length of the target string. Usage: {{#invoke:String|len|target_string|}} OR {{#invoke:String|len|s=target_string}} Parameters s: The string whose length to report If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the target string. ]] function str.len( frame ) local new_args = str._getParameters( frame.args, {'s'} ); local s = new_args['s'] or ''; return mw.ustring.len( s ) end --[[ sub This function returns a substring of the target string at specified indices. Usage: {{#invoke:String|sub|target_string|start_index|end_index}} OR {{#invoke:String|sub|s=target_string|i=start_index|j=end_index}} Parameters s: The string to return a subset of i: The fist index of the substring to return, defaults to 1. j: The last index of the string to return, defaults to the last character. The first character of the string is assigned an index of 1. If either i or j is a negative value, it is interpreted the same as selecting a character by counting from the end of the string. Hence, a value of -1 is the same as selecting the last character of the string. If the requested indices are out of range for the given string, an error is reported. ]] function str.sub( frame ) local new_args = str._getParameters( frame.args, { 's', 'i', 'j' } ); local s = new_args['s'] or ''; local i = tonumber( new_args['i'] ) or 1; local j = tonumber( new_args['j'] ) or -1; local len = mw.ustring.len( s ); -- Convert negatives for range checking if i < 0 then i = len + i + 1; end if j < 0 then j = len + j + 1; end if i > len or j > len or i < 1 or j < 1 then return str._error( 'String subset index out of range' ); end if j < i then return str._error( 'String subset indices out of order' ); end return mw.ustring.sub( s, i, j ) end --[[ This function implements that features of {{str sub old}} and is kept in order to maintain these older templates. ]] function str.sublength( frame ) local i = tonumber( frame.args.i ) or 0 local len = tonumber( frame.args.len ) return mw.ustring.sub( frame.args.s, i + 1, len and ( i + len ) ) end --[[ match This function returns a substring from the source string that matches a specified pattern. Usage: {{#invoke:String|match|source_string|pattern_string|start_index|match_number|plain_flag|nomatch_output}} OR {{#invoke:String|pos|s=source_string|pattern=pattern_string|start=start_index |match=match_number|plain=plain_flag|nomatch=nomatch_output}} Parameters s: The string to search pattern: The pattern or string to find within the string start: The index within the source string to start the search. The first character of the string has index 1. Defaults to 1. match: In some cases it may be possible to make multiple matches on a single string. This specifies which match to return, where the first match is match= 1. If a negative number is specified then a match is returned counting from the last match. Hence match = -1 is the same as requesting the last match. Defaults to 1. plain: A flag indicating that the pattern should be understood as plain text. Defaults to false. nomatch: If no match is found, output the "nomatch" value rather than an error. If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from each string. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. If the match_number or start_index are out of range for the string being queried, then this function generates an error. An error is also generated if no match is found. If one adds the parameter ignore_errors=true, then the error will be suppressed and an empty string will be returned on any failure. For information on constructing Lua patterns, a form of [regular expression], see: * http://www.lua.org/manual/5.1/manual.html#5.4.1 * http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Patterns * http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Ustring_patterns ]] function str.match( frame ) local new_args = str._getParameters( frame.args, {'s', 'pattern', 'start', 'match', 'plain', 'nomatch'} ); local s = new_args['s'] or ''; local start = tonumber( new_args['start'] ) or 1; local plain_flag = str._getBoolean( new_args['plain'] or false ); local pattern = new_args['pattern'] or ''; local match_index = math.floor( tonumber(new_args['match']) or 1 ); local nomatch = new_args['nomatch']; if s == '' then return str._error( 'Target string is empty' ); end if pattern == '' then return str._error( 'Pattern string is empty' ); end if math.abs(start) < 1 or math.abs(start) > mw.ustring.len( s ) then return str._error( 'Requested start is out of range' ); end if match_index == 0 then return str._error( 'Match index is out of range' ); end if plain_flag then pattern = str._escapePattern( pattern ); end local result if match_index == 1 then -- Find first match is simple case result = mw.ustring.match( s, pattern, start ) else if start > 1 then s = mw.ustring.sub( s, start ); end local iterator = mw.ustring.gmatch(s, pattern); if match_index > 0 then -- Forward search for w in iterator do match_index = match_index - 1; if match_index == 0 then result = w; break; end end else -- Reverse search local result_table = {}; local count = 1; for w in iterator do result_table[count] = w; count = count + 1; end result = result_table[ count + match_index ]; end end if result == nil then if nomatch == nil then return str._error( 'Match not found' ); else return nomatch; end else return result; end end --[[ pos This function returns a single character from the target string at position pos. Usage: {{#invoke:String|pos|target_string|index_value}} OR {{#invoke:String|pos|target=target_string|pos=index_value}} Parameters target: The string to search pos: The index for the character to return If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the target string. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. The first character has an index value of 1. If one requests a negative value, this function will select a character by counting backwards from the end of the string. In other words pos = -1 is the same as asking for the last character. A requested value of zero, or a value greater than the length of the string returns an error. ]] function str.pos( frame ) local new_args = str._getParameters( frame.args, {'target', 'pos'} ); local target_str = new_args['target'] or ''; local pos = tonumber( new_args['pos'] ) or 0; if pos == 0 or math.abs(pos) > mw.ustring.len( target_str ) then return str._error( 'String index out of range' ); end return mw.ustring.sub( target_str, pos, pos ); end --[[ str_find This function duplicates the behavior of {{str_find}}, including all of its quirks. This is provided in order to support existing templates, but is NOT RECOMMENDED for new code and templates. New code is recommended to use the "find" function instead. Returns the first index in "source" that is a match to "target". Indexing is 1-based, and the function returns -1 if the "target" string is not present in "source". Important Note: If the "target" string is empty / missing, this function returns a value of "1", which is generally unexpected behavior, and must be accounted for separatetly. ]] function str.str_find( frame ) local new_args = str._getParameters( frame.args, {'source', 'target'} ); local source_str = new_args['source'] or ''; local target_str = new_args['target'] or ''; if target_str == '' then return 1; end local start = mw.ustring.find( source_str, target_str, 1, true ) if start == nil then start = -1 end return start end --[[ find This function allows one to search for a target string or pattern within another string. Usage: {{#invoke:String|find|source_str|target_string|start_index|plain_flag}} OR {{#invoke:String|find|source=source_str|target=target_str|start=start_index|plain=plain_flag}} Parameters source: The string to search target: The string or pattern to find within source start: The index within the source string to start the search, defaults to 1 plain: Boolean flag indicating that target should be understood as plain text and not as a Lua style regular expression, defaults to true If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the parameter. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. This function returns the first index >= "start" where "target" can be found within "source". Indices are 1-based. If "target" is not found, then this function returns 0. If either "source" or "target" are missing / empty, this function also returns 0. This function should be safe for UTF-8 strings. ]] function str.find( frame ) local new_args = str._getParameters( frame.args, {'source', 'target', 'start', 'plain' } ); local source_str = new_args['source'] or ''; local pattern = new_args['target'] or ''; local start_pos = tonumber(new_args['start']) or 1; local plain = new_args['plain'] or true; if source_str == '' or pattern == '' then return 0; end plain = str._getBoolean( plain ); local start = mw.ustring.find( source_str, pattern, start_pos, plain ) if start == nil then start = 0 end return start end --[[ replace This function allows one to replace a target string or pattern within another string. Usage: {{#invoke:String|replace|source_str|pattern_string|replace_string|replacement_count|plain_flag}} OR {{#invoke:String|replace|source=source_string|pattern=pattern_string|replace=replace_string| count=replacement_count|plain=plain_flag}} Parameters source: The string to search pattern: The string or pattern to find within source replace: The replacement text count: The number of occurences to replace, defaults to all. plain: Boolean flag indicating that pattern should be understood as plain text and not as a Lua style regular expression, defaults to true ]] function str.replace( frame ) local new_args = str._getParameters( frame.args, {'source', 'pattern', 'replace', 'count', 'plain' } ); local source_str = new_args['source'] or ''; local pattern = new_args['pattern'] or ''; local replace = new_args['replace'] or ''; local count = tonumber( new_args['count'] ); local plain = new_args['plain'] or true; if source_str == '' or pattern == '' then return source_str; end plain = str._getBoolean( plain ); if plain then pattern = str._escapePattern( pattern ); replace = mw.ustring.gsub( replace, "%%", "%%%%" ); --Only need to escape replacement sequences. end local result; if count ~= nil then result = mw.ustring.gsub( source_str, pattern, replace, count ); else result = mw.ustring.gsub( source_str, pattern, replace ); end return result; end --[[ simple function to pipe string.rep to templates. ]] function str.rep( frame ) local repetitions = tonumber( frame.args[2] ) if not repetitions then return str._error( 'function rep expects a number as second parameter, received "' .. ( frame.args[2] or '' ) .. '"' ) end return string.rep( frame.args[1] or '', repetitions ) end --[[ Helper function that populates the argument list given that user may need to use a mix of named and unnamed parameters. This is relevant because named parameters are not identical to unnamed parameters due to string trimming, and when dealing with strings we sometimes want to either preserve or remove that whitespace depending on the application. ]] function str._getParameters( frame_args, arg_list ) local new_args = {}; local index = 1; local value; for i,arg in ipairs( arg_list ) do value = frame_args[arg] if value == nil then value = frame_args[index]; index = index + 1; end new_args[arg] = value; end return new_args; end --[[ Helper function to handle error messages. ]] function str._error( error_str ) local frame = mw.getCurrentFrame(); local error_category = frame.args.error_category or 'Errors reported by Module String'; local ignore_errors = frame.args.ignore_errors or false; local no_category = frame.args.no_category or false; if str._getBoolean(ignore_errors) then return ''; end local error_str = '<strong class="error">String Module Error: ' .. error_str .. '</strong>'; if error_category ~= '' and not str._getBoolean( no_category ) then error_str = '[[Category:' .. error_category .. ']]' .. error_str; end return error_str; end --[[ Helper Function to interpret boolean strings ]] function str._getBoolean( boolean_str ) local boolean_value; if type( boolean_str ) == 'string' then boolean_str = boolean_str:lower(); if boolean_str == 'false' or boolean_str == 'no' or boolean_str == '0' or boolean_str == '' then boolean_value = false; else boolean_value = true; end elseif type( boolean_str ) == 'boolean' then boolean_value = boolean_str; else error( 'No boolean value found' ); end return boolean_value end --[[ Helper function that escapes all pattern characters so that they will be treated as plain text. ]] function str._escapePattern( pattern_str ) return mw.ustring.gsub( pattern_str, "([%(%)%.%%%+%-%*%?%[%^%$%]])", "%%%1" ); end return str l0shz7fzxb1bq626nihqwbptk7dfqd5 9593 9592 2016-04-10T13:42:58Z meta>Redrose64 0 Undo revision 15513606 by [[Special:Contributions/Pathoschild|Pathoschild]] ([[User talk:Pathoschild|talk]]) rv, causes too much breakage such as in [[Template:Sub]] 9593 Scribunto text/plain --[[ This module is intended to provide access to basic string functions. Most of the functions provided here can be invoked with named parameters, unnamed parameters, or a mixture. If named parameters are used, Mediawiki will automatically remove any leading or trailing whitespace from the parameter. Depending on the intended use, it may be advantageous to either preserve or remove such whitespace. Global options ignore_errors: If set to 'true' or 1, any error condition will result in an empty string being returned rather than an error message. error_category: If an error occurs, specifies the name of a category to include with the error message. The default category is [Category:Errors reported by Module String]. no_category: If set to 'true' or 1, no category will be added if an error is generated. Unit tests for this module are available at Module:String/tests. ]] local str = {} --[[ len This function returns the length of the target string. Usage: {{#invoke:String|len|target_string|}} OR {{#invoke:String|len|s=target_string}} Parameters s: The string whose length to report If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the target string. ]] function str.len( frame ) local new_args = str._getParameters( frame.args, {'s'} ); local s = new_args['s'] or ''; return mw.ustring.len( s ) end --[[ sub This function returns a substring of the target string at specified indices. Usage: {{#invoke:String|sub|target_string|start_index|end_index}} OR {{#invoke:String|sub|s=target_string|i=start_index|j=end_index}} Parameters s: The string to return a subset of i: The fist index of the substring to return, defaults to 1. j: The last index of the string to return, defaults to the last character. The first character of the string is assigned an index of 1. If either i or j is a negative value, it is interpreted the same as selecting a character by counting from the end of the string. Hence, a value of -1 is the same as selecting the last character of the string. If the requested indices are out of range for the given string, an error is reported. ]] function str.sub( frame ) local new_args = str._getParameters( frame.args, { 's', 'i', 'j' } ); local s = new_args['s'] or ''; local i = tonumber( new_args['i'] ) or 1; local j = tonumber( new_args['j'] ) or -1; local len = mw.ustring.len( s ); -- Convert negatives for range checking if i < 0 then i = len + i + 1; end if j < 0 then j = len + j + 1; end if i > len or j > len or i < 1 or j < 1 then return str._error( 'String subset index out of range' ); end if j < i then return str._error( 'String subset indices out of order' ); end return mw.ustring.sub( s, i, j ) end --[[ This function implements that features of {{subr|s|skip|max}} and is kept in order to maintain these older templates. Uses only numbered paramameters to preserve spaces (caller may trim whitespaces by passing the parameter explicitly by numbering the parameters). Accepts negative values as relative to strng length. No error is returned if attempting to read past end of string or before start of string. Currently does not parse and replace placeholders for nowiki tags. ]] function str.sublength( frame ) local s = frame.args[1] or ''; local skip = tonumber( frame.args[2] ) or 0; local max = tonumber( frame.args[3] ) or 0; local len = mw.ustring.len( s ); -- convert negative values of max and skip as relative to string length if max < 0 then max = len + max end if skip < 0 then skip = len + skip end -- check boundaries to reduce the requested max if skip < 0 then -- if before start of string max = max + skip skip = 0 -- skip can't underflow now end if max > len - skip then -- if past end of string max = len - skip -- max can't overflow now end if max <= 0 then return '' -- nothing left to return end return mw.ustring.sub( s, skip + 1, skip + max ) end --[[ match This function returns a substring from the source string that matches a specified pattern. Usage: {{#invoke:String|match|source_string|pattern_string|start_index|match_number|plain_flag|nomatch_output}} OR {{#invoke:String|pos|s=source_string|pattern=pattern_string|start=start_index |match=match_number|plain=plain_flag|nomatch=nomatch_output}} Parameters s: The string to search pattern: The pattern or string to find within the string start: The index within the source string to start the search. The first character of the string has index 1. Defaults to 1. match: In some cases it may be possible to make multiple matches on a single string. This specifies which match to return, where the first match is match= 1. If a negative number is specified then a match is returned counting from the last match. Hence match = -1 is the same as requesting the last match. Defaults to 1. plain: A flag indicating that the pattern should be understood as plain text. Defaults to false. nomatch: If no match is found, output the "nomatch" value rather than an error. If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from each string. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. If the match_number or start_index are out of range for the string being queried, then this function generates an error. An error is also generated if no match is found. If one adds the parameter ignore_errors=true, then the error will be suppressed and an empty string will be returned on any failure. For information on constructing Lua patterns, a form of [regular expression], see: * http://www.lua.org/manual/5.1/manual.html#5.4.1 * http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Patterns * http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Ustring_patterns ]] function str.match( frame ) local new_args = str._getParameters( frame.args, {'s', 'pattern', 'start', 'match', 'plain', 'nomatch'} ); local s = new_args['s'] or ''; local start = tonumber( new_args['start'] ) or 1; local plain_flag = str._getBoolean( new_args['plain'] or false ); local pattern = new_args['pattern'] or ''; local match_index = math.floor( tonumber(new_args['match']) or 1 ); local nomatch = new_args['nomatch']; if s == '' then return str._error( 'Target string is empty' ); end if pattern == '' then return str._error( 'Pattern string is empty' ); end if math.abs(start) < 1 or math.abs(start) > mw.ustring.len( s ) then return str._error( 'Requested start is out of range' ); end if match_index == 0 then return str._error( 'Match index is out of range' ); end if plain_flag then pattern = str._escapePattern( pattern ); end local result if match_index == 1 then -- Find first match is simple case result = mw.ustring.match( s, pattern, start ) else if start > 1 then s = mw.ustring.sub( s, start ); end local iterator = mw.ustring.gmatch(s, pattern); if match_index > 0 then -- Forward search for w in iterator do match_index = match_index - 1; if match_index == 0 then result = w; break; end end else -- Reverse search local result_table = {}; local count = 1; for w in iterator do result_table[count] = w; count = count + 1; end result = result_table[ count + match_index ]; end end if result == nil then if nomatch == nil then return str._error( 'Match not found' ); else return nomatch; end else return result; end end --[[ pos This function returns a single character from the target string at position pos. Usage: {{#invoke:String|pos|target_string|index_value}} OR {{#invoke:String|pos|target=target_string|pos=index_value}} Parameters target: The string to search pos: The index for the character to return If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the target string. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. The first character has an index value of 1. If one requests a negative value, this function will select a character by counting backwards from the end of the string. In other words pos = -1 is the same as asking for the last character. A requested value of zero, or a value greater than the length of the string returns an error. ]] function str.pos( frame ) local new_args = str._getParameters( frame.args, {'target', 'pos'} ); local target_str = new_args['target'] or ''; local pos = tonumber( new_args['pos'] ) or 0; if pos == 0 or math.abs(pos) > mw.ustring.len( target_str ) then return str._error( 'String index out of range' ); end return mw.ustring.sub( target_str, pos, pos ); end --[[ str_find This function duplicates the behavior of {{str_find}}, including all of its quirks. This is provided in order to support existing templates, but is NOT RECOMMENDED for new code and templates. New code is recommended to use the "find" function instead. Returns the first index in "source" that is a match to "target". Indexing is 1-based, and the function returns -1 if the "target" string is not present in "source". Important Note: If the "target" string is empty / missing, this function returns a value of "1", which is generally unexpected behavior, and must be accounted for separatetly. ]] function str.str_find( frame ) local new_args = str._getParameters( frame.args, {'source', 'target'} ); local source_str = new_args['source'] or ''; local target_str = new_args['target'] or ''; if target_str == '' then return 1; end local start = mw.ustring.find( source_str, target_str, 1, true ) if start == nil then start = -1 end return start end --[[ find This function allows one to search for a target string or pattern within another string. Usage: {{#invoke:String|find|source_str|target_string|start_index|plain_flag}} OR {{#invoke:String|find|source=source_str|target=target_str|start=start_index|plain=plain_flag}} Parameters source: The string to search target: The string or pattern to find within source start: The index within the source string to start the search, defaults to 1 plain: Boolean flag indicating that target should be understood as plain text and not as a Lua style regular expression, defaults to true If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the parameter. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. This function returns the first index >= "start" where "target" can be found within "source". Indices are 1-based. If "target" is not found, then this function returns 0. If either "source" or "target" are missing / empty, this function also returns 0. This function should be safe for UTF-8 strings. ]] function str.find( frame ) local new_args = str._getParameters( frame.args, {'source', 'target', 'start', 'plain' } ); local source_str = new_args['source'] or ''; local pattern = new_args['target'] or ''; local start_pos = tonumber(new_args['start']) or 1; local plain = new_args['plain'] or true; if source_str == '' or pattern == '' then return 0; end plain = str._getBoolean( plain ); local start = mw.ustring.find( source_str, pattern, start_pos, plain ) if start == nil then start = 0 end return start end --[[ replace This function allows one to replace a target string or pattern within another string. Usage: {{#invoke:String|replace|source_str|pattern_string|replace_string|replacement_count|plain_flag}} OR {{#invoke:String|replace|source=source_string|pattern=pattern_string|replace=replace_string| count=replacement_count|plain=plain_flag}} Parameters source: The string to search pattern: The string or pattern to find within source replace: The replacement text count: The number of occurences to replace, defaults to all. plain: Boolean flag indicating that pattern should be understood as plain text and not as a Lua style regular expression, defaults to true ]] function str.replace( frame ) local new_args = str._getParameters( frame.args, {'source', 'pattern', 'replace', 'count', 'plain' } ); local source_str = new_args['source'] or ''; local pattern = new_args['pattern'] or ''; local replace = new_args['replace'] or ''; local count = tonumber( new_args['count'] ); local plain = new_args['plain'] or true; if source_str == '' or pattern == '' then return source_str; end plain = str._getBoolean( plain ); if plain then pattern = str._escapePattern( pattern ); replace = mw.ustring.gsub( replace, "%%", "%%%%" ); --Only need to escape replacement sequences. end local result; if count ~= nil then result = mw.ustring.gsub( source_str, pattern, replace, count ); else result = mw.ustring.gsub( source_str, pattern, replace ); end return result; end --[[ simple function to pipe string.rep to templates. ]] function str.rep( frame ) local repetitions = tonumber( frame.args[2] ) if not repetitions then return str._error( 'function rep expects a number as second parameter, received "' .. ( frame.args[2] or '' ) .. '"' ) end return string.rep( frame.args[1] or '', repetitions ) end --[[ Helper function that populates the argument list given that user may need to use a mix of named and unnamed parameters. This is relevant because named parameters are not identical to unnamed parameters due to string trimming, and when dealing with strings we sometimes want to either preserve or remove that whitespace depending on the application. ]] function str._getParameters( frame_args, arg_list ) local new_args = {}; local index = 1; local value; for i,arg in ipairs( arg_list ) do value = frame_args[arg] if value == nil then value = frame_args[index]; index = index + 1; end new_args[arg] = value; end return new_args; end --[[ Helper function to handle error messages. ]] function str._error( error_str ) local frame = mw.getCurrentFrame(); local error_category = frame.args.error_category or 'Errors reported by Module String'; local ignore_errors = frame.args.ignore_errors or false; local no_category = frame.args.no_category or false; if str._getBoolean(ignore_errors) then return ''; end local error_str = '<strong class="error">String Module Error: ' .. error_str .. '</strong>'; if error_category ~= '' and not str._getBoolean( no_category ) then error_str = '[[Category:' .. error_category .. ']]' .. error_str; end return error_str; end --[[ Helper Function to interpret boolean strings ]] function str._getBoolean( boolean_str ) local boolean_value; if type( boolean_str ) == 'string' then boolean_str = boolean_str:lower(); if boolean_str == 'false' or boolean_str == 'no' or boolean_str == '0' or boolean_str == '' then boolean_value = false; else boolean_value = true; end elseif type( boolean_str ) == 'boolean' then boolean_value = boolean_str; else error( 'No boolean value found' ); end return boolean_value end --[[ Helper function that escapes all pattern characters so that they will be treated as plain text. ]] function str._escapePattern( pattern_str ) return mw.ustring.gsub( pattern_str, "([%(%)%.%%%+%-%*%?%[%^%$%]])", "%%%1" ); end return str p7kauspn14nrehhdza0f0zbrpve5c5i 9594 9593 2019-09-23T03:22:45Z meta>Billinghurst 0 Protected "[[Module:String]]": Highly transcluded template ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) 9593 Scribunto text/plain --[[ This module is intended to provide access to basic string functions. Most of the functions provided here can be invoked with named parameters, unnamed parameters, or a mixture. If named parameters are used, Mediawiki will automatically remove any leading or trailing whitespace from the parameter. Depending on the intended use, it may be advantageous to either preserve or remove such whitespace. Global options ignore_errors: If set to 'true' or 1, any error condition will result in an empty string being returned rather than an error message. error_category: If an error occurs, specifies the name of a category to include with the error message. The default category is [Category:Errors reported by Module String]. no_category: If set to 'true' or 1, no category will be added if an error is generated. Unit tests for this module are available at Module:String/tests. ]] local str = {} --[[ len This function returns the length of the target string. Usage: {{#invoke:String|len|target_string|}} OR {{#invoke:String|len|s=target_string}} Parameters s: The string whose length to report If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the target string. ]] function str.len( frame ) local new_args = str._getParameters( frame.args, {'s'} ); local s = new_args['s'] or ''; return mw.ustring.len( s ) end --[[ sub This function returns a substring of the target string at specified indices. Usage: {{#invoke:String|sub|target_string|start_index|end_index}} OR {{#invoke:String|sub|s=target_string|i=start_index|j=end_index}} Parameters s: The string to return a subset of i: The fist index of the substring to return, defaults to 1. j: The last index of the string to return, defaults to the last character. The first character of the string is assigned an index of 1. If either i or j is a negative value, it is interpreted the same as selecting a character by counting from the end of the string. Hence, a value of -1 is the same as selecting the last character of the string. If the requested indices are out of range for the given string, an error is reported. ]] function str.sub( frame ) local new_args = str._getParameters( frame.args, { 's', 'i', 'j' } ); local s = new_args['s'] or ''; local i = tonumber( new_args['i'] ) or 1; local j = tonumber( new_args['j'] ) or -1; local len = mw.ustring.len( s ); -- Convert negatives for range checking if i < 0 then i = len + i + 1; end if j < 0 then j = len + j + 1; end if i > len or j > len or i < 1 or j < 1 then return str._error( 'String subset index out of range' ); end if j < i then return str._error( 'String subset indices out of order' ); end return mw.ustring.sub( s, i, j ) end --[[ This function implements that features of {{subr|s|skip|max}} and is kept in order to maintain these older templates. Uses only numbered paramameters to preserve spaces (caller may trim whitespaces by passing the parameter explicitly by numbering the parameters). Accepts negative values as relative to strng length. No error is returned if attempting to read past end of string or before start of string. Currently does not parse and replace placeholders for nowiki tags. ]] function str.sublength( frame ) local s = frame.args[1] or ''; local skip = tonumber( frame.args[2] ) or 0; local max = tonumber( frame.args[3] ) or 0; local len = mw.ustring.len( s ); -- convert negative values of max and skip as relative to string length if max < 0 then max = len + max end if skip < 0 then skip = len + skip end -- check boundaries to reduce the requested max if skip < 0 then -- if before start of string max = max + skip skip = 0 -- skip can't underflow now end if max > len - skip then -- if past end of string max = len - skip -- max can't overflow now end if max <= 0 then return '' -- nothing left to return end return mw.ustring.sub( s, skip + 1, skip + max ) end --[[ match This function returns a substring from the source string that matches a specified pattern. Usage: {{#invoke:String|match|source_string|pattern_string|start_index|match_number|plain_flag|nomatch_output}} OR {{#invoke:String|pos|s=source_string|pattern=pattern_string|start=start_index |match=match_number|plain=plain_flag|nomatch=nomatch_output}} Parameters s: The string to search pattern: The pattern or string to find within the string start: The index within the source string to start the search. The first character of the string has index 1. Defaults to 1. match: In some cases it may be possible to make multiple matches on a single string. This specifies which match to return, where the first match is match= 1. If a negative number is specified then a match is returned counting from the last match. Hence match = -1 is the same as requesting the last match. Defaults to 1. plain: A flag indicating that the pattern should be understood as plain text. Defaults to false. nomatch: If no match is found, output the "nomatch" value rather than an error. If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from each string. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. If the match_number or start_index are out of range for the string being queried, then this function generates an error. An error is also generated if no match is found. If one adds the parameter ignore_errors=true, then the error will be suppressed and an empty string will be returned on any failure. For information on constructing Lua patterns, a form of [regular expression], see: * http://www.lua.org/manual/5.1/manual.html#5.4.1 * http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Patterns * http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Ustring_patterns ]] function str.match( frame ) local new_args = str._getParameters( frame.args, {'s', 'pattern', 'start', 'match', 'plain', 'nomatch'} ); local s = new_args['s'] or ''; local start = tonumber( new_args['start'] ) or 1; local plain_flag = str._getBoolean( new_args['plain'] or false ); local pattern = new_args['pattern'] or ''; local match_index = math.floor( tonumber(new_args['match']) or 1 ); local nomatch = new_args['nomatch']; if s == '' then return str._error( 'Target string is empty' ); end if pattern == '' then return str._error( 'Pattern string is empty' ); end if math.abs(start) < 1 or math.abs(start) > mw.ustring.len( s ) then return str._error( 'Requested start is out of range' ); end if match_index == 0 then return str._error( 'Match index is out of range' ); end if plain_flag then pattern = str._escapePattern( pattern ); end local result if match_index == 1 then -- Find first match is simple case result = mw.ustring.match( s, pattern, start ) else if start > 1 then s = mw.ustring.sub( s, start ); end local iterator = mw.ustring.gmatch(s, pattern); if match_index > 0 then -- Forward search for w in iterator do match_index = match_index - 1; if match_index == 0 then result = w; break; end end else -- Reverse search local result_table = {}; local count = 1; for w in iterator do result_table[count] = w; count = count + 1; end result = result_table[ count + match_index ]; end end if result == nil then if nomatch == nil then return str._error( 'Match not found' ); else return nomatch; end else return result; end end --[[ pos This function returns a single character from the target string at position pos. Usage: {{#invoke:String|pos|target_string|index_value}} OR {{#invoke:String|pos|target=target_string|pos=index_value}} Parameters target: The string to search pos: The index for the character to return If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the target string. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. The first character has an index value of 1. If one requests a negative value, this function will select a character by counting backwards from the end of the string. In other words pos = -1 is the same as asking for the last character. A requested value of zero, or a value greater than the length of the string returns an error. ]] function str.pos( frame ) local new_args = str._getParameters( frame.args, {'target', 'pos'} ); local target_str = new_args['target'] or ''; local pos = tonumber( new_args['pos'] ) or 0; if pos == 0 or math.abs(pos) > mw.ustring.len( target_str ) then return str._error( 'String index out of range' ); end return mw.ustring.sub( target_str, pos, pos ); end --[[ str_find This function duplicates the behavior of {{str_find}}, including all of its quirks. This is provided in order to support existing templates, but is NOT RECOMMENDED for new code and templates. New code is recommended to use the "find" function instead. Returns the first index in "source" that is a match to "target". Indexing is 1-based, and the function returns -1 if the "target" string is not present in "source". Important Note: If the "target" string is empty / missing, this function returns a value of "1", which is generally unexpected behavior, and must be accounted for separatetly. ]] function str.str_find( frame ) local new_args = str._getParameters( frame.args, {'source', 'target'} ); local source_str = new_args['source'] or ''; local target_str = new_args['target'] or ''; if target_str == '' then return 1; end local start = mw.ustring.find( source_str, target_str, 1, true ) if start == nil then start = -1 end return start end --[[ find This function allows one to search for a target string or pattern within another string. Usage: {{#invoke:String|find|source_str|target_string|start_index|plain_flag}} OR {{#invoke:String|find|source=source_str|target=target_str|start=start_index|plain=plain_flag}} Parameters source: The string to search target: The string or pattern to find within source start: The index within the source string to start the search, defaults to 1 plain: Boolean flag indicating that target should be understood as plain text and not as a Lua style regular expression, defaults to true If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the parameter. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. This function returns the first index >= "start" where "target" can be found within "source". Indices are 1-based. If "target" is not found, then this function returns 0. If either "source" or "target" are missing / empty, this function also returns 0. This function should be safe for UTF-8 strings. ]] function str.find( frame ) local new_args = str._getParameters( frame.args, {'source', 'target', 'start', 'plain' } ); local source_str = new_args['source'] or ''; local pattern = new_args['target'] or ''; local start_pos = tonumber(new_args['start']) or 1; local plain = new_args['plain'] or true; if source_str == '' or pattern == '' then return 0; end plain = str._getBoolean( plain ); local start = mw.ustring.find( source_str, pattern, start_pos, plain ) if start == nil then start = 0 end return start end --[[ replace This function allows one to replace a target string or pattern within another string. Usage: {{#invoke:String|replace|source_str|pattern_string|replace_string|replacement_count|plain_flag}} OR {{#invoke:String|replace|source=source_string|pattern=pattern_string|replace=replace_string| count=replacement_count|plain=plain_flag}} Parameters source: The string to search pattern: The string or pattern to find within source replace: The replacement text count: The number of occurences to replace, defaults to all. plain: Boolean flag indicating that pattern should be understood as plain text and not as a Lua style regular expression, defaults to true ]] function str.replace( frame ) local new_args = str._getParameters( frame.args, {'source', 'pattern', 'replace', 'count', 'plain' } ); local source_str = new_args['source'] or ''; local pattern = new_args['pattern'] or ''; local replace = new_args['replace'] or ''; local count = tonumber( new_args['count'] ); local plain = new_args['plain'] or true; if source_str == '' or pattern == '' then return source_str; end plain = str._getBoolean( plain ); if plain then pattern = str._escapePattern( pattern ); replace = mw.ustring.gsub( replace, "%%", "%%%%" ); --Only need to escape replacement sequences. end local result; if count ~= nil then result = mw.ustring.gsub( source_str, pattern, replace, count ); else result = mw.ustring.gsub( source_str, pattern, replace ); end return result; end --[[ simple function to pipe string.rep to templates. ]] function str.rep( frame ) local repetitions = tonumber( frame.args[2] ) if not repetitions then return str._error( 'function rep expects a number as second parameter, received "' .. ( frame.args[2] or '' ) .. '"' ) end return string.rep( frame.args[1] or '', repetitions ) end --[[ Helper function that populates the argument list given that user may need to use a mix of named and unnamed parameters. This is relevant because named parameters are not identical to unnamed parameters due to string trimming, and when dealing with strings we sometimes want to either preserve or remove that whitespace depending on the application. ]] function str._getParameters( frame_args, arg_list ) local new_args = {}; local index = 1; local value; for i,arg in ipairs( arg_list ) do value = frame_args[arg] if value == nil then value = frame_args[index]; index = index + 1; end new_args[arg] = value; end return new_args; end --[[ Helper function to handle error messages. ]] function str._error( error_str ) local frame = mw.getCurrentFrame(); local error_category = frame.args.error_category or 'Errors reported by Module String'; local ignore_errors = frame.args.ignore_errors or false; local no_category = frame.args.no_category or false; if str._getBoolean(ignore_errors) then return ''; end local error_str = '<strong class="error">String Module Error: ' .. error_str .. '</strong>'; if error_category ~= '' and not str._getBoolean( no_category ) then error_str = '[[Category:' .. error_category .. ']]' .. error_str; end return error_str; end --[[ Helper Function to interpret boolean strings ]] function str._getBoolean( boolean_str ) local boolean_value; if type( boolean_str ) == 'string' then boolean_str = boolean_str:lower(); if boolean_str == 'false' or boolean_str == 'no' or boolean_str == '0' or boolean_str == '' then boolean_value = false; else boolean_value = true; end elseif type( boolean_str ) == 'boolean' then boolean_value = boolean_str; else error( 'No boolean value found' ); end return boolean_value end --[[ Helper function that escapes all pattern characters so that they will be treated as plain text. ]] function str._escapePattern( pattern_str ) return mw.ustring.gsub( pattern_str, "([%(%)%.%%%+%-%*%?%[%^%$%]])", "%%%1" ); end return str p7kauspn14nrehhdza0f0zbrpve5c5i 9595 2013-02-19T03:20:21Z w>Anomie 0 Create module 9595 Scribunto text/plain local str = {} function str:len( frame ) return mw.ustring.len( frame.args[1] ) end function str:sub( frame ) return mw.ustring.sub( frame.args[1], tonumber( frame.args[2] ), tonumber( frame.args[3] ) ) end function str:match( frame ) return mw.ustring.match( frame.args[1], frame.args[2], tonumber( frame.args[3] ) ) end return str cvcgmp8d335kj156v29q3i0ddfb3zs9 9596 9595 2013-02-19T03:23:26Z w>Anomie 0 wrong syntax 9596 Scribunto text/plain local str = {} function str.len( frame ) return mw.ustring.len( frame.args[1] ) end function str.sub( frame ) return mw.ustring.sub( frame.args[1], tonumber( frame.args[2] ), tonumber( frame.args[3] ) ) end function str.match( frame ) return mw.ustring.match( frame.args[1], frame.args[2], tonumber( frame.args[3] ) ) end return str 6ife379m4jl2vraif1xob35t4fege7n 9597 9596 2013-02-19T03:26:03Z w>Anomie 0 Use named parameters, to get free trimming MediaWiki 9597 Scribunto text/plain local str = {} function str.len( frame ) return mw.ustring.len( frame.args.s ) end function str.sub( frame ) return mw.ustring.sub( frame.args.s, tonumber( frame.args.i ), tonumber( frame.args.i ) ) end function str.match( frame ) return mw.ustring.match( frame.args.s, frame.args.pattern, tonumber( frame.args.i ) ) end return str moevwtzl2m4qgi1sby19hufig41uli7 9598 9597 2013-02-19T03:46:34Z w>Anomie 0 Protected Module:String: [[WP:MOVP|Highly visible page]] ([Edit=Block all non-admin users] (indefinite) [Move=Block all non-admin users] (indefinite)) 9597 Scribunto text/plain local str = {} function str.len( frame ) return mw.ustring.len( frame.args.s ) end function str.sub( frame ) return mw.ustring.sub( frame.args.s, tonumber( frame.args.i ), tonumber( frame.args.i ) ) end function str.match( frame ) return mw.ustring.match( frame.args.s, frame.args.pattern, tonumber( frame.args.i ) ) end return str moevwtzl2m4qgi1sby19hufig41uli7 9599 9598 2013-02-21T00:15:30Z w>Tim Starling 0 have sub return more than one character (broken by ID 538979768) 9599 Scribunto text/plain local str = {} function str.len( frame ) return mw.ustring.len( frame.args.s ) end function str.sub( frame ) return mw.ustring.sub( frame.args.s, tonumber( frame.args.i ), tonumber( frame.args.j ) ) end function str.match( frame ) return mw.ustring.match( frame.args.s, frame.args.pattern, tonumber( frame.args.i ) ) end return str hxweenjbuco9skv4hz6kx41sf8rey1o 9600 9599 2013-02-21T01:49:07Z w>Anomie 0 + substr variant that takes a length instead of an ending position 9600 Scribunto text/plain local str = {} function str.len( frame ) return mw.ustring.len( frame.args.s ) end function str.sub( frame ) return mw.ustring.sub( frame.args.s, tonumber( frame.args.i ), tonumber( frame.args.j ) ) end function str.sublength( frame ) local i = tonumber( frame.args.i ) or 1 local len = tonumber( frame.args.len ) return mw.ustring.sub( frame.args.s, i, len and ( i + len - 1 ) ) end function str.match( frame ) return mw.ustring.match( frame.args.s, frame.args.pattern, tonumber( frame.args.i ) ) end return str r2mtpgut47oi7filqf6lk0y4h96j6jz 9601 9600 2013-02-21T01:50:36Z w>Anomie 0 Oh, the existing code is 0-based 9601 Scribunto text/plain local str = {} function str.len( frame ) return mw.ustring.len( frame.args.s ) end function str.sub( frame ) return mw.ustring.sub( frame.args.s, tonumber( frame.args.i ), tonumber( frame.args.j ) ) end function str.sublength( frame ) local i = tonumber( frame.args.i ) or 0 local len = tonumber( frame.args.len ) return mw.ustring.sub( frame.args.s, i + 1, len and ( i + len ) ) end function str.match( frame ) return mw.ustring.match( frame.args.s, frame.args.pattern, tonumber( frame.args.i ) ) end return str kditbdlxhagfss3xykbgerro19gzsve 9602 9601 2013-02-22T16:29:07Z w>Dragons flight 0 add support for finding the position of a string or pattern inside another string. 9602 Scribunto text/plain local str = {} function str.len( frame ) return mw.ustring.len( frame.args.s ) end function str.sub( frame ) return mw.ustring.sub( frame.args.s, tonumber( frame.args.i ), tonumber( frame.args.j ) ) end function str.sublength( frame ) local i = tonumber( frame.args.i ) or 0 local len = tonumber( frame.args.len ) return mw.ustring.sub( frame.args.s, i + 1, len and ( i + len ) ) end function str.match( frame ) return mw.ustring.match( frame.args.s, frame.args.pattern, tonumber( frame.args.i ) ) end --[====[ str_find This function duplicates the behavior of {{str_find}}, including all of its quirks. This is provided in order to support existing templates, but is NOT RECOMMENDED for new code and templates. New code is recommended to use the "find" function instead. Returns the first index in "source" that is a match to "target". Indexing is 1-based, and the function returns -1 if the "target" string is not present in "source". Both strings have any leading or trailing whitespace removed before searching. Important Note: If the "target" string is empty / missing, this function returns a value of "1", which is generally unexpected behavior, and must be accounted for separatetly. ]====] function str.str_find( frame ) local source_str = frame.args.source or ''; local target_str = frame.args.target or ''; if target_str == '' then return 1; end local start = mw.ustring.find( source_str, target_str, 1, true ) if start == nil then start = -1 end return start end --[====[ find This function allows one to search for a target string or pattern within another string. Parameters: source: The string to search target: The string or pattern to find within source start: The index within the source string to start the search, defaults to 1 plain: Boolean flag indicating that target should be understood as plain text and not as a Lua style regular expression, defaults to true This function returns the first index >= "start" where "target" can be found within "source". Indices are 1-based. If "target" is not found, then this function returns 0. If either "source" or "target" are missing / empty, this function also returns 0. Both "source" and "target" will be trimmed so that any leading or trailing whitespace is removed prior to searching. This function should be safe for UTF-8 strings. ]====] function str.find( frame ) local source_str = frame.args.source or ''; local pattern = frame.args.target or ''; local start_pos = tonumber(frame.args.start) or 1; local plain = frame.args.plain or true; if source_str == '' or pattern == '' then return 0; end if type( plain ) == 'string' then plain = plain:lower(); if plain == 'false' or plain == 'no' or plain == '0' then plain = false; else plain = true; end end local start = mw.ustring.find( source_str, pattern, start_pos, plain ) if start == nil then start = 0 end return start end return str da3e4q2vcwxbhkhjlr1a8oehqtv8l3o 9603 9602 2013-02-22T18:56:20Z w>Dragons flight 0 Update to allow for unnamed parameters. This is necessary because some string function need to preserve leading / trailing whitespace in order to work properly. 9603 Scribunto text/plain local str = {} function str.len( frame ) return mw.ustring.len( frame.args.s ) end function str.sub( frame ) return mw.ustring.sub( frame.args.s, tonumber( frame.args.i ), tonumber( frame.args.j ) ) end function str.sublength( frame ) local i = tonumber( frame.args.i ) or 0 local len = tonumber( frame.args.len ) return mw.ustring.sub( frame.args.s, i + 1, len and ( i + len ) ) end function str.match( frame ) return mw.ustring.match( frame.args.s, frame.args.pattern, tonumber( frame.args.i ) ) end --[====[ str_find This function duplicates the behavior of {{str_find}}, including all of its quirks. This is provided in order to support existing templates, but is NOT RECOMMENDED for new code and templates. New code is recommended to use the "find" function instead. Returns the first index in "source" that is a match to "target". Indexing is 1-based, and the function returns -1 if the "target" string is not present in "source". Important Note: If the "target" string is empty / missing, this function returns a value of "1", which is generally unexpected behavior, and must be accounted for separatetly. ]====] function str.str_find( frame ) local new_args = str._getParameters( frame.args, {'source', 'target'} ); local source_str = new_args['source'] or ''; local target_str = new_args['target'] or ''; if target_str == '' then return 1; end local start = mw.ustring.find( source_str, target_str, 1, true ) if start == nil then start = -1 end return start end --[====[ find This function allows one to search for a target string or pattern within another string. Usage: {{#invoke:String|find|source_str|target_string|start_index|plain_flag}} OR {{#invoke:String|find|source=source_str|target=target_str|start=start_index|plain=plain_flag}} Parameters source: The string to search target: The string or pattern to find within source start: The index within the source string to start the search, defaults to 1 plain: Boolean flag indicating that target should be understood as plain text and not as a Lua style regular expression, defaults to true If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the parameter. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. This function returns the first index >= "start" where "target" can be found within "source". Indices are 1-based. If "target" is not found, then this function returns 0. If either "source" or "target" are missing / empty, this function also returns 0. This function should be safe for UTF-8 strings. ]====] function str.find( frame ) local new_args = str._getParameters( frame.args, {'source', 'target', 'start', 'plain' } ); local source_str = new_args['source'] or ''; local pattern = new_args['target'] or ''; local start_pos = tonumber(new_args['start']) or 1; local plain = new_args['plain'] or true; if source_str == '' or pattern == '' then return 0; end if type( plain ) == 'string' then plain = plain:lower(); if plain == 'false' or plain == 'no' or plain == '0' then plain = false; else plain = true; end end local start = mw.ustring.find( source_str, pattern, start_pos, plain ) if start == nil then start = 0 end return start end --[====[ Helper function that populates the argument list given that user may need to use a mix of named and unnamed parameters. This is relevant because named parameters are not identical to unnamed parameters due to string trimming, and when dealing with strings we sometimes want to either preserve or remove that whitespace depending on the application. ]====] function str._getParameters( frame_args, arg_list ) local new_args = {}; local index = 1; local value; for i,arg in ipairs( arg_list ) do value = frame_args[arg] if value == nil then value = frame_args[index]; index = index + 1; end new_args[arg] = value; end return new_args; end return str j0iukfcc8327q9tjwbi9mvbkwj38rwk 9604 9603 2013-02-24T04:55:14Z w>Dragons flight 0 Continuing trials and tribulations of string trimming and Wikipedia template quirks 9604 Scribunto text/plain local str = {} function str.len( frame ) return mw.ustring.len( frame.args.s ) end function str.sub( frame ) return mw.ustring.sub( frame.args.s, tonumber( frame.args.i ), tonumber( frame.args.j ) ) end function str.sublength( frame ) local i = tonumber( frame.args.i ) or 0 local len = tonumber( frame.args.len ) return mw.ustring.sub( frame.args.s, i + 1, len and ( i + len ) ) end function str.match( frame ) return mw.ustring.match( frame.args.s, frame.args.pattern, tonumber( frame.args.i ) ) end --[====[ pos This function returns a single character from the target string at position pos. Usage: {{#invoke:String|pos|target_string|index_value}} OR {{#invoke:String|pos|target=target_string|pos=index_value}} Parameters target: The string to search pos: The index for the character to return If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the target string. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. The first character has an index value of 1. If one requests a negative value, this function will select a character by counting backwards from the end of the string. In other words pos = -1 is the same as asking for the last character. A requested value of zero, or a value greater than the length of the string returns an error. ]====] function str.pos( frame ) local new_args = str._getParameters( frame.args, {'target', 'pos'} ); local target_str = new_args['target'] or ''; local pos = tonumber( new_args['pos'] ) or 0; if pos == 0 or math.abs(pos) > mw.ustring.len( target_str ) then return '<strong class="error">String index out of range</strong>'; end return mw.ustring.sub( target_str, pos, pos ); end --[====[ str_find This function duplicates the behavior of {{str_find}}, including all of its quirks. This is provided in order to support existing templates, but is NOT RECOMMENDED for new code and templates. New code is recommended to use the "find" function instead. Returns the first index in "source" that is a match to "target". Indexing is 1-based, and the function returns -1 if the "target" string is not present in "source". Important Note: If the "target" string is empty / missing, this function returns a value of "1", which is generally unexpected behavior, and must be accounted for separatetly. ]====] function str.str_find( frame ) local new_args = str._getParameters( frame.args, {'source', 'target'} ); local source_str = new_args['source'] or ''; local target_str = new_args['target'] or ''; if target_str == '' then return 1; end local start = mw.ustring.find( source_str, target_str, 1, true ) if start == nil then start = -1 end return start end --[====[ find This function allows one to search for a target string or pattern within another string. Usage: {{#invoke:String|find|source_str|target_string|start_index|plain_flag}} OR {{#invoke:String|find|source=source_str|target=target_str|start=start_index|plain=plain_flag}} Parameters source: The string to search target: The string or pattern to find within source start: The index within the source string to start the search, defaults to 1 plain: Boolean flag indicating that target should be understood as plain text and not as a Lua style regular expression, defaults to true If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the parameter. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. This function returns the first index >= "start" where "target" can be found within "source". Indices are 1-based. If "target" is not found, then this function returns 0. If either "source" or "target" are missing / empty, this function also returns 0. This function should be safe for UTF-8 strings. ]====] function str.find( frame ) local new_args = str._getParameters( frame.args, {'source', 'target', 'start', 'plain' } ); local source_str = new_args['source'] or ''; local pattern = new_args['target'] or ''; local start_pos = tonumber(new_args['start']) or 1; local plain = new_args['plain'] or true; if source_str == '' or pattern == '' then return 0; end if type( plain ) == 'string' then plain = plain:lower(); if plain == 'false' or plain == 'no' or plain == '0' then plain = false; else plain = true; end end local start = mw.ustring.find( source_str, pattern, start_pos, plain ) if start == nil then start = 0 end return start end --[====[ Helper function that populates the argument list given that user may need to use a mix of named and unnamed parameters. This is relevant because named parameters are not identical to unnamed parameters due to string trimming, and when dealing with strings we sometimes want to either preserve or remove that whitespace depending on the application. ]====] function str._getParameters( frame_args, arg_list ) local new_args = {}; local index = 1; local value; for i,arg in ipairs( arg_list ) do value = frame_args[arg] if value == nil then value = frame_args[index]; index = index + 1; end new_args[arg] = value; end return new_args; end return str pgitrmqsqfgb66hekb6lf54wafhz94i 9605 9604 2013-02-24T13:59:31Z w>WOSlinker 0 add str.replace_plain 9605 Scribunto text/plain local str = {} function str.len( frame ) return mw.ustring.len( frame.args.s ) end function str.sub( frame ) return mw.ustring.sub( frame.args.s, tonumber( frame.args.i ), tonumber( frame.args.j ) ) end function str.sublength( frame ) local i = tonumber( frame.args.i ) or 0 local len = tonumber( frame.args.len ) return mw.ustring.sub( frame.args.s, i + 1, len and ( i + len ) ) end function str.match( frame ) return mw.ustring.match( frame.args.s, frame.args.pattern, tonumber( frame.args.i ) ) end --[====[ pos This function returns a single character from the target string at position pos. Usage: {{#invoke:String|pos|target_string|index_value}} OR {{#invoke:String|pos|target=target_string|pos=index_value}} Parameters target: The string to search pos: The index for the character to return If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the target string. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. The first character has an index value of 1. If one requests a negative value, this function will select a character by counting backwards from the end of the string. In other words pos = -1 is the same as asking for the last character. A requested value of zero, or a value greater than the length of the string returns an error. ]====] function str.pos( frame ) local new_args = str._getParameters( frame.args, {'target', 'pos'} ); local target_str = new_args['target'] or ''; local pos = tonumber( new_args['pos'] ) or 0; if pos == 0 or math.abs(pos) > mw.ustring.len( target_str ) then return '<strong class="error">String index out of range</strong>'; end return mw.ustring.sub( target_str, pos, pos ); end --[====[ str_find This function duplicates the behavior of {{str_find}}, including all of its quirks. This is provided in order to support existing templates, but is NOT RECOMMENDED for new code and templates. New code is recommended to use the "find" function instead. Returns the first index in "source" that is a match to "target". Indexing is 1-based, and the function returns -1 if the "target" string is not present in "source". Important Note: If the "target" string is empty / missing, this function returns a value of "1", which is generally unexpected behavior, and must be accounted for separatetly. ]====] function str.str_find( frame ) local new_args = str._getParameters( frame.args, {'source', 'target'} ); local source_str = new_args['source'] or ''; local target_str = new_args['target'] or ''; if target_str == '' then return 1; end local start = mw.ustring.find( source_str, target_str, 1, true ) if start == nil then start = -1 end return start end --[====[ find This function allows one to search for a target string or pattern within another string. Usage: {{#invoke:String|find|source_str|target_string|start_index|plain_flag}} OR {{#invoke:String|find|source=source_str|target=target_str|start=start_index|plain=plain_flag}} Parameters source: The string to search target: The string or pattern to find within source start: The index within the source string to start the search, defaults to 1 plain: Boolean flag indicating that target should be understood as plain text and not as a Lua style regular expression, defaults to true If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the parameter. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. This function returns the first index >= "start" where "target" can be found within "source". Indices are 1-based. If "target" is not found, then this function returns 0. If either "source" or "target" are missing / empty, this function also returns 0. This function should be safe for UTF-8 strings. ]====] function str.find( frame ) local new_args = str._getParameters( frame.args, {'source', 'target', 'start', 'plain' } ); local source_str = new_args['source'] or ''; local pattern = new_args['target'] or ''; local start_pos = tonumber(new_args['start']) or 1; local plain = new_args['plain'] or true; if source_str == '' or pattern == '' then return 0; end if type( plain ) == 'string' then plain = plain:lower(); if plain == 'false' or plain == 'no' or plain == '0' then plain = false; else plain = true; end end local start = mw.ustring.find( source_str, pattern, start_pos, plain ) if start == nil then start = 0 end return start end --[====[ replace_plain This function allows one to replace a target string or pattern within another string. Usage: {{#invoke:String|replace_plain|source_str|pattern_string|replace_string|firstonlyflag}} OR {{#invoke:String|replace_plain|source=source_str|pattern=pattern_str|replace=replace_string|firstonly=firstonlyflag}} Parameters source: The string to search patten: The string or pattern to find within source replace: The replacement text firstonly: Boolean flag indicating that only the first occurence found should be replaced ]====] function str.replace_plain( frame ) local new_args = str._getParameters( frame.args, {'source', 'pattern', 'replace', 'firstonly' } ); local source_str = new_args['source'] or ''; local pattern = new_args['pattern'] or ''; local replace = new_args['replace'] or ''; local firstonly = new_args['firstonly'] or ''; firstonly = firstonly:lower(); if source_str == '' or pattern == '' then return source_str; end local pattern_plain = mw.ustring.gsub(pattern, '%%', '%%%%'); local replace_plain = mw.ustring.gsub(replace, '%%', '%%%%'); if firstonly == 'true' or firstonly == 'yes' or firstonly == '1' then local result = gsub( source_str, pattern_plain, replace_plain, 1 ); else local result = gsub( source_str, pattern_plain, replace_plain, n ); end return result; end --[====[ Helper function that populates the argument list given that user may need to use a mix of named and unnamed parameters. This is relevant because named parameters are not identical to unnamed parameters due to string trimming, and when dealing with strings we sometimes want to either preserve or remove that whitespace depending on the application. ]====] function str._getParameters( frame_args, arg_list ) local new_args = {}; local index = 1; local value; for i,arg in ipairs( arg_list ) do value = frame_args[arg] if value == nil then value = frame_args[index]; index = index + 1; end new_args[arg] = value; end return new_args; end return str g8qf5v0jwt9xtxvoo1bn57hvifdpsc7 9606 9605 2013-02-24T14:00:53Z w>WOSlinker 0 add str.replace_plain 9606 Scribunto text/plain local str = {} function str.len( frame ) return mw.ustring.len( frame.args.s ) end function str.sub( frame ) return mw.ustring.sub( frame.args.s, tonumber( frame.args.i ), tonumber( frame.args.j ) ) end function str.sublength( frame ) local i = tonumber( frame.args.i ) or 0 local len = tonumber( frame.args.len ) return mw.ustring.sub( frame.args.s, i + 1, len and ( i + len ) ) end function str.match( frame ) return mw.ustring.match( frame.args.s, frame.args.pattern, tonumber( frame.args.i ) ) end --[====[ pos This function returns a single character from the target string at position pos. Usage: {{#invoke:String|pos|target_string|index_value}} OR {{#invoke:String|pos|target=target_string|pos=index_value}} Parameters target: The string to search pos: The index for the character to return If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the target string. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. The first character has an index value of 1. If one requests a negative value, this function will select a character by counting backwards from the end of the string. In other words pos = -1 is the same as asking for the last character. A requested value of zero, or a value greater than the length of the string returns an error. ]====] function str.pos( frame ) local new_args = str._getParameters( frame.args, {'target', 'pos'} ); local target_str = new_args['target'] or ''; local pos = tonumber( new_args['pos'] ) or 0; if pos == 0 or math.abs(pos) > mw.ustring.len( target_str ) then return '<strong class="error">String index out of range</strong>'; end return mw.ustring.sub( target_str, pos, pos ); end --[====[ str_find This function duplicates the behavior of {{str_find}}, including all of its quirks. This is provided in order to support existing templates, but is NOT RECOMMENDED for new code and templates. New code is recommended to use the "find" function instead. Returns the first index in "source" that is a match to "target". Indexing is 1-based, and the function returns -1 if the "target" string is not present in "source". Important Note: If the "target" string is empty / missing, this function returns a value of "1", which is generally unexpected behavior, and must be accounted for separatetly. ]====] function str.str_find( frame ) local new_args = str._getParameters( frame.args, {'source', 'target'} ); local source_str = new_args['source'] or ''; local target_str = new_args['target'] or ''; if target_str == '' then return 1; end local start = mw.ustring.find( source_str, target_str, 1, true ) if start == nil then start = -1 end return start end --[====[ find This function allows one to search for a target string or pattern within another string. Usage: {{#invoke:String|find|source_str|target_string|start_index|plain_flag}} OR {{#invoke:String|find|source=source_str|target=target_str|start=start_index|plain=plain_flag}} Parameters source: The string to search target: The string or pattern to find within source start: The index within the source string to start the search, defaults to 1 plain: Boolean flag indicating that target should be understood as plain text and not as a Lua style regular expression, defaults to true If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the parameter. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. This function returns the first index >= "start" where "target" can be found within "source". Indices are 1-based. If "target" is not found, then this function returns 0. If either "source" or "target" are missing / empty, this function also returns 0. This function should be safe for UTF-8 strings. ]====] function str.find( frame ) local new_args = str._getParameters( frame.args, {'source', 'target', 'start', 'plain' } ); local source_str = new_args['source'] or ''; local pattern = new_args['target'] or ''; local start_pos = tonumber(new_args['start']) or 1; local plain = new_args['plain'] or true; if source_str == '' or pattern == '' then return 0; end if type( plain ) == 'string' then plain = plain:lower(); if plain == 'false' or plain == 'no' or plain == '0' then plain = false; else plain = true; end end local start = mw.ustring.find( source_str, pattern, start_pos, plain ) if start == nil then start = 0 end return start end --[====[ replace_plain This function allows one to replace a target string or pattern within another string. Usage: {{#invoke:String|replace_plain|source_str|pattern_string|replace_string|firstonlyflag}} OR {{#invoke:String|replace_plain|source=source_str|pattern=pattern_str|replace=replace_string|firstonly=firstonlyflag}} Parameters source: The string to search patten: The string or pattern to find within source replace: The replacement text firstonly: Boolean flag indicating that only the first occurence found should be replaced ]====] function str.replace_plain( frame ) local new_args = str._getParameters( frame.args, {'source', 'pattern', 'replace', 'firstonly' } ); local source_str = new_args['source'] or ''; local pattern = new_args['pattern'] or ''; local replace = new_args['replace'] or ''; local firstonly = new_args['firstonly'] or ''; firstonly = firstonly:lower(); if source_str == '' or pattern == '' then return source_str; end local pattern_plain = mw.ustring.gsub(pattern, '%%', '%%%%'); local replace_plain = mw.ustring.gsub(replace, '%%', '%%%%'); if firstonly == 'true' or firstonly == 'yes' or firstonly == '1' then local result = mw.ustring.gsub( source_str, pattern_plain, replace_plain, 1 ); else local result = mw.ustring.gsub( source_str, pattern_plain, replace_plain, n ); end return result; end --[====[ Helper function that populates the argument list given that user may need to use a mix of named and unnamed parameters. This is relevant because named parameters are not identical to unnamed parameters due to string trimming, and when dealing with strings we sometimes want to either preserve or remove that whitespace depending on the application. ]====] function str._getParameters( frame_args, arg_list ) local new_args = {}; local index = 1; local value; for i,arg in ipairs( arg_list ) do value = frame_args[arg] if value == nil then value = frame_args[index]; index = index + 1; end new_args[arg] = value; end return new_args; end return str ih95sn1p6fedsey8isdedsk6dmddzph 9607 9606 2013-02-24T15:30:24Z w>WOSlinker 0 replace_plain fix 9607 Scribunto text/plain local str = {} function str.len( frame ) return mw.ustring.len( frame.args.s ) end function str.sub( frame ) return mw.ustring.sub( frame.args.s, tonumber( frame.args.i ), tonumber( frame.args.j ) ) end function str.sublength( frame ) local i = tonumber( frame.args.i ) or 0 local len = tonumber( frame.args.len ) return mw.ustring.sub( frame.args.s, i + 1, len and ( i + len ) ) end function str.match( frame ) return mw.ustring.match( frame.args.s, frame.args.pattern, tonumber( frame.args.i ) ) end --[====[ pos This function returns a single character from the target string at position pos. Usage: {{#invoke:String|pos|target_string|index_value}} OR {{#invoke:String|pos|target=target_string|pos=index_value}} Parameters target: The string to search pos: The index for the character to return If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the target string. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. The first character has an index value of 1. If one requests a negative value, this function will select a character by counting backwards from the end of the string. In other words pos = -1 is the same as asking for the last character. A requested value of zero, or a value greater than the length of the string returns an error. ]====] function str.pos( frame ) local new_args = str._getParameters( frame.args, {'target', 'pos'} ); local target_str = new_args['target'] or ''; local pos = tonumber( new_args['pos'] ) or 0; if pos == 0 or math.abs(pos) > mw.ustring.len( target_str ) then return '<strong class="error">String index out of range</strong>'; end return mw.ustring.sub( target_str, pos, pos ); end --[====[ str_find This function duplicates the behavior of {{str_find}}, including all of its quirks. This is provided in order to support existing templates, but is NOT RECOMMENDED for new code and templates. New code is recommended to use the "find" function instead. Returns the first index in "source" that is a match to "target". Indexing is 1-based, and the function returns -1 if the "target" string is not present in "source". Important Note: If the "target" string is empty / missing, this function returns a value of "1", which is generally unexpected behavior, and must be accounted for separatetly. ]====] function str.str_find( frame ) local new_args = str._getParameters( frame.args, {'source', 'target'} ); local source_str = new_args['source'] or ''; local target_str = new_args['target'] or ''; if target_str == '' then return 1; end local start = mw.ustring.find( source_str, target_str, 1, true ) if start == nil then start = -1 end return start end --[====[ find This function allows one to search for a target string or pattern within another string. Usage: {{#invoke:String|find|source_str|target_string|start_index|plain_flag}} OR {{#invoke:String|find|source=source_str|target=target_str|start=start_index|plain=plain_flag}} Parameters source: The string to search target: The string or pattern to find within source start: The index within the source string to start the search, defaults to 1 plain: Boolean flag indicating that target should be understood as plain text and not as a Lua style regular expression, defaults to true If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the parameter. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. This function returns the first index >= "start" where "target" can be found within "source". Indices are 1-based. If "target" is not found, then this function returns 0. If either "source" or "target" are missing / empty, this function also returns 0. This function should be safe for UTF-8 strings. ]====] function str.find( frame ) local new_args = str._getParameters( frame.args, {'source', 'target', 'start', 'plain' } ); local source_str = new_args['source'] or ''; local pattern = new_args['target'] or ''; local start_pos = tonumber(new_args['start']) or 1; local plain = new_args['plain'] or true; if source_str == '' or pattern == '' then return 0; end if type( plain ) == 'string' then plain = plain:lower(); if plain == 'false' or plain == 'no' or plain == '0' then plain = false; else plain = true; end end local start = mw.ustring.find( source_str, pattern, start_pos, plain ) if start == nil then start = 0 end return start end --[====[ replace_plain This function allows one to replace a target string or pattern within another string. Usage: {{#invoke:String|replace_plain|source_str|pattern_string|replace_string|firstonlyflag}} OR {{#invoke:String|replace_plain|source=source_str|pattern=pattern_str|replace=replace_string|firstonly=firstonlyflag}} Parameters source: The string to search patten: The string or pattern to find within source replace: The replacement text firstonly: Boolean flag indicating that only the first occurence found should be replaced ]====] function str.replace_plain( frame ) local new_args = str._getParameters( frame.args, {'source', 'pattern', 'replace', 'firstonly' } ); local source_str = new_args['source'] or ''; local pattern = new_args['pattern'] or ''; local replace = new_args['replace'] or ''; local firstonly = new_args['firstonly'] or ''; firstonly = firstonly:lower(); if source_str == '' or pattern == '' then return source_str; end local pattern_plain = mw.ustring.gsub(pattern, '%%', '%%%%'); local replace_plain = mw.ustring.gsub(replace, '%%', '%%%%'); local result; if firstonly == 'true' or firstonly == 'yes' or firstonly == '1' then result = mw.ustring.gsub( source_str, pattern_plain, replace_plain, 1 ); else result = mw.ustring.gsub( source_str, pattern_plain, replace_plain, n ); end return result; end --[====[ Helper function that populates the argument list given that user may need to use a mix of named and unnamed parameters. This is relevant because named parameters are not identical to unnamed parameters due to string trimming, and when dealing with strings we sometimes want to either preserve or remove that whitespace depending on the application. ]====] function str._getParameters( frame_args, arg_list ) local new_args = {}; local index = 1; local value; for i,arg in ipairs( arg_list ) do value = frame_args[arg] if value == nil then value = frame_args[index]; index = index + 1; end new_args[arg] = value; end return new_args; end return str d41dvcq151vagyqwfjjs4atg0n0lmse 9608 9607 2013-02-24T19:31:06Z w>Dragons flight 0 include more generic replacement function 9608 Scribunto text/plain local str = {} function str.len( frame ) return mw.ustring.len( frame.args.s ) end function str.sub( frame ) return mw.ustring.sub( frame.args.s, tonumber( frame.args.i ), tonumber( frame.args.j ) ) end function str.sublength( frame ) local i = tonumber( frame.args.i ) or 0 local len = tonumber( frame.args.len ) return mw.ustring.sub( frame.args.s, i + 1, len and ( i + len ) ) end function str.match( frame ) return mw.ustring.match( frame.args.s, frame.args.pattern, tonumber( frame.args.i ) ) end --[====[ pos This function returns a single character from the target string at position pos. Usage: {{#invoke:String|pos|target_string|index_value}} OR {{#invoke:String|pos|target=target_string|pos=index_value}} Parameters target: The string to search pos: The index for the character to return If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the target string. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. The first character has an index value of 1. If one requests a negative value, this function will select a character by counting backwards from the end of the string. In other words pos = -1 is the same as asking for the last character. A requested value of zero, or a value greater than the length of the string returns an error. ]====] function str.pos( frame ) local new_args = str._getParameters( frame.args, {'target', 'pos'} ); local target_str = new_args['target'] or ''; local pos = tonumber( new_args['pos'] ) or 0; if pos == 0 or math.abs(pos) > mw.ustring.len( target_str ) then return '<strong class="error">String index out of range</strong>'; end return mw.ustring.sub( target_str, pos, pos ); end --[====[ str_find This function duplicates the behavior of {{str_find}}, including all of its quirks. This is provided in order to support existing templates, but is NOT RECOMMENDED for new code and templates. New code is recommended to use the "find" function instead. Returns the first index in "source" that is a match to "target". Indexing is 1-based, and the function returns -1 if the "target" string is not present in "source". Important Note: If the "target" string is empty / missing, this function returns a value of "1", which is generally unexpected behavior, and must be accounted for separatetly. ]====] function str.str_find( frame ) local new_args = str._getParameters( frame.args, {'source', 'target'} ); local source_str = new_args['source'] or ''; local target_str = new_args['target'] or ''; if target_str == '' then return 1; end local start = mw.ustring.find( source_str, target_str, 1, true ) if start == nil then start = -1 end return start end --[====[ find This function allows one to search for a target string or pattern within another string. Usage: {{#invoke:String|find|source_str|target_string|start_index|plain_flag}} OR {{#invoke:String|find|source=source_str|target=target_str|start=start_index|plain=plain_flag}} Parameters source: The string to search target: The string or pattern to find within source start: The index within the source string to start the search, defaults to 1 plain: Boolean flag indicating that target should be understood as plain text and not as a Lua style regular expression, defaults to true If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the parameter. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. This function returns the first index >= "start" where "target" can be found within "source". Indices are 1-based. If "target" is not found, then this function returns 0. If either "source" or "target" are missing / empty, this function also returns 0. This function should be safe for UTF-8 strings. ]====] function str.find( frame ) local new_args = str._getParameters( frame.args, {'source', 'target', 'start', 'plain' } ); local source_str = new_args['source'] or ''; local pattern = new_args['target'] or ''; local start_pos = tonumber(new_args['start']) or 1; local plain = new_args['plain'] or true; if source_str == '' or pattern == '' then return 0; end plain = str._getBoolean( plain ); local start = mw.ustring.find( source_str, pattern, start_pos, plain ) if start == nil then start = 0 end return start end --[====[ replace This function allows one to replace a target string or pattern within another string. Usage: {{#invoke:String|replace_plain|source_str|pattern_string|replace_string|replacement_count|pattern_flag}} OR {{#invoke:String|replace_plain|source=source_str|pattern=pattern_str|replace=replace_string| count=replacement_count|plain=pattern_flag}} Parameters source: The string to search pattern: The string or pattern to find within source replace: The replacement text count: The number of occurences to replace, defaults to all. plain: Boolean flag indicating that pattern should be understood as plain text and not as a Lua style regular expression, defaults to true ]====] function str.replace( frame ) local new_args = str._getParameters( frame.args, {'source', 'pattern', 'replace', 'count', 'plain' } ); local source_str = new_args['source'] or ''; local pattern = new_args['pattern'] or ''; local replace = new_args['replace'] or ''; local count = tonumber( new_args['count'] ); local plain = new_args['plain'] or true; if source_str == '' or pattern == '' then return source_str; end plain = str._getBoolean( plain ); if plain then pattern = str._escapePattern( pattern ); replace = str._escapePattern( replace ); end local result; if count ~= nil then result = mw.ustring.gsub( source_str, pattern, replace, count ); else result = mw.ustring.gsub( source_str, pattern, replace ); end return result; end --[====[ Helper function that populates the argument list given that user may need to use a mix of named and unnamed parameters. This is relevant because named parameters are not identical to unnamed parameters due to string trimming, and when dealing with strings we sometimes want to either preserve or remove that whitespace depending on the application. ]====] function str._getParameters( frame_args, arg_list ) local new_args = {}; local index = 1; local value; for i,arg in ipairs( arg_list ) do value = frame_args[arg] if value == nil then value = frame_args[index]; index = index + 1; end new_args[arg] = value; end return new_args; end --[====[ Helper Function to interpret boolean strings ]====] function str._getBoolean( boolean_str ) local boolean_value; if type( boolean_str ) == 'string' then boolean_str = boolean_str:lower(); if boolean_str == 'false' or boolean_str == 'no' or boolean_str == '0' then boolean_value = false; else boolean_value = true; end elseif type( boolean_str ) == 'boolean' then boolean_value = boolean_str; else error( 'No boolean value found' ); end return boolean_value end --[====[ Helper function that escapes all pattern characters so that they will be treated as plain text. ]====] function str._escapePattern( pattern_str ) return mw.ustring.gsub( pattern_str, "([%(%)%.%%%+%-%*%?%[%^%$%]])", "%%%1" ); end return str s902tt4gsmxm440dvam7pelh73suxw6 9609 9608 2013-02-24T19:32:46Z w>Dragons flight 0 fix comment 9609 Scribunto text/plain local str = {} function str.len( frame ) return mw.ustring.len( frame.args.s ) end function str.sub( frame ) return mw.ustring.sub( frame.args.s, tonumber( frame.args.i ), tonumber( frame.args.j ) ) end function str.sublength( frame ) local i = tonumber( frame.args.i ) or 0 local len = tonumber( frame.args.len ) return mw.ustring.sub( frame.args.s, i + 1, len and ( i + len ) ) end function str.match( frame ) return mw.ustring.match( frame.args.s, frame.args.pattern, tonumber( frame.args.i ) ) end --[====[ pos This function returns a single character from the target string at position pos. Usage: {{#invoke:String|pos|target_string|index_value}} OR {{#invoke:String|pos|target=target_string|pos=index_value}} Parameters target: The string to search pos: The index for the character to return If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the target string. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. The first character has an index value of 1. If one requests a negative value, this function will select a character by counting backwards from the end of the string. In other words pos = -1 is the same as asking for the last character. A requested value of zero, or a value greater than the length of the string returns an error. ]====] function str.pos( frame ) local new_args = str._getParameters( frame.args, {'target', 'pos'} ); local target_str = new_args['target'] or ''; local pos = tonumber( new_args['pos'] ) or 0; if pos == 0 or math.abs(pos) > mw.ustring.len( target_str ) then return '<strong class="error">String index out of range</strong>'; end return mw.ustring.sub( target_str, pos, pos ); end --[====[ str_find This function duplicates the behavior of {{str_find}}, including all of its quirks. This is provided in order to support existing templates, but is NOT RECOMMENDED for new code and templates. New code is recommended to use the "find" function instead. Returns the first index in "source" that is a match to "target". Indexing is 1-based, and the function returns -1 if the "target" string is not present in "source". Important Note: If the "target" string is empty / missing, this function returns a value of "1", which is generally unexpected behavior, and must be accounted for separatetly. ]====] function str.str_find( frame ) local new_args = str._getParameters( frame.args, {'source', 'target'} ); local source_str = new_args['source'] or ''; local target_str = new_args['target'] or ''; if target_str == '' then return 1; end local start = mw.ustring.find( source_str, target_str, 1, true ) if start == nil then start = -1 end return start end --[====[ find This function allows one to search for a target string or pattern within another string. Usage: {{#invoke:String|find|source_str|target_string|start_index|plain_flag}} OR {{#invoke:String|find|source=source_str|target=target_str|start=start_index|plain=plain_flag}} Parameters source: The string to search target: The string or pattern to find within source start: The index within the source string to start the search, defaults to 1 plain: Boolean flag indicating that target should be understood as plain text and not as a Lua style regular expression, defaults to true If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the parameter. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. This function returns the first index >= "start" where "target" can be found within "source". Indices are 1-based. If "target" is not found, then this function returns 0. If either "source" or "target" are missing / empty, this function also returns 0. This function should be safe for UTF-8 strings. ]====] function str.find( frame ) local new_args = str._getParameters( frame.args, {'source', 'target', 'start', 'plain' } ); local source_str = new_args['source'] or ''; local pattern = new_args['target'] or ''; local start_pos = tonumber(new_args['start']) or 1; local plain = new_args['plain'] or true; if source_str == '' or pattern == '' then return 0; end plain = str._getBoolean( plain ); local start = mw.ustring.find( source_str, pattern, start_pos, plain ) if start == nil then start = 0 end return start end --[====[ replace This function allows one to replace a target string or pattern within another string. Usage: {{#invoke:String|replace|source_str|pattern_string|replace_string|replacement_count|plain_flag}} OR {{#invoke:String|replace|source=source_string|pattern=pattern_string|replace=replace_string| count=replacement_count|plain=plain_flag}} Parameters source: The string to search pattern: The string or pattern to find within source replace: The replacement text count: The number of occurences to replace, defaults to all. plain: Boolean flag indicating that pattern should be understood as plain text and not as a Lua style regular expression, defaults to true ]====] function str.replace( frame ) local new_args = str._getParameters( frame.args, {'source', 'pattern', 'replace', 'count', 'plain' } ); local source_str = new_args['source'] or ''; local pattern = new_args['pattern'] or ''; local replace = new_args['replace'] or ''; local count = tonumber( new_args['count'] ); local plain = new_args['plain'] or true; if source_str == '' or pattern == '' then return source_str; end plain = str._getBoolean( plain ); if plain then pattern = str._escapePattern( pattern ); replace = str._escapePattern( replace ); end local result; if count ~= nil then result = mw.ustring.gsub( source_str, pattern, replace, count ); else result = mw.ustring.gsub( source_str, pattern, replace ); end return result; end --[====[ Helper function that populates the argument list given that user may need to use a mix of named and unnamed parameters. This is relevant because named parameters are not identical to unnamed parameters due to string trimming, and when dealing with strings we sometimes want to either preserve or remove that whitespace depending on the application. ]====] function str._getParameters( frame_args, arg_list ) local new_args = {}; local index = 1; local value; for i,arg in ipairs( arg_list ) do value = frame_args[arg] if value == nil then value = frame_args[index]; index = index + 1; end new_args[arg] = value; end return new_args; end --[====[ Helper Function to interpret boolean strings ]====] function str._getBoolean( boolean_str ) local boolean_value; if type( boolean_str ) == 'string' then boolean_str = boolean_str:lower(); if boolean_str == 'false' or boolean_str == 'no' or boolean_str == '0' then boolean_value = false; else boolean_value = true; end elseif type( boolean_str ) == 'boolean' then boolean_value = boolean_str; else error( 'No boolean value found' ); end return boolean_value end --[====[ Helper function that escapes all pattern characters so that they will be treated as plain text. ]====] function str._escapePattern( pattern_str ) return mw.ustring.gsub( pattern_str, "([%(%)%.%%%+%-%*%?%[%^%$%]])", "%%%1" ); end return str hk62c9y3bfxu9dcoyew5ch8ymixhvkc 9610 9609 2013-02-24T23:28:54Z w>Dragons flight 0 add description and whitespace handling option for len 9610 Scribunto text/plain local str = {} --[====[ len This function returns the length of the target string. Usage: {{#invoke:String|len|target_string|}} OR {{#invoke:String|pos|s=target_string}} Parameters s: The string whose length to report If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the target string. ]====] function str.len( frame ) local new_args = str._getParameters( frame.args, {'s'} ); local s = new_args['s'] or ''; return mw.ustring.len( s ) end function str.sub( frame ) return mw.ustring.sub( frame.args.s, tonumber( frame.args.i ), tonumber( frame.args.j ) ) end function str.sublength( frame ) local i = tonumber( frame.args.i ) or 0 local len = tonumber( frame.args.len ) return mw.ustring.sub( frame.args.s, i + 1, len and ( i + len ) ) end function str.match( frame ) return mw.ustring.match( frame.args.s, frame.args.pattern, tonumber( frame.args.i ) ) end --[====[ pos This function returns a single character from the target string at position pos. Usage: {{#invoke:String|pos|target_string|index_value}} OR {{#invoke:String|pos|target=target_string|pos=index_value}} Parameters target: The string to search pos: The index for the character to return If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the target string. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. The first character has an index value of 1. If one requests a negative value, this function will select a character by counting backwards from the end of the string. In other words pos = -1 is the same as asking for the last character. A requested value of zero, or a value greater than the length of the string returns an error. ]====] function str.pos( frame ) local new_args = str._getParameters( frame.args, {'target', 'pos'} ); local target_str = new_args['target'] or ''; local pos = tonumber( new_args['pos'] ) or 0; if pos == 0 or math.abs(pos) > mw.ustring.len( target_str ) then return '<strong class="error">String index out of range</strong>'; end return mw.ustring.sub( target_str, pos, pos ); end --[====[ str_find This function duplicates the behavior of {{str_find}}, including all of its quirks. This is provided in order to support existing templates, but is NOT RECOMMENDED for new code and templates. New code is recommended to use the "find" function instead. Returns the first index in "source" that is a match to "target". Indexing is 1-based, and the function returns -1 if the "target" string is not present in "source". Important Note: If the "target" string is empty / missing, this function returns a value of "1", which is generally unexpected behavior, and must be accounted for separatetly. ]====] function str.str_find( frame ) local new_args = str._getParameters( frame.args, {'source', 'target'} ); local source_str = new_args['source'] or ''; local target_str = new_args['target'] or ''; if target_str == '' then return 1; end local start = mw.ustring.find( source_str, target_str, 1, true ) if start == nil then start = -1 end return start end --[====[ find This function allows one to search for a target string or pattern within another string. Usage: {{#invoke:String|find|source_str|target_string|start_index|plain_flag}} OR {{#invoke:String|find|source=source_str|target=target_str|start=start_index|plain=plain_flag}} Parameters source: The string to search target: The string or pattern to find within source start: The index within the source string to start the search, defaults to 1 plain: Boolean flag indicating that target should be understood as plain text and not as a Lua style regular expression, defaults to true If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the parameter. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. This function returns the first index >= "start" where "target" can be found within "source". Indices are 1-based. If "target" is not found, then this function returns 0. If either "source" or "target" are missing / empty, this function also returns 0. This function should be safe for UTF-8 strings. ]====] function str.find( frame ) local new_args = str._getParameters( frame.args, {'source', 'target', 'start', 'plain' } ); local source_str = new_args['source'] or ''; local pattern = new_args['target'] or ''; local start_pos = tonumber(new_args['start']) or 1; local plain = new_args['plain'] or true; if source_str == '' or pattern == '' then return 0; end plain = str._getBoolean( plain ); local start = mw.ustring.find( source_str, pattern, start_pos, plain ) if start == nil then start = 0 end return start end --[====[ replace This function allows one to replace a target string or pattern within another string. Usage: {{#invoke:String|replace|source_str|pattern_string|replace_string|replacement_count|plain_flag}} OR {{#invoke:String|replace|source=source_string|pattern=pattern_string|replace=replace_string| count=replacement_count|plain=plain_flag}} Parameters source: The string to search pattern: The string or pattern to find within source replace: The replacement text count: The number of occurences to replace, defaults to all. plain: Boolean flag indicating that pattern should be understood as plain text and not as a Lua style regular expression, defaults to true ]====] function str.replace( frame ) local new_args = str._getParameters( frame.args, {'source', 'pattern', 'replace', 'count', 'plain' } ); local source_str = new_args['source'] or ''; local pattern = new_args['pattern'] or ''; local replace = new_args['replace'] or ''; local count = tonumber( new_args['count'] ); local plain = new_args['plain'] or true; if source_str == '' or pattern == '' then return source_str; end plain = str._getBoolean( plain ); if plain then pattern = str._escapePattern( pattern ); replace = str._escapePattern( replace ); end local result; if count ~= nil then result = mw.ustring.gsub( source_str, pattern, replace, count ); else result = mw.ustring.gsub( source_str, pattern, replace ); end return result; end --[====[ Helper function that populates the argument list given that user may need to use a mix of named and unnamed parameters. This is relevant because named parameters are not identical to unnamed parameters due to string trimming, and when dealing with strings we sometimes want to either preserve or remove that whitespace depending on the application. ]====] function str._getParameters( frame_args, arg_list ) local new_args = {}; local index = 1; local value; for i,arg in ipairs( arg_list ) do value = frame_args[arg] if value == nil then value = frame_args[index]; index = index + 1; end new_args[arg] = value; end return new_args; end --[====[ Helper Function to interpret boolean strings ]====] function str._getBoolean( boolean_str ) local boolean_value; if type( boolean_str ) == 'string' then boolean_str = boolean_str:lower(); if boolean_str == 'false' or boolean_str == 'no' or boolean_str == '0' then boolean_value = false; else boolean_value = true; end elseif type( boolean_str ) == 'boolean' then boolean_value = boolean_str; else error( 'No boolean value found' ); end return boolean_value end --[====[ Helper function that escapes all pattern characters so that they will be treated as plain text. ]====] function str._escapePattern( pattern_str ) return mw.ustring.gsub( pattern_str, "([%(%)%.%%%+%-%*%?%[%^%$%]])", "%%%1" ); end return str d2aorwd9asctczf7g8o527evnrvh438 9611 9610 2013-02-25T02:06:44Z w>Dragons flight 0 improves commenting, adds whitespace and error handling to sub, improvements to error handling generally. 9611 Scribunto text/plain --[[ This module is intended to provide access to basic string functions. Most of the functions provided here can be invoked with named parameters, unnamed parameters, or a mixture. If named parameters are used, Mediawiki will automatically remove any leading or trailing whitespace from the parameter. Depending on the intended use, it may be advantageous to either preserve or remove such whitespace. Global options ignore_errors: If set to 'true' or 1, any error condition will result in an empty string being returned rather than an error message. error_category: If an error occurs, specifies the name of a category to include with the error message. The default category is [Category:Errors reported by Module String]. If set to an empty string, no category will be added during an error. ]] local str = {} --[[ len This function returns the length of the target string. Usage: {{#invoke:String|len|target_string|}} OR {{#invoke:String|len|s=target_string}} Parameters s: The string whose length to report If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the target string. ]] function str.len( frame ) local new_args = str._getParameters( frame.args, {'s'} ); local s = new_args['s'] or ''; return mw.ustring.len( s ) end --[[ sub This function returns a substring of the target string at specified indices. Usage: {{#invoke:String|sub|target_string|start_index|end_index}} OR {{#invoke:String|sub|s=target_string|i=start_index|j=end_index}} Parameters s: The string to return a subset of i: The fist index of the substring to return, defaults to 1. j: The last index of the string to return, defaults to the last character. The first character of the string is assigned an index of 1. If either i or j is a negative value, it is interpreted the same as selecting a character by counting from the end of the string. Hence, a value of -1 is the same as selecting the last character of the string. If the requested indices are out of range for the given string, an error is reported. ]] function str.sub( frame ) local new_args = str._getParameters( frame.args, { 's', 'i', 'j' } ); local s = new_args['s'] or ''; local i = tonumber( new_args['i'] ) or 1; local j = tonumber( new_args['j'] ) or -1; local len = mw.ustring.len( s ); -- Convert negatives for range checking if i < 0 then i = len + i + 1; end if j < 0 then j = len + j + 1; end if j < i then return str._error( 'String subset indices out of order' ); end if i > len or j > len or i < 1 or j < 1 then return str._error( 'String subset index out of range' ); end return mw.ustring.sub( s, i, j ) end function str.sublength( frame ) local i = tonumber( frame.args.i ) or 0 local len = tonumber( frame.args.len ) return mw.ustring.sub( frame.args.s, i + 1, len and ( i + len ) ) end function str.match( frame ) return mw.ustring.match( frame.args.s, frame.args.pattern, tonumber( frame.args.i ) ) end --[[ pos This function returns a single character from the target string at position pos. Usage: {{#invoke:String|pos|target_string|index_value}} OR {{#invoke:String|pos|target=target_string|pos=index_value}} Parameters target: The string to search pos: The index for the character to return If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the target string. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. The first character has an index value of 1. If one requests a negative value, this function will select a character by counting backwards from the end of the string. In other words pos = -1 is the same as asking for the last character. A requested value of zero, or a value greater than the length of the string returns an error. ]] function str.pos( frame ) local new_args = str._getParameters( frame.args, {'target', 'pos'} ); local target_str = new_args['target'] or ''; local pos = tonumber( new_args['pos'] ) or 0; if pos == 0 or math.abs(pos) > mw.ustring.len( target_str ) then return str._error( 'String index out of range' ); end return mw.ustring.sub( target_str, pos, pos ); end --[[ str_find This function duplicates the behavior of {{str_find}}, including all of its quirks. This is provided in order to support existing templates, but is NOT RECOMMENDED for new code and templates. New code is recommended to use the "find" function instead. Returns the first index in "source" that is a match to "target". Indexing is 1-based, and the function returns -1 if the "target" string is not present in "source". Important Note: If the "target" string is empty / missing, this function returns a value of "1", which is generally unexpected behavior, and must be accounted for separatetly. ]] function str.str_find( frame ) local new_args = str._getParameters( frame.args, {'source', 'target'} ); local source_str = new_args['source'] or ''; local target_str = new_args['target'] or ''; if target_str == '' then return 1; end local start = mw.ustring.find( source_str, target_str, 1, true ) if start == nil then start = -1 end return start end --[[ find This function allows one to search for a target string or pattern within another string. Usage: {{#invoke:String|find|source_str|target_string|start_index|plain_flag}} OR {{#invoke:String|find|source=source_str|target=target_str|start=start_index|plain=plain_flag}} Parameters source: The string to search target: The string or pattern to find within source start: The index within the source string to start the search, defaults to 1 plain: Boolean flag indicating that target should be understood as plain text and not as a Lua style regular expression, defaults to true If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the parameter. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. This function returns the first index >= "start" where "target" can be found within "source". Indices are 1-based. If "target" is not found, then this function returns 0. If either "source" or "target" are missing / empty, this function also returns 0. This function should be safe for UTF-8 strings. ]] function str.find( frame ) local new_args = str._getParameters( frame.args, {'source', 'target', 'start', 'plain' } ); local source_str = new_args['source'] or ''; local pattern = new_args['target'] or ''; local start_pos = tonumber(new_args['start']) or 1; local plain = new_args['plain'] or true; if source_str == '' or pattern == '' then return 0; end plain = str._getBoolean( plain ); local start = mw.ustring.find( source_str, pattern, start_pos, plain ) if start == nil then start = 0 end return start end --[[ replace This function allows one to replace a target string or pattern within another string. Usage: {{#invoke:String|replace|source_str|pattern_string|replace_string|replacement_count|plain_flag}} OR {{#invoke:String|replace|source=source_string|pattern=pattern_string|replace=replace_string| count=replacement_count|plain=plain_flag}} Parameters source: The string to search pattern: The string or pattern to find within source replace: The replacement text count: The number of occurences to replace, defaults to all. plain: Boolean flag indicating that pattern should be understood as plain text and not as a Lua style regular expression, defaults to true ]] function str.replace( frame ) local new_args = str._getParameters( frame.args, {'source', 'pattern', 'replace', 'count', 'plain' } ); local source_str = new_args['source'] or ''; local pattern = new_args['pattern'] or ''; local replace = new_args['replace'] or ''; local count = tonumber( new_args['count'] ); local plain = new_args['plain'] or true; if source_str == '' or pattern == '' then return source_str; end plain = str._getBoolean( plain ); if plain then pattern = str._escapePattern( pattern ); replace = str._escapePattern( replace ); end local result; if count ~= nil then result = mw.ustring.gsub( source_str, pattern, replace, count ); else result = mw.ustring.gsub( source_str, pattern, replace ); end return result; end --[[ Helper function that populates the argument list given that user may need to use a mix of named and unnamed parameters. This is relevant because named parameters are not identical to unnamed parameters due to string trimming, and when dealing with strings we sometimes want to either preserve or remove that whitespace depending on the application. ]] function str._getParameters( frame_args, arg_list ) local new_args = {}; local index = 1; local value; for i,arg in ipairs( arg_list ) do value = frame_args[arg] if value == nil then value = frame_args[index]; index = index + 1; end new_args[arg] = value; end return new_args; end --[[ Helper function to handle error messages. ]] function str._error( error_str ) local frame = mw.getCurrentFrame(); local error_category = frame.args.error_category or 'Errors reported by Module String'; local ignore_errors = frame.args.ignore_errors or false; if str._getBoolean(ignore_errors) then return ''; end local error_str = '<strong class="error">String Module Error: ' .. error_str .. '</strong>'; if error_category ~= '' then error_str = '[[Category:' .. error_category .. ']]' .. error_str; end return error_str; end --[[ Helper Function to interpret boolean strings ]] function str._getBoolean( boolean_str ) local boolean_value; if type( boolean_str ) == 'string' then boolean_str = boolean_str:lower(); if boolean_str == 'false' or boolean_str == 'no' or boolean_str == '0' then boolean_value = false; else boolean_value = true; end elseif type( boolean_str ) == 'boolean' then boolean_value = boolean_str; else error( 'No boolean value found' ); end return boolean_value end --[[ Helper function that escapes all pattern characters so that they will be treated as plain text. ]] function str._escapePattern( pattern_str ) return mw.ustring.gsub( pattern_str, "([%(%)%.%%%+%-%*%?%[%^%$%]])", "%%%1" ); end return str 6cghidens817tlki9vehboel8cl4maj 9612 9611 2013-02-25T03:39:33Z w>Dragons flight 0 accommodate the commonly used "no_category" function 9612 Scribunto text/plain --[[ This module is intended to provide access to basic string functions. Most of the functions provided here can be invoked with named parameters, unnamed parameters, or a mixture. If named parameters are used, Mediawiki will automatically remove any leading or trailing whitespace from the parameter. Depending on the intended use, it may be advantageous to either preserve or remove such whitespace. Global options ignore_errors: If set to 'true' or 1, any error condition will result in an empty string being returned rather than an error message. error_category: If an error occurs, specifies the name of a category to include with the error message. The default category is [Category:Errors reported by Module String]. no_category: If set to 'true' or 1, no category will be added if an error is generated. ]] local str = {} --[[ len This function returns the length of the target string. Usage: {{#invoke:String|len|target_string|}} OR {{#invoke:String|len|s=target_string}} Parameters s: The string whose length to report If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the target string. ]] function str.len( frame ) local new_args = str._getParameters( frame.args, {'s'} ); local s = new_args['s'] or ''; return mw.ustring.len( s ) end --[[ sub This function returns a substring of the target string at specified indices. Usage: {{#invoke:String|sub|target_string|start_index|end_index}} OR {{#invoke:String|sub|s=target_string|i=start_index|j=end_index}} Parameters s: The string to return a subset of i: The fist index of the substring to return, defaults to 1. j: The last index of the string to return, defaults to the last character. The first character of the string is assigned an index of 1. If either i or j is a negative value, it is interpreted the same as selecting a character by counting from the end of the string. Hence, a value of -1 is the same as selecting the last character of the string. If the requested indices are out of range for the given string, an error is reported. ]] function str.sub( frame ) local new_args = str._getParameters( frame.args, { 's', 'i', 'j' } ); local s = new_args['s'] or ''; local i = tonumber( new_args['i'] ) or 1; local j = tonumber( new_args['j'] ) or -1; local len = mw.ustring.len( s ); -- Convert negatives for range checking if i < 0 then i = len + i + 1; end if j < 0 then j = len + j + 1; end if i > len or j > len or i < 1 or j < 1 then return str._error( 'String subset index out of range' ); end if j < i then return str._error( 'String subset indices out of order' ); end return mw.ustring.sub( s, i, j ) end function str.sublength( frame ) local i = tonumber( frame.args.i ) or 0 local len = tonumber( frame.args.len ) return mw.ustring.sub( frame.args.s, i + 1, len and ( i + len ) ) end function str.match( frame ) return mw.ustring.match( frame.args.s, frame.args.pattern, tonumber( frame.args.i ) ) end --[[ pos This function returns a single character from the target string at position pos. Usage: {{#invoke:String|pos|target_string|index_value}} OR {{#invoke:String|pos|target=target_string|pos=index_value}} Parameters target: The string to search pos: The index for the character to return If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the target string. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. The first character has an index value of 1. If one requests a negative value, this function will select a character by counting backwards from the end of the string. In other words pos = -1 is the same as asking for the last character. A requested value of zero, or a value greater than the length of the string returns an error. ]] function str.pos( frame ) local new_args = str._getParameters( frame.args, {'target', 'pos'} ); local target_str = new_args['target'] or ''; local pos = tonumber( new_args['pos'] ) or 0; if pos == 0 or math.abs(pos) > mw.ustring.len( target_str ) then return str._error( 'String index out of range' ); end return mw.ustring.sub( target_str, pos, pos ); end --[[ str_find This function duplicates the behavior of {{str_find}}, including all of its quirks. This is provided in order to support existing templates, but is NOT RECOMMENDED for new code and templates. New code is recommended to use the "find" function instead. Returns the first index in "source" that is a match to "target". Indexing is 1-based, and the function returns -1 if the "target" string is not present in "source". Important Note: If the "target" string is empty / missing, this function returns a value of "1", which is generally unexpected behavior, and must be accounted for separatetly. ]] function str.str_find( frame ) local new_args = str._getParameters( frame.args, {'source', 'target'} ); local source_str = new_args['source'] or ''; local target_str = new_args['target'] or ''; if target_str == '' then return 1; end local start = mw.ustring.find( source_str, target_str, 1, true ) if start == nil then start = -1 end return start end --[[ find This function allows one to search for a target string or pattern within another string. Usage: {{#invoke:String|find|source_str|target_string|start_index|plain_flag}} OR {{#invoke:String|find|source=source_str|target=target_str|start=start_index|plain=plain_flag}} Parameters source: The string to search target: The string or pattern to find within source start: The index within the source string to start the search, defaults to 1 plain: Boolean flag indicating that target should be understood as plain text and not as a Lua style regular expression, defaults to true If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the parameter. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. This function returns the first index >= "start" where "target" can be found within "source". Indices are 1-based. If "target" is not found, then this function returns 0. If either "source" or "target" are missing / empty, this function also returns 0. This function should be safe for UTF-8 strings. ]] function str.find( frame ) local new_args = str._getParameters( frame.args, {'source', 'target', 'start', 'plain' } ); local source_str = new_args['source'] or ''; local pattern = new_args['target'] or ''; local start_pos = tonumber(new_args['start']) or 1; local plain = new_args['plain'] or true; if source_str == '' or pattern == '' then return 0; end plain = str._getBoolean( plain ); local start = mw.ustring.find( source_str, pattern, start_pos, plain ) if start == nil then start = 0 end return start end --[[ replace This function allows one to replace a target string or pattern within another string. Usage: {{#invoke:String|replace|source_str|pattern_string|replace_string|replacement_count|plain_flag}} OR {{#invoke:String|replace|source=source_string|pattern=pattern_string|replace=replace_string| count=replacement_count|plain=plain_flag}} Parameters source: The string to search pattern: The string or pattern to find within source replace: The replacement text count: The number of occurences to replace, defaults to all. plain: Boolean flag indicating that pattern should be understood as plain text and not as a Lua style regular expression, defaults to true ]] function str.replace( frame ) local new_args = str._getParameters( frame.args, {'source', 'pattern', 'replace', 'count', 'plain' } ); local source_str = new_args['source'] or ''; local pattern = new_args['pattern'] or ''; local replace = new_args['replace'] or ''; local count = tonumber( new_args['count'] ); local plain = new_args['plain'] or true; if source_str == '' or pattern == '' then return source_str; end plain = str._getBoolean( plain ); if plain then pattern = str._escapePattern( pattern ); replace = str._escapePattern( replace ); end local result; if count ~= nil then result = mw.ustring.gsub( source_str, pattern, replace, count ); else result = mw.ustring.gsub( source_str, pattern, replace ); end return result; end --[[ Helper function that populates the argument list given that user may need to use a mix of named and unnamed parameters. This is relevant because named parameters are not identical to unnamed parameters due to string trimming, and when dealing with strings we sometimes want to either preserve or remove that whitespace depending on the application. ]] function str._getParameters( frame_args, arg_list ) local new_args = {}; local index = 1; local value; for i,arg in ipairs( arg_list ) do value = frame_args[arg] if value == nil then value = frame_args[index]; index = index + 1; end new_args[arg] = value; end return new_args; end --[[ Helper function to handle error messages. ]] function str._error( error_str ) local frame = mw.getCurrentFrame(); local error_category = frame.args.error_category or 'Errors reported by Module String'; local ignore_errors = frame.args.ignore_errors or false; local no_category = frame.args.no_category or false; if str._getBoolean(ignore_errors) then return ''; end local error_str = '<strong class="error">String Module Error: ' .. error_str .. '</strong>'; if error_category ~= '' and not str._getBoolean( no_category ) then error_str = '[[Category:' .. error_category .. ']]' .. error_str; end return error_str; end --[[ Helper Function to interpret boolean strings ]] function str._getBoolean( boolean_str ) local boolean_value; if type( boolean_str ) == 'string' then boolean_str = boolean_str:lower(); if boolean_str == 'false' or boolean_str == 'no' or boolean_str == '0' or boolean_str == '' then boolean_value = false; else boolean_value = true; end elseif type( boolean_str ) == 'boolean' then boolean_value = boolean_str; else error( 'No boolean value found' ); end return boolean_value end --[[ Helper function that escapes all pattern characters so that they will be treated as plain text. ]] function str._escapePattern( pattern_str ) return mw.ustring.gsub( pattern_str, "([%(%)%.%%%+%-%*%?%[%^%$%]])", "%%%1" ); end return str g762xy7jgy0su7i70el67krhj753n01 9613 9612 2013-02-25T03:42:46Z w>Dcoetzee 0 +Unit tests for this module are available at Module:String/tests. 9613 Scribunto text/plain --[[ This module is intended to provide access to basic string functions. Most of the functions provided here can be invoked with named parameters, unnamed parameters, or a mixture. If named parameters are used, Mediawiki will automatically remove any leading or trailing whitespace from the parameter. Depending on the intended use, it may be advantageous to either preserve or remove such whitespace. Global options ignore_errors: If set to 'true' or 1, any error condition will result in an empty string being returned rather than an error message. error_category: If an error occurs, specifies the name of a category to include with the error message. The default category is [Category:Errors reported by Module String]. no_category: If set to 'true' or 1, no category will be added if an error is generated. Unit tests for this module are available at Module:String/tests. ]] local str = {} --[[ len This function returns the length of the target string. Usage: {{#invoke:String|len|target_string|}} OR {{#invoke:String|len|s=target_string}} Parameters s: The string whose length to report If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the target string. ]] function str.len( frame ) local new_args = str._getParameters( frame.args, {'s'} ); local s = new_args['s'] or ''; return mw.ustring.len( s ) end --[[ sub This function returns a substring of the target string at specified indices. Usage: {{#invoke:String|sub|target_string|start_index|end_index}} OR {{#invoke:String|sub|s=target_string|i=start_index|j=end_index}} Parameters s: The string to return a subset of i: The fist index of the substring to return, defaults to 1. j: The last index of the string to return, defaults to the last character. The first character of the string is assigned an index of 1. If either i or j is a negative value, it is interpreted the same as selecting a character by counting from the end of the string. Hence, a value of -1 is the same as selecting the last character of the string. If the requested indices are out of range for the given string, an error is reported. ]] function str.sub( frame ) local new_args = str._getParameters( frame.args, { 's', 'i', 'j' } ); local s = new_args['s'] or ''; local i = tonumber( new_args['i'] ) or 1; local j = tonumber( new_args['j'] ) or -1; local len = mw.ustring.len( s ); -- Convert negatives for range checking if i < 0 then i = len + i + 1; end if j < 0 then j = len + j + 1; end if i > len or j > len or i < 1 or j < 1 then return str._error( 'String subset index out of range' ); end if j < i then return str._error( 'String subset indices out of order' ); end return mw.ustring.sub( s, i, j ) end function str.sublength( frame ) local i = tonumber( frame.args.i ) or 0 local len = tonumber( frame.args.len ) return mw.ustring.sub( frame.args.s, i + 1, len and ( i + len ) ) end function str.match( frame ) return mw.ustring.match( frame.args.s, frame.args.pattern, tonumber( frame.args.i ) ) end --[[ pos This function returns a single character from the target string at position pos. Usage: {{#invoke:String|pos|target_string|index_value}} OR {{#invoke:String|pos|target=target_string|pos=index_value}} Parameters target: The string to search pos: The index for the character to return If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the target string. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. The first character has an index value of 1. If one requests a negative value, this function will select a character by counting backwards from the end of the string. In other words pos = -1 is the same as asking for the last character. A requested value of zero, or a value greater than the length of the string returns an error. ]] function str.pos( frame ) local new_args = str._getParameters( frame.args, {'target', 'pos'} ); local target_str = new_args['target'] or ''; local pos = tonumber( new_args['pos'] ) or 0; if pos == 0 or math.abs(pos) > mw.ustring.len( target_str ) then return str._error( 'String index out of range' ); end return mw.ustring.sub( target_str, pos, pos ); end --[[ str_find This function duplicates the behavior of {{str_find}}, including all of its quirks. This is provided in order to support existing templates, but is NOT RECOMMENDED for new code and templates. New code is recommended to use the "find" function instead. Returns the first index in "source" that is a match to "target". Indexing is 1-based, and the function returns -1 if the "target" string is not present in "source". Important Note: If the "target" string is empty / missing, this function returns a value of "1", which is generally unexpected behavior, and must be accounted for separatetly. ]] function str.str_find( frame ) local new_args = str._getParameters( frame.args, {'source', 'target'} ); local source_str = new_args['source'] or ''; local target_str = new_args['target'] or ''; if target_str == '' then return 1; end local start = mw.ustring.find( source_str, target_str, 1, true ) if start == nil then start = -1 end return start end --[[ find This function allows one to search for a target string or pattern within another string. Usage: {{#invoke:String|find|source_str|target_string|start_index|plain_flag}} OR {{#invoke:String|find|source=source_str|target=target_str|start=start_index|plain=plain_flag}} Parameters source: The string to search target: The string or pattern to find within source start: The index within the source string to start the search, defaults to 1 plain: Boolean flag indicating that target should be understood as plain text and not as a Lua style regular expression, defaults to true If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the parameter. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. This function returns the first index >= "start" where "target" can be found within "source". Indices are 1-based. If "target" is not found, then this function returns 0. If either "source" or "target" are missing / empty, this function also returns 0. This function should be safe for UTF-8 strings. ]] function str.find( frame ) local new_args = str._getParameters( frame.args, {'source', 'target', 'start', 'plain' } ); local source_str = new_args['source'] or ''; local pattern = new_args['target'] or ''; local start_pos = tonumber(new_args['start']) or 1; local plain = new_args['plain'] or true; if source_str == '' or pattern == '' then return 0; end plain = str._getBoolean( plain ); local start = mw.ustring.find( source_str, pattern, start_pos, plain ) if start == nil then start = 0 end return start end --[[ replace This function allows one to replace a target string or pattern within another string. Usage: {{#invoke:String|replace|source_str|pattern_string|replace_string|replacement_count|plain_flag}} OR {{#invoke:String|replace|source=source_string|pattern=pattern_string|replace=replace_string| count=replacement_count|plain=plain_flag}} Parameters source: The string to search pattern: The string or pattern to find within source replace: The replacement text count: The number of occurences to replace, defaults to all. plain: Boolean flag indicating that pattern should be understood as plain text and not as a Lua style regular expression, defaults to true ]] function str.replace( frame ) local new_args = str._getParameters( frame.args, {'source', 'pattern', 'replace', 'count', 'plain' } ); local source_str = new_args['source'] or ''; local pattern = new_args['pattern'] or ''; local replace = new_args['replace'] or ''; local count = tonumber( new_args['count'] ); local plain = new_args['plain'] or true; if source_str == '' or pattern == '' then return source_str; end plain = str._getBoolean( plain ); if plain then pattern = str._escapePattern( pattern ); replace = str._escapePattern( replace ); end local result; if count ~= nil then result = mw.ustring.gsub( source_str, pattern, replace, count ); else result = mw.ustring.gsub( source_str, pattern, replace ); end return result; end --[[ Helper function that populates the argument list given that user may need to use a mix of named and unnamed parameters. This is relevant because named parameters are not identical to unnamed parameters due to string trimming, and when dealing with strings we sometimes want to either preserve or remove that whitespace depending on the application. ]] function str._getParameters( frame_args, arg_list ) local new_args = {}; local index = 1; local value; for i,arg in ipairs( arg_list ) do value = frame_args[arg] if value == nil then value = frame_args[index]; index = index + 1; end new_args[arg] = value; end return new_args; end --[[ Helper function to handle error messages. ]] function str._error( error_str ) local frame = mw.getCurrentFrame(); local error_category = frame.args.error_category or 'Errors reported by Module String'; local ignore_errors = frame.args.ignore_errors or false; local no_category = frame.args.no_category or false; if str._getBoolean(ignore_errors) then return ''; end local error_str = '<strong class="error">String Module Error: ' .. error_str .. '</strong>'; if error_category ~= '' and not str._getBoolean( no_category ) then error_str = '[[Category:' .. error_category .. ']]' .. error_str; end return error_str; end --[[ Helper Function to interpret boolean strings ]] function str._getBoolean( boolean_str ) local boolean_value; if type( boolean_str ) == 'string' then boolean_str = boolean_str:lower(); if boolean_str == 'false' or boolean_str == 'no' or boolean_str == '0' or boolean_str == '' then boolean_value = false; else boolean_value = true; end elseif type( boolean_str ) == 'boolean' then boolean_value = boolean_str; else error( 'No boolean value found' ); end return boolean_value end --[[ Helper function that escapes all pattern characters so that they will be treated as plain text. ]] function str._escapePattern( pattern_str ) return mw.ustring.gsub( pattern_str, "([%(%)%.%%%+%-%*%?%[%^%$%]])", "%%%1" ); end return str lnctwur039fsjq7s3gwcfpl6emqc0s2 9614 9613 2013-02-25T04:54:39Z w>Dragons flight 0 fix pattern escape in replace function 9614 Scribunto text/plain --[[ This module is intended to provide access to basic string functions. Most of the functions provided here can be invoked with named parameters, unnamed parameters, or a mixture. If named parameters are used, Mediawiki will automatically remove any leading or trailing whitespace from the parameter. Depending on the intended use, it may be advantageous to either preserve or remove such whitespace. Global options ignore_errors: If set to 'true' or 1, any error condition will result in an empty string being returned rather than an error message. error_category: If an error occurs, specifies the name of a category to include with the error message. The default category is [Category:Errors reported by Module String]. no_category: If set to 'true' or 1, no category will be added if an error is generated. Unit tests for this module are available at Module:String/tests. ]] local str = {} --[[ len This function returns the length of the target string. Usage: {{#invoke:String|len|target_string|}} OR {{#invoke:String|len|s=target_string}} Parameters s: The string whose length to report If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the target string. ]] function str.len( frame ) local new_args = str._getParameters( frame.args, {'s'} ); local s = new_args['s'] or ''; return mw.ustring.len( s ) end --[[ sub This function returns a substring of the target string at specified indices. Usage: {{#invoke:String|sub|target_string|start_index|end_index}} OR {{#invoke:String|sub|s=target_string|i=start_index|j=end_index}} Parameters s: The string to return a subset of i: The fist index of the substring to return, defaults to 1. j: The last index of the string to return, defaults to the last character. The first character of the string is assigned an index of 1. If either i or j is a negative value, it is interpreted the same as selecting a character by counting from the end of the string. Hence, a value of -1 is the same as selecting the last character of the string. If the requested indices are out of range for the given string, an error is reported. ]] function str.sub( frame ) local new_args = str._getParameters( frame.args, { 's', 'i', 'j' } ); local s = new_args['s'] or ''; local i = tonumber( new_args['i'] ) or 1; local j = tonumber( new_args['j'] ) or -1; local len = mw.ustring.len( s ); -- Convert negatives for range checking if i < 0 then i = len + i + 1; end if j < 0 then j = len + j + 1; end if i > len or j > len or i < 1 or j < 1 then return str._error( 'String subset index out of range' ); end if j < i then return str._error( 'String subset indices out of order' ); end return mw.ustring.sub( s, i, j ) end function str.sublength( frame ) local i = tonumber( frame.args.i ) or 0 local len = tonumber( frame.args.len ) return mw.ustring.sub( frame.args.s, i + 1, len and ( i + len ) ) end function str.match( frame ) return mw.ustring.match( frame.args.s, frame.args.pattern, tonumber( frame.args.i ) ) end --[[ pos This function returns a single character from the target string at position pos. Usage: {{#invoke:String|pos|target_string|index_value}} OR {{#invoke:String|pos|target=target_string|pos=index_value}} Parameters target: The string to search pos: The index for the character to return If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the target string. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. The first character has an index value of 1. If one requests a negative value, this function will select a character by counting backwards from the end of the string. In other words pos = -1 is the same as asking for the last character. A requested value of zero, or a value greater than the length of the string returns an error. ]] function str.pos( frame ) local new_args = str._getParameters( frame.args, {'target', 'pos'} ); local target_str = new_args['target'] or ''; local pos = tonumber( new_args['pos'] ) or 0; if pos == 0 or math.abs(pos) > mw.ustring.len( target_str ) then return str._error( 'String index out of range' ); end return mw.ustring.sub( target_str, pos, pos ); end --[[ str_find This function duplicates the behavior of {{str_find}}, including all of its quirks. This is provided in order to support existing templates, but is NOT RECOMMENDED for new code and templates. New code is recommended to use the "find" function instead. Returns the first index in "source" that is a match to "target". Indexing is 1-based, and the function returns -1 if the "target" string is not present in "source". Important Note: If the "target" string is empty / missing, this function returns a value of "1", which is generally unexpected behavior, and must be accounted for separatetly. ]] function str.str_find( frame ) local new_args = str._getParameters( frame.args, {'source', 'target'} ); local source_str = new_args['source'] or ''; local target_str = new_args['target'] or ''; if target_str == '' then return 1; end local start = mw.ustring.find( source_str, target_str, 1, true ) if start == nil then start = -1 end return start end --[[ find This function allows one to search for a target string or pattern within another string. Usage: {{#invoke:String|find|source_str|target_string|start_index|plain_flag}} OR {{#invoke:String|find|source=source_str|target=target_str|start=start_index|plain=plain_flag}} Parameters source: The string to search target: The string or pattern to find within source start: The index within the source string to start the search, defaults to 1 plain: Boolean flag indicating that target should be understood as plain text and not as a Lua style regular expression, defaults to true If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the parameter. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. This function returns the first index >= "start" where "target" can be found within "source". Indices are 1-based. If "target" is not found, then this function returns 0. If either "source" or "target" are missing / empty, this function also returns 0. This function should be safe for UTF-8 strings. ]] function str.find( frame ) local new_args = str._getParameters( frame.args, {'source', 'target', 'start', 'plain' } ); local source_str = new_args['source'] or ''; local pattern = new_args['target'] or ''; local start_pos = tonumber(new_args['start']) or 1; local plain = new_args['plain'] or true; if source_str == '' or pattern == '' then return 0; end plain = str._getBoolean( plain ); local start = mw.ustring.find( source_str, pattern, start_pos, plain ) if start == nil then start = 0 end return start end --[[ replace This function allows one to replace a target string or pattern within another string. Usage: {{#invoke:String|replace|source_str|pattern_string|replace_string|replacement_count|plain_flag}} OR {{#invoke:String|replace|source=source_string|pattern=pattern_string|replace=replace_string| count=replacement_count|plain=plain_flag}} Parameters source: The string to search pattern: The string or pattern to find within source replace: The replacement text count: The number of occurences to replace, defaults to all. plain: Boolean flag indicating that pattern should be understood as plain text and not as a Lua style regular expression, defaults to true ]] function str.replace( frame ) local new_args = str._getParameters( frame.args, {'source', 'pattern', 'replace', 'count', 'plain' } ); local source_str = new_args['source'] or ''; local pattern = new_args['pattern'] or ''; local replace = new_args['replace'] or ''; local count = tonumber( new_args['count'] ); local plain = new_args['plain'] or true; if source_str == '' or pattern == '' then return source_str; end plain = str._getBoolean( plain ); if plain then pattern = str._escapePattern( pattern ); replace = mw.ustring.gsub( replace, "%%", "%%%%" ); --Only need to escape replacement sequences. end local result; if count ~= nil then result = mw.ustring.gsub( source_str, pattern, replace, count ); else result = mw.ustring.gsub( source_str, pattern, replace ); end return result; end --[[ Helper function that populates the argument list given that user may need to use a mix of named and unnamed parameters. This is relevant because named parameters are not identical to unnamed parameters due to string trimming, and when dealing with strings we sometimes want to either preserve or remove that whitespace depending on the application. ]] function str._getParameters( frame_args, arg_list ) local new_args = {}; local index = 1; local value; for i,arg in ipairs( arg_list ) do value = frame_args[arg] if value == nil then value = frame_args[index]; index = index + 1; end new_args[arg] = value; end return new_args; end --[[ Helper function to handle error messages. ]] function str._error( error_str ) local frame = mw.getCurrentFrame(); local error_category = frame.args.error_category or 'Errors reported by Module String'; local ignore_errors = frame.args.ignore_errors or false; local no_category = frame.args.no_category or false; if str._getBoolean(ignore_errors) then return ''; end local error_str = '<strong class="error">String Module Error: ' .. error_str .. '</strong>'; if error_category ~= '' and not str._getBoolean( no_category ) then error_str = '[[Category:' .. error_category .. ']]' .. error_str; end return error_str; end --[[ Helper Function to interpret boolean strings ]] function str._getBoolean( boolean_str ) local boolean_value; if type( boolean_str ) == 'string' then boolean_str = boolean_str:lower(); if boolean_str == 'false' or boolean_str == 'no' or boolean_str == '0' or boolean_str == '' then boolean_value = false; else boolean_value = true; end elseif type( boolean_str ) == 'boolean' then boolean_value = boolean_str; else error( 'No boolean value found' ); end return boolean_value end --[[ Helper function that escapes all pattern characters so that they will be treated as plain text. ]] function str._escapePattern( pattern_str ) return mw.ustring.gsub( pattern_str, "([%(%)%.%%%+%-%*%?%[%^%$%]])", "%%%1" ); end return str lrdk0sl8cscokct4mrom61dat8j1mt4 9615 9614 2013-02-25T20:29:49Z w>Dragons flight 0 adds updated match support with wider parameter choices, whitespace handling, etc. 9615 Scribunto text/plain --[[ This module is intended to provide access to basic string functions. Most of the functions provided here can be invoked with named parameters, unnamed parameters, or a mixture. If named parameters are used, Mediawiki will automatically remove any leading or trailing whitespace from the parameter. Depending on the intended use, it may be advantageous to either preserve or remove such whitespace. Global options ignore_errors: If set to 'true' or 1, any error condition will result in an empty string being returned rather than an error message. error_category: If an error occurs, specifies the name of a category to include with the error message. The default category is [Category:Errors reported by Module String]. no_category: If set to 'true' or 1, no category will be added if an error is generated. Unit tests for this module are available at Module:String/tests. ]] local str = {} --[[ len This function returns the length of the target string. Usage: {{#invoke:String|len|target_string|}} OR {{#invoke:String|len|s=target_string}} Parameters s: The string whose length to report If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the target string. ]] function str.len( frame ) local new_args = str._getParameters( frame.args, {'s'} ); local s = new_args['s'] or ''; return mw.ustring.len( s ) end --[[ sub This function returns a substring of the target string at specified indices. Usage: {{#invoke:String|sub|target_string|start_index|end_index}} OR {{#invoke:String|sub|s=target_string|i=start_index|j=end_index}} Parameters s: The string to return a subset of i: The fist index of the substring to return, defaults to 1. j: The last index of the string to return, defaults to the last character. The first character of the string is assigned an index of 1. If either i or j is a negative value, it is interpreted the same as selecting a character by counting from the end of the string. Hence, a value of -1 is the same as selecting the last character of the string. If the requested indices are out of range for the given string, an error is reported. ]] function str.sub( frame ) local new_args = str._getParameters( frame.args, { 's', 'i', 'j' } ); local s = new_args['s'] or ''; local i = tonumber( new_args['i'] ) or 1; local j = tonumber( new_args['j'] ) or -1; local len = mw.ustring.len( s ); -- Convert negatives for range checking if i < 0 then i = len + i + 1; end if j < 0 then j = len + j + 1; end if i > len or j > len or i < 1 or j < 1 then return str._error( 'String subset index out of range' ); end if j < i then return str._error( 'String subset indices out of order' ); end return mw.ustring.sub( s, i, j ) end --[[ This function implements that features of {{str sub old}} and is kept in order to maintain these older templates. ]] function str.sublength( frame ) local i = tonumber( frame.args.i ) or 0 local len = tonumber( frame.args.len ) return mw.ustring.sub( frame.args.s, i + 1, len and ( i + len ) ) end --[[ match This function returns a substring from the source string that matches a specified pattern. Usage: {{#invoke:String|match|source_string|pattern_string|start_index|match_number|plain_flag}} OR {{#invoke:String|pos|s=source_string|pattern=pattern_string|start=start_index |match=match_number|plain=plain_flag}} Parameters s: The string to search pattern: The pattern or string to find within the string start: The index within the source string to start the search. The first character of the string has index 1. Defaults to 1. match: In some cases it may be possible to make multiple matches on a single string. This specifies which match to return, where the first match is match= 1. If a negative number is specified then a match is returned counting from the last match. Hence match = -1 is the same as requesting the last match. Defaults to 1. plain_flag: A flag indicating that the pattern should be understood as plain text. Defaults to false. If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from each string. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. If the match_number or start_index are out of range for the string being queried, then this function generates an error. An error is also generated if no match is found. If one adds the parameter ignore_errors=true, then the error will be suppressed and an empty string will be returned on any failure. For information on constructing Lua patterns, a form of [regular expression], see: * http://www.lua.org/manual/5.1/manual.html#5.4.1 * http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Patterns * http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Ustring_patterns ]] function str.match( frame ) local new_args = str._getParameters( frame.args, {'s', 'pattern', 'start', 'match', 'plain'} ); local s = new_args['s'] or ''; local start = tonumber( new_args['start'] ) or 1; local plain_flag = str._getBoolean( new_args['plain'] or false ); local pattern = new_args['pattern'] or ''; local match_index = math.floor( tonumber(new_args['match']) or 1 ); if s == '' then return str._error( 'Target string is empty' ); end if pattern == '' then return str._error( 'Pattern string is empty' ); end if math.abs(start) < 1 or math.abs(start) > mw.ustring.len( s ) then return str._error( 'Requested start is out of range' ); end if match_index == 0 then return str._error( 'Match index is out of range' ); end if plain_flag then pattern = str._escapePattern( pattern ); end local result if match_index == 1 then -- Find first match is simple case result = mw.ustring.match( s, pattern, start ) else if start > 1 then s = mw.ustring.sub( s, start ); end local iterator = mw.ustring.gmatch(s, pattern); if match_index > 0 then -- Forward search for w in iterator do match_index = match_index - 1; if match_index == 0 then result = w; break; end end else -- Reverse search local result_table = {}; local count = 1; for w in iterator do result_table[count] = w; count = count + 1; end result = result_table[ count + match_index ]; end end if result == nil then return str._error( 'Match not found' ); else return result; end end --[[ pos This function returns a single character from the target string at position pos. Usage: {{#invoke:String|pos|target_string|index_value}} OR {{#invoke:String|pos|target=target_string|pos=index_value}} Parameters target: The string to search pos: The index for the character to return If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the target string. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. The first character has an index value of 1. If one requests a negative value, this function will select a character by counting backwards from the end of the string. In other words pos = -1 is the same as asking for the last character. A requested value of zero, or a value greater than the length of the string returns an error. ]] function str.pos( frame ) local new_args = str._getParameters( frame.args, {'target', 'pos'} ); local target_str = new_args['target'] or ''; local pos = tonumber( new_args['pos'] ) or 0; if pos == 0 or math.abs(pos) > mw.ustring.len( target_str ) then return str._error( 'String index out of range' ); end return mw.ustring.sub( target_str, pos, pos ); end --[[ str_find This function duplicates the behavior of {{str_find}}, including all of its quirks. This is provided in order to support existing templates, but is NOT RECOMMENDED for new code and templates. New code is recommended to use the "find" function instead. Returns the first index in "source" that is a match to "target". Indexing is 1-based, and the function returns -1 if the "target" string is not present in "source". Important Note: If the "target" string is empty / missing, this function returns a value of "1", which is generally unexpected behavior, and must be accounted for separatetly. ]] function str.str_find( frame ) local new_args = str._getParameters( frame.args, {'source', 'target'} ); local source_str = new_args['source'] or ''; local target_str = new_args['target'] or ''; if target_str == '' then return 1; end local start = mw.ustring.find( source_str, target_str, 1, true ) if start == nil then start = -1 end return start end --[[ find This function allows one to search for a target string or pattern within another string. Usage: {{#invoke:String|find|source_str|target_string|start_index|plain_flag}} OR {{#invoke:String|find|source=source_str|target=target_str|start=start_index|plain=plain_flag}} Parameters source: The string to search target: The string or pattern to find within source start: The index within the source string to start the search, defaults to 1 plain: Boolean flag indicating that target should be understood as plain text and not as a Lua style regular expression, defaults to true If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the parameter. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. This function returns the first index >= "start" where "target" can be found within "source". Indices are 1-based. If "target" is not found, then this function returns 0. If either "source" or "target" are missing / empty, this function also returns 0. This function should be safe for UTF-8 strings. ]] function str.find( frame ) local new_args = str._getParameters( frame.args, {'source', 'target', 'start', 'plain' } ); local source_str = new_args['source'] or ''; local pattern = new_args['target'] or ''; local start_pos = tonumber(new_args['start']) or 1; local plain = new_args['plain'] or true; if source_str == '' or pattern == '' then return 0; end plain = str._getBoolean( plain ); local start = mw.ustring.find( source_str, pattern, start_pos, plain ) if start == nil then start = 0 end return start end --[[ replace This function allows one to replace a target string or pattern within another string. Usage: {{#invoke:String|replace|source_str|pattern_string|replace_string|replacement_count|plain_flag}} OR {{#invoke:String|replace|source=source_string|pattern=pattern_string|replace=replace_string| count=replacement_count|plain=plain_flag}} Parameters source: The string to search pattern: The string or pattern to find within source replace: The replacement text count: The number of occurences to replace, defaults to all. plain: Boolean flag indicating that pattern should be understood as plain text and not as a Lua style regular expression, defaults to true ]] function str.replace( frame ) local new_args = str._getParameters( frame.args, {'source', 'pattern', 'replace', 'count', 'plain' } ); local source_str = new_args['source'] or ''; local pattern = new_args['pattern'] or ''; local replace = new_args['replace'] or ''; local count = tonumber( new_args['count'] ); local plain = new_args['plain'] or true; if source_str == '' or pattern == '' then return source_str; end plain = str._getBoolean( plain ); if plain then pattern = str._escapePattern( pattern ); replace = mw.ustring.gsub( replace, "%%", "%%%%" ); --Only need to escape replacement sequences. end local result; if count ~= nil then result = mw.ustring.gsub( source_str, pattern, replace, count ); else result = mw.ustring.gsub( source_str, pattern, replace ); end return result; end --[[ Helper function that populates the argument list given that user may need to use a mix of named and unnamed parameters. This is relevant because named parameters are not identical to unnamed parameters due to string trimming, and when dealing with strings we sometimes want to either preserve or remove that whitespace depending on the application. ]] function str._getParameters( frame_args, arg_list ) local new_args = {}; local index = 1; local value; for i,arg in ipairs( arg_list ) do value = frame_args[arg] if value == nil then value = frame_args[index]; index = index + 1; end new_args[arg] = value; end return new_args; end --[[ Helper function to handle error messages. ]] function str._error( error_str ) local frame = mw.getCurrentFrame(); local error_category = frame.args.error_category or 'Errors reported by Module String'; local ignore_errors = frame.args.ignore_errors or false; local no_category = frame.args.no_category or false; if str._getBoolean(ignore_errors) then return ''; end local error_str = '<strong class="error">String Module Error: ' .. error_str .. '</strong>'; if error_category ~= '' and not str._getBoolean( no_category ) then error_str = '[[Category:' .. error_category .. ']]' .. error_str; end return error_str; end --[[ Helper Function to interpret boolean strings ]] function str._getBoolean( boolean_str ) local boolean_value; if type( boolean_str ) == 'string' then boolean_str = boolean_str:lower(); if boolean_str == 'false' or boolean_str == 'no' or boolean_str == '0' or boolean_str == '' then boolean_value = false; else boolean_value = true; end elseif type( boolean_str ) == 'boolean' then boolean_value = boolean_str; else error( 'No boolean value found' ); end return boolean_value end --[[ Helper function that escapes all pattern characters so that they will be treated as plain text. ]] function str._escapePattern( pattern_str ) return mw.ustring.gsub( pattern_str, "([%(%)%.%%%+%-%*%?%[%^%$%]])", "%%%1" ); end return str phhnu215iifi99bw3cl9o3zisht7x0c 9616 9615 2013-02-26T13:50:10Z w>WOSlinker 0 add nomatch option to str.match 9616 Scribunto text/plain --[[ This module is intended to provide access to basic string functions. Most of the functions provided here can be invoked with named parameters, unnamed parameters, or a mixture. If named parameters are used, Mediawiki will automatically remove any leading or trailing whitespace from the parameter. Depending on the intended use, it may be advantageous to either preserve or remove such whitespace. Global options ignore_errors: If set to 'true' or 1, any error condition will result in an empty string being returned rather than an error message. error_category: If an error occurs, specifies the name of a category to include with the error message. The default category is [Category:Errors reported by Module String]. no_category: If set to 'true' or 1, no category will be added if an error is generated. Unit tests for this module are available at Module:String/tests. ]] local str = {} --[[ len This function returns the length of the target string. Usage: {{#invoke:String|len|target_string|}} OR {{#invoke:String|len|s=target_string}} Parameters s: The string whose length to report If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the target string. ]] function str.len( frame ) local new_args = str._getParameters( frame.args, {'s'} ); local s = new_args['s'] or ''; return mw.ustring.len( s ) end --[[ sub This function returns a substring of the target string at specified indices. Usage: {{#invoke:String|sub|target_string|start_index|end_index}} OR {{#invoke:String|sub|s=target_string|i=start_index|j=end_index}} Parameters s: The string to return a subset of i: The fist index of the substring to return, defaults to 1. j: The last index of the string to return, defaults to the last character. The first character of the string is assigned an index of 1. If either i or j is a negative value, it is interpreted the same as selecting a character by counting from the end of the string. Hence, a value of -1 is the same as selecting the last character of the string. If the requested indices are out of range for the given string, an error is reported. ]] function str.sub( frame ) local new_args = str._getParameters( frame.args, { 's', 'i', 'j' } ); local s = new_args['s'] or ''; local i = tonumber( new_args['i'] ) or 1; local j = tonumber( new_args['j'] ) or -1; local len = mw.ustring.len( s ); -- Convert negatives for range checking if i < 0 then i = len + i + 1; end if j < 0 then j = len + j + 1; end if i > len or j > len or i < 1 or j < 1 then return str._error( 'String subset index out of range' ); end if j < i then return str._error( 'String subset indices out of order' ); end return mw.ustring.sub( s, i, j ) end --[[ This function implements that features of {{str sub old}} and is kept in order to maintain these older templates. ]] function str.sublength( frame ) local i = tonumber( frame.args.i ) or 0 local len = tonumber( frame.args.len ) return mw.ustring.sub( frame.args.s, i + 1, len and ( i + len ) ) end --[[ match This function returns a substring from the source string that matches a specified pattern. Usage: {{#invoke:String|match|source_string|pattern_string|start_index|match_number|plain_flag|nomatch_output}} OR {{#invoke:String|pos|s=source_string|pattern=pattern_string|start=start_index |match=match_number|plain=plain_flag|nomatch=nomatch_output}} Parameters s: The string to search pattern: The pattern or string to find within the string start: The index within the source string to start the search. The first character of the string has index 1. Defaults to 1. match: In some cases it may be possible to make multiple matches on a single string. This specifies which match to return, where the first match is match= 1. If a negative number is specified then a match is returned counting from the last match. Hence match = -1 is the same as requesting the last match. Defaults to 1. plain: A flag indicating that the pattern should be understood as plain text. Defaults to false. nomatch: If no match is found, output the "nomatch" value rather than an error. If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from each string. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. If the match_number or start_index are out of range for the string being queried, then this function generates an error. An error is also generated if no match is found. If one adds the parameter ignore_errors=true, then the error will be suppressed and an empty string will be returned on any failure. For information on constructing Lua patterns, a form of [regular expression], see: * http://www.lua.org/manual/5.1/manual.html#5.4.1 * http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Patterns * http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Ustring_patterns ]] function str.match( frame ) local new_args = str._getParameters( frame.args, {'s', 'pattern', 'start', 'match', 'plain', 'nomatch'} ); local s = new_args['s'] or ''; local start = tonumber( new_args['start'] ) or 1; local plain_flag = str._getBoolean( new_args['plain'] or false ); local pattern = new_args['pattern'] or ''; local match_index = math.floor( tonumber(new_args['match']) or 1 ); local nomatch = new_args['nomatch']; if s == '' then return str._error( 'Target string is empty' ); end if pattern == '' then return str._error( 'Pattern string is empty' ); end if math.abs(start) < 1 or math.abs(start) > mw.ustring.len( s ) then return str._error( 'Requested start is out of range' ); end if match_index == 0 then return str._error( 'Match index is out of range' ); end if plain_flag then pattern = str._escapePattern( pattern ); end local result if match_index == 1 then -- Find first match is simple case result = mw.ustring.match( s, pattern, start ) else if start > 1 then s = mw.ustring.sub( s, start ); end local iterator = mw.ustring.gmatch(s, pattern); if match_index > 0 then -- Forward search for w in iterator do match_index = match_index - 1; if match_index == 0 then result = w; break; end end else -- Reverse search local result_table = {}; local count = 1; for w in iterator do result_table[count] = w; count = count + 1; end result = result_table[ count + match_index ]; end end if result == nil then if nomatch == nil then return str._error( 'Match not found' ); else return nomatch; end else return result; end end --[[ pos This function returns a single character from the target string at position pos. Usage: {{#invoke:String|pos|target_string|index_value}} OR {{#invoke:String|pos|target=target_string|pos=index_value}} Parameters target: The string to search pos: The index for the character to return If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the target string. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. The first character has an index value of 1. If one requests a negative value, this function will select a character by counting backwards from the end of the string. In other words pos = -1 is the same as asking for the last character. A requested value of zero, or a value greater than the length of the string returns an error. ]] function str.pos( frame ) local new_args = str._getParameters( frame.args, {'target', 'pos'} ); local target_str = new_args['target'] or ''; local pos = tonumber( new_args['pos'] ) or 0; if pos == 0 or math.abs(pos) > mw.ustring.len( target_str ) then return str._error( 'String index out of range' ); end return mw.ustring.sub( target_str, pos, pos ); end --[[ str_find This function duplicates the behavior of {{str_find}}, including all of its quirks. This is provided in order to support existing templates, but is NOT RECOMMENDED for new code and templates. New code is recommended to use the "find" function instead. Returns the first index in "source" that is a match to "target". Indexing is 1-based, and the function returns -1 if the "target" string is not present in "source". Important Note: If the "target" string is empty / missing, this function returns a value of "1", which is generally unexpected behavior, and must be accounted for separatetly. ]] function str.str_find( frame ) local new_args = str._getParameters( frame.args, {'source', 'target'} ); local source_str = new_args['source'] or ''; local target_str = new_args['target'] or ''; if target_str == '' then return 1; end local start = mw.ustring.find( source_str, target_str, 1, true ) if start == nil then start = -1 end return start end --[[ find This function allows one to search for a target string or pattern within another string. Usage: {{#invoke:String|find|source_str|target_string|start_index|plain_flag}} OR {{#invoke:String|find|source=source_str|target=target_str|start=start_index|plain=plain_flag}} Parameters source: The string to search target: The string or pattern to find within source start: The index within the source string to start the search, defaults to 1 plain: Boolean flag indicating that target should be understood as plain text and not as a Lua style regular expression, defaults to true If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the parameter. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. This function returns the first index >= "start" where "target" can be found within "source". Indices are 1-based. If "target" is not found, then this function returns 0. If either "source" or "target" are missing / empty, this function also returns 0. This function should be safe for UTF-8 strings. ]] function str.find( frame ) local new_args = str._getParameters( frame.args, {'source', 'target', 'start', 'plain' } ); local source_str = new_args['source'] or ''; local pattern = new_args['target'] or ''; local start_pos = tonumber(new_args['start']) or 1; local plain = new_args['plain'] or true; if source_str == '' or pattern == '' then return 0; end plain = str._getBoolean( plain ); local start = mw.ustring.find( source_str, pattern, start_pos, plain ) if start == nil then start = 0 end return start end --[[ replace This function allows one to replace a target string or pattern within another string. Usage: {{#invoke:String|replace|source_str|pattern_string|replace_string|replacement_count|plain_flag}} OR {{#invoke:String|replace|source=source_string|pattern=pattern_string|replace=replace_string| count=replacement_count|plain=plain_flag}} Parameters source: The string to search pattern: The string or pattern to find within source replace: The replacement text count: The number of occurences to replace, defaults to all. plain: Boolean flag indicating that pattern should be understood as plain text and not as a Lua style regular expression, defaults to true ]] function str.replace( frame ) local new_args = str._getParameters( frame.args, {'source', 'pattern', 'replace', 'count', 'plain' } ); local source_str = new_args['source'] or ''; local pattern = new_args['pattern'] or ''; local replace = new_args['replace'] or ''; local count = tonumber( new_args['count'] ); local plain = new_args['plain'] or true; if source_str == '' or pattern == '' then return source_str; end plain = str._getBoolean( plain ); if plain then pattern = str._escapePattern( pattern ); replace = mw.ustring.gsub( replace, "%%", "%%%%" ); --Only need to escape replacement sequences. end local result; if count ~= nil then result = mw.ustring.gsub( source_str, pattern, replace, count ); else result = mw.ustring.gsub( source_str, pattern, replace ); end return result; end --[[ Helper function that populates the argument list given that user may need to use a mix of named and unnamed parameters. This is relevant because named parameters are not identical to unnamed parameters due to string trimming, and when dealing with strings we sometimes want to either preserve or remove that whitespace depending on the application. ]] function str._getParameters( frame_args, arg_list ) local new_args = {}; local index = 1; local value; for i,arg in ipairs( arg_list ) do value = frame_args[arg] if value == nil then value = frame_args[index]; index = index + 1; end new_args[arg] = value; end return new_args; end --[[ Helper function to handle error messages. ]] function str._error( error_str ) local frame = mw.getCurrentFrame(); local error_category = frame.args.error_category or 'Errors reported by Module String'; local ignore_errors = frame.args.ignore_errors or false; local no_category = frame.args.no_category or false; if str._getBoolean(ignore_errors) then return ''; end local error_str = '<strong class="error">String Module Error: ' .. error_str .. '</strong>'; if error_category ~= '' and not str._getBoolean( no_category ) then error_str = '[[Category:' .. error_category .. ']]' .. error_str; end return error_str; end --[[ Helper Function to interpret boolean strings ]] function str._getBoolean( boolean_str ) local boolean_value; if type( boolean_str ) == 'string' then boolean_str = boolean_str:lower(); if boolean_str == 'false' or boolean_str == 'no' or boolean_str == '0' or boolean_str == '' then boolean_value = false; else boolean_value = true; end elseif type( boolean_str ) == 'boolean' then boolean_value = boolean_str; else error( 'No boolean value found' ); end return boolean_value end --[[ Helper function that escapes all pattern characters so that they will be treated as plain text. ]] function str._escapePattern( pattern_str ) return mw.ustring.gsub( pattern_str, "([%(%)%.%%%+%-%*%?%[%^%$%]])", "%%%1" ); end return str bqjdxoaer9m8rc8hi30qhngdlwvu4vw 9617 9616 2013-04-26T10:52:01Z w>Mr. Stradivarius 0 Add "rep" function per request by [[User:קיפודנחש]] at [[Wikipedia:Lua requests#Template:Loop and Template:Loop15]]. Copied from sandbox. 9617 Scribunto text/plain --[[ This module is intended to provide access to basic string functions. Most of the functions provided here can be invoked with named parameters, unnamed parameters, or a mixture. If named parameters are used, Mediawiki will automatically remove any leading or trailing whitespace from the parameter. Depending on the intended use, it may be advantageous to either preserve or remove such whitespace. Global options ignore_errors: If set to 'true' or 1, any error condition will result in an empty string being returned rather than an error message. error_category: If an error occurs, specifies the name of a category to include with the error message. The default category is [Category:Errors reported by Module String]. no_category: If set to 'true' or 1, no category will be added if an error is generated. Unit tests for this module are available at Module:String/tests. ]] local str = {} --[[ len This function returns the length of the target string. Usage: {{#invoke:String|len|target_string|}} OR {{#invoke:String|len|s=target_string}} Parameters s: The string whose length to report If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the target string. ]] function str.len( frame ) local new_args = str._getParameters( frame.args, {'s'} ); local s = new_args['s'] or ''; return mw.ustring.len( s ) end --[[ sub This function returns a substring of the target string at specified indices. Usage: {{#invoke:String|sub|target_string|start_index|end_index}} OR {{#invoke:String|sub|s=target_string|i=start_index|j=end_index}} Parameters s: The string to return a subset of i: The fist index of the substring to return, defaults to 1. j: The last index of the string to return, defaults to the last character. The first character of the string is assigned an index of 1. If either i or j is a negative value, it is interpreted the same as selecting a character by counting from the end of the string. Hence, a value of -1 is the same as selecting the last character of the string. If the requested indices are out of range for the given string, an error is reported. ]] function str.sub( frame ) local new_args = str._getParameters( frame.args, { 's', 'i', 'j' } ); local s = new_args['s'] or ''; local i = tonumber( new_args['i'] ) or 1; local j = tonumber( new_args['j'] ) or -1; local len = mw.ustring.len( s ); -- Convert negatives for range checking if i < 0 then i = len + i + 1; end if j < 0 then j = len + j + 1; end if i > len or j > len or i < 1 or j < 1 then return str._error( 'String subset index out of range' ); end if j < i then return str._error( 'String subset indices out of order' ); end return mw.ustring.sub( s, i, j ) end --[[ This function implements that features of {{str sub old}} and is kept in order to maintain these older templates. ]] function str.sublength( frame ) local i = tonumber( frame.args.i ) or 0 local len = tonumber( frame.args.len ) return mw.ustring.sub( frame.args.s, i + 1, len and ( i + len ) ) end --[[ match This function returns a substring from the source string that matches a specified pattern. Usage: {{#invoke:String|match|source_string|pattern_string|start_index|match_number|plain_flag|nomatch_output}} OR {{#invoke:String|pos|s=source_string|pattern=pattern_string|start=start_index |match=match_number|plain=plain_flag|nomatch=nomatch_output}} Parameters s: The string to search pattern: The pattern or string to find within the string start: The index within the source string to start the search. The first character of the string has index 1. Defaults to 1. match: In some cases it may be possible to make multiple matches on a single string. This specifies which match to return, where the first match is match= 1. If a negative number is specified then a match is returned counting from the last match. Hence match = -1 is the same as requesting the last match. Defaults to 1. plain: A flag indicating that the pattern should be understood as plain text. Defaults to false. nomatch: If no match is found, output the "nomatch" value rather than an error. If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from each string. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. If the match_number or start_index are out of range for the string being queried, then this function generates an error. An error is also generated if no match is found. If one adds the parameter ignore_errors=true, then the error will be suppressed and an empty string will be returned on any failure. For information on constructing Lua patterns, a form of [regular expression], see: * http://www.lua.org/manual/5.1/manual.html#5.4.1 * http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Patterns * http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Ustring_patterns ]] function str.match( frame ) local new_args = str._getParameters( frame.args, {'s', 'pattern', 'start', 'match', 'plain', 'nomatch'} ); local s = new_args['s'] or ''; local start = tonumber( new_args['start'] ) or 1; local plain_flag = str._getBoolean( new_args['plain'] or false ); local pattern = new_args['pattern'] or ''; local match_index = math.floor( tonumber(new_args['match']) or 1 ); local nomatch = new_args['nomatch']; if s == '' then return str._error( 'Target string is empty' ); end if pattern == '' then return str._error( 'Pattern string is empty' ); end if math.abs(start) < 1 or math.abs(start) > mw.ustring.len( s ) then return str._error( 'Requested start is out of range' ); end if match_index == 0 then return str._error( 'Match index is out of range' ); end if plain_flag then pattern = str._escapePattern( pattern ); end local result if match_index == 1 then -- Find first match is simple case result = mw.ustring.match( s, pattern, start ) else if start > 1 then s = mw.ustring.sub( s, start ); end local iterator = mw.ustring.gmatch(s, pattern); if match_index > 0 then -- Forward search for w in iterator do match_index = match_index - 1; if match_index == 0 then result = w; break; end end else -- Reverse search local result_table = {}; local count = 1; for w in iterator do result_table[count] = w; count = count + 1; end result = result_table[ count + match_index ]; end end if result == nil then if nomatch == nil then return str._error( 'Match not found' ); else return nomatch; end else return result; end end --[[ pos This function returns a single character from the target string at position pos. Usage: {{#invoke:String|pos|target_string|index_value}} OR {{#invoke:String|pos|target=target_string|pos=index_value}} Parameters target: The string to search pos: The index for the character to return If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the target string. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. The first character has an index value of 1. If one requests a negative value, this function will select a character by counting backwards from the end of the string. In other words pos = -1 is the same as asking for the last character. A requested value of zero, or a value greater than the length of the string returns an error. ]] function str.pos( frame ) local new_args = str._getParameters( frame.args, {'target', 'pos'} ); local target_str = new_args['target'] or ''; local pos = tonumber( new_args['pos'] ) or 0; if pos == 0 or math.abs(pos) > mw.ustring.len( target_str ) then return str._error( 'String index out of range' ); end return mw.ustring.sub( target_str, pos, pos ); end --[[ str_find This function duplicates the behavior of {{str_find}}, including all of its quirks. This is provided in order to support existing templates, but is NOT RECOMMENDED for new code and templates. New code is recommended to use the "find" function instead. Returns the first index in "source" that is a match to "target". Indexing is 1-based, and the function returns -1 if the "target" string is not present in "source". Important Note: If the "target" string is empty / missing, this function returns a value of "1", which is generally unexpected behavior, and must be accounted for separatetly. ]] function str.str_find( frame ) local new_args = str._getParameters( frame.args, {'source', 'target'} ); local source_str = new_args['source'] or ''; local target_str = new_args['target'] or ''; if target_str == '' then return 1; end local start = mw.ustring.find( source_str, target_str, 1, true ) if start == nil then start = -1 end return start end --[[ find This function allows one to search for a target string or pattern within another string. Usage: {{#invoke:String|find|source_str|target_string|start_index|plain_flag}} OR {{#invoke:String|find|source=source_str|target=target_str|start=start_index|plain=plain_flag}} Parameters source: The string to search target: The string or pattern to find within source start: The index within the source string to start the search, defaults to 1 plain: Boolean flag indicating that target should be understood as plain text and not as a Lua style regular expression, defaults to true If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the parameter. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. This function returns the first index >= "start" where "target" can be found within "source". Indices are 1-based. If "target" is not found, then this function returns 0. If either "source" or "target" are missing / empty, this function also returns 0. This function should be safe for UTF-8 strings. ]] function str.find( frame ) local new_args = str._getParameters( frame.args, {'source', 'target', 'start', 'plain' } ); local source_str = new_args['source'] or ''; local pattern = new_args['target'] or ''; local start_pos = tonumber(new_args['start']) or 1; local plain = new_args['plain'] or true; if source_str == '' or pattern == '' then return 0; end plain = str._getBoolean( plain ); local start = mw.ustring.find( source_str, pattern, start_pos, plain ) if start == nil then start = 0 end return start end --[[ replace This function allows one to replace a target string or pattern within another string. Usage: {{#invoke:String|replace|source_str|pattern_string|replace_string|replacement_count|plain_flag}} OR {{#invoke:String|replace|source=source_string|pattern=pattern_string|replace=replace_string| count=replacement_count|plain=plain_flag}} Parameters source: The string to search pattern: The string or pattern to find within source replace: The replacement text count: The number of occurences to replace, defaults to all. plain: Boolean flag indicating that pattern should be understood as plain text and not as a Lua style regular expression, defaults to true ]] function str.replace( frame ) local new_args = str._getParameters( frame.args, {'source', 'pattern', 'replace', 'count', 'plain' } ); local source_str = new_args['source'] or ''; local pattern = new_args['pattern'] or ''; local replace = new_args['replace'] or ''; local count = tonumber( new_args['count'] ); local plain = new_args['plain'] or true; if source_str == '' or pattern == '' then return source_str; end plain = str._getBoolean( plain ); if plain then pattern = str._escapePattern( pattern ); replace = mw.ustring.gsub( replace, "%%", "%%%%" ); --Only need to escape replacement sequences. end local result; if count ~= nil then result = mw.ustring.gsub( source_str, pattern, replace, count ); else result = mw.ustring.gsub( source_str, pattern, replace ); end return result; end --[[ simple function to pipe string.rep to templates. ]] function str.rep( frame ) local repetitions = tonumber( frame.args[2] ) if not repetitions then return str._error( 'function rep expects a number as second parameter, received "' .. ( frame.args[2] or '' ) .. '"' ) end return string.rep( frame.args[1] or '', repetitions ) end --[[ Helper function that populates the argument list given that user may need to use a mix of named and unnamed parameters. This is relevant because named parameters are not identical to unnamed parameters due to string trimming, and when dealing with strings we sometimes want to either preserve or remove that whitespace depending on the application. ]] function str._getParameters( frame_args, arg_list ) local new_args = {}; local index = 1; local value; for i,arg in ipairs( arg_list ) do value = frame_args[arg] if value == nil then value = frame_args[index]; index = index + 1; end new_args[arg] = value; end return new_args; end --[[ Helper function to handle error messages. ]] function str._error( error_str ) local frame = mw.getCurrentFrame(); local error_category = frame.args.error_category or 'Errors reported by Module String'; local ignore_errors = frame.args.ignore_errors or false; local no_category = frame.args.no_category or false; if str._getBoolean(ignore_errors) then return ''; end local error_str = '<strong class="error">String Module Error: ' .. error_str .. '</strong>'; if error_category ~= '' and not str._getBoolean( no_category ) then error_str = '[[Category:' .. error_category .. ']]' .. error_str; end return error_str; end --[[ Helper Function to interpret boolean strings ]] function str._getBoolean( boolean_str ) local boolean_value; if type( boolean_str ) == 'string' then boolean_str = boolean_str:lower(); if boolean_str == 'false' or boolean_str == 'no' or boolean_str == '0' or boolean_str == '' then boolean_value = false; else boolean_value = true; end elseif type( boolean_str ) == 'boolean' then boolean_value = boolean_str; else error( 'No boolean value found' ); end return boolean_value end --[[ Helper function that escapes all pattern characters so that they will be treated as plain text. ]] function str._escapePattern( pattern_str ) return mw.ustring.gsub( pattern_str, "([%(%)%.%%%+%-%*%?%[%^%$%]])", "%%%1" ); end return str l0shz7fzxb1bq626nihqwbptk7dfqd5 9618 9593 2019-03-04T14:04:23Z w>Lectonar 0 Changed protection level for "[[Module:String]]": request at RfP ([Edit=Require template editor access] (indefinite) [Move=Require template editor access] (indefinite)) 9618 Scribunto text/plain --[[ This module is intended to provide access to basic string functions. Most of the functions provided here can be invoked with named parameters, unnamed parameters, or a mixture. If named parameters are used, Mediawiki will automatically remove any leading or trailing whitespace from the parameter. Depending on the intended use, it may be advantageous to either preserve or remove such whitespace. Global options ignore_errors: If set to 'true' or 1, any error condition will result in an empty string being returned rather than an error message. error_category: If an error occurs, specifies the name of a category to include with the error message. The default category is [Category:Errors reported by Module String]. no_category: If set to 'true' or 1, no category will be added if an error is generated. Unit tests for this module are available at Module:String/tests. ]] local str = {} --[[ len This function returns the length of the target string. Usage: {{#invoke:String|len|target_string|}} OR {{#invoke:String|len|s=target_string}} Parameters s: The string whose length to report If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the target string. ]] function str.len( frame ) local new_args = str._getParameters( frame.args, {'s'} ); local s = new_args['s'] or ''; return mw.ustring.len( s ) end --[[ sub This function returns a substring of the target string at specified indices. Usage: {{#invoke:String|sub|target_string|start_index|end_index}} OR {{#invoke:String|sub|s=target_string|i=start_index|j=end_index}} Parameters s: The string to return a subset of i: The fist index of the substring to return, defaults to 1. j: The last index of the string to return, defaults to the last character. The first character of the string is assigned an index of 1. If either i or j is a negative value, it is interpreted the same as selecting a character by counting from the end of the string. Hence, a value of -1 is the same as selecting the last character of the string. If the requested indices are out of range for the given string, an error is reported. ]] function str.sub( frame ) local new_args = str._getParameters( frame.args, { 's', 'i', 'j' } ); local s = new_args['s'] or ''; local i = tonumber( new_args['i'] ) or 1; local j = tonumber( new_args['j'] ) or -1; local len = mw.ustring.len( s ); -- Convert negatives for range checking if i < 0 then i = len + i + 1; end if j < 0 then j = len + j + 1; end if i > len or j > len or i < 1 or j < 1 then return str._error( 'String subset index out of range' ); end if j < i then return str._error( 'String subset indices out of order' ); end return mw.ustring.sub( s, i, j ) end --[[ This function implements that features of {{str sub old}} and is kept in order to maintain these older templates. ]] function str.sublength( frame ) local i = tonumber( frame.args.i ) or 0 local len = tonumber( frame.args.len ) return mw.ustring.sub( frame.args.s, i + 1, len and ( i + len ) ) end --[[ match This function returns a substring from the source string that matches a specified pattern. Usage: {{#invoke:String|match|source_string|pattern_string|start_index|match_number|plain_flag|nomatch_output}} OR {{#invoke:String|pos|s=source_string|pattern=pattern_string|start=start_index |match=match_number|plain=plain_flag|nomatch=nomatch_output}} Parameters s: The string to search pattern: The pattern or string to find within the string start: The index within the source string to start the search. The first character of the string has index 1. Defaults to 1. match: In some cases it may be possible to make multiple matches on a single string. This specifies which match to return, where the first match is match= 1. If a negative number is specified then a match is returned counting from the last match. Hence match = -1 is the same as requesting the last match. Defaults to 1. plain: A flag indicating that the pattern should be understood as plain text. Defaults to false. nomatch: If no match is found, output the "nomatch" value rather than an error. If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from each string. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. If the match_number or start_index are out of range for the string being queried, then this function generates an error. An error is also generated if no match is found. If one adds the parameter ignore_errors=true, then the error will be suppressed and an empty string will be returned on any failure. For information on constructing Lua patterns, a form of [regular expression], see: * http://www.lua.org/manual/5.1/manual.html#5.4.1 * http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Patterns * http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Ustring_patterns ]] function str.match( frame ) local new_args = str._getParameters( frame.args, {'s', 'pattern', 'start', 'match', 'plain', 'nomatch'} ); local s = new_args['s'] or ''; local start = tonumber( new_args['start'] ) or 1; local plain_flag = str._getBoolean( new_args['plain'] or false ); local pattern = new_args['pattern'] or ''; local match_index = math.floor( tonumber(new_args['match']) or 1 ); local nomatch = new_args['nomatch']; if s == '' then return str._error( 'Target string is empty' ); end if pattern == '' then return str._error( 'Pattern string is empty' ); end if math.abs(start) < 1 or math.abs(start) > mw.ustring.len( s ) then return str._error( 'Requested start is out of range' ); end if match_index == 0 then return str._error( 'Match index is out of range' ); end if plain_flag then pattern = str._escapePattern( pattern ); end local result if match_index == 1 then -- Find first match is simple case result = mw.ustring.match( s, pattern, start ) else if start > 1 then s = mw.ustring.sub( s, start ); end local iterator = mw.ustring.gmatch(s, pattern); if match_index > 0 then -- Forward search for w in iterator do match_index = match_index - 1; if match_index == 0 then result = w; break; end end else -- Reverse search local result_table = {}; local count = 1; for w in iterator do result_table[count] = w; count = count + 1; end result = result_table[ count + match_index ]; end end if result == nil then if nomatch == nil then return str._error( 'Match not found' ); else return nomatch; end else return result; end end --[[ pos This function returns a single character from the target string at position pos. Usage: {{#invoke:String|pos|target_string|index_value}} OR {{#invoke:String|pos|target=target_string|pos=index_value}} Parameters target: The string to search pos: The index for the character to return If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the target string. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. The first character has an index value of 1. If one requests a negative value, this function will select a character by counting backwards from the end of the string. In other words pos = -1 is the same as asking for the last character. A requested value of zero, or a value greater than the length of the string returns an error. ]] function str.pos( frame ) local new_args = str._getParameters( frame.args, {'target', 'pos'} ); local target_str = new_args['target'] or ''; local pos = tonumber( new_args['pos'] ) or 0; if pos == 0 or math.abs(pos) > mw.ustring.len( target_str ) then return str._error( 'String index out of range' ); end return mw.ustring.sub( target_str, pos, pos ); end --[[ str_find This function duplicates the behavior of {{str_find}}, including all of its quirks. This is provided in order to support existing templates, but is NOT RECOMMENDED for new code and templates. New code is recommended to use the "find" function instead. Returns the first index in "source" that is a match to "target". Indexing is 1-based, and the function returns -1 if the "target" string is not present in "source". Important Note: If the "target" string is empty / missing, this function returns a value of "1", which is generally unexpected behavior, and must be accounted for separatetly. ]] function str.str_find( frame ) local new_args = str._getParameters( frame.args, {'source', 'target'} ); local source_str = new_args['source'] or ''; local target_str = new_args['target'] or ''; if target_str == '' then return 1; end local start = mw.ustring.find( source_str, target_str, 1, true ) if start == nil then start = -1 end return start end --[[ find This function allows one to search for a target string or pattern within another string. Usage: {{#invoke:String|find|source_str|target_string|start_index|plain_flag}} OR {{#invoke:String|find|source=source_str|target=target_str|start=start_index|plain=plain_flag}} Parameters source: The string to search target: The string or pattern to find within source start: The index within the source string to start the search, defaults to 1 plain: Boolean flag indicating that target should be understood as plain text and not as a Lua style regular expression, defaults to true If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the parameter. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. This function returns the first index >= "start" where "target" can be found within "source". Indices are 1-based. If "target" is not found, then this function returns 0. If either "source" or "target" are missing / empty, this function also returns 0. This function should be safe for UTF-8 strings. ]] function str.find( frame ) local new_args = str._getParameters( frame.args, {'source', 'target', 'start', 'plain' } ); local source_str = new_args['source'] or ''; local pattern = new_args['target'] or ''; local start_pos = tonumber(new_args['start']) or 1; local plain = new_args['plain'] or true; if source_str == '' or pattern == '' then return 0; end plain = str._getBoolean( plain ); local start = mw.ustring.find( source_str, pattern, start_pos, plain ) if start == nil then start = 0 end return start end --[[ replace This function allows one to replace a target string or pattern within another string. Usage: {{#invoke:String|replace|source_str|pattern_string|replace_string|replacement_count|plain_flag}} OR {{#invoke:String|replace|source=source_string|pattern=pattern_string|replace=replace_string| count=replacement_count|plain=plain_flag}} Parameters source: The string to search pattern: The string or pattern to find within source replace: The replacement text count: The number of occurences to replace, defaults to all. plain: Boolean flag indicating that pattern should be understood as plain text and not as a Lua style regular expression, defaults to true ]] function str.replace( frame ) local new_args = str._getParameters( frame.args, {'source', 'pattern', 'replace', 'count', 'plain' } ); local source_str = new_args['source'] or ''; local pattern = new_args['pattern'] or ''; local replace = new_args['replace'] or ''; local count = tonumber( new_args['count'] ); local plain = new_args['plain'] or true; if source_str == '' or pattern == '' then return source_str; end plain = str._getBoolean( plain ); if plain then pattern = str._escapePattern( pattern ); replace = mw.ustring.gsub( replace, "%%", "%%%%" ); --Only need to escape replacement sequences. end local result; if count ~= nil then result = mw.ustring.gsub( source_str, pattern, replace, count ); else result = mw.ustring.gsub( source_str, pattern, replace ); end return result; end --[[ simple function to pipe string.rep to templates. ]] function str.rep( frame ) local repetitions = tonumber( frame.args[2] ) if not repetitions then return str._error( 'function rep expects a number as second parameter, received "' .. ( frame.args[2] or '' ) .. '"' ) end return string.rep( frame.args[1] or '', repetitions ) end --[[ Helper function that populates the argument list given that user may need to use a mix of named and unnamed parameters. This is relevant because named parameters are not identical to unnamed parameters due to string trimming, and when dealing with strings we sometimes want to either preserve or remove that whitespace depending on the application. ]] function str._getParameters( frame_args, arg_list ) local new_args = {}; local index = 1; local value; for i,arg in ipairs( arg_list ) do value = frame_args[arg] if value == nil then value = frame_args[index]; index = index + 1; end new_args[arg] = value; end return new_args; end --[[ Helper function to handle error messages. ]] function str._error( error_str ) local frame = mw.getCurrentFrame(); local error_category = frame.args.error_category or 'Errors reported by Module String'; local ignore_errors = frame.args.ignore_errors or false; local no_category = frame.args.no_category or false; if str._getBoolean(ignore_errors) then return ''; end local error_str = '<strong class="error">String Module Error: ' .. error_str .. '</strong>'; if error_category ~= '' and not str._getBoolean( no_category ) then error_str = '[[Category:' .. error_category .. ']]' .. error_str; end return error_str; end --[[ Helper Function to interpret boolean strings ]] function str._getBoolean( boolean_str ) local boolean_value; if type( boolean_str ) == 'string' then boolean_str = boolean_str:lower(); if boolean_str == 'false' or boolean_str == 'no' or boolean_str == '0' or boolean_str == '' then boolean_value = false; else boolean_value = true; end elseif type( boolean_str ) == 'boolean' then boolean_value = boolean_str; else error( 'No boolean value found' ); end return boolean_value end --[[ Helper function that escapes all pattern characters so that they will be treated as plain text. ]] function str._escapePattern( pattern_str ) return mw.ustring.gsub( pattern_str, "([%(%)%.%%%+%-%*%?%[%^%$%]])", "%%%1" ); end return str l0shz7fzxb1bq626nihqwbptk7dfqd5 9619 9618 2019-05-04T02:38:11Z w>Mr. Stradivarius 0 add an escapePattern function for escaping Lua patterns 9619 Scribunto text/plain --[[ This module is intended to provide access to basic string functions. Most of the functions provided here can be invoked with named parameters, unnamed parameters, or a mixture. If named parameters are used, Mediawiki will automatically remove any leading or trailing whitespace from the parameter. Depending on the intended use, it may be advantageous to either preserve or remove such whitespace. Global options ignore_errors: If set to 'true' or 1, any error condition will result in an empty string being returned rather than an error message. error_category: If an error occurs, specifies the name of a category to include with the error message. The default category is [Category:Errors reported by Module String]. no_category: If set to 'true' or 1, no category will be added if an error is generated. Unit tests for this module are available at Module:String/tests. ]] local str = {} --[[ len This function returns the length of the target string. Usage: {{#invoke:String|len|target_string|}} OR {{#invoke:String|len|s=target_string}} Parameters s: The string whose length to report If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the target string. ]] function str.len( frame ) local new_args = str._getParameters( frame.args, {'s'} ); local s = new_args['s'] or ''; return mw.ustring.len( s ) end --[[ sub This function returns a substring of the target string at specified indices. Usage: {{#invoke:String|sub|target_string|start_index|end_index}} OR {{#invoke:String|sub|s=target_string|i=start_index|j=end_index}} Parameters s: The string to return a subset of i: The fist index of the substring to return, defaults to 1. j: The last index of the string to return, defaults to the last character. The first character of the string is assigned an index of 1. If either i or j is a negative value, it is interpreted the same as selecting a character by counting from the end of the string. Hence, a value of -1 is the same as selecting the last character of the string. If the requested indices are out of range for the given string, an error is reported. ]] function str.sub( frame ) local new_args = str._getParameters( frame.args, { 's', 'i', 'j' } ); local s = new_args['s'] or ''; local i = tonumber( new_args['i'] ) or 1; local j = tonumber( new_args['j'] ) or -1; local len = mw.ustring.len( s ); -- Convert negatives for range checking if i < 0 then i = len + i + 1; end if j < 0 then j = len + j + 1; end if i > len or j > len or i < 1 or j < 1 then return str._error( 'String subset index out of range' ); end if j < i then return str._error( 'String subset indices out of order' ); end return mw.ustring.sub( s, i, j ) end --[[ This function implements that features of {{str sub old}} and is kept in order to maintain these older templates. ]] function str.sublength( frame ) local i = tonumber( frame.args.i ) or 0 local len = tonumber( frame.args.len ) return mw.ustring.sub( frame.args.s, i + 1, len and ( i + len ) ) end --[[ match This function returns a substring from the source string that matches a specified pattern. Usage: {{#invoke:String|match|source_string|pattern_string|start_index|match_number|plain_flag|nomatch_output}} OR {{#invoke:String|pos|s=source_string|pattern=pattern_string|start=start_index |match=match_number|plain=plain_flag|nomatch=nomatch_output}} Parameters s: The string to search pattern: The pattern or string to find within the string start: The index within the source string to start the search. The first character of the string has index 1. Defaults to 1. match: In some cases it may be possible to make multiple matches on a single string. This specifies which match to return, where the first match is match= 1. If a negative number is specified then a match is returned counting from the last match. Hence match = -1 is the same as requesting the last match. Defaults to 1. plain: A flag indicating that the pattern should be understood as plain text. Defaults to false. nomatch: If no match is found, output the "nomatch" value rather than an error. If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from each string. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. If the match_number or start_index are out of range for the string being queried, then this function generates an error. An error is also generated if no match is found. If one adds the parameter ignore_errors=true, then the error will be suppressed and an empty string will be returned on any failure. For information on constructing Lua patterns, a form of [regular expression], see: * http://www.lua.org/manual/5.1/manual.html#5.4.1 * http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Patterns * http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Ustring_patterns ]] function str.match( frame ) local new_args = str._getParameters( frame.args, {'s', 'pattern', 'start', 'match', 'plain', 'nomatch'} ); local s = new_args['s'] or ''; local start = tonumber( new_args['start'] ) or 1; local plain_flag = str._getBoolean( new_args['plain'] or false ); local pattern = new_args['pattern'] or ''; local match_index = math.floor( tonumber(new_args['match']) or 1 ); local nomatch = new_args['nomatch']; if s == '' then return str._error( 'Target string is empty' ); end if pattern == '' then return str._error( 'Pattern string is empty' ); end if math.abs(start) < 1 or math.abs(start) > mw.ustring.len( s ) then return str._error( 'Requested start is out of range' ); end if match_index == 0 then return str._error( 'Match index is out of range' ); end if plain_flag then pattern = str._escapePattern( pattern ); end local result if match_index == 1 then -- Find first match is simple case result = mw.ustring.match( s, pattern, start ) else if start > 1 then s = mw.ustring.sub( s, start ); end local iterator = mw.ustring.gmatch(s, pattern); if match_index > 0 then -- Forward search for w in iterator do match_index = match_index - 1; if match_index == 0 then result = w; break; end end else -- Reverse search local result_table = {}; local count = 1; for w in iterator do result_table[count] = w; count = count + 1; end result = result_table[ count + match_index ]; end end if result == nil then if nomatch == nil then return str._error( 'Match not found' ); else return nomatch; end else return result; end end --[[ pos This function returns a single character from the target string at position pos. Usage: {{#invoke:String|pos|target_string|index_value}} OR {{#invoke:String|pos|target=target_string|pos=index_value}} Parameters target: The string to search pos: The index for the character to return If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the target string. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. The first character has an index value of 1. If one requests a negative value, this function will select a character by counting backwards from the end of the string. In other words pos = -1 is the same as asking for the last character. A requested value of zero, or a value greater than the length of the string returns an error. ]] function str.pos( frame ) local new_args = str._getParameters( frame.args, {'target', 'pos'} ); local target_str = new_args['target'] or ''; local pos = tonumber( new_args['pos'] ) or 0; if pos == 0 or math.abs(pos) > mw.ustring.len( target_str ) then return str._error( 'String index out of range' ); end return mw.ustring.sub( target_str, pos, pos ); end --[[ str_find This function duplicates the behavior of {{str_find}}, including all of its quirks. This is provided in order to support existing templates, but is NOT RECOMMENDED for new code and templates. New code is recommended to use the "find" function instead. Returns the first index in "source" that is a match to "target". Indexing is 1-based, and the function returns -1 if the "target" string is not present in "source". Important Note: If the "target" string is empty / missing, this function returns a value of "1", which is generally unexpected behavior, and must be accounted for separatetly. ]] function str.str_find( frame ) local new_args = str._getParameters( frame.args, {'source', 'target'} ); local source_str = new_args['source'] or ''; local target_str = new_args['target'] or ''; if target_str == '' then return 1; end local start = mw.ustring.find( source_str, target_str, 1, true ) if start == nil then start = -1 end return start end --[[ find This function allows one to search for a target string or pattern within another string. Usage: {{#invoke:String|find|source_str|target_string|start_index|plain_flag}} OR {{#invoke:String|find|source=source_str|target=target_str|start=start_index|plain=plain_flag}} Parameters source: The string to search target: The string or pattern to find within source start: The index within the source string to start the search, defaults to 1 plain: Boolean flag indicating that target should be understood as plain text and not as a Lua style regular expression, defaults to true If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the parameter. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. This function returns the first index >= "start" where "target" can be found within "source". Indices are 1-based. If "target" is not found, then this function returns 0. If either "source" or "target" are missing / empty, this function also returns 0. This function should be safe for UTF-8 strings. ]] function str.find( frame ) local new_args = str._getParameters( frame.args, {'source', 'target', 'start', 'plain' } ); local source_str = new_args['source'] or ''; local pattern = new_args['target'] or ''; local start_pos = tonumber(new_args['start']) or 1; local plain = new_args['plain'] or true; if source_str == '' or pattern == '' then return 0; end plain = str._getBoolean( plain ); local start = mw.ustring.find( source_str, pattern, start_pos, plain ) if start == nil then start = 0 end return start end --[[ replace This function allows one to replace a target string or pattern within another string. Usage: {{#invoke:String|replace|source_str|pattern_string|replace_string|replacement_count|plain_flag}} OR {{#invoke:String|replace|source=source_string|pattern=pattern_string|replace=replace_string| count=replacement_count|plain=plain_flag}} Parameters source: The string to search pattern: The string or pattern to find within source replace: The replacement text count: The number of occurences to replace, defaults to all. plain: Boolean flag indicating that pattern should be understood as plain text and not as a Lua style regular expression, defaults to true ]] function str.replace( frame ) local new_args = str._getParameters( frame.args, {'source', 'pattern', 'replace', 'count', 'plain' } ); local source_str = new_args['source'] or ''; local pattern = new_args['pattern'] or ''; local replace = new_args['replace'] or ''; local count = tonumber( new_args['count'] ); local plain = new_args['plain'] or true; if source_str == '' or pattern == '' then return source_str; end plain = str._getBoolean( plain ); if plain then pattern = str._escapePattern( pattern ); replace = mw.ustring.gsub( replace, "%%", "%%%%" ); --Only need to escape replacement sequences. end local result; if count ~= nil then result = mw.ustring.gsub( source_str, pattern, replace, count ); else result = mw.ustring.gsub( source_str, pattern, replace ); end return result; end --[[ simple function to pipe string.rep to templates. ]] function str.rep( frame ) local repetitions = tonumber( frame.args[2] ) if not repetitions then return str._error( 'function rep expects a number as second parameter, received "' .. ( frame.args[2] or '' ) .. '"' ) end return string.rep( frame.args[1] or '', repetitions ) end --[[ escapePattern This function escapes special characters from a Lua string pattern. See [1] for details on how patterns work. [1] https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Patterns Usage: {{#invoke:String|escapePattern|pattern_string}} Parameters pattern_string: The pattern string to escape. ]] function str.escapePattern( frame ) local pattern_str = frame.args[1] if not pattern_str then return str._error( 'No pattern string specified' ); end local result = str._escapePattern( pattern_str ) return result end --[[ Helper function that populates the argument list given that user may need to use a mix of named and unnamed parameters. This is relevant because named parameters are not identical to unnamed parameters due to string trimming, and when dealing with strings we sometimes want to either preserve or remove that whitespace depending on the application. ]] function str._getParameters( frame_args, arg_list ) local new_args = {}; local index = 1; local value; for i,arg in ipairs( arg_list ) do value = frame_args[arg] if value == nil then value = frame_args[index]; index = index + 1; end new_args[arg] = value; end return new_args; end --[[ Helper function to handle error messages. ]] function str._error( error_str ) local frame = mw.getCurrentFrame(); local error_category = frame.args.error_category or 'Errors reported by Module String'; local ignore_errors = frame.args.ignore_errors or false; local no_category = frame.args.no_category or false; if str._getBoolean(ignore_errors) then return ''; end local error_str = '<strong class="error">String Module Error: ' .. error_str .. '</strong>'; if error_category ~= '' and not str._getBoolean( no_category ) then error_str = '[[Category:' .. error_category .. ']]' .. error_str; end return error_str; end --[[ Helper Function to interpret boolean strings ]] function str._getBoolean( boolean_str ) local boolean_value; if type( boolean_str ) == 'string' then boolean_str = boolean_str:lower(); if boolean_str == 'false' or boolean_str == 'no' or boolean_str == '0' or boolean_str == '' then boolean_value = false; else boolean_value = true; end elseif type( boolean_str ) == 'boolean' then boolean_value = boolean_str; else error( 'No boolean value found' ); end return boolean_value end --[[ Helper function that escapes all pattern characters so that they will be treated as plain text. ]] function str._escapePattern( pattern_str ) return mw.ustring.gsub( pattern_str, "([%(%)%.%%%+%-%*%?%[%^%$%]])", "%%%1" ); end return str bw7qznlri1m8h7hpwz0q7aurbtcn8p0 9620 9619 2019-05-04T02:38:53Z w>Mr. Stradivarius 0 use tabs instead of spaces, and remove trailing whitespace 9620 Scribunto text/plain --[[ This module is intended to provide access to basic string functions. Most of the functions provided here can be invoked with named parameters, unnamed parameters, or a mixture. If named parameters are used, Mediawiki will automatically remove any leading or trailing whitespace from the parameter. Depending on the intended use, it may be advantageous to either preserve or remove such whitespace. Global options ignore_errors: If set to 'true' or 1, any error condition will result in an empty string being returned rather than an error message. error_category: If an error occurs, specifies the name of a category to include with the error message. The default category is [Category:Errors reported by Module String]. no_category: If set to 'true' or 1, no category will be added if an error is generated. Unit tests for this module are available at Module:String/tests. ]] local str = {} --[[ len This function returns the length of the target string. Usage: {{#invoke:String|len|target_string|}} OR {{#invoke:String|len|s=target_string}} Parameters s: The string whose length to report If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the target string. ]] function str.len( frame ) local new_args = str._getParameters( frame.args, {'s'} ); local s = new_args['s'] or ''; return mw.ustring.len( s ) end --[[ sub This function returns a substring of the target string at specified indices. Usage: {{#invoke:String|sub|target_string|start_index|end_index}} OR {{#invoke:String|sub|s=target_string|i=start_index|j=end_index}} Parameters s: The string to return a subset of i: The fist index of the substring to return, defaults to 1. j: The last index of the string to return, defaults to the last character. The first character of the string is assigned an index of 1. If either i or j is a negative value, it is interpreted the same as selecting a character by counting from the end of the string. Hence, a value of -1 is the same as selecting the last character of the string. If the requested indices are out of range for the given string, an error is reported. ]] function str.sub( frame ) local new_args = str._getParameters( frame.args, { 's', 'i', 'j' } ); local s = new_args['s'] or ''; local i = tonumber( new_args['i'] ) or 1; local j = tonumber( new_args['j'] ) or -1; local len = mw.ustring.len( s ); -- Convert negatives for range checking if i < 0 then i = len + i + 1; end if j < 0 then j = len + j + 1; end if i > len or j > len or i < 1 or j < 1 then return str._error( 'String subset index out of range' ); end if j < i then return str._error( 'String subset indices out of order' ); end return mw.ustring.sub( s, i, j ) end --[[ This function implements that features of {{str sub old}} and is kept in order to maintain these older templates. ]] function str.sublength( frame ) local i = tonumber( frame.args.i ) or 0 local len = tonumber( frame.args.len ) return mw.ustring.sub( frame.args.s, i + 1, len and ( i + len ) ) end --[[ match This function returns a substring from the source string that matches a specified pattern. Usage: {{#invoke:String|match|source_string|pattern_string|start_index|match_number|plain_flag|nomatch_output}} OR {{#invoke:String|pos|s=source_string|pattern=pattern_string|start=start_index |match=match_number|plain=plain_flag|nomatch=nomatch_output}} Parameters s: The string to search pattern: The pattern or string to find within the string start: The index within the source string to start the search. The first character of the string has index 1. Defaults to 1. match: In some cases it may be possible to make multiple matches on a single string. This specifies which match to return, where the first match is match= 1. If a negative number is specified then a match is returned counting from the last match. Hence match = -1 is the same as requesting the last match. Defaults to 1. plain: A flag indicating that the pattern should be understood as plain text. Defaults to false. nomatch: If no match is found, output the "nomatch" value rather than an error. If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from each string. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. If the match_number or start_index are out of range for the string being queried, then this function generates an error. An error is also generated if no match is found. If one adds the parameter ignore_errors=true, then the error will be suppressed and an empty string will be returned on any failure. For information on constructing Lua patterns, a form of [regular expression], see: * http://www.lua.org/manual/5.1/manual.html#5.4.1 * http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Patterns * http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Ustring_patterns ]] function str.match( frame ) local new_args = str._getParameters( frame.args, {'s', 'pattern', 'start', 'match', 'plain', 'nomatch'} ); local s = new_args['s'] or ''; local start = tonumber( new_args['start'] ) or 1; local plain_flag = str._getBoolean( new_args['plain'] or false ); local pattern = new_args['pattern'] or ''; local match_index = math.floor( tonumber(new_args['match']) or 1 ); local nomatch = new_args['nomatch']; if s == '' then return str._error( 'Target string is empty' ); end if pattern == '' then return str._error( 'Pattern string is empty' ); end if math.abs(start) < 1 or math.abs(start) > mw.ustring.len( s ) then return str._error( 'Requested start is out of range' ); end if match_index == 0 then return str._error( 'Match index is out of range' ); end if plain_flag then pattern = str._escapePattern( pattern ); end local result if match_index == 1 then -- Find first match is simple case result = mw.ustring.match( s, pattern, start ) else if start > 1 then s = mw.ustring.sub( s, start ); end local iterator = mw.ustring.gmatch(s, pattern); if match_index > 0 then -- Forward search for w in iterator do match_index = match_index - 1; if match_index == 0 then result = w; break; end end else -- Reverse search local result_table = {}; local count = 1; for w in iterator do result_table[count] = w; count = count + 1; end result = result_table[ count + match_index ]; end end if result == nil then if nomatch == nil then return str._error( 'Match not found' ); else return nomatch; end else return result; end end --[[ pos This function returns a single character from the target string at position pos. Usage: {{#invoke:String|pos|target_string|index_value}} OR {{#invoke:String|pos|target=target_string|pos=index_value}} Parameters target: The string to search pos: The index for the character to return If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the target string. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. The first character has an index value of 1. If one requests a negative value, this function will select a character by counting backwards from the end of the string. In other words pos = -1 is the same as asking for the last character. A requested value of zero, or a value greater than the length of the string returns an error. ]] function str.pos( frame ) local new_args = str._getParameters( frame.args, {'target', 'pos'} ); local target_str = new_args['target'] or ''; local pos = tonumber( new_args['pos'] ) or 0; if pos == 0 or math.abs(pos) > mw.ustring.len( target_str ) then return str._error( 'String index out of range' ); end return mw.ustring.sub( target_str, pos, pos ); end --[[ str_find This function duplicates the behavior of {{str_find}}, including all of its quirks. This is provided in order to support existing templates, but is NOT RECOMMENDED for new code and templates. New code is recommended to use the "find" function instead. Returns the first index in "source" that is a match to "target". Indexing is 1-based, and the function returns -1 if the "target" string is not present in "source". Important Note: If the "target" string is empty / missing, this function returns a value of "1", which is generally unexpected behavior, and must be accounted for separatetly. ]] function str.str_find( frame ) local new_args = str._getParameters( frame.args, {'source', 'target'} ); local source_str = new_args['source'] or ''; local target_str = new_args['target'] or ''; if target_str == '' then return 1; end local start = mw.ustring.find( source_str, target_str, 1, true ) if start == nil then start = -1 end return start end --[[ find This function allows one to search for a target string or pattern within another string. Usage: {{#invoke:String|find|source_str|target_string|start_index|plain_flag}} OR {{#invoke:String|find|source=source_str|target=target_str|start=start_index|plain=plain_flag}} Parameters source: The string to search target: The string or pattern to find within source start: The index within the source string to start the search, defaults to 1 plain: Boolean flag indicating that target should be understood as plain text and not as a Lua style regular expression, defaults to true If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the parameter. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. This function returns the first index >= "start" where "target" can be found within "source". Indices are 1-based. If "target" is not found, then this function returns 0. If either "source" or "target" are missing / empty, this function also returns 0. This function should be safe for UTF-8 strings. ]] function str.find( frame ) local new_args = str._getParameters( frame.args, {'source', 'target', 'start', 'plain' } ); local source_str = new_args['source'] or ''; local pattern = new_args['target'] or ''; local start_pos = tonumber(new_args['start']) or 1; local plain = new_args['plain'] or true; if source_str == '' or pattern == '' then return 0; end plain = str._getBoolean( plain ); local start = mw.ustring.find( source_str, pattern, start_pos, plain ) if start == nil then start = 0 end return start end --[[ replace This function allows one to replace a target string or pattern within another string. Usage: {{#invoke:String|replace|source_str|pattern_string|replace_string|replacement_count|plain_flag}} OR {{#invoke:String|replace|source=source_string|pattern=pattern_string|replace=replace_string| count=replacement_count|plain=plain_flag}} Parameters source: The string to search pattern: The string or pattern to find within source replace: The replacement text count: The number of occurences to replace, defaults to all. plain: Boolean flag indicating that pattern should be understood as plain text and not as a Lua style regular expression, defaults to true ]] function str.replace( frame ) local new_args = str._getParameters( frame.args, {'source', 'pattern', 'replace', 'count', 'plain' } ); local source_str = new_args['source'] or ''; local pattern = new_args['pattern'] or ''; local replace = new_args['replace'] or ''; local count = tonumber( new_args['count'] ); local plain = new_args['plain'] or true; if source_str == '' or pattern == '' then return source_str; end plain = str._getBoolean( plain ); if plain then pattern = str._escapePattern( pattern ); replace = mw.ustring.gsub( replace, "%%", "%%%%" ); --Only need to escape replacement sequences. end local result; if count ~= nil then result = mw.ustring.gsub( source_str, pattern, replace, count ); else result = mw.ustring.gsub( source_str, pattern, replace ); end return result; end --[[ simple function to pipe string.rep to templates. ]] function str.rep( frame ) local repetitions = tonumber( frame.args[2] ) if not repetitions then return str._error( 'function rep expects a number as second parameter, received "' .. ( frame.args[2] or '' ) .. '"' ) end return string.rep( frame.args[1] or '', repetitions ) end --[[ escapePattern This function escapes special characters from a Lua string pattern. See [1] for details on how patterns work. [1] https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Patterns Usage: {{#invoke:String|escapePattern|pattern_string}} Parameters pattern_string: The pattern string to escape. ]] function str.escapePattern( frame ) local pattern_str = frame.args[1] if not pattern_str then return str._error( 'No pattern string specified' ); end local result = str._escapePattern( pattern_str ) return result end --[[ Helper function that populates the argument list given that user may need to use a mix of named and unnamed parameters. This is relevant because named parameters are not identical to unnamed parameters due to string trimming, and when dealing with strings we sometimes want to either preserve or remove that whitespace depending on the application. ]] function str._getParameters( frame_args, arg_list ) local new_args = {}; local index = 1; local value; for i,arg in ipairs( arg_list ) do value = frame_args[arg] if value == nil then value = frame_args[index]; index = index + 1; end new_args[arg] = value; end return new_args; end --[[ Helper function to handle error messages. ]] function str._error( error_str ) local frame = mw.getCurrentFrame(); local error_category = frame.args.error_category or 'Errors reported by Module String'; local ignore_errors = frame.args.ignore_errors or false; local no_category = frame.args.no_category or false; if str._getBoolean(ignore_errors) then return ''; end local error_str = '<strong class="error">String Module Error: ' .. error_str .. '</strong>'; if error_category ~= '' and not str._getBoolean( no_category ) then error_str = '[[Category:' .. error_category .. ']]' .. error_str; end return error_str; end --[[ Helper Function to interpret boolean strings ]] function str._getBoolean( boolean_str ) local boolean_value; if type( boolean_str ) == 'string' then boolean_str = boolean_str:lower(); if boolean_str == 'false' or boolean_str == 'no' or boolean_str == '0' or boolean_str == '' then boolean_value = false; else boolean_value = true; end elseif type( boolean_str ) == 'boolean' then boolean_value = boolean_str; else error( 'No boolean value found' ); end return boolean_value end --[[ Helper function that escapes all pattern characters so that they will be treated as plain text. ]] function str._escapePattern( pattern_str ) return mw.ustring.gsub( pattern_str, "([%(%)%.%%%+%-%*%?%[%^%$%]])", "%%%1" ); end return str 2qrvywoclfyw52qq13muu635i8a9s7z 9621 9620 2019-05-13T16:01:29Z w>RexxS 0 export str._match function for use in other modules - syncing from sandbox 9621 Scribunto text/plain --[[ This module is intended to provide access to basic string functions. Most of the functions provided here can be invoked with named parameters, unnamed parameters, or a mixture. If named parameters are used, Mediawiki will automatically remove any leading or trailing whitespace from the parameter. Depending on the intended use, it may be advantageous to either preserve or remove such whitespace. Global options ignore_errors: If set to 'true' or 1, any error condition will result in an empty string being returned rather than an error message. error_category: If an error occurs, specifies the name of a category to include with the error message. The default category is [Category:Errors reported by Module String]. no_category: If set to 'true' or 1, no category will be added if an error is generated. Unit tests for this module are available at Module:String/tests. ]] local str = {} --[[ len This function returns the length of the target string. Usage: {{#invoke:String|len|target_string|}} OR {{#invoke:String|len|s=target_string}} Parameters s: The string whose length to report If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the target string. ]] function str.len( frame ) local new_args = str._getParameters( frame.args, {'s'} ); local s = new_args['s'] or ''; return mw.ustring.len( s ) end --[[ sub This function returns a substring of the target string at specified indices. Usage: {{#invoke:String|sub|target_string|start_index|end_index}} OR {{#invoke:String|sub|s=target_string|i=start_index|j=end_index}} Parameters s: The string to return a subset of i: The fist index of the substring to return, defaults to 1. j: The last index of the string to return, defaults to the last character. The first character of the string is assigned an index of 1. If either i or j is a negative value, it is interpreted the same as selecting a character by counting from the end of the string. Hence, a value of -1 is the same as selecting the last character of the string. If the requested indices are out of range for the given string, an error is reported. ]] function str.sub( frame ) local new_args = str._getParameters( frame.args, { 's', 'i', 'j' } ); local s = new_args['s'] or ''; local i = tonumber( new_args['i'] ) or 1; local j = tonumber( new_args['j'] ) or -1; local len = mw.ustring.len( s ); -- Convert negatives for range checking if i < 0 then i = len + i + 1; end if j < 0 then j = len + j + 1; end if i > len or j > len or i < 1 or j < 1 then return str._error( 'String subset index out of range' ); end if j < i then return str._error( 'String subset indices out of order' ); end return mw.ustring.sub( s, i, j ) end --[[ This function implements that features of {{str sub old}} and is kept in order to maintain these older templates. ]] function str.sublength( frame ) local i = tonumber( frame.args.i ) or 0 local len = tonumber( frame.args.len ) return mw.ustring.sub( frame.args.s, i + 1, len and ( i + len ) ) end --[[ match This function returns a substring from the source string that matches a specified pattern. Usage: {{#invoke:String|match|source_string|pattern_string|start_index|match_number|plain_flag|nomatch_output}} OR {{#invoke:String|pos|s=source_string|pattern=pattern_string|start=start_index |match=match_number|plain=plain_flag|nomatch=nomatch_output}} Parameters s: The string to search pattern: The pattern or string to find within the string start: The index within the source string to start the search. The first character of the string has index 1. Defaults to 1. match: In some cases it may be possible to make multiple matches on a single string. This specifies which match to return, where the first match is match= 1. If a negative number is specified then a match is returned counting from the last match. Hence match = -1 is the same as requesting the last match. Defaults to 1. plain: A flag indicating that the pattern should be understood as plain text. Defaults to false. nomatch: If no match is found, output the "nomatch" value rather than an error. If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from each string. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. If the match_number or start_index are out of range for the string being queried, then this function generates an error. An error is also generated if no match is found. If one adds the parameter ignore_errors=true, then the error will be suppressed and an empty string will be returned on any failure. For information on constructing Lua patterns, a form of [regular expression], see: * http://www.lua.org/manual/5.1/manual.html#5.4.1 * http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Patterns * http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Ustring_patterns ]] -- This sub-routine is exported for use in other modules function str._match( s, pattern, start, match_index, plain, nomatch ) if s == '' then return str._error( 'Target string is empty' ); end if pattern == '' then return str._error( 'Pattern string is empty' ); end start = tonumber(start) or 1 if math.abs(start) < 1 or math.abs(start) > mw.ustring.len( s ) then return str._error( 'Requested start is out of range' ); end if match_index == 0 then return str._error( 'Match index is out of range' ); end if plain_flag then pattern = str._escapePattern( pattern ); end local result if match_index == 1 then -- Find first match is simple case result = mw.ustring.match( s, pattern, start ) else if start > 1 then s = mw.ustring.sub( s, start ); end local iterator = mw.ustring.gmatch(s, pattern); if match_index > 0 then -- Forward search for w in iterator do match_index = match_index - 1; if match_index == 0 then result = w; break; end end else -- Reverse search local result_table = {}; local count = 1; for w in iterator do result_table[count] = w; count = count + 1; end result = result_table[ count + match_index ]; end end if result == nil then if nomatch == nil then return str._error( 'Match not found' ); else return nomatch; end else return result; end end -- This is the entry point for #invoke:String|match function str.match( frame ) local new_args = str._getParameters( frame.args, {'s', 'pattern', 'start', 'match', 'plain', 'nomatch'} ); local s = new_args['s'] or ''; local start = tonumber( new_args['start'] ) or 1; local plain_flag = str._getBoolean( new_args['plain'] or false ); local pattern = new_args['pattern'] or ''; local match_index = math.floor( tonumber(new_args['match']) or 1 ); local nomatch = new_args['nomatch']; return str._match( s, pattern, start, match_index, plain, nomatch ) end --[[ pos This function returns a single character from the target string at position pos. Usage: {{#invoke:String|pos|target_string|index_value}} OR {{#invoke:String|pos|target=target_string|pos=index_value}} Parameters target: The string to search pos: The index for the character to return If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the target string. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. The first character has an index value of 1. If one requests a negative value, this function will select a character by counting backwards from the end of the string. In other words pos = -1 is the same as asking for the last character. A requested value of zero, or a value greater than the length of the string returns an error. ]] function str.pos( frame ) local new_args = str._getParameters( frame.args, {'target', 'pos'} ); local target_str = new_args['target'] or ''; local pos = tonumber( new_args['pos'] ) or 0; if pos == 0 or math.abs(pos) > mw.ustring.len( target_str ) then return str._error( 'String index out of range' ); end return mw.ustring.sub( target_str, pos, pos ); end --[[ str_find This function duplicates the behavior of {{str_find}}, including all of its quirks. This is provided in order to support existing templates, but is NOT RECOMMENDED for new code and templates. New code is recommended to use the "find" function instead. Returns the first index in "source" that is a match to "target". Indexing is 1-based, and the function returns -1 if the "target" string is not present in "source". Important Note: If the "target" string is empty / missing, this function returns a value of "1", which is generally unexpected behavior, and must be accounted for separatetly. ]] function str.str_find( frame ) local new_args = str._getParameters( frame.args, {'source', 'target'} ); local source_str = new_args['source'] or ''; local target_str = new_args['target'] or ''; if target_str == '' then return 1; end local start = mw.ustring.find( source_str, target_str, 1, true ) if start == nil then start = -1 end return start end --[[ find This function allows one to search for a target string or pattern within another string. Usage: {{#invoke:String|find|source_str|target_string|start_index|plain_flag}} OR {{#invoke:String|find|source=source_str|target=target_str|start=start_index|plain=plain_flag}} Parameters source: The string to search target: The string or pattern to find within source start: The index within the source string to start the search, defaults to 1 plain: Boolean flag indicating that target should be understood as plain text and not as a Lua style regular expression, defaults to true If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the parameter. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. This function returns the first index >= "start" where "target" can be found within "source". Indices are 1-based. If "target" is not found, then this function returns 0. If either "source" or "target" are missing / empty, this function also returns 0. This function should be safe for UTF-8 strings. ]] function str.find( frame ) local new_args = str._getParameters( frame.args, {'source', 'target', 'start', 'plain' } ); local source_str = new_args['source'] or ''; local pattern = new_args['target'] or ''; local start_pos = tonumber(new_args['start']) or 1; local plain = new_args['plain'] or true; if source_str == '' or pattern == '' then return 0; end plain = str._getBoolean( plain ); local start = mw.ustring.find( source_str, pattern, start_pos, plain ) if start == nil then start = 0 end return start end --[[ replace This function allows one to replace a target string or pattern within another string. Usage: {{#invoke:String|replace|source_str|pattern_string|replace_string|replacement_count|plain_flag}} OR {{#invoke:String|replace|source=source_string|pattern=pattern_string|replace=replace_string| count=replacement_count|plain=plain_flag}} Parameters source: The string to search pattern: The string or pattern to find within source replace: The replacement text count: The number of occurences to replace, defaults to all. plain: Boolean flag indicating that pattern should be understood as plain text and not as a Lua style regular expression, defaults to true ]] function str.replace( frame ) local new_args = str._getParameters( frame.args, {'source', 'pattern', 'replace', 'count', 'plain' } ); local source_str = new_args['source'] or ''; local pattern = new_args['pattern'] or ''; local replace = new_args['replace'] or ''; local count = tonumber( new_args['count'] ); local plain = new_args['plain'] or true; if source_str == '' or pattern == '' then return source_str; end plain = str._getBoolean( plain ); if plain then pattern = str._escapePattern( pattern ); replace = mw.ustring.gsub( replace, "%%", "%%%%" ); --Only need to escape replacement sequences. end local result; if count ~= nil then result = mw.ustring.gsub( source_str, pattern, replace, count ); else result = mw.ustring.gsub( source_str, pattern, replace ); end return result; end --[[ simple function to pipe string.rep to templates. ]] function str.rep( frame ) local repetitions = tonumber( frame.args[2] ) if not repetitions then return str._error( 'function rep expects a number as second parameter, received "' .. ( frame.args[2] or '' ) .. '"' ) end return string.rep( frame.args[1] or '', repetitions ) end --[[ escapePattern This function escapes special characters from a Lua string pattern. See [1] for details on how patterns work. [1] https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Patterns Usage: {{#invoke:String|escapePattern|pattern_string}} Parameters pattern_string: The pattern string to escape. ]] function str.escapePattern( frame ) local pattern_str = frame.args[1] if not pattern_str then return str._error( 'No pattern string specified' ); end local result = str._escapePattern( pattern_str ) return result end --[[ Helper function that populates the argument list given that user may need to use a mix of named and unnamed parameters. This is relevant because named parameters are not identical to unnamed parameters due to string trimming, and when dealing with strings we sometimes want to either preserve or remove that whitespace depending on the application. ]] function str._getParameters( frame_args, arg_list ) local new_args = {}; local index = 1; local value; for i,arg in ipairs( arg_list ) do value = frame_args[arg] if value == nil then value = frame_args[index]; index = index + 1; end new_args[arg] = value; end return new_args; end --[[ Helper function to handle error messages. ]] function str._error( error_str ) local frame = mw.getCurrentFrame(); local error_category = frame.args.error_category or 'Errors reported by Module String'; local ignore_errors = frame.args.ignore_errors or false; local no_category = frame.args.no_category or false; if str._getBoolean(ignore_errors) then return ''; end local error_str = '<strong class="error">String Module Error: ' .. error_str .. '</strong>'; if error_category ~= '' and not str._getBoolean( no_category ) then error_str = '[[Category:' .. error_category .. ']]' .. error_str; end return error_str; end --[[ Helper Function to interpret boolean strings ]] function str._getBoolean( boolean_str ) local boolean_value; if type( boolean_str ) == 'string' then boolean_str = boolean_str:lower(); if boolean_str == 'false' or boolean_str == 'no' or boolean_str == '0' or boolean_str == '' then boolean_value = false; else boolean_value = true; end elseif type( boolean_str ) == 'boolean' then boolean_value = boolean_str; else error( 'No boolean value found' ); end return boolean_value end --[[ Helper function that escapes all pattern characters so that they will be treated as plain text. ]] function str._escapePattern( pattern_str ) return mw.ustring.gsub( pattern_str, "([%(%)%.%%%+%-%*%?%[%^%$%]])", "%%%1" ); end return str 22vrhornt6jodjtsxqxyi7j8pmixe17 9622 9621 2019-05-13T17:03:30Z w>RexxS 0 update renamed variable 9622 Scribunto text/plain --[[ This module is intended to provide access to basic string functions. Most of the functions provided here can be invoked with named parameters, unnamed parameters, or a mixture. If named parameters are used, Mediawiki will automatically remove any leading or trailing whitespace from the parameter. Depending on the intended use, it may be advantageous to either preserve or remove such whitespace. Global options ignore_errors: If set to 'true' or 1, any error condition will result in an empty string being returned rather than an error message. error_category: If an error occurs, specifies the name of a category to include with the error message. The default category is [Category:Errors reported by Module String]. no_category: If set to 'true' or 1, no category will be added if an error is generated. Unit tests for this module are available at Module:String/tests. ]] local str = {} --[[ len This function returns the length of the target string. Usage: {{#invoke:String|len|target_string|}} OR {{#invoke:String|len|s=target_string}} Parameters s: The string whose length to report If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the target string. ]] function str.len( frame ) local new_args = str._getParameters( frame.args, {'s'} ); local s = new_args['s'] or ''; return mw.ustring.len( s ) end --[[ sub This function returns a substring of the target string at specified indices. Usage: {{#invoke:String|sub|target_string|start_index|end_index}} OR {{#invoke:String|sub|s=target_string|i=start_index|j=end_index}} Parameters s: The string to return a subset of i: The fist index of the substring to return, defaults to 1. j: The last index of the string to return, defaults to the last character. The first character of the string is assigned an index of 1. If either i or j is a negative value, it is interpreted the same as selecting a character by counting from the end of the string. Hence, a value of -1 is the same as selecting the last character of the string. If the requested indices are out of range for the given string, an error is reported. ]] function str.sub( frame ) local new_args = str._getParameters( frame.args, { 's', 'i', 'j' } ); local s = new_args['s'] or ''; local i = tonumber( new_args['i'] ) or 1; local j = tonumber( new_args['j'] ) or -1; local len = mw.ustring.len( s ); -- Convert negatives for range checking if i < 0 then i = len + i + 1; end if j < 0 then j = len + j + 1; end if i > len or j > len or i < 1 or j < 1 then return str._error( 'String subset index out of range' ); end if j < i then return str._error( 'String subset indices out of order' ); end return mw.ustring.sub( s, i, j ) end --[[ This function implements that features of {{str sub old}} and is kept in order to maintain these older templates. ]] function str.sublength( frame ) local i = tonumber( frame.args.i ) or 0 local len = tonumber( frame.args.len ) return mw.ustring.sub( frame.args.s, i + 1, len and ( i + len ) ) end --[[ match This function returns a substring from the source string that matches a specified pattern. Usage: {{#invoke:String|match|source_string|pattern_string|start_index|match_number|plain_flag|nomatch_output}} OR {{#invoke:String|pos|s=source_string|pattern=pattern_string|start=start_index |match=match_number|plain=plain_flag|nomatch=nomatch_output}} Parameters s: The string to search pattern: The pattern or string to find within the string start: The index within the source string to start the search. The first character of the string has index 1. Defaults to 1. match: In some cases it may be possible to make multiple matches on a single string. This specifies which match to return, where the first match is match= 1. If a negative number is specified then a match is returned counting from the last match. Hence match = -1 is the same as requesting the last match. Defaults to 1. plain: A flag indicating that the pattern should be understood as plain text. Defaults to false. nomatch: If no match is found, output the "nomatch" value rather than an error. If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from each string. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. If the match_number or start_index are out of range for the string being queried, then this function generates an error. An error is also generated if no match is found. If one adds the parameter ignore_errors=true, then the error will be suppressed and an empty string will be returned on any failure. For information on constructing Lua patterns, a form of [regular expression], see: * http://www.lua.org/manual/5.1/manual.html#5.4.1 * http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Patterns * http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Ustring_patterns ]] -- This sub-routine is exported for use in other modules function str._match( s, pattern, start, match_index, plain_flag, nomatch ) if s == '' then return str._error( 'Target string is empty' ); end if pattern == '' then return str._error( 'Pattern string is empty' ); end start = tonumber(start) or 1 if math.abs(start) < 1 or math.abs(start) > mw.ustring.len( s ) then return str._error( 'Requested start is out of range' ); end if match_index == 0 then return str._error( 'Match index is out of range' ); end if plain_flag then pattern = str._escapePattern( pattern ); end local result if match_index == 1 then -- Find first match is simple case result = mw.ustring.match( s, pattern, start ) else if start > 1 then s = mw.ustring.sub( s, start ); end local iterator = mw.ustring.gmatch(s, pattern); if match_index > 0 then -- Forward search for w in iterator do match_index = match_index - 1; if match_index == 0 then result = w; break; end end else -- Reverse search local result_table = {}; local count = 1; for w in iterator do result_table[count] = w; count = count + 1; end result = result_table[ count + match_index ]; end end if result == nil then if nomatch == nil then return str._error( 'Match not found' ); else return nomatch; end else return result; end end -- This is the entry point for #invoke:String|match function str.match( frame ) local new_args = str._getParameters( frame.args, {'s', 'pattern', 'start', 'match', 'plain', 'nomatch'} ); local s = new_args['s'] or ''; local start = tonumber( new_args['start'] ) or 1; local plain_flag = str._getBoolean( new_args['plain'] or false ); local pattern = new_args['pattern'] or ''; local match_index = math.floor( tonumber(new_args['match']) or 1 ); local nomatch = new_args['nomatch']; return str._match( s, pattern, start, match_index, plain_flag, nomatch ) end --[[ pos This function returns a single character from the target string at position pos. Usage: {{#invoke:String|pos|target_string|index_value}} OR {{#invoke:String|pos|target=target_string|pos=index_value}} Parameters target: The string to search pos: The index for the character to return If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the target string. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. The first character has an index value of 1. If one requests a negative value, this function will select a character by counting backwards from the end of the string. In other words pos = -1 is the same as asking for the last character. A requested value of zero, or a value greater than the length of the string returns an error. ]] function str.pos( frame ) local new_args = str._getParameters( frame.args, {'target', 'pos'} ); local target_str = new_args['target'] or ''; local pos = tonumber( new_args['pos'] ) or 0; if pos == 0 or math.abs(pos) > mw.ustring.len( target_str ) then return str._error( 'String index out of range' ); end return mw.ustring.sub( target_str, pos, pos ); end --[[ str_find This function duplicates the behavior of {{str_find}}, including all of its quirks. This is provided in order to support existing templates, but is NOT RECOMMENDED for new code and templates. New code is recommended to use the "find" function instead. Returns the first index in "source" that is a match to "target". Indexing is 1-based, and the function returns -1 if the "target" string is not present in "source". Important Note: If the "target" string is empty / missing, this function returns a value of "1", which is generally unexpected behavior, and must be accounted for separatetly. ]] function str.str_find( frame ) local new_args = str._getParameters( frame.args, {'source', 'target'} ); local source_str = new_args['source'] or ''; local target_str = new_args['target'] or ''; if target_str == '' then return 1; end local start = mw.ustring.find( source_str, target_str, 1, true ) if start == nil then start = -1 end return start end --[[ find This function allows one to search for a target string or pattern within another string. Usage: {{#invoke:String|find|source_str|target_string|start_index|plain_flag}} OR {{#invoke:String|find|source=source_str|target=target_str|start=start_index|plain=plain_flag}} Parameters source: The string to search target: The string or pattern to find within source start: The index within the source string to start the search, defaults to 1 plain: Boolean flag indicating that target should be understood as plain text and not as a Lua style regular expression, defaults to true If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the parameter. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. This function returns the first index >= "start" where "target" can be found within "source". Indices are 1-based. If "target" is not found, then this function returns 0. If either "source" or "target" are missing / empty, this function also returns 0. This function should be safe for UTF-8 strings. ]] function str.find( frame ) local new_args = str._getParameters( frame.args, {'source', 'target', 'start', 'plain' } ); local source_str = new_args['source'] or ''; local pattern = new_args['target'] or ''; local start_pos = tonumber(new_args['start']) or 1; local plain = new_args['plain'] or true; if source_str == '' or pattern == '' then return 0; end plain = str._getBoolean( plain ); local start = mw.ustring.find( source_str, pattern, start_pos, plain ) if start == nil then start = 0 end return start end --[[ replace This function allows one to replace a target string or pattern within another string. Usage: {{#invoke:String|replace|source_str|pattern_string|replace_string|replacement_count|plain_flag}} OR {{#invoke:String|replace|source=source_string|pattern=pattern_string|replace=replace_string| count=replacement_count|plain=plain_flag}} Parameters source: The string to search pattern: The string or pattern to find within source replace: The replacement text count: The number of occurences to replace, defaults to all. plain: Boolean flag indicating that pattern should be understood as plain text and not as a Lua style regular expression, defaults to true ]] function str.replace( frame ) local new_args = str._getParameters( frame.args, {'source', 'pattern', 'replace', 'count', 'plain' } ); local source_str = new_args['source'] or ''; local pattern = new_args['pattern'] or ''; local replace = new_args['replace'] or ''; local count = tonumber( new_args['count'] ); local plain = new_args['plain'] or true; if source_str == '' or pattern == '' then return source_str; end plain = str._getBoolean( plain ); if plain then pattern = str._escapePattern( pattern ); replace = mw.ustring.gsub( replace, "%%", "%%%%" ); --Only need to escape replacement sequences. end local result; if count ~= nil then result = mw.ustring.gsub( source_str, pattern, replace, count ); else result = mw.ustring.gsub( source_str, pattern, replace ); end return result; end --[[ simple function to pipe string.rep to templates. ]] function str.rep( frame ) local repetitions = tonumber( frame.args[2] ) if not repetitions then return str._error( 'function rep expects a number as second parameter, received "' .. ( frame.args[2] or '' ) .. '"' ) end return string.rep( frame.args[1] or '', repetitions ) end --[[ escapePattern This function escapes special characters from a Lua string pattern. See [1] for details on how patterns work. [1] https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Patterns Usage: {{#invoke:String|escapePattern|pattern_string}} Parameters pattern_string: The pattern string to escape. ]] function str.escapePattern( frame ) local pattern_str = frame.args[1] if not pattern_str then return str._error( 'No pattern string specified' ); end local result = str._escapePattern( pattern_str ) return result end --[[ Helper function that populates the argument list given that user may need to use a mix of named and unnamed parameters. This is relevant because named parameters are not identical to unnamed parameters due to string trimming, and when dealing with strings we sometimes want to either preserve or remove that whitespace depending on the application. ]] function str._getParameters( frame_args, arg_list ) local new_args = {}; local index = 1; local value; for i,arg in ipairs( arg_list ) do value = frame_args[arg] if value == nil then value = frame_args[index]; index = index + 1; end new_args[arg] = value; end return new_args; end --[[ Helper function to handle error messages. ]] function str._error( error_str ) local frame = mw.getCurrentFrame(); local error_category = frame.args.error_category or 'Errors reported by Module String'; local ignore_errors = frame.args.ignore_errors or false; local no_category = frame.args.no_category or false; if str._getBoolean(ignore_errors) then return ''; end local error_str = '<strong class="error">String Module Error: ' .. error_str .. '</strong>'; if error_category ~= '' and not str._getBoolean( no_category ) then error_str = '[[Category:' .. error_category .. ']]' .. error_str; end return error_str; end --[[ Helper Function to interpret boolean strings ]] function str._getBoolean( boolean_str ) local boolean_value; if type( boolean_str ) == 'string' then boolean_str = boolean_str:lower(); if boolean_str == 'false' or boolean_str == 'no' or boolean_str == '0' or boolean_str == '' then boolean_value = false; else boolean_value = true; end elseif type( boolean_str ) == 'boolean' then boolean_value = boolean_str; else error( 'No boolean value found' ); end return boolean_value end --[[ Helper function that escapes all pattern characters so that they will be treated as plain text. ]] function str._escapePattern( pattern_str ) return mw.ustring.gsub( pattern_str, "([%(%)%.%%%+%-%*%?%[%^%$%]])", "%%%1" ); end return str kq0cmb8omt8fuv7tcs0ct6muar6yhjb 9623 9622 2019-05-27T15:47:53Z w>RexxS 0 Implement the merge of Module:Join, Module:Str endswith, Module:PatternCount and Module:Text count into this module per their TfDs. Review and discussion is at https://en.wikipedia.org/w/index.php?title=Module_talk:String&oldid=899040020#Edit_request_to_implement_merges 9623 Scribunto text/plain --[[ This module is intended to provide access to basic string functions. Most of the functions provided here can be invoked with named parameters, unnamed parameters, or a mixture. If named parameters are used, Mediawiki will automatically remove any leading or trailing whitespace from the parameter. Depending on the intended use, it may be advantageous to either preserve or remove such whitespace. Global options ignore_errors: If set to 'true' or 1, any error condition will result in an empty string being returned rather than an error message. error_category: If an error occurs, specifies the name of a category to include with the error message. The default category is [Category:Errors reported by Module String]. no_category: If set to 'true' or 1, no category will be added if an error is generated. Unit tests for this module are available at Module:String/tests. ]] local str = {} --[[ len This function returns the length of the target string. Usage: {{#invoke:String|len|target_string|}} OR {{#invoke:String|len|s=target_string}} Parameters s: The string whose length to report If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the target string. ]] function str.len( frame ) local new_args = str._getParameters( frame.args, {'s'} ) local s = new_args['s'] or '' return mw.ustring.len( s ) end --[[ sub This function returns a substring of the target string at specified indices. Usage: {{#invoke:String|sub|target_string|start_index|end_index}} OR {{#invoke:String|sub|s=target_string|i=start_index|j=end_index}} Parameters s: The string to return a subset of i: The fist index of the substring to return, defaults to 1. j: The last index of the string to return, defaults to the last character. The first character of the string is assigned an index of 1. If either i or j is a negative value, it is interpreted the same as selecting a character by counting from the end of the string. Hence, a value of -1 is the same as selecting the last character of the string. If the requested indices are out of range for the given string, an error is reported. ]] function str.sub( frame ) local new_args = str._getParameters( frame.args, { 's', 'i', 'j' } ) local s = new_args['s'] or '' local i = tonumber( new_args['i'] ) or 1 local j = tonumber( new_args['j'] ) or -1 local len = mw.ustring.len( s ) -- Convert negatives for range checking if i < 0 then i = len + i + 1 end if j < 0 then j = len + j + 1 end if i > len or j > len or i < 1 or j < 1 then return str._error( 'String subset index out of range' ) end if j < i then return str._error( 'String subset indices out of order' ) end return mw.ustring.sub( s, i, j ) end --[[ This function implements that features of {{str sub old}} and is kept in order to maintain these older templates. ]] function str.sublength( frame ) local i = tonumber( frame.args.i ) or 0 local len = tonumber( frame.args.len ) return mw.ustring.sub( frame.args.s, i + 1, len and ( i + len ) ) end --[[ match This function returns a substring from the source string that matches a specified pattern. Usage: {{#invoke:String|match|source_string|pattern_string|start_index|match_number|plain_flag|nomatch_output}} OR {{#invoke:String|pos|s=source_string|pattern=pattern_string|start=start_index |match=match_number|plain=plain_flag|nomatch=nomatch_output}} Parameters s: The string to search pattern: The pattern or string to find within the string start: The index within the source string to start the search. The first character of the string has index 1. Defaults to 1. match: In some cases it may be possible to make multiple matches on a single string. This specifies which match to return, where the first match is match= 1. If a negative number is specified then a match is returned counting from the last match. Hence match = -1 is the same as requesting the last match. Defaults to 1. plain: A flag indicating that the pattern should be understood as plain text. Defaults to false. nomatch: If no match is found, output the "nomatch" value rather than an error. If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from each string. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. If the match_number or start_index are out of range for the string being queried, then this function generates an error. An error is also generated if no match is found. If one adds the parameter ignore_errors=true, then the error will be suppressed and an empty string will be returned on any failure. For information on constructing Lua patterns, a form of [regular expression], see: * http://www.lua.org/manual/5.1/manual.html#5.4.1 * http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Patterns * http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Ustring_patterns ]] -- This sub-routine is exported for use in other modules function str._match( s, pattern, start, match_index, plain_flag, nomatch ) if s == '' then return str._error( 'Target string is empty' ) end if pattern == '' then return str._error( 'Pattern string is empty' ) end start = tonumber(start) or 1 if math.abs(start) < 1 or math.abs(start) > mw.ustring.len( s ) then return str._error( 'Requested start is out of range' ) end if match_index == 0 then return str._error( 'Match index is out of range' ) end if plain_flag then pattern = str._escapePattern( pattern ) end local result if match_index == 1 then -- Find first match is simple case result = mw.ustring.match( s, pattern, start ) else if start > 1 then s = mw.ustring.sub( s, start ) end local iterator = mw.ustring.gmatch(s, pattern) if match_index > 0 then -- Forward search for w in iterator do match_index = match_index - 1 if match_index == 0 then result = w break end end else -- Reverse search local result_table = {} local count = 1 for w in iterator do result_table[count] = w count = count + 1 end result = result_table[ count + match_index ] end end if result == nil then if nomatch == nil then return str._error( 'Match not found' ) else return nomatch end else return result end end -- This is the entry point for #invoke:String|match function str.match( frame ) local new_args = str._getParameters( frame.args, {'s', 'pattern', 'start', 'match', 'plain', 'nomatch'} ) local s = new_args['s'] or '' local start = tonumber( new_args['start'] ) or 1 local plain_flag = str._getBoolean( new_args['plain'] or false ) local pattern = new_args['pattern'] or '' local match_index = math.floor( tonumber(new_args['match']) or 1 ) local nomatch = new_args['nomatch'] return str._match( s, pattern, start, match_index, plain_flag, nomatch ) end --[[ pos This function returns a single character from the target string at position pos. Usage: {{#invoke:String|pos|target_string|index_value}} OR {{#invoke:String|pos|target=target_string|pos=index_value}} Parameters target: The string to search pos: The index for the character to return If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the target string. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. The first character has an index value of 1. If one requests a negative value, this function will select a character by counting backwards from the end of the string. In other words pos = -1 is the same as asking for the last character. A requested value of zero, or a value greater than the length of the string returns an error. ]] function str.pos( frame ) local new_args = str._getParameters( frame.args, {'target', 'pos'} ) local target_str = new_args['target'] or '' local pos = tonumber( new_args['pos'] ) or 0 if pos == 0 or math.abs(pos) > mw.ustring.len( target_str ) then return str._error( 'String index out of range' ) end return mw.ustring.sub( target_str, pos, pos ) end --[[ str_find This function duplicates the behavior of {{str_find}}, including all of its quirks. This is provided in order to support existing templates, but is NOT RECOMMENDED for new code and templates. New code is recommended to use the "find" function instead. Returns the first index in "source" that is a match to "target". Indexing is 1-based, and the function returns -1 if the "target" string is not present in "source". Important Note: If the "target" string is empty / missing, this function returns a value of "1", which is generally unexpected behavior, and must be accounted for separatetly. ]] function str.str_find( frame ) local new_args = str._getParameters( frame.args, {'source', 'target'} ) local source_str = new_args['source'] or '' local target_str = new_args['target'] or '' if target_str == '' then return 1 end local start = mw.ustring.find( source_str, target_str, 1, true ) if start == nil then start = -1 end return start end --[[ find This function allows one to search for a target string or pattern within another string. Usage: {{#invoke:String|find|source_str|target_string|start_index|plain_flag}} OR {{#invoke:String|find|source=source_str|target=target_str|start=start_index|plain=plain_flag}} Parameters source: The string to search target: The string or pattern to find within source start: The index within the source string to start the search, defaults to 1 plain: Boolean flag indicating that target should be understood as plain text and not as a Lua style regular expression, defaults to true If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the parameter. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. This function returns the first index >= "start" where "target" can be found within "source". Indices are 1-based. If "target" is not found, then this function returns 0. If either "source" or "target" are missing / empty, this function also returns 0. This function should be safe for UTF-8 strings. ]] function str.find( frame ) local new_args = str._getParameters( frame.args, {'source', 'target', 'start', 'plain' } ) local source_str = new_args['source'] or '' local pattern = new_args['target'] or '' local start_pos = tonumber(new_args['start']) or 1 local plain = new_args['plain'] or true if source_str == '' or pattern == '' then return 0 end plain = str._getBoolean( plain ) local start = mw.ustring.find( source_str, pattern, start_pos, plain ) if start == nil then start = 0 end return start end --[[ replace This function allows one to replace a target string or pattern within another string. Usage: {{#invoke:String|replace|source_str|pattern_string|replace_string|replacement_count|plain_flag}} OR {{#invoke:String|replace|source=source_string|pattern=pattern_string|replace=replace_string| count=replacement_count|plain=plain_flag}} Parameters source: The string to search pattern: The string or pattern to find within source replace: The replacement text count: The number of occurences to replace, defaults to all. plain: Boolean flag indicating that pattern should be understood as plain text and not as a Lua style regular expression, defaults to true ]] function str.replace( frame ) local new_args = str._getParameters( frame.args, {'source', 'pattern', 'replace', 'count', 'plain' } ) local source_str = new_args['source'] or '' local pattern = new_args['pattern'] or '' local replace = new_args['replace'] or '' local count = tonumber( new_args['count'] ) local plain = new_args['plain'] or true if source_str == '' or pattern == '' then return source_str end plain = str._getBoolean( plain ) if plain then pattern = str._escapePattern( pattern ) replace = mw.ustring.gsub( replace, "%%", "%%%%" ) --Only need to escape replacement sequences. end local result if count ~= nil then result = mw.ustring.gsub( source_str, pattern, replace, count ) else result = mw.ustring.gsub( source_str, pattern, replace ) end return result end --[[ simple function to pipe string.rep to templates. ]] function str.rep( frame ) local repetitions = tonumber( frame.args[2] ) if not repetitions then return str._error( 'function rep expects a number as second parameter, received "' .. ( frame.args[2] or '' ) .. '"' ) end return string.rep( frame.args[1] or '', repetitions ) end --[[ escapePattern This function escapes special characters from a Lua string pattern. See [1] for details on how patterns work. [1] https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Patterns Usage: {{#invoke:String|escapePattern|pattern_string}} Parameters pattern_string: The pattern string to escape. ]] function str.escapePattern( frame ) local pattern_str = frame.args[1] if not pattern_str then return str._error( 'No pattern string specified' ) end local result = str._escapePattern( pattern_str ) return result end --[[ count This function counts the number of occurrences of one string in another. ]] function str.count(frame) local args = str._getParameters(frame.args, {'source', 'pattern', 'plain'}) local source = args.source or '' local pattern = args.pattern or '' local plain = str._getBoolean(args.plain or true) if plain then pattern = str._escapePattern(pattern) end local _, count = mw.ustring.gsub(source, pattern, '') return count end --[[ endswith This function determines whether a string ends with another string. ]] function str.endswith(frame) local args = str._getParameters(frame.args, {'source', 'pattern'}) local source = args.source or '' local pattern = args.pattern or '' if pattern == '' then -- All strings end with the empty string. return "yes" end if mw.ustring.sub(source, -mw.ustring.len(pattern), -1) == pattern then return "yes" else return "" end end --[[ join Join all non empty arguments together; the first argument is the separator. Usage: {{#invoke:String|join|sep|one|two|three}} ]] function str.join(frame) local args = {} local sep for _, v in ipairs( frame.args ) do if sep then if v ~= '' then table.insert(args, v) end else sep = v end end return table.concat( args, sep or '' ) end --[[ Helper function that populates the argument list given that user may need to use a mix of named and unnamed parameters. This is relevant because named parameters are not identical to unnamed parameters due to string trimming, and when dealing with strings we sometimes want to either preserve or remove that whitespace depending on the application. ]] function str._getParameters( frame_args, arg_list ) local new_args = {} local index = 1 local value for _, arg in ipairs( arg_list ) do value = frame_args[arg] if value == nil then value = frame_args[index] index = index + 1 end new_args[arg] = value end return new_args end --[[ Helper function to handle error messages. ]] function str._error( error_str ) local frame = mw.getCurrentFrame() local error_category = frame.args.error_category or 'Errors reported by Module String' local ignore_errors = frame.args.ignore_errors or false local no_category = frame.args.no_category or false if str._getBoolean(ignore_errors) then return '' end local error_str = '<strong class="error">String Module Error: ' .. error_str .. '</strong>' if error_category ~= '' and not str._getBoolean( no_category ) then error_str = '[[Category:' .. error_category .. ']]' .. error_str end return error_str end --[[ Helper Function to interpret boolean strings ]] function str._getBoolean( boolean_str ) local boolean_value if type( boolean_str ) == 'string' then boolean_str = boolean_str:lower() if boolean_str == 'false' or boolean_str == 'no' or boolean_str == '0' or boolean_str == '' then boolean_value = false else boolean_value = true end elseif type( boolean_str ) == 'boolean' then boolean_value = boolean_str else error( 'No boolean value found' ) end return boolean_value end --[[ Helper function that escapes all pattern characters so that they will be treated as plain text. ]] function str._escapePattern( pattern_str ) return mw.ustring.gsub( pattern_str, "([%(%)%.%%%+%-%*%?%[%^%$%]])", "%%%1" ) end return str q0zkbbzmgvt15iy6j94nnyg4ee4vn7f 9624 9623 2019-06-27T17:35:16Z w>Dinoguy1000 0 copy fixed comment from sandbox: this has been wrong for years, and when I [[Special:Diff/759708044|corrected]] it years ago, it just got overwritten later, so rather tan see it happen again, I'm just making the change in the live module now 9624 Scribunto text/plain --[[ This module is intended to provide access to basic string functions. Most of the functions provided here can be invoked with named parameters, unnamed parameters, or a mixture. If named parameters are used, Mediawiki will automatically remove any leading or trailing whitespace from the parameter. Depending on the intended use, it may be advantageous to either preserve or remove such whitespace. Global options ignore_errors: If set to 'true' or 1, any error condition will result in an empty string being returned rather than an error message. error_category: If an error occurs, specifies the name of a category to include with the error message. The default category is [Category:Errors reported by Module String]. no_category: If set to 'true' or 1, no category will be added if an error is generated. Unit tests for this module are available at Module:String/tests. ]] local str = {} --[[ len This function returns the length of the target string. Usage: {{#invoke:String|len|target_string|}} OR {{#invoke:String|len|s=target_string}} Parameters s: The string whose length to report If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the target string. ]] function str.len( frame ) local new_args = str._getParameters( frame.args, {'s'} ) local s = new_args['s'] or '' return mw.ustring.len( s ) end --[[ sub This function returns a substring of the target string at specified indices. Usage: {{#invoke:String|sub|target_string|start_index|end_index}} OR {{#invoke:String|sub|s=target_string|i=start_index|j=end_index}} Parameters s: The string to return a subset of i: The fist index of the substring to return, defaults to 1. j: The last index of the string to return, defaults to the last character. The first character of the string is assigned an index of 1. If either i or j is a negative value, it is interpreted the same as selecting a character by counting from the end of the string. Hence, a value of -1 is the same as selecting the last character of the string. If the requested indices are out of range for the given string, an error is reported. ]] function str.sub( frame ) local new_args = str._getParameters( frame.args, { 's', 'i', 'j' } ) local s = new_args['s'] or '' local i = tonumber( new_args['i'] ) or 1 local j = tonumber( new_args['j'] ) or -1 local len = mw.ustring.len( s ) -- Convert negatives for range checking if i < 0 then i = len + i + 1 end if j < 0 then j = len + j + 1 end if i > len or j > len or i < 1 or j < 1 then return str._error( 'String subset index out of range' ) end if j < i then return str._error( 'String subset indices out of order' ) end return mw.ustring.sub( s, i, j ) end --[[ This function implements that features of {{str sub old}} and is kept in order to maintain these older templates. ]] function str.sublength( frame ) local i = tonumber( frame.args.i ) or 0 local len = tonumber( frame.args.len ) return mw.ustring.sub( frame.args.s, i + 1, len and ( i + len ) ) end --[[ match This function returns a substring from the source string that matches a specified pattern. Usage: {{#invoke:String|match|source_string|pattern_string|start_index|match_number|plain_flag|nomatch_output}} OR {{#invoke:String|match|s=source_string|pattern=pattern_string|start=start_index |match=match_number|plain=plain_flag|nomatch=nomatch_output}} Parameters s: The string to search pattern: The pattern or string to find within the string start: The index within the source string to start the search. The first character of the string has index 1. Defaults to 1. match: In some cases it may be possible to make multiple matches on a single string. This specifies which match to return, where the first match is match= 1. If a negative number is specified then a match is returned counting from the last match. Hence match = -1 is the same as requesting the last match. Defaults to 1. plain: A flag indicating that the pattern should be understood as plain text. Defaults to false. nomatch: If no match is found, output the "nomatch" value rather than an error. If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from each string. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. If the match_number or start_index are out of range for the string being queried, then this function generates an error. An error is also generated if no match is found. If one adds the parameter ignore_errors=true, then the error will be suppressed and an empty string will be returned on any failure. For information on constructing Lua patterns, a form of [regular expression], see: * http://www.lua.org/manual/5.1/manual.html#5.4.1 * http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Patterns * http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Ustring_patterns ]] -- This sub-routine is exported for use in other modules function str._match( s, pattern, start, match_index, plain_flag, nomatch ) if s == '' then return str._error( 'Target string is empty' ) end if pattern == '' then return str._error( 'Pattern string is empty' ) end start = tonumber(start) or 1 if math.abs(start) < 1 or math.abs(start) > mw.ustring.len( s ) then return str._error( 'Requested start is out of range' ) end if match_index == 0 then return str._error( 'Match index is out of range' ) end if plain_flag then pattern = str._escapePattern( pattern ) end local result if match_index == 1 then -- Find first match is simple case result = mw.ustring.match( s, pattern, start ) else if start > 1 then s = mw.ustring.sub( s, start ) end local iterator = mw.ustring.gmatch(s, pattern) if match_index > 0 then -- Forward search for w in iterator do match_index = match_index - 1 if match_index == 0 then result = w break end end else -- Reverse search local result_table = {} local count = 1 for w in iterator do result_table[count] = w count = count + 1 end result = result_table[ count + match_index ] end end if result == nil then if nomatch == nil then return str._error( 'Match not found' ) else return nomatch end else return result end end -- This is the entry point for #invoke:String|match function str.match( frame ) local new_args = str._getParameters( frame.args, {'s', 'pattern', 'start', 'match', 'plain', 'nomatch'} ) local s = new_args['s'] or '' local start = tonumber( new_args['start'] ) or 1 local plain_flag = str._getBoolean( new_args['plain'] or false ) local pattern = new_args['pattern'] or '' local match_index = math.floor( tonumber(new_args['match']) or 1 ) local nomatch = new_args['nomatch'] return str._match( s, pattern, start, match_index, plain_flag, nomatch ) end --[[ pos This function returns a single character from the target string at position pos. Usage: {{#invoke:String|pos|target_string|index_value}} OR {{#invoke:String|pos|target=target_string|pos=index_value}} Parameters target: The string to search pos: The index for the character to return If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the target string. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. The first character has an index value of 1. If one requests a negative value, this function will select a character by counting backwards from the end of the string. In other words pos = -1 is the same as asking for the last character. A requested value of zero, or a value greater than the length of the string returns an error. ]] function str.pos( frame ) local new_args = str._getParameters( frame.args, {'target', 'pos'} ) local target_str = new_args['target'] or '' local pos = tonumber( new_args['pos'] ) or 0 if pos == 0 or math.abs(pos) > mw.ustring.len( target_str ) then return str._error( 'String index out of range' ) end return mw.ustring.sub( target_str, pos, pos ) end --[[ str_find This function duplicates the behavior of {{str_find}}, including all of its quirks. This is provided in order to support existing templates, but is NOT RECOMMENDED for new code and templates. New code is recommended to use the "find" function instead. Returns the first index in "source" that is a match to "target". Indexing is 1-based, and the function returns -1 if the "target" string is not present in "source". Important Note: If the "target" string is empty / missing, this function returns a value of "1", which is generally unexpected behavior, and must be accounted for separatetly. ]] function str.str_find( frame ) local new_args = str._getParameters( frame.args, {'source', 'target'} ) local source_str = new_args['source'] or '' local target_str = new_args['target'] or '' if target_str == '' then return 1 end local start = mw.ustring.find( source_str, target_str, 1, true ) if start == nil then start = -1 end return start end --[[ find This function allows one to search for a target string or pattern within another string. Usage: {{#invoke:String|find|source_str|target_string|start_index|plain_flag}} OR {{#invoke:String|find|source=source_str|target=target_str|start=start_index|plain=plain_flag}} Parameters source: The string to search target: The string or pattern to find within source start: The index within the source string to start the search, defaults to 1 plain: Boolean flag indicating that target should be understood as plain text and not as a Lua style regular expression, defaults to true If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the parameter. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. This function returns the first index >= "start" where "target" can be found within "source". Indices are 1-based. If "target" is not found, then this function returns 0. If either "source" or "target" are missing / empty, this function also returns 0. This function should be safe for UTF-8 strings. ]] function str.find( frame ) local new_args = str._getParameters( frame.args, {'source', 'target', 'start', 'plain' } ) local source_str = new_args['source'] or '' local pattern = new_args['target'] or '' local start_pos = tonumber(new_args['start']) or 1 local plain = new_args['plain'] or true if source_str == '' or pattern == '' then return 0 end plain = str._getBoolean( plain ) local start = mw.ustring.find( source_str, pattern, start_pos, plain ) if start == nil then start = 0 end return start end --[[ replace This function allows one to replace a target string or pattern within another string. Usage: {{#invoke:String|replace|source_str|pattern_string|replace_string|replacement_count|plain_flag}} OR {{#invoke:String|replace|source=source_string|pattern=pattern_string|replace=replace_string| count=replacement_count|plain=plain_flag}} Parameters source: The string to search pattern: The string or pattern to find within source replace: The replacement text count: The number of occurences to replace, defaults to all. plain: Boolean flag indicating that pattern should be understood as plain text and not as a Lua style regular expression, defaults to true ]] function str.replace( frame ) local new_args = str._getParameters( frame.args, {'source', 'pattern', 'replace', 'count', 'plain' } ) local source_str = new_args['source'] or '' local pattern = new_args['pattern'] or '' local replace = new_args['replace'] or '' local count = tonumber( new_args['count'] ) local plain = new_args['plain'] or true if source_str == '' or pattern == '' then return source_str end plain = str._getBoolean( plain ) if plain then pattern = str._escapePattern( pattern ) replace = mw.ustring.gsub( replace, "%%", "%%%%" ) --Only need to escape replacement sequences. end local result if count ~= nil then result = mw.ustring.gsub( source_str, pattern, replace, count ) else result = mw.ustring.gsub( source_str, pattern, replace ) end return result end --[[ simple function to pipe string.rep to templates. ]] function str.rep( frame ) local repetitions = tonumber( frame.args[2] ) if not repetitions then return str._error( 'function rep expects a number as second parameter, received "' .. ( frame.args[2] or '' ) .. '"' ) end return string.rep( frame.args[1] or '', repetitions ) end --[[ escapePattern This function escapes special characters from a Lua string pattern. See [1] for details on how patterns work. [1] https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Patterns Usage: {{#invoke:String|escapePattern|pattern_string}} Parameters pattern_string: The pattern string to escape. ]] function str.escapePattern( frame ) local pattern_str = frame.args[1] if not pattern_str then return str._error( 'No pattern string specified' ) end local result = str._escapePattern( pattern_str ) return result end --[[ count This function counts the number of occurrences of one string in another. ]] function str.count(frame) local args = str._getParameters(frame.args, {'source', 'pattern', 'plain'}) local source = args.source or '' local pattern = args.pattern or '' local plain = str._getBoolean(args.plain or true) if plain then pattern = str._escapePattern(pattern) end local _, count = mw.ustring.gsub(source, pattern, '') return count end --[[ endswith This function determines whether a string ends with another string. ]] function str.endswith(frame) local args = str._getParameters(frame.args, {'source', 'pattern'}) local source = args.source or '' local pattern = args.pattern or '' if pattern == '' then -- All strings end with the empty string. return "yes" end if mw.ustring.sub(source, -mw.ustring.len(pattern), -1) == pattern then return "yes" else return "" end end --[[ join Join all non empty arguments together; the first argument is the separator. Usage: {{#invoke:String|join|sep|one|two|three}} ]] function str.join(frame) local args = {} local sep for _, v in ipairs( frame.args ) do if sep then if v ~= '' then table.insert(args, v) end else sep = v end end return table.concat( args, sep or '' ) end --[[ Helper function that populates the argument list given that user may need to use a mix of named and unnamed parameters. This is relevant because named parameters are not identical to unnamed parameters due to string trimming, and when dealing with strings we sometimes want to either preserve or remove that whitespace depending on the application. ]] function str._getParameters( frame_args, arg_list ) local new_args = {} local index = 1 local value for _, arg in ipairs( arg_list ) do value = frame_args[arg] if value == nil then value = frame_args[index] index = index + 1 end new_args[arg] = value end return new_args end --[[ Helper function to handle error messages. ]] function str._error( error_str ) local frame = mw.getCurrentFrame() local error_category = frame.args.error_category or 'Errors reported by Module String' local ignore_errors = frame.args.ignore_errors or false local no_category = frame.args.no_category or false if str._getBoolean(ignore_errors) then return '' end local error_str = '<strong class="error">String Module Error: ' .. error_str .. '</strong>' if error_category ~= '' and not str._getBoolean( no_category ) then error_str = '[[Category:' .. error_category .. ']]' .. error_str end return error_str end --[[ Helper Function to interpret boolean strings ]] function str._getBoolean( boolean_str ) local boolean_value if type( boolean_str ) == 'string' then boolean_str = boolean_str:lower() if boolean_str == 'false' or boolean_str == 'no' or boolean_str == '0' or boolean_str == '' then boolean_value = false else boolean_value = true end elseif type( boolean_str ) == 'boolean' then boolean_value = boolean_str else error( 'No boolean value found' ) end return boolean_value end --[[ Helper function that escapes all pattern characters so that they will be treated as plain text. ]] function str._escapePattern( pattern_str ) return mw.ustring.gsub( pattern_str, "([%(%)%.%%%+%-%*%?%[%^%$%]])", "%%%1" ) end return str g9myztjccfeamhqorwvd1gwnwhtk4kx 9625 9594 2019-11-03T02:30:49Z w>RexxS 0 Changed protection level for "[[Module:String]]": Cascade-protected from main page, so no point in enabling TE ([Edit=Require administrator access] (indefinite) [Move=Require administrator access] (indefinite)) 9625 Scribunto text/plain --[[ This module is intended to provide access to basic string functions. Most of the functions provided here can be invoked with named parameters, unnamed parameters, or a mixture. If named parameters are used, Mediawiki will automatically remove any leading or trailing whitespace from the parameter. Depending on the intended use, it may be advantageous to either preserve or remove such whitespace. Global options ignore_errors: If set to 'true' or 1, any error condition will result in an empty string being returned rather than an error message. error_category: If an error occurs, specifies the name of a category to include with the error message. The default category is [Category:Errors reported by Module String]. no_category: If set to 'true' or 1, no category will be added if an error is generated. Unit tests for this module are available at Module:String/tests. ]] local str = {} --[[ len This function returns the length of the target string. Usage: {{#invoke:String|len|target_string|}} OR {{#invoke:String|len|s=target_string}} Parameters s: The string whose length to report If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the target string. ]] function str.len( frame ) local new_args = str._getParameters( frame.args, {'s'} ) local s = new_args['s'] or '' return mw.ustring.len( s ) end --[[ sub This function returns a substring of the target string at specified indices. Usage: {{#invoke:String|sub|target_string|start_index|end_index}} OR {{#invoke:String|sub|s=target_string|i=start_index|j=end_index}} Parameters s: The string to return a subset of i: The fist index of the substring to return, defaults to 1. j: The last index of the string to return, defaults to the last character. The first character of the string is assigned an index of 1. If either i or j is a negative value, it is interpreted the same as selecting a character by counting from the end of the string. Hence, a value of -1 is the same as selecting the last character of the string. If the requested indices are out of range for the given string, an error is reported. ]] function str.sub( frame ) local new_args = str._getParameters( frame.args, { 's', 'i', 'j' } ) local s = new_args['s'] or '' local i = tonumber( new_args['i'] ) or 1 local j = tonumber( new_args['j'] ) or -1 local len = mw.ustring.len( s ) -- Convert negatives for range checking if i < 0 then i = len + i + 1 end if j < 0 then j = len + j + 1 end if i > len or j > len or i < 1 or j < 1 then return str._error( 'String subset index out of range' ) end if j < i then return str._error( 'String subset indices out of order' ) end return mw.ustring.sub( s, i, j ) end --[[ This function implements that features of {{str sub old}} and is kept in order to maintain these older templates. ]] function str.sublength( frame ) local i = tonumber( frame.args.i ) or 0 local len = tonumber( frame.args.len ) return mw.ustring.sub( frame.args.s, i + 1, len and ( i + len ) ) end --[[ match This function returns a substring from the source string that matches a specified pattern. Usage: {{#invoke:String|match|source_string|pattern_string|start_index|match_number|plain_flag|nomatch_output}} OR {{#invoke:String|match|s=source_string|pattern=pattern_string|start=start_index |match=match_number|plain=plain_flag|nomatch=nomatch_output}} Parameters s: The string to search pattern: The pattern or string to find within the string start: The index within the source string to start the search. The first character of the string has index 1. Defaults to 1. match: In some cases it may be possible to make multiple matches on a single string. This specifies which match to return, where the first match is match= 1. If a negative number is specified then a match is returned counting from the last match. Hence match = -1 is the same as requesting the last match. Defaults to 1. plain: A flag indicating that the pattern should be understood as plain text. Defaults to false. nomatch: If no match is found, output the "nomatch" value rather than an error. If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from each string. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. If the match_number or start_index are out of range for the string being queried, then this function generates an error. An error is also generated if no match is found. If one adds the parameter ignore_errors=true, then the error will be suppressed and an empty string will be returned on any failure. For information on constructing Lua patterns, a form of [regular expression], see: * http://www.lua.org/manual/5.1/manual.html#5.4.1 * http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Patterns * http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Ustring_patterns ]] -- This sub-routine is exported for use in other modules function str._match( s, pattern, start, match_index, plain_flag, nomatch ) if s == '' then return str._error( 'Target string is empty' ) end if pattern == '' then return str._error( 'Pattern string is empty' ) end start = tonumber(start) or 1 if math.abs(start) < 1 or math.abs(start) > mw.ustring.len( s ) then return str._error( 'Requested start is out of range' ) end if match_index == 0 then return str._error( 'Match index is out of range' ) end if plain_flag then pattern = str._escapePattern( pattern ) end local result if match_index == 1 then -- Find first match is simple case result = mw.ustring.match( s, pattern, start ) else if start > 1 then s = mw.ustring.sub( s, start ) end local iterator = mw.ustring.gmatch(s, pattern) if match_index > 0 then -- Forward search for w in iterator do match_index = match_index - 1 if match_index == 0 then result = w break end end else -- Reverse search local result_table = {} local count = 1 for w in iterator do result_table[count] = w count = count + 1 end result = result_table[ count + match_index ] end end if result == nil then if nomatch == nil then return str._error( 'Match not found' ) else return nomatch end else return result end end -- This is the entry point for #invoke:String|match function str.match( frame ) local new_args = str._getParameters( frame.args, {'s', 'pattern', 'start', 'match', 'plain', 'nomatch'} ) local s = new_args['s'] or '' local start = tonumber( new_args['start'] ) or 1 local plain_flag = str._getBoolean( new_args['plain'] or false ) local pattern = new_args['pattern'] or '' local match_index = math.floor( tonumber(new_args['match']) or 1 ) local nomatch = new_args['nomatch'] return str._match( s, pattern, start, match_index, plain_flag, nomatch ) end --[[ pos This function returns a single character from the target string at position pos. Usage: {{#invoke:String|pos|target_string|index_value}} OR {{#invoke:String|pos|target=target_string|pos=index_value}} Parameters target: The string to search pos: The index for the character to return If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the target string. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. The first character has an index value of 1. If one requests a negative value, this function will select a character by counting backwards from the end of the string. In other words pos = -1 is the same as asking for the last character. A requested value of zero, or a value greater than the length of the string returns an error. ]] function str.pos( frame ) local new_args = str._getParameters( frame.args, {'target', 'pos'} ) local target_str = new_args['target'] or '' local pos = tonumber( new_args['pos'] ) or 0 if pos == 0 or math.abs(pos) > mw.ustring.len( target_str ) then return str._error( 'String index out of range' ) end return mw.ustring.sub( target_str, pos, pos ) end --[[ str_find This function duplicates the behavior of {{str_find}}, including all of its quirks. This is provided in order to support existing templates, but is NOT RECOMMENDED for new code and templates. New code is recommended to use the "find" function instead. Returns the first index in "source" that is a match to "target". Indexing is 1-based, and the function returns -1 if the "target" string is not present in "source". Important Note: If the "target" string is empty / missing, this function returns a value of "1", which is generally unexpected behavior, and must be accounted for separatetly. ]] function str.str_find( frame ) local new_args = str._getParameters( frame.args, {'source', 'target'} ) local source_str = new_args['source'] or '' local target_str = new_args['target'] or '' if target_str == '' then return 1 end local start = mw.ustring.find( source_str, target_str, 1, true ) if start == nil then start = -1 end return start end --[[ find This function allows one to search for a target string or pattern within another string. Usage: {{#invoke:String|find|source_str|target_string|start_index|plain_flag}} OR {{#invoke:String|find|source=source_str|target=target_str|start=start_index|plain=plain_flag}} Parameters source: The string to search target: The string or pattern to find within source start: The index within the source string to start the search, defaults to 1 plain: Boolean flag indicating that target should be understood as plain text and not as a Lua style regular expression, defaults to true If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the parameter. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. This function returns the first index >= "start" where "target" can be found within "source". Indices are 1-based. If "target" is not found, then this function returns 0. If either "source" or "target" are missing / empty, this function also returns 0. This function should be safe for UTF-8 strings. ]] function str.find( frame ) local new_args = str._getParameters( frame.args, {'source', 'target', 'start', 'plain' } ) local source_str = new_args['source'] or '' local pattern = new_args['target'] or '' local start_pos = tonumber(new_args['start']) or 1 local plain = new_args['plain'] or true if source_str == '' or pattern == '' then return 0 end plain = str._getBoolean( plain ) local start = mw.ustring.find( source_str, pattern, start_pos, plain ) if start == nil then start = 0 end return start end --[[ replace This function allows one to replace a target string or pattern within another string. Usage: {{#invoke:String|replace|source_str|pattern_string|replace_string|replacement_count|plain_flag}} OR {{#invoke:String|replace|source=source_string|pattern=pattern_string|replace=replace_string| count=replacement_count|plain=plain_flag}} Parameters source: The string to search pattern: The string or pattern to find within source replace: The replacement text count: The number of occurences to replace, defaults to all. plain: Boolean flag indicating that pattern should be understood as plain text and not as a Lua style regular expression, defaults to true ]] function str.replace( frame ) local new_args = str._getParameters( frame.args, {'source', 'pattern', 'replace', 'count', 'plain' } ) local source_str = new_args['source'] or '' local pattern = new_args['pattern'] or '' local replace = new_args['replace'] or '' local count = tonumber( new_args['count'] ) local plain = new_args['plain'] or true if source_str == '' or pattern == '' then return source_str end plain = str._getBoolean( plain ) if plain then pattern = str._escapePattern( pattern ) replace = mw.ustring.gsub( replace, "%%", "%%%%" ) --Only need to escape replacement sequences. end local result if count ~= nil then result = mw.ustring.gsub( source_str, pattern, replace, count ) else result = mw.ustring.gsub( source_str, pattern, replace ) end return result end --[[ simple function to pipe string.rep to templates. ]] function str.rep( frame ) local repetitions = tonumber( frame.args[2] ) if not repetitions then return str._error( 'function rep expects a number as second parameter, received "' .. ( frame.args[2] or '' ) .. '"' ) end return string.rep( frame.args[1] or '', repetitions ) end --[[ escapePattern This function escapes special characters from a Lua string pattern. See [1] for details on how patterns work. [1] https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Patterns Usage: {{#invoke:String|escapePattern|pattern_string}} Parameters pattern_string: The pattern string to escape. ]] function str.escapePattern( frame ) local pattern_str = frame.args[1] if not pattern_str then return str._error( 'No pattern string specified' ) end local result = str._escapePattern( pattern_str ) return result end --[[ count This function counts the number of occurrences of one string in another. ]] function str.count(frame) local args = str._getParameters(frame.args, {'source', 'pattern', 'plain'}) local source = args.source or '' local pattern = args.pattern or '' local plain = str._getBoolean(args.plain or true) if plain then pattern = str._escapePattern(pattern) end local _, count = mw.ustring.gsub(source, pattern, '') return count end --[[ endswith This function determines whether a string ends with another string. ]] function str.endswith(frame) local args = str._getParameters(frame.args, {'source', 'pattern'}) local source = args.source or '' local pattern = args.pattern or '' if pattern == '' then -- All strings end with the empty string. return "yes" end if mw.ustring.sub(source, -mw.ustring.len(pattern), -1) == pattern then return "yes" else return "" end end --[[ join Join all non empty arguments together; the first argument is the separator. Usage: {{#invoke:String|join|sep|one|two|three}} ]] function str.join(frame) local args = {} local sep for _, v in ipairs( frame.args ) do if sep then if v ~= '' then table.insert(args, v) end else sep = v end end return table.concat( args, sep or '' ) end --[[ Helper function that populates the argument list given that user may need to use a mix of named and unnamed parameters. This is relevant because named parameters are not identical to unnamed parameters due to string trimming, and when dealing with strings we sometimes want to either preserve or remove that whitespace depending on the application. ]] function str._getParameters( frame_args, arg_list ) local new_args = {} local index = 1 local value for _, arg in ipairs( arg_list ) do value = frame_args[arg] if value == nil then value = frame_args[index] index = index + 1 end new_args[arg] = value end return new_args end --[[ Helper function to handle error messages. ]] function str._error( error_str ) local frame = mw.getCurrentFrame() local error_category = frame.args.error_category or 'Errors reported by Module String' local ignore_errors = frame.args.ignore_errors or false local no_category = frame.args.no_category or false if str._getBoolean(ignore_errors) then return '' end local error_str = '<strong class="error">String Module Error: ' .. error_str .. '</strong>' if error_category ~= '' and not str._getBoolean( no_category ) then error_str = '[[Category:' .. error_category .. ']]' .. error_str end return error_str end --[[ Helper Function to interpret boolean strings ]] function str._getBoolean( boolean_str ) local boolean_value if type( boolean_str ) == 'string' then boolean_str = boolean_str:lower() if boolean_str == 'false' or boolean_str == 'no' or boolean_str == '0' or boolean_str == '' then boolean_value = false else boolean_value = true end elseif type( boolean_str ) == 'boolean' then boolean_value = boolean_str else error( 'No boolean value found' ) end return boolean_value end --[[ Helper function that escapes all pattern characters so that they will be treated as plain text. ]] function str._escapePattern( pattern_str ) return mw.ustring.gsub( pattern_str, "([%(%)%.%%%+%-%*%?%[%^%$%]])", "%%%1" ) end return str g9myztjccfeamhqorwvd1gwnwhtk4kx 9626 9625 2020-08-02T15:49:42Z w>RexxS 0 separate annotations for str.match from those for str._match 9626 Scribunto text/plain --[[ This module is intended to provide access to basic string functions. Most of the functions provided here can be invoked with named parameters, unnamed parameters, or a mixture. If named parameters are used, Mediawiki will automatically remove any leading or trailing whitespace from the parameter. Depending on the intended use, it may be advantageous to either preserve or remove such whitespace. Global options ignore_errors: If set to 'true' or 1, any error condition will result in an empty string being returned rather than an error message. error_category: If an error occurs, specifies the name of a category to include with the error message. The default category is [Category:Errors reported by Module String]. no_category: If set to 'true' or 1, no category will be added if an error is generated. Unit tests for this module are available at Module:String/tests. ]] local str = {} --[[ len This function returns the length of the target string. Usage: {{#invoke:String|len|target_string|}} OR {{#invoke:String|len|s=target_string}} Parameters s: The string whose length to report If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the target string. ]] function str.len( frame ) local new_args = str._getParameters( frame.args, {'s'} ) local s = new_args['s'] or '' return mw.ustring.len( s ) end --[[ sub This function returns a substring of the target string at specified indices. Usage: {{#invoke:String|sub|target_string|start_index|end_index}} OR {{#invoke:String|sub|s=target_string|i=start_index|j=end_index}} Parameters s: The string to return a subset of i: The fist index of the substring to return, defaults to 1. j: The last index of the string to return, defaults to the last character. The first character of the string is assigned an index of 1. If either i or j is a negative value, it is interpreted the same as selecting a character by counting from the end of the string. Hence, a value of -1 is the same as selecting the last character of the string. If the requested indices are out of range for the given string, an error is reported. ]] function str.sub( frame ) local new_args = str._getParameters( frame.args, { 's', 'i', 'j' } ) local s = new_args['s'] or '' local i = tonumber( new_args['i'] ) or 1 local j = tonumber( new_args['j'] ) or -1 local len = mw.ustring.len( s ) -- Convert negatives for range checking if i < 0 then i = len + i + 1 end if j < 0 then j = len + j + 1 end if i > len or j > len or i < 1 or j < 1 then return str._error( 'String subset index out of range' ) end if j < i then return str._error( 'String subset indices out of order' ) end return mw.ustring.sub( s, i, j ) end --[[ This function implements that features of {{str sub old}} and is kept in order to maintain these older templates. ]] function str.sublength( frame ) local i = tonumber( frame.args.i ) or 0 local len = tonumber( frame.args.len ) return mw.ustring.sub( frame.args.s, i + 1, len and ( i + len ) ) end --[[ _match This function returns a substring from the source string that matches a specified pattern. It is exported for use in other modules Usage: strmatch = require("Module:String")._match sresult = strmatch( s, pattern, start, match, plain, nomatch ) Parameters s: The string to search pattern: The pattern or string to find within the string start: The index within the source string to start the search. The first character of the string has index 1. Defaults to 1. match: In some cases it may be possible to make multiple matches on a single string. This specifies which match to return, where the first match is match= 1. If a negative number is specified then a match is returned counting from the last match. Hence match = -1 is the same as requesting the last match. Defaults to 1. plain: A flag indicating that the pattern should be understood as plain text. Defaults to false. nomatch: If no match is found, output the "nomatch" value rather than an error. For information on constructing Lua patterns, a form of [regular expression], see: * http://www.lua.org/manual/5.1/manual.html#5.4.1 * http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Patterns * http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Ustring_patterns ]] -- This sub-routine is exported for use in other modules function str._match( s, pattern, start, match_index, plain_flag, nomatch ) if s == '' then return str._error( 'Target string is empty' ) end if pattern == '' then return str._error( 'Pattern string is empty' ) end start = tonumber(start) or 1 if math.abs(start) < 1 or math.abs(start) > mw.ustring.len( s ) then return str._error( 'Requested start is out of range' ) end if match_index == 0 then return str._error( 'Match index is out of range' ) end if plain_flag then pattern = str._escapePattern( pattern ) end local result if match_index == 1 then -- Find first match is simple case result = mw.ustring.match( s, pattern, start ) else if start > 1 then s = mw.ustring.sub( s, start ) end local iterator = mw.ustring.gmatch(s, pattern) if match_index > 0 then -- Forward search for w in iterator do match_index = match_index - 1 if match_index == 0 then result = w break end end else -- Reverse search local result_table = {} local count = 1 for w in iterator do result_table[count] = w count = count + 1 end result = result_table[ count + match_index ] end end if result == nil then if nomatch == nil then return str._error( 'Match not found' ) else return nomatch end else return result end end --[[ match This function returns a substring from the source string that matches a specified pattern. Usage: {{#invoke:String|match|source_string|pattern_string|start_index|match_number|plain_flag|nomatch_output}} OR {{#invoke:String|match|s=source_string|pattern=pattern_string|start=start_index |match=match_number|plain=plain_flag|nomatch=nomatch_output}} Parameters s: The string to search pattern: The pattern or string to find within the string start: The index within the source string to start the search. The first character of the string has index 1. Defaults to 1. match: In some cases it may be possible to make multiple matches on a single string. This specifies which match to return, where the first match is match= 1. If a negative number is specified then a match is returned counting from the last match. Hence match = -1 is the same as requesting the last match. Defaults to 1. plain: A flag indicating that the pattern should be understood as plain text. Defaults to false. nomatch: If no match is found, output the "nomatch" value rather than an error. If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from each string. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. If the match_number or start_index are out of range for the string being queried, then this function generates an error. An error is also generated if no match is found. If one adds the parameter ignore_errors=true, then the error will be suppressed and an empty string will be returned on any failure. For information on constructing Lua patterns, a form of [regular expression], see: * http://www.lua.org/manual/5.1/manual.html#5.4.1 * http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Patterns * http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Ustring_patterns ]] -- This is the entry point for #invoke:String|match function str.match( frame ) local new_args = str._getParameters( frame.args, {'s', 'pattern', 'start', 'match', 'plain', 'nomatch'} ) local s = new_args['s'] or '' local start = tonumber( new_args['start'] ) or 1 local plain_flag = str._getBoolean( new_args['plain'] or false ) local pattern = new_args['pattern'] or '' local match_index = math.floor( tonumber(new_args['match']) or 1 ) local nomatch = new_args['nomatch'] return str._match( s, pattern, start, match_index, plain_flag, nomatch ) end --[[ pos This function returns a single character from the target string at position pos. Usage: {{#invoke:String|pos|target_string|index_value}} OR {{#invoke:String|pos|target=target_string|pos=index_value}} Parameters target: The string to search pos: The index for the character to return If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the target string. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. The first character has an index value of 1. If one requests a negative value, this function will select a character by counting backwards from the end of the string. In other words pos = -1 is the same as asking for the last character. A requested value of zero, or a value greater than the length of the string returns an error. ]] function str.pos( frame ) local new_args = str._getParameters( frame.args, {'target', 'pos'} ) local target_str = new_args['target'] or '' local pos = tonumber( new_args['pos'] ) or 0 if pos == 0 or math.abs(pos) > mw.ustring.len( target_str ) then return str._error( 'String index out of range' ) end return mw.ustring.sub( target_str, pos, pos ) end --[[ str_find This function duplicates the behavior of {{str_find}}, including all of its quirks. This is provided in order to support existing templates, but is NOT RECOMMENDED for new code and templates. New code is recommended to use the "find" function instead. Returns the first index in "source" that is a match to "target". Indexing is 1-based, and the function returns -1 if the "target" string is not present in "source". Important Note: If the "target" string is empty / missing, this function returns a value of "1", which is generally unexpected behavior, and must be accounted for separatetly. ]] function str.str_find( frame ) local new_args = str._getParameters( frame.args, {'source', 'target'} ) local source_str = new_args['source'] or '' local target_str = new_args['target'] or '' if target_str == '' then return 1 end local start = mw.ustring.find( source_str, target_str, 1, true ) if start == nil then start = -1 end return start end --[[ find This function allows one to search for a target string or pattern within another string. Usage: {{#invoke:String|find|source_str|target_string|start_index|plain_flag}} OR {{#invoke:String|find|source=source_str|target=target_str|start=start_index|plain=plain_flag}} Parameters source: The string to search target: The string or pattern to find within source start: The index within the source string to start the search, defaults to 1 plain: Boolean flag indicating that target should be understood as plain text and not as a Lua style regular expression, defaults to true If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the parameter. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. This function returns the first index >= "start" where "target" can be found within "source". Indices are 1-based. If "target" is not found, then this function returns 0. If either "source" or "target" are missing / empty, this function also returns 0. This function should be safe for UTF-8 strings. ]] function str.find( frame ) local new_args = str._getParameters( frame.args, {'source', 'target', 'start', 'plain' } ) local source_str = new_args['source'] or '' local pattern = new_args['target'] or '' local start_pos = tonumber(new_args['start']) or 1 local plain = new_args['plain'] or true if source_str == '' or pattern == '' then return 0 end plain = str._getBoolean( plain ) local start = mw.ustring.find( source_str, pattern, start_pos, plain ) if start == nil then start = 0 end return start end --[[ replace This function allows one to replace a target string or pattern within another string. Usage: {{#invoke:String|replace|source_str|pattern_string|replace_string|replacement_count|plain_flag}} OR {{#invoke:String|replace|source=source_string|pattern=pattern_string|replace=replace_string| count=replacement_count|plain=plain_flag}} Parameters source: The string to search pattern: The string or pattern to find within source replace: The replacement text count: The number of occurences to replace, defaults to all. plain: Boolean flag indicating that pattern should be understood as plain text and not as a Lua style regular expression, defaults to true ]] function str.replace( frame ) local new_args = str._getParameters( frame.args, {'source', 'pattern', 'replace', 'count', 'plain' } ) local source_str = new_args['source'] or '' local pattern = new_args['pattern'] or '' local replace = new_args['replace'] or '' local count = tonumber( new_args['count'] ) local plain = new_args['plain'] or true if source_str == '' or pattern == '' then return source_str end plain = str._getBoolean( plain ) if plain then pattern = str._escapePattern( pattern ) replace = mw.ustring.gsub( replace, "%%", "%%%%" ) --Only need to escape replacement sequences. end local result if count ~= nil then result = mw.ustring.gsub( source_str, pattern, replace, count ) else result = mw.ustring.gsub( source_str, pattern, replace ) end return result end --[[ simple function to pipe string.rep to templates. ]] function str.rep( frame ) local repetitions = tonumber( frame.args[2] ) if not repetitions then return str._error( 'function rep expects a number as second parameter, received "' .. ( frame.args[2] or '' ) .. '"' ) end return string.rep( frame.args[1] or '', repetitions ) end --[[ escapePattern This function escapes special characters from a Lua string pattern. See [1] for details on how patterns work. [1] https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Patterns Usage: {{#invoke:String|escapePattern|pattern_string}} Parameters pattern_string: The pattern string to escape. ]] function str.escapePattern( frame ) local pattern_str = frame.args[1] if not pattern_str then return str._error( 'No pattern string specified' ) end local result = str._escapePattern( pattern_str ) return result end --[[ count This function counts the number of occurrences of one string in another. ]] function str.count(frame) local args = str._getParameters(frame.args, {'source', 'pattern', 'plain'}) local source = args.source or '' local pattern = args.pattern or '' local plain = str._getBoolean(args.plain or true) if plain then pattern = str._escapePattern(pattern) end local _, count = mw.ustring.gsub(source, pattern, '') return count end --[[ endswith This function determines whether a string ends with another string. ]] function str.endswith(frame) local args = str._getParameters(frame.args, {'source', 'pattern'}) local source = args.source or '' local pattern = args.pattern or '' if pattern == '' then -- All strings end with the empty string. return "yes" end if mw.ustring.sub(source, -mw.ustring.len(pattern), -1) == pattern then return "yes" else return "" end end --[[ join Join all non empty arguments together; the first argument is the separator. Usage: {{#invoke:String|join|sep|one|two|three}} ]] function str.join(frame) local args = {} local sep for _, v in ipairs( frame.args ) do if sep then if v ~= '' then table.insert(args, v) end else sep = v end end return table.concat( args, sep or '' ) end --[[ Helper function that populates the argument list given that user may need to use a mix of named and unnamed parameters. This is relevant because named parameters are not identical to unnamed parameters due to string trimming, and when dealing with strings we sometimes want to either preserve or remove that whitespace depending on the application. ]] function str._getParameters( frame_args, arg_list ) local new_args = {} local index = 1 local value for _, arg in ipairs( arg_list ) do value = frame_args[arg] if value == nil then value = frame_args[index] index = index + 1 end new_args[arg] = value end return new_args end --[[ Helper function to handle error messages. ]] function str._error( error_str ) local frame = mw.getCurrentFrame() local error_category = frame.args.error_category or 'Errors reported by Module String' local ignore_errors = frame.args.ignore_errors or false local no_category = frame.args.no_category or false if str._getBoolean(ignore_errors) then return '' end local error_str = '<strong class="error">String Module Error: ' .. error_str .. '</strong>' if error_category ~= '' and not str._getBoolean( no_category ) then error_str = '[[Category:' .. error_category .. ']]' .. error_str end return error_str end --[[ Helper Function to interpret boolean strings ]] function str._getBoolean( boolean_str ) local boolean_value if type( boolean_str ) == 'string' then boolean_str = boolean_str:lower() if boolean_str == 'false' or boolean_str == 'no' or boolean_str == '0' or boolean_str == '' then boolean_value = false else boolean_value = true end elseif type( boolean_str ) == 'boolean' then boolean_value = boolean_str else error( 'No boolean value found' ) end return boolean_value end --[[ Helper function that escapes all pattern characters so that they will be treated as plain text. ]] function str._escapePattern( pattern_str ) return mw.ustring.gsub( pattern_str, "([%(%)%.%%%+%-%*%?%[%^%$%]])", "%%%1" ) end return str cufmbepw7ml3gut4lchtqrhtj5r63cp 9627 9626 2021-10-29T20:02:49Z meta>GeneralNotability 0 32 revisions imported from [[:w:Module:String]]: blame [[User:Barkeep49]] 9626 Scribunto text/plain --[[ This module is intended to provide access to basic string functions. Most of the functions provided here can be invoked with named parameters, unnamed parameters, or a mixture. If named parameters are used, Mediawiki will automatically remove any leading or trailing whitespace from the parameter. Depending on the intended use, it may be advantageous to either preserve or remove such whitespace. Global options ignore_errors: If set to 'true' or 1, any error condition will result in an empty string being returned rather than an error message. error_category: If an error occurs, specifies the name of a category to include with the error message. The default category is [Category:Errors reported by Module String]. no_category: If set to 'true' or 1, no category will be added if an error is generated. Unit tests for this module are available at Module:String/tests. ]] local str = {} --[[ len This function returns the length of the target string. Usage: {{#invoke:String|len|target_string|}} OR {{#invoke:String|len|s=target_string}} Parameters s: The string whose length to report If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the target string. ]] function str.len( frame ) local new_args = str._getParameters( frame.args, {'s'} ) local s = new_args['s'] or '' return mw.ustring.len( s ) end --[[ sub This function returns a substring of the target string at specified indices. Usage: {{#invoke:String|sub|target_string|start_index|end_index}} OR {{#invoke:String|sub|s=target_string|i=start_index|j=end_index}} Parameters s: The string to return a subset of i: The fist index of the substring to return, defaults to 1. j: The last index of the string to return, defaults to the last character. The first character of the string is assigned an index of 1. If either i or j is a negative value, it is interpreted the same as selecting a character by counting from the end of the string. Hence, a value of -1 is the same as selecting the last character of the string. If the requested indices are out of range for the given string, an error is reported. ]] function str.sub( frame ) local new_args = str._getParameters( frame.args, { 's', 'i', 'j' } ) local s = new_args['s'] or '' local i = tonumber( new_args['i'] ) or 1 local j = tonumber( new_args['j'] ) or -1 local len = mw.ustring.len( s ) -- Convert negatives for range checking if i < 0 then i = len + i + 1 end if j < 0 then j = len + j + 1 end if i > len or j > len or i < 1 or j < 1 then return str._error( 'String subset index out of range' ) end if j < i then return str._error( 'String subset indices out of order' ) end return mw.ustring.sub( s, i, j ) end --[[ This function implements that features of {{str sub old}} and is kept in order to maintain these older templates. ]] function str.sublength( frame ) local i = tonumber( frame.args.i ) or 0 local len = tonumber( frame.args.len ) return mw.ustring.sub( frame.args.s, i + 1, len and ( i + len ) ) end --[[ _match This function returns a substring from the source string that matches a specified pattern. It is exported for use in other modules Usage: strmatch = require("Module:String")._match sresult = strmatch( s, pattern, start, match, plain, nomatch ) Parameters s: The string to search pattern: The pattern or string to find within the string start: The index within the source string to start the search. The first character of the string has index 1. Defaults to 1. match: In some cases it may be possible to make multiple matches on a single string. This specifies which match to return, where the first match is match= 1. If a negative number is specified then a match is returned counting from the last match. Hence match = -1 is the same as requesting the last match. Defaults to 1. plain: A flag indicating that the pattern should be understood as plain text. Defaults to false. nomatch: If no match is found, output the "nomatch" value rather than an error. For information on constructing Lua patterns, a form of [regular expression], see: * http://www.lua.org/manual/5.1/manual.html#5.4.1 * http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Patterns * http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Ustring_patterns ]] -- This sub-routine is exported for use in other modules function str._match( s, pattern, start, match_index, plain_flag, nomatch ) if s == '' then return str._error( 'Target string is empty' ) end if pattern == '' then return str._error( 'Pattern string is empty' ) end start = tonumber(start) or 1 if math.abs(start) < 1 or math.abs(start) > mw.ustring.len( s ) then return str._error( 'Requested start is out of range' ) end if match_index == 0 then return str._error( 'Match index is out of range' ) end if plain_flag then pattern = str._escapePattern( pattern ) end local result if match_index == 1 then -- Find first match is simple case result = mw.ustring.match( s, pattern, start ) else if start > 1 then s = mw.ustring.sub( s, start ) end local iterator = mw.ustring.gmatch(s, pattern) if match_index > 0 then -- Forward search for w in iterator do match_index = match_index - 1 if match_index == 0 then result = w break end end else -- Reverse search local result_table = {} local count = 1 for w in iterator do result_table[count] = w count = count + 1 end result = result_table[ count + match_index ] end end if result == nil then if nomatch == nil then return str._error( 'Match not found' ) else return nomatch end else return result end end --[[ match This function returns a substring from the source string that matches a specified pattern. Usage: {{#invoke:String|match|source_string|pattern_string|start_index|match_number|plain_flag|nomatch_output}} OR {{#invoke:String|match|s=source_string|pattern=pattern_string|start=start_index |match=match_number|plain=plain_flag|nomatch=nomatch_output}} Parameters s: The string to search pattern: The pattern or string to find within the string start: The index within the source string to start the search. The first character of the string has index 1. Defaults to 1. match: In some cases it may be possible to make multiple matches on a single string. This specifies which match to return, where the first match is match= 1. If a negative number is specified then a match is returned counting from the last match. Hence match = -1 is the same as requesting the last match. Defaults to 1. plain: A flag indicating that the pattern should be understood as plain text. Defaults to false. nomatch: If no match is found, output the "nomatch" value rather than an error. If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from each string. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. If the match_number or start_index are out of range for the string being queried, then this function generates an error. An error is also generated if no match is found. If one adds the parameter ignore_errors=true, then the error will be suppressed and an empty string will be returned on any failure. For information on constructing Lua patterns, a form of [regular expression], see: * http://www.lua.org/manual/5.1/manual.html#5.4.1 * http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Patterns * http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Ustring_patterns ]] -- This is the entry point for #invoke:String|match function str.match( frame ) local new_args = str._getParameters( frame.args, {'s', 'pattern', 'start', 'match', 'plain', 'nomatch'} ) local s = new_args['s'] or '' local start = tonumber( new_args['start'] ) or 1 local plain_flag = str._getBoolean( new_args['plain'] or false ) local pattern = new_args['pattern'] or '' local match_index = math.floor( tonumber(new_args['match']) or 1 ) local nomatch = new_args['nomatch'] return str._match( s, pattern, start, match_index, plain_flag, nomatch ) end --[[ pos This function returns a single character from the target string at position pos. Usage: {{#invoke:String|pos|target_string|index_value}} OR {{#invoke:String|pos|target=target_string|pos=index_value}} Parameters target: The string to search pos: The index for the character to return If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the target string. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. The first character has an index value of 1. If one requests a negative value, this function will select a character by counting backwards from the end of the string. In other words pos = -1 is the same as asking for the last character. A requested value of zero, or a value greater than the length of the string returns an error. ]] function str.pos( frame ) local new_args = str._getParameters( frame.args, {'target', 'pos'} ) local target_str = new_args['target'] or '' local pos = tonumber( new_args['pos'] ) or 0 if pos == 0 or math.abs(pos) > mw.ustring.len( target_str ) then return str._error( 'String index out of range' ) end return mw.ustring.sub( target_str, pos, pos ) end --[[ str_find This function duplicates the behavior of {{str_find}}, including all of its quirks. This is provided in order to support existing templates, but is NOT RECOMMENDED for new code and templates. New code is recommended to use the "find" function instead. Returns the first index in "source" that is a match to "target". Indexing is 1-based, and the function returns -1 if the "target" string is not present in "source". Important Note: If the "target" string is empty / missing, this function returns a value of "1", which is generally unexpected behavior, and must be accounted for separatetly. ]] function str.str_find( frame ) local new_args = str._getParameters( frame.args, {'source', 'target'} ) local source_str = new_args['source'] or '' local target_str = new_args['target'] or '' if target_str == '' then return 1 end local start = mw.ustring.find( source_str, target_str, 1, true ) if start == nil then start = -1 end return start end --[[ find This function allows one to search for a target string or pattern within another string. Usage: {{#invoke:String|find|source_str|target_string|start_index|plain_flag}} OR {{#invoke:String|find|source=source_str|target=target_str|start=start_index|plain=plain_flag}} Parameters source: The string to search target: The string or pattern to find within source start: The index within the source string to start the search, defaults to 1 plain: Boolean flag indicating that target should be understood as plain text and not as a Lua style regular expression, defaults to true If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the parameter. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. This function returns the first index >= "start" where "target" can be found within "source". Indices are 1-based. If "target" is not found, then this function returns 0. If either "source" or "target" are missing / empty, this function also returns 0. This function should be safe for UTF-8 strings. ]] function str.find( frame ) local new_args = str._getParameters( frame.args, {'source', 'target', 'start', 'plain' } ) local source_str = new_args['source'] or '' local pattern = new_args['target'] or '' local start_pos = tonumber(new_args['start']) or 1 local plain = new_args['plain'] or true if source_str == '' or pattern == '' then return 0 end plain = str._getBoolean( plain ) local start = mw.ustring.find( source_str, pattern, start_pos, plain ) if start == nil then start = 0 end return start end --[[ replace This function allows one to replace a target string or pattern within another string. Usage: {{#invoke:String|replace|source_str|pattern_string|replace_string|replacement_count|plain_flag}} OR {{#invoke:String|replace|source=source_string|pattern=pattern_string|replace=replace_string| count=replacement_count|plain=plain_flag}} Parameters source: The string to search pattern: The string or pattern to find within source replace: The replacement text count: The number of occurences to replace, defaults to all. plain: Boolean flag indicating that pattern should be understood as plain text and not as a Lua style regular expression, defaults to true ]] function str.replace( frame ) local new_args = str._getParameters( frame.args, {'source', 'pattern', 'replace', 'count', 'plain' } ) local source_str = new_args['source'] or '' local pattern = new_args['pattern'] or '' local replace = new_args['replace'] or '' local count = tonumber( new_args['count'] ) local plain = new_args['plain'] or true if source_str == '' or pattern == '' then return source_str end plain = str._getBoolean( plain ) if plain then pattern = str._escapePattern( pattern ) replace = mw.ustring.gsub( replace, "%%", "%%%%" ) --Only need to escape replacement sequences. end local result if count ~= nil then result = mw.ustring.gsub( source_str, pattern, replace, count ) else result = mw.ustring.gsub( source_str, pattern, replace ) end return result end --[[ simple function to pipe string.rep to templates. ]] function str.rep( frame ) local repetitions = tonumber( frame.args[2] ) if not repetitions then return str._error( 'function rep expects a number as second parameter, received "' .. ( frame.args[2] or '' ) .. '"' ) end return string.rep( frame.args[1] or '', repetitions ) end --[[ escapePattern This function escapes special characters from a Lua string pattern. See [1] for details on how patterns work. [1] https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Patterns Usage: {{#invoke:String|escapePattern|pattern_string}} Parameters pattern_string: The pattern string to escape. ]] function str.escapePattern( frame ) local pattern_str = frame.args[1] if not pattern_str then return str._error( 'No pattern string specified' ) end local result = str._escapePattern( pattern_str ) return result end --[[ count This function counts the number of occurrences of one string in another. ]] function str.count(frame) local args = str._getParameters(frame.args, {'source', 'pattern', 'plain'}) local source = args.source or '' local pattern = args.pattern or '' local plain = str._getBoolean(args.plain or true) if plain then pattern = str._escapePattern(pattern) end local _, count = mw.ustring.gsub(source, pattern, '') return count end --[[ endswith This function determines whether a string ends with another string. ]] function str.endswith(frame) local args = str._getParameters(frame.args, {'source', 'pattern'}) local source = args.source or '' local pattern = args.pattern or '' if pattern == '' then -- All strings end with the empty string. return "yes" end if mw.ustring.sub(source, -mw.ustring.len(pattern), -1) == pattern then return "yes" else return "" end end --[[ join Join all non empty arguments together; the first argument is the separator. Usage: {{#invoke:String|join|sep|one|two|three}} ]] function str.join(frame) local args = {} local sep for _, v in ipairs( frame.args ) do if sep then if v ~= '' then table.insert(args, v) end else sep = v end end return table.concat( args, sep or '' ) end --[[ Helper function that populates the argument list given that user may need to use a mix of named and unnamed parameters. This is relevant because named parameters are not identical to unnamed parameters due to string trimming, and when dealing with strings we sometimes want to either preserve or remove that whitespace depending on the application. ]] function str._getParameters( frame_args, arg_list ) local new_args = {} local index = 1 local value for _, arg in ipairs( arg_list ) do value = frame_args[arg] if value == nil then value = frame_args[index] index = index + 1 end new_args[arg] = value end return new_args end --[[ Helper function to handle error messages. ]] function str._error( error_str ) local frame = mw.getCurrentFrame() local error_category = frame.args.error_category or 'Errors reported by Module String' local ignore_errors = frame.args.ignore_errors or false local no_category = frame.args.no_category or false if str._getBoolean(ignore_errors) then return '' end local error_str = '<strong class="error">String Module Error: ' .. error_str .. '</strong>' if error_category ~= '' and not str._getBoolean( no_category ) then error_str = '[[Category:' .. error_category .. ']]' .. error_str end return error_str end --[[ Helper Function to interpret boolean strings ]] function str._getBoolean( boolean_str ) local boolean_value if type( boolean_str ) == 'string' then boolean_str = boolean_str:lower() if boolean_str == 'false' or boolean_str == 'no' or boolean_str == '0' or boolean_str == '' then boolean_value = false else boolean_value = true end elseif type( boolean_str ) == 'boolean' then boolean_value = boolean_str else error( 'No boolean value found' ) end return boolean_value end --[[ Helper function that escapes all pattern characters so that they will be treated as plain text. ]] function str._escapePattern( pattern_str ) return mw.ustring.gsub( pattern_str, "([%(%)%.%%%+%-%*%?%[%^%$%]])", "%%%1" ) end return str cufmbepw7ml3gut4lchtqrhtj5r63cp 9628 9627 2021-10-30T15:26:51Z meta>GeneralNotability 0 Reverted to revision 19404648 by [[Special:Contributions/Billinghurst|Billinghurst]] ([[User talk:Billinghurst|talk]]): Undo import (TwinkleGlobal) 9628 Scribunto text/plain --[[ This module is intended to provide access to basic string functions. Most of the functions provided here can be invoked with named parameters, unnamed parameters, or a mixture. If named parameters are used, Mediawiki will automatically remove any leading or trailing whitespace from the parameter. Depending on the intended use, it may be advantageous to either preserve or remove such whitespace. Global options ignore_errors: If set to 'true' or 1, any error condition will result in an empty string being returned rather than an error message. error_category: If an error occurs, specifies the name of a category to include with the error message. The default category is [Category:Errors reported by Module String]. no_category: If set to 'true' or 1, no category will be added if an error is generated. Unit tests for this module are available at Module:String/tests. ]] local str = {} --[[ len This function returns the length of the target string. Usage: {{#invoke:String|len|target_string|}} OR {{#invoke:String|len|s=target_string}} Parameters s: The string whose length to report If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the target string. ]] function str.len( frame ) local new_args = str._getParameters( frame.args, {'s'} ); local s = new_args['s'] or ''; return mw.ustring.len( s ) end --[[ sub This function returns a substring of the target string at specified indices. Usage: {{#invoke:String|sub|target_string|start_index|end_index}} OR {{#invoke:String|sub|s=target_string|i=start_index|j=end_index}} Parameters s: The string to return a subset of i: The fist index of the substring to return, defaults to 1. j: The last index of the string to return, defaults to the last character. The first character of the string is assigned an index of 1. If either i or j is a negative value, it is interpreted the same as selecting a character by counting from the end of the string. Hence, a value of -1 is the same as selecting the last character of the string. If the requested indices are out of range for the given string, an error is reported. ]] function str.sub( frame ) local new_args = str._getParameters( frame.args, { 's', 'i', 'j' } ); local s = new_args['s'] or ''; local i = tonumber( new_args['i'] ) or 1; local j = tonumber( new_args['j'] ) or -1; local len = mw.ustring.len( s ); -- Convert negatives for range checking if i < 0 then i = len + i + 1; end if j < 0 then j = len + j + 1; end if i > len or j > len or i < 1 or j < 1 then return str._error( 'String subset index out of range' ); end if j < i then return str._error( 'String subset indices out of order' ); end return mw.ustring.sub( s, i, j ) end --[[ This function implements that features of {{subr|s|skip|max}} and is kept in order to maintain these older templates. Uses only numbered paramameters to preserve spaces (caller may trim whitespaces by passing the parameter explicitly by numbering the parameters). Accepts negative values as relative to strng length. No error is returned if attempting to read past end of string or before start of string. Currently does not parse and replace placeholders for nowiki tags. ]] function str.sublength( frame ) local s = frame.args[1] or ''; local skip = tonumber( frame.args[2] ) or 0; local max = tonumber( frame.args[3] ) or 0; local len = mw.ustring.len( s ); -- convert negative values of max and skip as relative to string length if max < 0 then max = len + max end if skip < 0 then skip = len + skip end -- check boundaries to reduce the requested max if skip < 0 then -- if before start of string max = max + skip skip = 0 -- skip can't underflow now end if max > len - skip then -- if past end of string max = len - skip -- max can't overflow now end if max <= 0 then return '' -- nothing left to return end return mw.ustring.sub( s, skip + 1, skip + max ) end --[[ match This function returns a substring from the source string that matches a specified pattern. Usage: {{#invoke:String|match|source_string|pattern_string|start_index|match_number|plain_flag|nomatch_output}} OR {{#invoke:String|pos|s=source_string|pattern=pattern_string|start=start_index |match=match_number|plain=plain_flag|nomatch=nomatch_output}} Parameters s: The string to search pattern: The pattern or string to find within the string start: The index within the source string to start the search. The first character of the string has index 1. Defaults to 1. match: In some cases it may be possible to make multiple matches on a single string. This specifies which match to return, where the first match is match= 1. If a negative number is specified then a match is returned counting from the last match. Hence match = -1 is the same as requesting the last match. Defaults to 1. plain: A flag indicating that the pattern should be understood as plain text. Defaults to false. nomatch: If no match is found, output the "nomatch" value rather than an error. If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from each string. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. If the match_number or start_index are out of range for the string being queried, then this function generates an error. An error is also generated if no match is found. If one adds the parameter ignore_errors=true, then the error will be suppressed and an empty string will be returned on any failure. For information on constructing Lua patterns, a form of [regular expression], see: * http://www.lua.org/manual/5.1/manual.html#5.4.1 * http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Patterns * http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Ustring_patterns ]] function str.match( frame ) local new_args = str._getParameters( frame.args, {'s', 'pattern', 'start', 'match', 'plain', 'nomatch'} ); local s = new_args['s'] or ''; local start = tonumber( new_args['start'] ) or 1; local plain_flag = str._getBoolean( new_args['plain'] or false ); local pattern = new_args['pattern'] or ''; local match_index = math.floor( tonumber(new_args['match']) or 1 ); local nomatch = new_args['nomatch']; if s == '' then return str._error( 'Target string is empty' ); end if pattern == '' then return str._error( 'Pattern string is empty' ); end if math.abs(start) < 1 or math.abs(start) > mw.ustring.len( s ) then return str._error( 'Requested start is out of range' ); end if match_index == 0 then return str._error( 'Match index is out of range' ); end if plain_flag then pattern = str._escapePattern( pattern ); end local result if match_index == 1 then -- Find first match is simple case result = mw.ustring.match( s, pattern, start ) else if start > 1 then s = mw.ustring.sub( s, start ); end local iterator = mw.ustring.gmatch(s, pattern); if match_index > 0 then -- Forward search for w in iterator do match_index = match_index - 1; if match_index == 0 then result = w; break; end end else -- Reverse search local result_table = {}; local count = 1; for w in iterator do result_table[count] = w; count = count + 1; end result = result_table[ count + match_index ]; end end if result == nil then if nomatch == nil then return str._error( 'Match not found' ); else return nomatch; end else return result; end end --[[ pos This function returns a single character from the target string at position pos. Usage: {{#invoke:String|pos|target_string|index_value}} OR {{#invoke:String|pos|target=target_string|pos=index_value}} Parameters target: The string to search pos: The index for the character to return If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the target string. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. The first character has an index value of 1. If one requests a negative value, this function will select a character by counting backwards from the end of the string. In other words pos = -1 is the same as asking for the last character. A requested value of zero, or a value greater than the length of the string returns an error. ]] function str.pos( frame ) local new_args = str._getParameters( frame.args, {'target', 'pos'} ); local target_str = new_args['target'] or ''; local pos = tonumber( new_args['pos'] ) or 0; if pos == 0 or math.abs(pos) > mw.ustring.len( target_str ) then return str._error( 'String index out of range' ); end return mw.ustring.sub( target_str, pos, pos ); end --[[ str_find This function duplicates the behavior of {{str_find}}, including all of its quirks. This is provided in order to support existing templates, but is NOT RECOMMENDED for new code and templates. New code is recommended to use the "find" function instead. Returns the first index in "source" that is a match to "target". Indexing is 1-based, and the function returns -1 if the "target" string is not present in "source". Important Note: If the "target" string is empty / missing, this function returns a value of "1", which is generally unexpected behavior, and must be accounted for separatetly. ]] function str.str_find( frame ) local new_args = str._getParameters( frame.args, {'source', 'target'} ); local source_str = new_args['source'] or ''; local target_str = new_args['target'] or ''; if target_str == '' then return 1; end local start = mw.ustring.find( source_str, target_str, 1, true ) if start == nil then start = -1 end return start end --[[ find This function allows one to search for a target string or pattern within another string. Usage: {{#invoke:String|find|source_str|target_string|start_index|plain_flag}} OR {{#invoke:String|find|source=source_str|target=target_str|start=start_index|plain=plain_flag}} Parameters source: The string to search target: The string or pattern to find within source start: The index within the source string to start the search, defaults to 1 plain: Boolean flag indicating that target should be understood as plain text and not as a Lua style regular expression, defaults to true If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the parameter. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. This function returns the first index >= "start" where "target" can be found within "source". Indices are 1-based. If "target" is not found, then this function returns 0. If either "source" or "target" are missing / empty, this function also returns 0. This function should be safe for UTF-8 strings. ]] function str.find( frame ) local new_args = str._getParameters( frame.args, {'source', 'target', 'start', 'plain' } ); local source_str = new_args['source'] or ''; local pattern = new_args['target'] or ''; local start_pos = tonumber(new_args['start']) or 1; local plain = new_args['plain'] or true; if source_str == '' or pattern == '' then return 0; end plain = str._getBoolean( plain ); local start = mw.ustring.find( source_str, pattern, start_pos, plain ) if start == nil then start = 0 end return start end --[[ replace This function allows one to replace a target string or pattern within another string. Usage: {{#invoke:String|replace|source_str|pattern_string|replace_string|replacement_count|plain_flag}} OR {{#invoke:String|replace|source=source_string|pattern=pattern_string|replace=replace_string| count=replacement_count|plain=plain_flag}} Parameters source: The string to search pattern: The string or pattern to find within source replace: The replacement text count: The number of occurences to replace, defaults to all. plain: Boolean flag indicating that pattern should be understood as plain text and not as a Lua style regular expression, defaults to true ]] function str.replace( frame ) local new_args = str._getParameters( frame.args, {'source', 'pattern', 'replace', 'count', 'plain' } ); local source_str = new_args['source'] or ''; local pattern = new_args['pattern'] or ''; local replace = new_args['replace'] or ''; local count = tonumber( new_args['count'] ); local plain = new_args['plain'] or true; if source_str == '' or pattern == '' then return source_str; end plain = str._getBoolean( plain ); if plain then pattern = str._escapePattern( pattern ); replace = mw.ustring.gsub( replace, "%%", "%%%%" ); --Only need to escape replacement sequences. end local result; if count ~= nil then result = mw.ustring.gsub( source_str, pattern, replace, count ); else result = mw.ustring.gsub( source_str, pattern, replace ); end return result; end --[[ simple function to pipe string.rep to templates. ]] function str.rep( frame ) local repetitions = tonumber( frame.args[2] ) if not repetitions then return str._error( 'function rep expects a number as second parameter, received "' .. ( frame.args[2] or '' ) .. '"' ) end return string.rep( frame.args[1] or '', repetitions ) end --[[ Helper function that populates the argument list given that user may need to use a mix of named and unnamed parameters. This is relevant because named parameters are not identical to unnamed parameters due to string trimming, and when dealing with strings we sometimes want to either preserve or remove that whitespace depending on the application. ]] function str._getParameters( frame_args, arg_list ) local new_args = {}; local index = 1; local value; for i,arg in ipairs( arg_list ) do value = frame_args[arg] if value == nil then value = frame_args[index]; index = index + 1; end new_args[arg] = value; end return new_args; end --[[ Helper function to handle error messages. ]] function str._error( error_str ) local frame = mw.getCurrentFrame(); local error_category = frame.args.error_category or 'Errors reported by Module String'; local ignore_errors = frame.args.ignore_errors or false; local no_category = frame.args.no_category or false; if str._getBoolean(ignore_errors) then return ''; end local error_str = '<strong class="error">String Module Error: ' .. error_str .. '</strong>'; if error_category ~= '' and not str._getBoolean( no_category ) then error_str = '[[Category:' .. error_category .. ']]' .. error_str; end return error_str; end --[[ Helper Function to interpret boolean strings ]] function str._getBoolean( boolean_str ) local boolean_value; if type( boolean_str ) == 'string' then boolean_str = boolean_str:lower(); if boolean_str == 'false' or boolean_str == 'no' or boolean_str == '0' or boolean_str == '' then boolean_value = false; else boolean_value = true; end elseif type( boolean_str ) == 'boolean' then boolean_value = boolean_str; else error( 'No boolean value found' ); end return boolean_value end --[[ Helper function that escapes all pattern characters so that they will be treated as plain text. ]] function str._escapePattern( pattern_str ) return mw.ustring.gsub( pattern_str, "([%(%)%.%%%+%-%*%?%[%^%$%]])", "%%%1" ); end return str p7kauspn14nrehhdza0f0zbrpve5c5i 9629 8834 2025-09-11T00:25:20Z meta>Pppery 0 Update from [[w:Module:String]] 8834 Scribunto text/plain --[[ This module is intended to provide access to basic string functions. Most of the functions provided here can be invoked with named parameters, unnamed parameters, or a mixture. If named parameters are used, Mediawiki will automatically remove any leading or trailing whitespace from the parameter. Depending on the intended use, it may be advantageous to either preserve or remove such whitespace. Global options ignore_errors: If set to 'true' or 1, any error condition will result in an empty string being returned rather than an error message. error_category: If an error occurs, specifies the name of a category to include with the error message. The default category is [Category:Errors reported by Module String]. no_category: If set to 'true' or 1, no category will be added if an error is generated. Unit tests for this module are available at Module:String/tests. ]] local str = {} --[[ len This function returns the length of the target string. Usage: {{#invoke:String|len|target_string|}} OR {{#invoke:String|len|s=target_string}} Parameters s: The string whose length to report If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the target string. ]] function str.len( frame ) local new_args = str._getParameters( frame.args, {'s'} ) local s = new_args['s'] or '' return mw.ustring.len( s ) end --[[ sub This function returns a substring of the target string at specified indices. Usage: {{#invoke:String|sub|target_string|start_index|end_index}} OR {{#invoke:String|sub|s=target_string|i=start_index|j=end_index}} Parameters s: The string to return a subset of i: The first index of the substring to return, defaults to 1. j: The last index of the string to return, defaults to the last character. The first character of the string is assigned an index of 1. If either i or j is a negative value, it is interpreted the same as selecting a character by counting from the end of the string. Hence, a value of -1 is the same as selecting the last character of the string. If the requested indices are out of range for the given string, an error is reported. ]] function str.sub( frame ) local new_args = str._getParameters( frame.args, { 's', 'i', 'j' } ) local s = new_args['s'] or '' local i = tonumber( new_args['i'] ) or 1 local j = tonumber( new_args['j'] ) or -1 local len = mw.ustring.len( s ) -- Convert negatives for range checking if i < 0 then i = len + i + 1 end if j < 0 then j = len + j + 1 end if i > len or j > len or i < 1 or j < 1 then return str._error( 'String subset index out of range' ) end if j < i then return str._error( 'String subset indices out of order' ) end return mw.ustring.sub( s, i, j ) end --[[ This function implements that features of {{str sub old}} and is kept in order to maintain these older templates. ]] function str.sublength( frame ) local i = tonumber( frame.args.i ) or 0 local len = tonumber( frame.args.len ) return mw.ustring.sub( frame.args.s, i + 1, len and ( i + len ) ) end --[[ _match This function returns a substring from the source string that matches a specified pattern. It is exported for use in other modules Usage: strmatch = require("Module:String")._match sresult = strmatch( s, pattern, start, match, plain, nomatch ) Parameters s: The string to search pattern: The pattern or string to find within the string start: The index within the source string to start the search. The first character of the string has index 1. Defaults to 1. match: In some cases it may be possible to make multiple matches on a single string. This specifies which match to return, where the first match is match= 1. If a negative number is specified then a match is returned counting from the last match. Hence match = -1 is the same as requesting the last match. Defaults to 1. plain: A flag indicating that the pattern should be understood as plain text. Defaults to false. nomatch: If no match is found, output the "nomatch" value rather than an error. For information on constructing Lua patterns, a form of [regular expression], see: * http://www.lua.org/manual/5.1/manual.html#5.4.1 * http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Patterns * http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Ustring_patterns ]] -- This sub-routine is exported for use in other modules function str._match( s, pattern, start, match_index, plain_flag, nomatch ) if s == '' then return str._error( 'Target string is empty' ) end if pattern == '' then return str._error( 'Pattern string is empty' ) end start = tonumber(start) or 1 if math.abs(start) < 1 or math.abs(start) > mw.ustring.len( s ) then return str._error( 'Requested start is out of range' ) end if match_index == 0 then return str._error( 'Match index is out of range' ) end if plain_flag then pattern = str._escapePattern( pattern ) end local result if match_index == 1 then -- Find first match is simple case result = mw.ustring.match( s, pattern, start ) else if start > 1 then s = mw.ustring.sub( s, start ) end local iterator = mw.ustring.gmatch(s, pattern) if match_index > 0 then -- Forward search for w in iterator do match_index = match_index - 1 if match_index == 0 then result = w break end end else -- Reverse search local result_table = {} local count = 1 for w in iterator do result_table[count] = w count = count + 1 end result = result_table[ count + match_index ] end end if result == nil then if nomatch == nil then return str._error( 'Match not found' ) else return nomatch end else return result end end --[[ match This function returns a substring from the source string that matches a specified pattern. Usage: {{#invoke:String|match|source_string|pattern_string|start_index|match_number|plain_flag|nomatch_output}} OR {{#invoke:String|match|s=source_string|pattern=pattern_string|start=start_index |match=match_number|plain=plain_flag|nomatch=nomatch_output}} Parameters s: The string to search pattern: The pattern or string to find within the string start: The index within the source string to start the search. The first character of the string has index 1. Defaults to 1. match: In some cases it may be possible to make multiple matches on a single string. This specifies which match to return, where the first match is match= 1. If a negative number is specified then a match is returned counting from the last match. Hence match = -1 is the same as requesting the last match. Defaults to 1. plain: A flag indicating that the pattern should be understood as plain text. Defaults to false. nomatch: If no match is found, output the "nomatch" value rather than an error. If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from each string. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. If the match_number or start_index are out of range for the string being queried, then this function generates an error. An error is also generated if no match is found. If one adds the parameter ignore_errors=true, then the error will be suppressed and an empty string will be returned on any failure. For information on constructing Lua patterns, a form of [regular expression], see: * http://www.lua.org/manual/5.1/manual.html#5.4.1 * http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Patterns * http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Ustring_patterns ]] -- This is the entry point for #invoke:String|match function str.match( frame ) local new_args = str._getParameters( frame.args, {'s', 'pattern', 'start', 'match', 'plain', 'nomatch'} ) local s = new_args['s'] or '' local start = tonumber( new_args['start'] ) or 1 local plain_flag = str._getBoolean( new_args['plain'] or false ) local pattern = new_args['pattern'] or '' local match_index = math.floor( tonumber(new_args['match']) or 1 ) local nomatch = new_args['nomatch'] return str._match( s, pattern, start, match_index, plain_flag, nomatch ) end --[[ pos This function returns a single character from the target string at position pos. Usage: {{#invoke:String|pos|target_string|index_value}} OR {{#invoke:String|pos|target=target_string|pos=index_value}} Parameters target: The string to search pos: The index for the character to return If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the target string. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. The first character has an index value of 1. If one requests a negative value, this function will select a character by counting backwards from the end of the string. In other words pos = -1 is the same as asking for the last character. A requested value of zero, or a value greater than the length of the string returns an error. ]] function str.pos( frame ) local new_args = str._getParameters( frame.args, {'target', 'pos'} ) local target_str = new_args['target'] or '' local pos = tonumber( new_args['pos'] ) or 0 if pos == 0 or math.abs(pos) > mw.ustring.len( target_str ) then return str._error( 'String index out of range' ) end return mw.ustring.sub( target_str, pos, pos ) end --[[ str_find This function duplicates the behavior of {{str_find}}, including all of its quirks. This is provided in order to support existing templates, but is NOT RECOMMENDED for new code and templates. New code is recommended to use the "find" function instead. Returns the first index in "source" that is a match to "target". Indexing is 1-based, and the function returns -1 if the "target" string is not present in "source". Important Note: If the "target" string is empty / missing, this function returns a value of "1", which is generally unexpected behavior, and must be accounted for separatetly. ]] function str.str_find( frame ) local new_args = str._getParameters( frame.args, {'source', 'target'} ) local source_str = new_args['source'] or '' local target_str = new_args['target'] or '' if target_str == '' then return 1 end local start = mw.ustring.find( source_str, target_str, 1, true ) if start == nil then start = -1 end return start end --[[ find This function allows one to search for a target string or pattern within another string. Usage: {{#invoke:String|find|source_str|target_string|start_index|plain_flag}} OR {{#invoke:String|find|source=source_str|target=target_str|start=start_index|plain=plain_flag}} Parameters source: The string to search target: The string or pattern to find within source start: The index within the source string to start the search, defaults to 1 plain: Boolean flag indicating that target should be understood as plain text and not as a Lua style regular expression, defaults to true If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the parameter. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. This function returns the first index >= "start" where "target" can be found within "source". Indices are 1-based. If "target" is not found, then this function returns 0. If either "source" or "target" are missing / empty, this function also returns 0. This function should be safe for UTF-8 strings. ]] function str.find( frame ) local new_args = str._getParameters( frame.args, {'source', 'target', 'start', 'plain' } ) local source_str = new_args['source'] or '' local pattern = new_args['target'] or '' local start_pos = tonumber(new_args['start']) or 1 local plain = new_args['plain'] or true if source_str == '' or pattern == '' then return 0 end plain = str._getBoolean( plain ) local start = mw.ustring.find( source_str, pattern, start_pos, plain ) if start == nil then start = 0 end return start end --[[ replace This function allows one to replace a target string or pattern within another string. Usage: {{#invoke:String|replace|source_str|pattern_string|replace_string|replacement_count|plain_flag}} OR {{#invoke:String|replace|source=source_string|pattern=pattern_string|replace=replace_string| count=replacement_count|plain=plain_flag}} Parameters source: The string to search pattern: The string or pattern to find within source replace: The replacement text count: The number of occurences to replace, defaults to all. plain: Boolean flag indicating that pattern should be understood as plain text and not as a Lua style regular expression, defaults to true ]] function str.replace( frame ) local new_args = str._getParameters( frame.args, {'source', 'pattern', 'replace', 'count', 'plain' } ) local source_str = new_args['source'] or '' local pattern = new_args['pattern'] or '' local replace = new_args['replace'] or '' local count = tonumber( new_args['count'] ) local plain = new_args['plain'] or true if source_str == '' or pattern == '' then return source_str end plain = str._getBoolean( plain ) if plain then pattern = str._escapePattern( pattern ) replace = string.gsub( replace, "%%", "%%%%" ) --Only need to escape replacement sequences. end local result if count ~= nil then result = mw.ustring.gsub( source_str, pattern, replace, count ) else result = mw.ustring.gsub( source_str, pattern, replace ) end return result end --[[ simple function to pipe string.rep to templates. ]] function str.rep( frame ) local repetitions = tonumber( frame.args[2] ) if not repetitions then return str._error( 'function rep expects a number as second parameter, received "' .. ( frame.args[2] or '' ) .. '"' ) end return string.rep( frame.args[1] or '', repetitions ) end --[[ escapePattern This function escapes special characters from a Lua string pattern. See [1] for details on how patterns work. [1] https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Patterns Usage: {{#invoke:String|escapePattern|pattern_string}} Parameters pattern_string: The pattern string to escape. ]] function str.escapePattern( frame ) local pattern_str = frame.args[1] if not pattern_str then return str._error( 'No pattern string specified' ) end local result = str._escapePattern( pattern_str ) return result end --[[ count This function counts the number of occurrences of one string in another. ]] function str.count(frame) local args = str._getParameters(frame.args, {'source', 'pattern', 'plain'}) local source = args.source or '' local pattern = args.pattern or '' local plain = str._getBoolean(args.plain or true) if plain then pattern = str._escapePattern(pattern) end local _, count = mw.ustring.gsub(source, pattern, '') return count end --[[ endswith This function determines whether a string ends with another string. ]] function str.endswith(frame) local args = str._getParameters(frame.args, {'source', 'pattern'}) local source = args.source or '' local pattern = args.pattern or '' if pattern == '' then -- All strings end with the empty string. return "yes" end if mw.ustring.sub(source, -mw.ustring.len(pattern), -1) == pattern then return "yes" else return "" end end --[[ join Join all non empty arguments together; the first argument is the separator. Usage: {{#invoke:String|join|sep|one|two|three}} ]] function str.join(frame) local args = {} local sep for _, v in ipairs( frame.args ) do if sep then if v ~= '' then table.insert(args, v) end else sep = v end end return table.concat( args, sep or '' ) end -- findpagetext returns the position of a piece of text in a page -- First positional parameter or |text is the search text -- Optional parameter |title is the page title, defaults to current page -- Optional parameter |plain is either true for plain search (default) or false for Lua pattern search -- Optional parameter |nomatch is the return value when no match is found; default is nil function str._findpagetext(args) -- process parameters local nomatch = args.nomatch or "" if nomatch == "" then nomatch = nil end -- local text = mw.text.trim(args[1] or args.text or "") if text == "" then return nil end -- local title = args.title or "" local titleobj if title == "" then titleobj = mw.title.getCurrentTitle() else titleobj = mw.title.new(title) end -- local plain = args.plain or "" if plain:sub(1, 1) == "f" then plain = false else plain = true end -- get the page content and look for 'text' - return position or nomatch local content = titleobj and titleobj:getContent() return content and mw.ustring.find(content, text, 1, plain) or nomatch end function str.findpagetext(frame) local args = frame.args local pargs = frame:getParent().args for k, v in pairs(pargs) do args[k] = v end if not (args[1] or args.text) then return nil end -- just the first value return (str._findpagetext(args)) end --[[ Helper function that populates the argument list given that user may need to use a mix of named and unnamed parameters. This is relevant because named parameters are not identical to unnamed parameters due to string trimming, and when dealing with strings we sometimes want to either preserve or remove that whitespace depending on the application. ]] function str._getParameters( frame_args, arg_list ) local new_args = {} local index = 1 local value for _, arg in ipairs( arg_list ) do value = frame_args[arg] if value == nil then value = frame_args[index] index = index + 1 end new_args[arg] = value end return new_args end --[[ Helper function to handle error messages. ]] function str._error( error_str ) local frame = mw.getCurrentFrame() local error_category = frame.args.error_category or 'Errors reported by Module String' local ignore_errors = frame.args.ignore_errors or false local no_category = frame.args.no_category or false if str._getBoolean(ignore_errors) then return '' end local error_str = '<strong class="error">String Module Error: ' .. error_str .. '</strong>' if error_category ~= '' and not str._getBoolean( no_category ) then error_str = '[[Category:' .. error_category .. ']]' .. error_str end return error_str end --[[ Helper Function to interpret boolean strings ]] function str._getBoolean( boolean_str ) local boolean_value if type( boolean_str ) == 'string' then boolean_str = boolean_str:lower() if boolean_str == 'false' or boolean_str == 'no' or boolean_str == '0' or boolean_str == '' then boolean_value = false else boolean_value = true end elseif type( boolean_str ) == 'boolean' then boolean_value = boolean_str else error( 'No boolean value found' ) end return boolean_value end --[[ Helper function that escapes all pattern characters so that they will be treated as plain text. ]] function str._escapePattern( pattern_str ) return ( string.gsub( pattern_str, "[%(%)%.%%%+%-%*%?%[%^%$%]]", "%%%0" ) ) end return str j3b8d4sejqnvazpfl0gk0yfaa503gli 9630 9629 2025-10-10T21:24:19Z meta>Pppery 0 Restore old version of sublength to avoid breaking stuff 9630 Scribunto text/plain --[[ This module is intended to provide access to basic string functions. Most of the functions provided here can be invoked with named parameters, unnamed parameters, or a mixture. If named parameters are used, Mediawiki will automatically remove any leading or trailing whitespace from the parameter. Depending on the intended use, it may be advantageous to either preserve or remove such whitespace. Global options ignore_errors: If set to 'true' or 1, any error condition will result in an empty string being returned rather than an error message. error_category: If an error occurs, specifies the name of a category to include with the error message. The default category is [Category:Errors reported by Module String]. no_category: If set to 'true' or 1, no category will be added if an error is generated. Unit tests for this module are available at Module:String/tests. ]] local str = {} --[[ len This function returns the length of the target string. Usage: {{#invoke:String|len|target_string|}} OR {{#invoke:String|len|s=target_string}} Parameters s: The string whose length to report If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the target string. ]] function str.len( frame ) local new_args = str._getParameters( frame.args, {'s'} ) local s = new_args['s'] or '' return mw.ustring.len( s ) end --[[ sub This function returns a substring of the target string at specified indices. Usage: {{#invoke:String|sub|target_string|start_index|end_index}} OR {{#invoke:String|sub|s=target_string|i=start_index|j=end_index}} Parameters s: The string to return a subset of i: The first index of the substring to return, defaults to 1. j: The last index of the string to return, defaults to the last character. The first character of the string is assigned an index of 1. If either i or j is a negative value, it is interpreted the same as selecting a character by counting from the end of the string. Hence, a value of -1 is the same as selecting the last character of the string. If the requested indices are out of range for the given string, an error is reported. ]] function str.sub( frame ) local new_args = str._getParameters( frame.args, { 's', 'i', 'j' } ) local s = new_args['s'] or '' local i = tonumber( new_args['i'] ) or 1 local j = tonumber( new_args['j'] ) or -1 local len = mw.ustring.len( s ) -- Convert negatives for range checking if i < 0 then i = len + i + 1 end if j < 0 then j = len + j + 1 end if i > len or j > len or i < 1 or j < 1 then return str._error( 'String subset index out of range' ) end if j < i then return str._error( 'String subset indices out of order' ) end return mw.ustring.sub( s, i, j ) end --[[ This function implements that features of {{subr|s|skip|max}} and is kept in order to maintain these older templates. Uses only numbered paramameters to preserve spaces (caller may trim whitespaces by passing the parameter explicitly by numbering the parameters). Accepts negative values as relative to strng length. No error is returned if attempting to read past end of string or before start of string. Currently does not parse and replace placeholders for nowiki tags. ]] function str.sublength( frame ) local s = frame.args[1] or ''; local skip = tonumber( frame.args[2] ) or 0; local max = tonumber( frame.args[3] ) or 0; local len = mw.ustring.len( s ); -- convert negative values of max and skip as relative to string length if max < 0 then max = len + max end if skip < 0 then skip = len + skip end -- check boundaries to reduce the requested max if skip < 0 then -- if before start of string max = max + skip skip = 0 -- skip can't underflow now end if max > len - skip then -- if past end of string max = len - skip -- max can't overflow now end if max <= 0 then return '' -- nothing left to return end return mw.ustring.sub( s, skip + 1, skip + max ) end --[[ _match This function returns a substring from the source string that matches a specified pattern. It is exported for use in other modules Usage: strmatch = require("Module:String")._match sresult = strmatch( s, pattern, start, match, plain, nomatch ) Parameters s: The string to search pattern: The pattern or string to find within the string start: The index within the source string to start the search. The first character of the string has index 1. Defaults to 1. match: In some cases it may be possible to make multiple matches on a single string. This specifies which match to return, where the first match is match= 1. If a negative number is specified then a match is returned counting from the last match. Hence match = -1 is the same as requesting the last match. Defaults to 1. plain: A flag indicating that the pattern should be understood as plain text. Defaults to false. nomatch: If no match is found, output the "nomatch" value rather than an error. For information on constructing Lua patterns, a form of [regular expression], see: * http://www.lua.org/manual/5.1/manual.html#5.4.1 * http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Patterns * http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Ustring_patterns ]] -- This sub-routine is exported for use in other modules function str._match( s, pattern, start, match_index, plain_flag, nomatch ) if s == '' then return str._error( 'Target string is empty' ) end if pattern == '' then return str._error( 'Pattern string is empty' ) end start = tonumber(start) or 1 if math.abs(start) < 1 or math.abs(start) > mw.ustring.len( s ) then return str._error( 'Requested start is out of range' ) end if match_index == 0 then return str._error( 'Match index is out of range' ) end if plain_flag then pattern = str._escapePattern( pattern ) end local result if match_index == 1 then -- Find first match is simple case result = mw.ustring.match( s, pattern, start ) else if start > 1 then s = mw.ustring.sub( s, start ) end local iterator = mw.ustring.gmatch(s, pattern) if match_index > 0 then -- Forward search for w in iterator do match_index = match_index - 1 if match_index == 0 then result = w break end end else -- Reverse search local result_table = {} local count = 1 for w in iterator do result_table[count] = w count = count + 1 end result = result_table[ count + match_index ] end end if result == nil then if nomatch == nil then return str._error( 'Match not found' ) else return nomatch end else return result end end --[[ match This function returns a substring from the source string that matches a specified pattern. Usage: {{#invoke:String|match|source_string|pattern_string|start_index|match_number|plain_flag|nomatch_output}} OR {{#invoke:String|match|s=source_string|pattern=pattern_string|start=start_index |match=match_number|plain=plain_flag|nomatch=nomatch_output}} Parameters s: The string to search pattern: The pattern or string to find within the string start: The index within the source string to start the search. The first character of the string has index 1. Defaults to 1. match: In some cases it may be possible to make multiple matches on a single string. This specifies which match to return, where the first match is match= 1. If a negative number is specified then a match is returned counting from the last match. Hence match = -1 is the same as requesting the last match. Defaults to 1. plain: A flag indicating that the pattern should be understood as plain text. Defaults to false. nomatch: If no match is found, output the "nomatch" value rather than an error. If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from each string. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. If the match_number or start_index are out of range for the string being queried, then this function generates an error. An error is also generated if no match is found. If one adds the parameter ignore_errors=true, then the error will be suppressed and an empty string will be returned on any failure. For information on constructing Lua patterns, a form of [regular expression], see: * http://www.lua.org/manual/5.1/manual.html#5.4.1 * http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Patterns * http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Ustring_patterns ]] -- This is the entry point for #invoke:String|match function str.match( frame ) local new_args = str._getParameters( frame.args, {'s', 'pattern', 'start', 'match', 'plain', 'nomatch'} ) local s = new_args['s'] or '' local start = tonumber( new_args['start'] ) or 1 local plain_flag = str._getBoolean( new_args['plain'] or false ) local pattern = new_args['pattern'] or '' local match_index = math.floor( tonumber(new_args['match']) or 1 ) local nomatch = new_args['nomatch'] return str._match( s, pattern, start, match_index, plain_flag, nomatch ) end --[[ pos This function returns a single character from the target string at position pos. Usage: {{#invoke:String|pos|target_string|index_value}} OR {{#invoke:String|pos|target=target_string|pos=index_value}} Parameters target: The string to search pos: The index for the character to return If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the target string. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. The first character has an index value of 1. If one requests a negative value, this function will select a character by counting backwards from the end of the string. In other words pos = -1 is the same as asking for the last character. A requested value of zero, or a value greater than the length of the string returns an error. ]] function str.pos( frame ) local new_args = str._getParameters( frame.args, {'target', 'pos'} ) local target_str = new_args['target'] or '' local pos = tonumber( new_args['pos'] ) or 0 if pos == 0 or math.abs(pos) > mw.ustring.len( target_str ) then return str._error( 'String index out of range' ) end return mw.ustring.sub( target_str, pos, pos ) end --[[ str_find This function duplicates the behavior of {{str_find}}, including all of its quirks. This is provided in order to support existing templates, but is NOT RECOMMENDED for new code and templates. New code is recommended to use the "find" function instead. Returns the first index in "source" that is a match to "target". Indexing is 1-based, and the function returns -1 if the "target" string is not present in "source". Important Note: If the "target" string is empty / missing, this function returns a value of "1", which is generally unexpected behavior, and must be accounted for separatetly. ]] function str.str_find( frame ) local new_args = str._getParameters( frame.args, {'source', 'target'} ) local source_str = new_args['source'] or '' local target_str = new_args['target'] or '' if target_str == '' then return 1 end local start = mw.ustring.find( source_str, target_str, 1, true ) if start == nil then start = -1 end return start end --[[ find This function allows one to search for a target string or pattern within another string. Usage: {{#invoke:String|find|source_str|target_string|start_index|plain_flag}} OR {{#invoke:String|find|source=source_str|target=target_str|start=start_index|plain=plain_flag}} Parameters source: The string to search target: The string or pattern to find within source start: The index within the source string to start the search, defaults to 1 plain: Boolean flag indicating that target should be understood as plain text and not as a Lua style regular expression, defaults to true If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the parameter. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. This function returns the first index >= "start" where "target" can be found within "source". Indices are 1-based. If "target" is not found, then this function returns 0. If either "source" or "target" are missing / empty, this function also returns 0. This function should be safe for UTF-8 strings. ]] function str.find( frame ) local new_args = str._getParameters( frame.args, {'source', 'target', 'start', 'plain' } ) local source_str = new_args['source'] or '' local pattern = new_args['target'] or '' local start_pos = tonumber(new_args['start']) or 1 local plain = new_args['plain'] or true if source_str == '' or pattern == '' then return 0 end plain = str._getBoolean( plain ) local start = mw.ustring.find( source_str, pattern, start_pos, plain ) if start == nil then start = 0 end return start end --[[ replace This function allows one to replace a target string or pattern within another string. Usage: {{#invoke:String|replace|source_str|pattern_string|replace_string|replacement_count|plain_flag}} OR {{#invoke:String|replace|source=source_string|pattern=pattern_string|replace=replace_string| count=replacement_count|plain=plain_flag}} Parameters source: The string to search pattern: The string or pattern to find within source replace: The replacement text count: The number of occurences to replace, defaults to all. plain: Boolean flag indicating that pattern should be understood as plain text and not as a Lua style regular expression, defaults to true ]] function str.replace( frame ) local new_args = str._getParameters( frame.args, {'source', 'pattern', 'replace', 'count', 'plain' } ) local source_str = new_args['source'] or '' local pattern = new_args['pattern'] or '' local replace = new_args['replace'] or '' local count = tonumber( new_args['count'] ) local plain = new_args['plain'] or true if source_str == '' or pattern == '' then return source_str end plain = str._getBoolean( plain ) if plain then pattern = str._escapePattern( pattern ) replace = string.gsub( replace, "%%", "%%%%" ) --Only need to escape replacement sequences. end local result if count ~= nil then result = mw.ustring.gsub( source_str, pattern, replace, count ) else result = mw.ustring.gsub( source_str, pattern, replace ) end return result end --[[ simple function to pipe string.rep to templates. ]] function str.rep( frame ) local repetitions = tonumber( frame.args[2] ) if not repetitions then return str._error( 'function rep expects a number as second parameter, received "' .. ( frame.args[2] or '' ) .. '"' ) end return string.rep( frame.args[1] or '', repetitions ) end --[[ escapePattern This function escapes special characters from a Lua string pattern. See [1] for details on how patterns work. [1] https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Patterns Usage: {{#invoke:String|escapePattern|pattern_string}} Parameters pattern_string: The pattern string to escape. ]] function str.escapePattern( frame ) local pattern_str = frame.args[1] if not pattern_str then return str._error( 'No pattern string specified' ) end local result = str._escapePattern( pattern_str ) return result end --[[ count This function counts the number of occurrences of one string in another. ]] function str.count(frame) local args = str._getParameters(frame.args, {'source', 'pattern', 'plain'}) local source = args.source or '' local pattern = args.pattern or '' local plain = str._getBoolean(args.plain or true) if plain then pattern = str._escapePattern(pattern) end local _, count = mw.ustring.gsub(source, pattern, '') return count end --[[ endswith This function determines whether a string ends with another string. ]] function str.endswith(frame) local args = str._getParameters(frame.args, {'source', 'pattern'}) local source = args.source or '' local pattern = args.pattern or '' if pattern == '' then -- All strings end with the empty string. return "yes" end if mw.ustring.sub(source, -mw.ustring.len(pattern), -1) == pattern then return "yes" else return "" end end --[[ join Join all non empty arguments together; the first argument is the separator. Usage: {{#invoke:String|join|sep|one|two|three}} ]] function str.join(frame) local args = {} local sep for _, v in ipairs( frame.args ) do if sep then if v ~= '' then table.insert(args, v) end else sep = v end end return table.concat( args, sep or '' ) end -- findpagetext returns the position of a piece of text in a page -- First positional parameter or |text is the search text -- Optional parameter |title is the page title, defaults to current page -- Optional parameter |plain is either true for plain search (default) or false for Lua pattern search -- Optional parameter |nomatch is the return value when no match is found; default is nil function str._findpagetext(args) -- process parameters local nomatch = args.nomatch or "" if nomatch == "" then nomatch = nil end -- local text = mw.text.trim(args[1] or args.text or "") if text == "" then return nil end -- local title = args.title or "" local titleobj if title == "" then titleobj = mw.title.getCurrentTitle() else titleobj = mw.title.new(title) end -- local plain = args.plain or "" if plain:sub(1, 1) == "f" then plain = false else plain = true end -- get the page content and look for 'text' - return position or nomatch local content = titleobj and titleobj:getContent() return content and mw.ustring.find(content, text, 1, plain) or nomatch end function str.findpagetext(frame) local args = frame.args local pargs = frame:getParent().args for k, v in pairs(pargs) do args[k] = v end if not (args[1] or args.text) then return nil end -- just the first value return (str._findpagetext(args)) end --[[ Helper function that populates the argument list given that user may need to use a mix of named and unnamed parameters. This is relevant because named parameters are not identical to unnamed parameters due to string trimming, and when dealing with strings we sometimes want to either preserve or remove that whitespace depending on the application. ]] function str._getParameters( frame_args, arg_list ) local new_args = {} local index = 1 local value for _, arg in ipairs( arg_list ) do value = frame_args[arg] if value == nil then value = frame_args[index] index = index + 1 end new_args[arg] = value end return new_args end --[[ Helper function to handle error messages. ]] function str._error( error_str ) local frame = mw.getCurrentFrame() local error_category = frame.args.error_category or 'Errors reported by Module String' local ignore_errors = frame.args.ignore_errors or false local no_category = frame.args.no_category or false if str._getBoolean(ignore_errors) then return '' end local error_str = '<strong class="error">String Module Error: ' .. error_str .. '</strong>' if error_category ~= '' and not str._getBoolean( no_category ) then error_str = '[[Category:' .. error_category .. ']]' .. error_str end return error_str end --[[ Helper Function to interpret boolean strings ]] function str._getBoolean( boolean_str ) local boolean_value if type( boolean_str ) == 'string' then boolean_str = boolean_str:lower() if boolean_str == 'false' or boolean_str == 'no' or boolean_str == '0' or boolean_str == '' then boolean_value = false else boolean_value = true end elseif type( boolean_str ) == 'boolean' then boolean_value = boolean_str else error( 'No boolean value found' ) end return boolean_value end --[[ Helper function that escapes all pattern characters so that they will be treated as plain text. ]] function str._escapePattern( pattern_str ) return ( string.gsub( pattern_str, "[%(%)%.%%%+%-%*%?%[%^%$%]]", "%%%0" ) ) end return str bnrdlzlacalclid3valsmsosgzbqqm2 9631 8835 2026-08-24T13:00:37Z RAPTOR7762 18 42 revisions imported from [[:meta:Module:String]] 1145 Scribunto text/plain --[[ This module is intended to provide access to basic string functions. Most of the functions provided here can be invoked with named parameters, unnamed parameters, or a mixture. If named parameters are used, Mediawiki will automatically remove any leading or trailing whitespace from the parameter. Depending on the intended use, it may be advantageous to either preserve or remove such whitespace. Global options ignore_errors: If set to 'true' or 1, any error condition will result in an empty string being returned rather than an error message. error_category: If an error occurs, specifies the name of a category to include with the error message. The default category is [Category:Errors reported by Module String]. no_category: If set to 'true' or 1, no category will be added if an error is generated. Unit tests for this module are available at Module:String/tests. ]] local str = {} --[[ len This function returns the length of the target string. Usage: {{#invoke:String|len|target_string|}} OR {{#invoke:String|len|s=target_string}} Parameters s: The string whose length to report If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the target string. ]] function str.len( frame ) local new_args = str._getParameters( frame.args, {'s'} ) local s = new_args['s'] or '' return mw.ustring.len( s ) end --[[ sub This function returns a substring of the target string at specified indices. Usage: {{#invoke:String|sub|target_string|start_index|end_index}} OR {{#invoke:String|sub|s=target_string|i=start_index|j=end_index}} Parameters s: The string to return a subset of i: The first index of the substring to return, defaults to 1. j: The last index of the string to return, defaults to the last character. The first character of the string is assigned an index of 1. If either i or j is a negative value, it is interpreted the same as selecting a character by counting from the end of the string. Hence, a value of -1 is the same as selecting the last character of the string. If the requested indices are out of range for the given string, an error is reported. ]] function str.sub( frame ) local new_args = str._getParameters( frame.args, { 's', 'i', 'j' } ) local s = new_args['s'] or '' local i = tonumber( new_args['i'] ) or 1 local j = tonumber( new_args['j'] ) or -1 local len = mw.ustring.len( s ) -- Convert negatives for range checking if i < 0 then i = len + i + 1 end if j < 0 then j = len + j + 1 end if i > len or j > len or i < 1 or j < 1 then return str._error( 'String subset index out of range' ) end if j < i then return str._error( 'String subset indices out of order' ) end return mw.ustring.sub( s, i, j ) end --[[ This function implements that features of {{str sub old}} and is kept in order to maintain these older templates. ]] function str.sublength( frame ) local i = tonumber( frame.args.i ) or 0 local len = tonumber( frame.args.len ) return mw.ustring.sub( frame.args.s, i + 1, len and ( i + len ) ) end --[[ _match This function returns a substring from the source string that matches a specified pattern. It is exported for use in other modules Usage: strmatch = require("Module:String")._match sresult = strmatch( s, pattern, start, match, plain, nomatch ) Parameters s: The string to search pattern: The pattern or string to find within the string start: The index within the source string to start the search. The first character of the string has index 1. Defaults to 1. match: In some cases it may be possible to make multiple matches on a single string. This specifies which match to return, where the first match is match= 1. If a negative number is specified then a match is returned counting from the last match. Hence match = -1 is the same as requesting the last match. Defaults to 1. plain: A flag indicating that the pattern should be understood as plain text. Defaults to false. nomatch: If no match is found, output the "nomatch" value rather than an error. For information on constructing Lua patterns, a form of [regular expression], see: * http://www.lua.org/manual/5.1/manual.html#5.4.1 * http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Patterns * http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Ustring_patterns ]] -- This sub-routine is exported for use in other modules function str._match( s, pattern, start, match_index, plain_flag, nomatch ) if s == '' then return str._error( 'Target string is empty' ) end if pattern == '' then return str._error( 'Pattern string is empty' ) end start = tonumber(start) or 1 if math.abs(start) < 1 or math.abs(start) > mw.ustring.len( s ) then return str._error( 'Requested start is out of range' ) end if match_index == 0 then return str._error( 'Match index is out of range' ) end if plain_flag then pattern = str._escapePattern( pattern ) end local result if match_index == 1 then -- Find first match is simple case result = mw.ustring.match( s, pattern, start ) else if start > 1 then s = mw.ustring.sub( s, start ) end local iterator = mw.ustring.gmatch(s, pattern) if match_index > 0 then -- Forward search for w in iterator do match_index = match_index - 1 if match_index == 0 then result = w break end end else -- Reverse search local result_table = {} local count = 1 for w in iterator do result_table[count] = w count = count + 1 end result = result_table[ count + match_index ] end end if result == nil then if nomatch == nil then return str._error( 'Match not found' ) else return nomatch end else return result end end --[[ match This function returns a substring from the source string that matches a specified pattern. Usage: {{#invoke:String|match|source_string|pattern_string|start_index|match_number|plain_flag|nomatch_output}} OR {{#invoke:String|match|s=source_string|pattern=pattern_string|start=start_index |match=match_number|plain=plain_flag|nomatch=nomatch_output}} Parameters s: The string to search pattern: The pattern or string to find within the string start: The index within the source string to start the search. The first character of the string has index 1. Defaults to 1. match: In some cases it may be possible to make multiple matches on a single string. This specifies which match to return, where the first match is match= 1. If a negative number is specified then a match is returned counting from the last match. Hence match = -1 is the same as requesting the last match. Defaults to 1. plain: A flag indicating that the pattern should be understood as plain text. Defaults to false. nomatch: If no match is found, output the "nomatch" value rather than an error. If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from each string. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. If the match_number or start_index are out of range for the string being queried, then this function generates an error. An error is also generated if no match is found. If one adds the parameter ignore_errors=true, then the error will be suppressed and an empty string will be returned on any failure. For information on constructing Lua patterns, a form of [regular expression], see: * http://www.lua.org/manual/5.1/manual.html#5.4.1 * http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Patterns * http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Ustring_patterns ]] -- This is the entry point for #invoke:String|match function str.match( frame ) local new_args = str._getParameters( frame.args, {'s', 'pattern', 'start', 'match', 'plain', 'nomatch'} ) local s = new_args['s'] or '' local start = tonumber( new_args['start'] ) or 1 local plain_flag = str._getBoolean( new_args['plain'] or false ) local pattern = new_args['pattern'] or '' local match_index = math.floor( tonumber(new_args['match']) or 1 ) local nomatch = new_args['nomatch'] return str._match( s, pattern, start, match_index, plain_flag, nomatch ) end --[[ pos This function returns a single character from the target string at position pos. Usage: {{#invoke:String|pos|target_string|index_value}} OR {{#invoke:String|pos|target=target_string|pos=index_value}} Parameters target: The string to search pos: The index for the character to return If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the target string. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. The first character has an index value of 1. If one requests a negative value, this function will select a character by counting backwards from the end of the string. In other words pos = -1 is the same as asking for the last character. A requested value of zero, or a value greater than the length of the string returns an error. ]] function str.pos( frame ) local new_args = str._getParameters( frame.args, {'target', 'pos'} ) local target_str = new_args['target'] or '' local pos = tonumber( new_args['pos'] ) or 0 if pos == 0 or math.abs(pos) > mw.ustring.len( target_str ) then return str._error( 'String index out of range' ) end return mw.ustring.sub( target_str, pos, pos ) end --[[ str_find This function duplicates the behavior of {{str_find}}, including all of its quirks. This is provided in order to support existing templates, but is NOT RECOMMENDED for new code and templates. New code is recommended to use the "find" function instead. Returns the first index in "source" that is a match to "target". Indexing is 1-based, and the function returns -1 if the "target" string is not present in "source". Important Note: If the "target" string is empty / missing, this function returns a value of "1", which is generally unexpected behavior, and must be accounted for separatetly. ]] function str.str_find( frame ) local new_args = str._getParameters( frame.args, {'source', 'target'} ) local source_str = new_args['source'] or '' local target_str = new_args['target'] or '' if target_str == '' then return 1 end local start = mw.ustring.find( source_str, target_str, 1, true ) if start == nil then start = -1 end return start end --[[ find This function allows one to search for a target string or pattern within another string. Usage: {{#invoke:String|find|source_str|target_string|start_index|plain_flag}} OR {{#invoke:String|find|source=source_str|target=target_str|start=start_index|plain=plain_flag}} Parameters source: The string to search target: The string or pattern to find within source start: The index within the source string to start the search, defaults to 1 plain: Boolean flag indicating that target should be understood as plain text and not as a Lua style regular expression, defaults to true If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the parameter. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. This function returns the first index >= "start" where "target" can be found within "source". Indices are 1-based. If "target" is not found, then this function returns 0. If either "source" or "target" are missing / empty, this function also returns 0. This function should be safe for UTF-8 strings. ]] function str.find( frame ) local new_args = str._getParameters( frame.args, {'source', 'target', 'start', 'plain' } ) local source_str = new_args['source'] or '' local pattern = new_args['target'] or '' local start_pos = tonumber(new_args['start']) or 1 local plain = new_args['plain'] or true if source_str == '' or pattern == '' then return 0 end plain = str._getBoolean( plain ) local start = mw.ustring.find( source_str, pattern, start_pos, plain ) if start == nil then start = 0 end return start end --[[ replace This function allows one to replace a target string or pattern within another string. Usage: {{#invoke:String|replace|source_str|pattern_string|replace_string|replacement_count|plain_flag}} OR {{#invoke:String|replace|source=source_string|pattern=pattern_string|replace=replace_string| count=replacement_count|plain=plain_flag}} Parameters source: The string to search pattern: The string or pattern to find within source replace: The replacement text count: The number of occurences to replace, defaults to all. plain: Boolean flag indicating that pattern should be understood as plain text and not as a Lua style regular expression, defaults to true ]] function str.replace( frame ) local new_args = str._getParameters( frame.args, {'source', 'pattern', 'replace', 'count', 'plain' } ) local source_str = new_args['source'] or '' local pattern = new_args['pattern'] or '' local replace = new_args['replace'] or '' local count = tonumber( new_args['count'] ) local plain = new_args['plain'] or true if source_str == '' or pattern == '' then return source_str end plain = str._getBoolean( plain ) if plain then pattern = str._escapePattern( pattern ) replace = string.gsub( replace, "%%", "%%%%" ) --Only need to escape replacement sequences. end local result if count ~= nil then result = mw.ustring.gsub( source_str, pattern, replace, count ) else result = mw.ustring.gsub( source_str, pattern, replace ) end return result end --[[ simple function to pipe string.rep to templates. ]] function str.rep( frame ) local repetitions = tonumber( frame.args[2] ) if not repetitions then return str._error( 'function rep expects a number as second parameter, received "' .. ( frame.args[2] or '' ) .. '"' ) end return string.rep( frame.args[1] or '', repetitions ) end --[[ escapePattern This function escapes special characters from a Lua string pattern. See [1] for details on how patterns work. [1] https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Patterns Usage: {{#invoke:String|escapePattern|pattern_string}} Parameters pattern_string: The pattern string to escape. ]] function str.escapePattern( frame ) local pattern_str = frame.args[1] if not pattern_str then return str._error( 'No pattern string specified' ) end local result = str._escapePattern( pattern_str ) return result end --[[ count This function counts the number of occurrences of one string in another. ]] function str.count(frame) local args = str._getParameters(frame.args, {'source', 'pattern', 'plain'}) local source = args.source or '' local pattern = args.pattern or '' local plain = str._getBoolean(args.plain or true) if plain then pattern = str._escapePattern(pattern) end local _, count = mw.ustring.gsub(source, pattern, '') return count end --[[ endswith This function determines whether a string ends with another string. ]] function str.endswith(frame) local args = str._getParameters(frame.args, {'source', 'pattern'}) local source = args.source or '' local pattern = args.pattern or '' if pattern == '' then -- All strings end with the empty string. return "yes" end if mw.ustring.sub(source, -mw.ustring.len(pattern), -1) == pattern then return "yes" else return "" end end --[[ join Join all non empty arguments together; the first argument is the separator. Usage: {{#invoke:String|join|sep|one|two|three}} ]] function str.join(frame) local args = {} local sep for _, v in ipairs( frame.args ) do if sep then if v ~= '' then table.insert(args, v) end else sep = v end end return table.concat( args, sep or '' ) end -- findpagetext returns the position of a piece of text in a page -- First positional parameter or |text is the search text -- Optional parameter |title is the page title, defaults to current page -- Optional parameter |plain is either true for plain search (default) or false for Lua pattern search -- Optional parameter |nomatch is the return value when no match is found; default is nil function str._findpagetext(args) -- process parameters local nomatch = args.nomatch or "" if nomatch == "" then nomatch = nil end -- local text = mw.text.trim(args[1] or args.text or "") if text == "" then return nil end -- local title = args.title or "" local titleobj if title == "" then titleobj = mw.title.getCurrentTitle() else titleobj = mw.title.new(title) end -- local plain = args.plain or "" if plain:sub(1, 1) == "f" then plain = false else plain = true end -- get the page content and look for 'text' - return position or nomatch local content = titleobj and titleobj:getContent() return content and mw.ustring.find(content, text, 1, plain) or nomatch end function str.findpagetext(frame) local args = frame.args local pargs = frame:getParent().args for k, v in pairs(pargs) do args[k] = v end if not (args[1] or args.text) then return nil end -- just the first value return (str._findpagetext(args)) end --[[ Helper function that populates the argument list given that user may need to use a mix of named and unnamed parameters. This is relevant because named parameters are not identical to unnamed parameters due to string trimming, and when dealing with strings we sometimes want to either preserve or remove that whitespace depending on the application. ]] function str._getParameters( frame_args, arg_list ) local new_args = {} local index = 1 local value for _, arg in ipairs( arg_list ) do value = frame_args[arg] if value == nil then value = frame_args[index] index = index + 1 end new_args[arg] = value end return new_args end --[[ Helper function to handle error messages. ]] function str._error( error_str ) local frame = mw.getCurrentFrame() local error_category = frame.args.error_category or 'Errors reported by Module String' local ignore_errors = frame.args.ignore_errors or false local no_category = frame.args.no_category or false if str._getBoolean(ignore_errors) then return '' end local error_str = '<strong class="error">String Module Error: ' .. error_str .. '</strong>' if error_category ~= '' and not str._getBoolean( no_category ) then error_str = '[[Panni:' .. error_category .. ']]' .. error_str end return error_str end --[[ Helper Function to interpret boolean strings ]] function str._getBoolean( boolean_str ) local boolean_value if type( boolean_str ) == 'string' then boolean_str = boolean_str:lower() if boolean_str == 'false' or boolean_str == 'no' or boolean_str == '0' or boolean_str == '' then boolean_value = false else boolean_value = true end elseif type( boolean_str ) == 'boolean' then boolean_value = boolean_str else error( 'No boolean value found' ) end return boolean_value end --[[ Helper function that escapes all pattern characters so that they will be treated as plain text. ]] function str._escapePattern( pattern_str ) return ( string.gsub( pattern_str, "[%(%)%.%%%+%-%*%?%[%^%$%]]", "%%%0" ) ) end return str byteynla3ptc37v5z5xiom65ovniniq Banki 0 447 10479 8638 2026-08-24T22:37:51Z Yakubu19 208 10479 wikitext text/x-wiki {{Databox|item=Q22687}} [[Fayil:Bydgoszcz banki.jpg|thumb|banki ]] [[Fayil:Bank of Tanzania golden hour.jpg|thumb|Banki ga Tanzania]] [[Fayil:Deutsche-Bank-Frankfurt-am-Main.jpg|thumb|bankin Deutsche]] [[Fayil:National Bank of Liechtenstein.JPG|thumb|Banki]] '''Banki'''i beyi gudana ga hada-had ji in dodo, ga zenayi, ga ona gudum kala aji bongira yi ga gama jir in banki inko wena riba. (1) Banki Andi muhimmanci ga al'umma, inko she le woli yalla aji onani tsaro GA tsari in musamman.<ref>https://web.archive.org/web/20180713043152/http://www.prarulebook.co.uk/rulebook/Glossary/Rulebook/0/B</ref> Ishin de banki ye beyi ji miyya aji Ele zena dodosu ga bankuna miyya dodosu ga gawa yatu bogando hankali memu agita dina bo bikka dodoni yadda Ishin dolwoyi ga matsala sa. Banki miy'ya a dasu dodo, serna dodo ko goru ko zuwa le au ke in lelo. Bai zena dodo ke a ono gudum ba doggi shim-shim. Mi'yya yantun bo nola metezai dodosu da banki gaga zamanla honsene mugawa. ==Ɗiwwa== [[Panni:Goma]] 0bcgcliwmqfz6vb8xlk1yezfrqcohez Barrack Obama 0 453 10469 3394 2026-08-24T21:45:03Z Abu Sadeeq77 197 10469 wikitext text/x-wiki {{Databox|item=Q76}} '''Barrack Obamaye''' sun President in [[America]] in kisato. Sunni Barack Hussein [[Obama]] II (La'annin ga August 4, 1961) An siyasan gon ga America, ishiji Shugaba su in Ko foddo ga foddo 44th ga United States, ko 2009 zuwa 2017. Ishiji African-American in bodom la isu shugabanci ga U.S. Obama kafun ishi ai president, e Senator ko lardi su (Illinois) dalla 2005 zuwa 2008. Ke e state senator ga Illinois ko 1997 zuwa 2004. Honolulu, Hawaii. Boi kammila karatuni ga Jami'a Columbia ga soni in 1983, itu Ruta ga matsayi an shirye mi'yya ga Chicago. == Ɗiwwa == 4d7kn6ndk6ab7ohd514w4sbsurqaeb3 10470 10469 2026-08-24T21:50:17Z Abu Sadeeq77 197 10470 wikitext text/x-wiki {{Databox|item=Q76}} '''Barrack Obamaye''' sun President in [[America]] in kisato. Sunni Barack Hussein [[Obama]] II (La'annin ga August 4, 1961) An siyasan gon ga America, ishiji Shugaba su in Ko foddo ga foddo 44th ga United States, ko 2009 zuwa 2017. Ishiji African-American in bodom la isu shugabanci ga U.S. Obama kafun ishi ai president, e Senator ko lardi su (Illinois) dalla 2005 zuwa 2008. Ke e state senator ga Illinois ko 1997 zuwa 2004. Honolulu, Hawaii. Boi kammila karatuni ga Jami'a Columbia ga soni in 1983, itu Ruta ga matsayi an shirye mi'yya ga Chicago. Ga soni in 1988, itu register ga makaranta Shari'a in Harvard, India kasantu shugaba bu'um mi'yya in farko in doka Harvard Law. == Ɗiwwa == hdd54p25awc0wfhsb62fovrccgqy3ya 10471 10470 2026-08-24T21:59:38Z Abu Sadeeq77 197 10471 wikitext text/x-wiki {{Databox|item=Q76}} '''Barrack Obamaye''' sun President in [[America]] in kisato. Sunni Barack Hussein [[Obama]] II (La'annin ga August 4, 1961) An siyasan gon ga America, ishiji Shugaba su in Ko foddo ga foddo 44th ga United States, ko 2009 zuwa 2017. Ishiji African-American in bodom la isu shugabanci ga U.S. Obama kafun ishi ai president, e Senator ko lardi su (Illinois) dalla 2005 zuwa 2008. Ke e state senator ga Illinois ko 1997 zuwa 2004. Honolulu, Hawaii. Boi kammila karatuni ga Jami'a Columbia ga soni in 1983, itu Ruta ga matsayi an shirye mi'yya ga Chicago. Ga soni in 1988, itu register ga makaranta Shari'a in Harvard, India kasantu shugaba bu'um mi'yya in farko in doka Harvard Law. Boii kammila karatuni, itu Dono lauya in Kare Hakki mi'yya ga kala ilimi , Aji goze doka tsari mulkiga Jami'a Chicago Law school Koga soni in (1992) zuwa soni in (2004). La majini siyasa an zabe, itu wakili ga gunduma(13) a majalisa dottijai in Illinois Koga soni in 1997 zuwa ga soni in (2004), lokaci la Aji zawwa Takara majalisa dottawa Amurka. == Ɗiwwa == lswb7lx1t4y6hsyup4b52ym3xcs5aps 10472 10471 2026-08-24T22:05:00Z Abu Sadeeq77 197 10472 wikitext text/x-wiki {{Databox|item=Q76}} '''Barrack Obamaye''' sun President in [[America]] in kisato. Sunni Barack Hussein [[Obama]] II (La'annin ga August 4, 1961) An siyasan gon ga America, ishiji Shugaba su in Ko foddo ga foddo 44th ga United States, ko 2009 zuwa 2017. Ishiji African-American in bodom la isu shugabanci ga U.S. Obama kafun ishi ai president, e Senator ko lardi su (Illinois) dalla 2005 zuwa 2008. Ke e state senator ga Illinois ko 1997 zuwa 2004. Honolulu, Hawaii. Boi kammila karatuni ga Jami'a Columbia ga soni in 1983, itu Ruta ga matsayi an shirye mi'yya ga Chicago. Ga soni in 1988, itu register ga makaranta Shari'a in Harvard, India kasantu shugaba bu'um mi'yya in farko in doka Harvard Law. Boii kammila karatuni, itu Dono lauya in Kare Hakki mi'yya ga kala ilimi , Aji goze doka tsari mulkiga Jami'a Chicago Law school Koga soni in (1992) zuwa soni in (2004). La majini siyasa an zabe, itu wakili ga gunduma(13) a majalisa dottijai in Illinois Koga soni in 1997 zuwa ga soni in (2004), lokaci la Aji zawwa Takara majalisa dottawa Amurka. Obama watu kule ga woli ga soni in (2004) jizani ga wena zabe farko in majalisa Dottawa, Siri jawabini in Siri taro Dimokradiyya ga Tere Yuli , ga zabeni in Tere Nuwamba ga majalisa Dottawa. == Ɗiwwa == pwcdsd0mii09m5yjjfb2e9ncch6j73p 10473 10472 2026-08-24T22:11:47Z Abu Sadeeq77 197 10473 wikitext text/x-wiki {{Databox|item=Q76}} '''Barrack Obamaye''' sun President in [[America]] in kisato. Sunni Barack Hussein [[Obama]] II (La'annin ga August 4, 1961) An siyasan gon ga America, ishiji Shugaba su in Ko foddo ga foddo 44th ga United States, ko 2009 zuwa 2017. Ishiji African-American in bodom la isu shugabanci ga U.S. Obama kafun ishi ai president, e Senator ko lardi su (Illinois) dalla 2005 zuwa 2008. Ke e state senator ga Illinois ko 1997 zuwa 2004. Honolulu, Hawaii. Boi kammila karatuni ga Jami'a Columbia ga soni in 1983, itu Ruta ga matsayi an shirye mi'yya ga Chicago. Ga soni in 1988, itu register ga makaranta Shari'a in Harvard, India kasantu shugaba bu'um mi'yya in farko in doka Harvard Law. Boii kammila karatuni, itu Dono lauya in Kare Hakki mi'yya ga kala ilimi , Aji goze doka tsari mulkiga Jami'a Chicago Law school Koga soni in (1992) zuwa soni in (2004). La majini siyasa an zabe, itu wakili ga gunduma(13) a majalisa dottijai in Illinois Koga soni in 1997 zuwa ga soni in (2004), lokaci la Aji zawwa Takara majalisa dottawa Amurka. Obama watu kule ga woli ga soni in (2004) jizani ga wena zabe farko in majalisa Dottawa, Siri jawabini in Siri taro Dimokradiyya ga Tere Yuli , ga zabeni in Tere Nuwamba ga majalisa Dottawa. Ga soni in (2018) soni modi Ko boii zalo kafenni, kala boii sili kamfen in nem ga Hillary Clinton, jam'iya democrat Onannin Takara shugaba woli. == Ɗiwwa == ezg4x5gg721bew0z8782cb4wjy7h5xa 10474 10473 2026-08-24T22:15:32Z Abu Sadeeq77 197 10474 wikitext text/x-wiki {{Databox|item=Q76}} '''Barrack Obamaye''' sun President in [[America]] in kisato. Sunni Barack Hussein [[Obama]] II (La'annin ga August 4, 1961) An siyasan gon ga America, ishiji Shugaba su in Ko foddo ga foddo 44th ga United States, ko 2009 zuwa 2017. Ishiji African-American in bodom la isu shugabanci ga U.S. Obama kafun ishi ai president, e Senator ko lardi su (Illinois) dalla 2005 zuwa 2008. Ke e state senator ga Illinois ko 1997 zuwa 2004. Honolulu, Hawaii. Boi kammila karatuni ga Jami'a Columbia ga soni in 1983, itu Ruta ga matsayi an shirye mi'yya ga Chicago. Ga soni in 1988, itu register ga makaranta Shari'a in Harvard, India kasantu shugaba bu'um mi'yya in farko in doka Harvard Law. Boii kammila karatuni, itu Dono lauya in Kare Hakki mi'yya ga kala ilimi , Aji goze doka tsari mulkiga Jami'a Chicago Law school Koga soni in (1992) zuwa soni in (2004). La majini siyasa an zabe, itu wakili ga gunduma(13) a majalisa dottijai in Illinois Koga soni in 1997 zuwa ga soni in (2004), lokaci la Aji zawwa Takara majalisa dottawa Amurka. Obama watu kule ga woli ga soni in (2004) jizani ga wena zabe farko in majalisa Dottawa, Siri jawabini in Siri taro Dimokradiyya ga Tere Yuli , ga zabeni in Tere Nuwamba ga majalisa Dottawa. Ga soni in (2018) soni modi Ko boii zalo kafenni, kala boii sili kamfen in nem ga Hillary Clinton, jam'iya democrat Onannin Takara shugaba woli. Zaban OBAMA gako an Takara Republican John McCain ga Siri zabe kala rantsantun ishin jizani ga soba takarani, Joe Biden, ga Foti 20 ga Tere janairu 2009. == Ɗiwwa == 1dxaoijrcrcmo71t8zy6pzt909qzvx1 10475 10474 2026-08-24T22:16:00Z Abu Sadeeq77 197 10475 wikitext text/x-wiki {{Databox|item=Q76}} '''Barrack Obamaye''' sun President in [[America]] in kisato. Sunni Barack Hussein [[Obama]] II (La'annin ga August 4, 1961) An siyasan gon ga America, ishiji Shugaba su in Ko foddo ga foddo 44th ga United States, ko 2009 zuwa 2017. Ishiji African-American in bodom la isu shugabanci ga U.S. Obama kafun ishi ai president, e Senator ko lardi su (Illinois) dalla 2005 zuwa 2008. Ke e state senator ga Illinois ko 1997 zuwa 2004. Honolulu, Hawaii. Boi kammila karatuni ga Jami'a Columbia ga soni in 1983, itu Ruta ga matsayi an shirye mi'yya ga Chicago. Ga soni in 1988, itu register ga makaranta Shari'a in Harvard, India kasantu shugaba bu'um mi'yya in farko in doka Harvard Law. Boii kammila karatuni, itu Dono lauya in Kare Hakki mi'yya ga kala ilimi , Aji goze doka tsari mulkiga Jami'a Chicago Law school Koga soni in (1992) zuwa soni in (2004). La majini siyasa an zabe, itu wakili ga gunduma(13) a majalisa dottijai in Illinois Koga soni in 1997 zuwa ga soni in (2004), lokaci la Aji zawwa Takara majalisa dottawa Amurka. Obama watu kule ga woli ga soni in (2004) jizani ga wena zabe farko in majalisa Dottawa, Siri jawabini in Siri taro Dimokradiyya ga Tere Yuli , ga zabeni in Tere Nuwamba ga majalisa Dottawa. Ga soni in (2018) soni modi Ko boii zalo kafenni, kala boii sili kamfen in nem ga Hillary Clinton, jam'iya democrat Onannin Takara shugaba woli. Zaban Obama ,gako an Takara Republican John McCain ga Siri zabe kala rantsantun ishin jizani ga soba takarani, Joe Biden, ga Foti 20 ga Tere janairu 2009. == Ɗiwwa == ri9uneiyl5xkuxwfoiejy7a4lj5n3wz 10477 10475 2026-08-24T22:17:56Z Abu Sadeeq77 197 10477 wikitext text/x-wiki {{Databox|item=Q76}} '''Barrack Obamaye''' sun President in [[America]] in kisato. Sunni Barack Hussein [[Obama]] II (La'annin ga August 4, 1961) An siyasan gon ga America, ishiji Shugaba su in Ko foddo ga foddo 44th ga United States, ko 2009 zuwa 2017. Ishiji African-American in bodom la isu shugabanci ga U.S. Obama kafun ishi ai president, e Senator ko lardi su (Illinois) dalla 2005 zuwa 2008. Ke e state senator ga Illinois ko 1997 zuwa 2004. Honolulu, Hawaii. Boi kammila karatuni ga Jami'a Columbia ga soni in 1983, itu Ruta ga matsayi an shirye mi'yya ga Chicago. Ga soni in 1988, itu register ga makaranta Shari'a in Harvard, India kasantu shugaba bu'um mi'yya in farko in doka Harvard Law. Boii kammila karatuni, itu Dono lauya in Kare Hakki mi'yya ga kala ilimi , Aji goze doka tsari mulkiga Jami'a Chicago Law school Koga soni in (1992) zuwa soni in (2004). La majini siyasa an zabe, itu wakili ga gunduma(13) a majalisa dottijai in Illinois Koga soni in 1997 zuwa ga soni in (2004), lokaci la Aji zawwa Takara majalisa dottawa Amurka. Obama watu kule ga woli ga soni in (2004) jizani ga wena zabe farko in majalisa Dottawa, Siri jawabini in Siri taro Dimokradiyya ga Tere Yuli , ga zabeni in Tere Nuwamba ga majalisa Dottawa. Ga soni in (2018) soni modi Ko boii zalo kafenni, kala boii sili kamfen in nem ga Hillary Clinton, jam'iya democrat Onannin Takara shugaba woli. Zaban Obama ,gako an Takara Republican John McCain ga Siri zabe kala rantsantun ishin jizani ga soba takarani, Joe Biden, ga Foti 20 ga Tere janairu 2009. Boii Tere bonum 9 Onannin Lamba Yano in Nobel in Dono lafiya in soni (2009. == Ɗiwwa == g2xxgysnbahl2ptyx2wdojuz8wd9sq4 Bauchi 0 455 10443 9548 2026-08-24T14:06:02Z Abu Sadeeq77 197 10443 wikitext text/x-wiki {{Databox|item=Q811144}} '''Bauchi''' [[Woli]] Bauchi woli Ji ya a fayta Aushi Dola Darr Ga woli [[Nijeriya]]. Gontattuk lefe Ga [[Kano]] Ko Aushi kafa [[Jigawa]], [[Gombe]], ga [[Jiha Yobe|Yobe]] Ko fayta Darr, kafa [[Kaduna]] Ko Zoni. Woli Bauchi wen zalshe sunto Ko labar Bani yele Bauchi, Yaa Ke itaji Burnin in Siri ye Har soni in 1976. Ga lokacin la bissan manshi jihohi gudi mana dar ga Nigeria. Ga boii jiha Bauchi bikkantun jiha Gombe, la koboii majjito jiha an Dono kotto ga soni in 1996 Zan woli Bauchi Ga Soni Dubu Modi Ga Dalma ɓonum Ga kobawulo Ga basshi modi (1976), Ga lotayeji missan Manshi woliye Aushi Ndola Darr [[Nijeriya]]. Ga boii woli Bauchi tattuk/gontattuk woli [[Gombe]], yake Ko tetteke ita Mai jito wolin in kotto Ga Ga Soni 1996. Bauchi itaji jaha in badi ga fadi woli (2) kala in bawulo ga godom [[Miyya Ogun|miyya]] (3). Itaga godom filaye kimani kilomita dubu arba 'in ga badi ga dalma hordo ga cassa'in ga kunum(45, 893) godom miyya kimani miliyan bawulo ga dubu dalma badi ga arba'in ga dalma baccimodi ga sittin ga kunum (7,540,663) (4) ga bisa kidaya soninshe in dubu balau ga baccimodi 2006 . Jaha ye rabajjito dangane ga yanayi woli zuwa kashi balau (2) west sudaniya savanna koga aushi ga kala semi-desert sahel savanna koga Arewa ga koga montane Jos plateau aushi mana zoni jiha (5) koga kyautalla beyinshe ga goruye gontu ga yankari National park katafri beyi zenani fa dabbobi mana bijimi bido barewa ga Turum Giwa ga messesu.(6) Bauchi ji siri jaha bauchi. Bala abdulkadir Muhammad Ishin ji gwamna jiha ye Yan zaben la soninshe in 2019 har zuwa inso. Maddi koga su. Manshiwa jiha gontan go ga abubakar tafawa balewa gamin Isa yakubu, isah Hamma misau Nazif gamawa, haruna Ningi ga ali wakil. Andi yarinshe godom ga yankuma daban daban in jihar gotango ga, Bo'fikka, ga Butawa ga yare warji koga yankuna dalla jiha yaren Fulfulde, yare Kanuri, ga yare karei'karei koga zani goru [[filanti]] ga yare gerawa, koga birni bauchi ga kewaye to yare zaar (sayawa) koga aushi yare Tangale Jarawa ko aushi mana zoni. Kala asari miyya goru (kaso tamanin ga badi 85%) musulwa ji ga dole kaso kiristoci ga kaso baccimodi 6% ga maguzawa ga kaso bonum 9% (7) ga farko soni Alif 1800,a Filanti jahadi bikkantun mafi akasari goruye birni Bauchi in inso. Jamji kafan moyinshe Bauchi ga wol woli daula musulunci in Sokoto ga Karni in 1900, turawa Mulki mallaka bikkantun moyinshe ye mete zuwoto ga wol woli mulki mallaka in gudi [[Nijeriya|Nigeria]]. La kobai majjito [[Nijeriya|Nigeria]] wol woli mulki turawa kafin wena yanci ga soni 1960 , Yan asali yanki jiha Bauchi Iya a gudi Nigeria Boi wena yanci koyi ga soni 1967, lokacin la bissan jiha ye majjito wol woli jiha gudi Nigeria ko ɗar boi bissa jiha gudi Ko ɗar kafan jiha Bauchi ga Foti kunum' (3) ga tare February ga soni in (20) kala boi kafato wantun dolinshe hukumomi ga zoni jiha ye meteji manjisu Bo jiha Gombe. Ga matsayi to in jiha la dogaran ga mara, tattali dara jiha ye Ta'allaku gako dabbobi ga hantsi manamin auduga, Duro kute, tumaturi ga kala doya jizani ga Tina Dom amfani mara daidai ga sauwa habika tishi ga masana'antu sarrifa karai tishi in gwan_gwani, ga kala oppako ma'adanai manamin mana kisato columbite, ga kala beyi ewe ido mana mala kume zoii in yankari ga Amma in wikki spring. == Asali sun == Dan game ga tarihi in gargajiya goruye watu asali ji ko gama an'bara Modi la Sunni baushe , la dowu ga yanki ye kafin nako moyinshe in farko wato Yakubu (la wantun Ko Dalla soni in 1800-10) jahohi Bauchi ga Adamawa kasantan anin yanci ga Goma ga mi'yya Daula Filanti in Sokoto. == Tarihi == Beyilla Aji undani ga Bauchi kasantu kafin soni 1976 gunduma ga yanki jiha gudi Ko ɗar ga . Dangane ga kidaya in 2006 jiha Aji ga mi'yya Kimani 4.653,006 Jiha Bauchi wattu Tina Dom kala-kala gaga soni Manne . Andi harshe Ajawa ga Aji amfa ga ishin ga jiha Bauchi kala Koga bisani yakilannin ga gaga sonii 1920 ga soni in 1940 inko asali anin amfani ga harshe ye manjisu Bo afiniwa. Ga Lokaci Mulki mallaka Har lokaci wena yanci, ita aga yanki plateau ga yanki gudi Najeriya, Har zuwa soni in 1967 lokacin la an wena ga jihohi ga yankuna Bauchi, Bornoga [[Adamawa]] Aji gonta beyi wena jiha gudi ga Dar. Boi wena jiha Bauchi ga soni in 1976, ga Lokaci jihohi balau Bauchi ga Gombe in Gonto , jiha Andi dolinshe hukumomi guda (20) jamji kala (23). Jamji kala ga soni in 1997 , wantun jiha [[Gombe]]. Koga jiha Bauchi inko Aji wena sauwi dolinshe hukumomi ga Woli inko Dayan jaha Bauchi ga dolinshe hukumomi (20) mana yadda foran goyi: ==Dolinshe Hukumomi== jaha bauchi Andi adadi dolinshe hukumomi kobalau ([[20]]). Mate: {| class="sortable wikitable" |- ! Dolinshe Hukuma ! Fadin kasa (km<sup>2</sup>) ! Adadin 2006<br> Mutane ! Cibiyar Karamar Hukuma ! Lambar aika<br>sako |- | [[Bauchi]] | align="right"|3,687 | align="right"|493,810 | [[Bauchi]] | 740 |- | [[Tafawa Balewa, Nigeria|Tafawa Balewa]] | align="right"|2,515 | align="right"|219,988 | [[Bununu, Nigeria|Bununu]] | 740 |- | [[Dass, Nigeria|Dass]] | align="right"|535 | align="right"|89,943 | [[Dass, Nigeria|Dass]] | 740 |- | [[Toro, Nigeria|Toro]] | align="right"|6,932 | align="right"|350,404 | [[Toro, Nigeria|Toro]] | 740 |- | [[Bogoro]] | align="right"|894 | align="right"|84,215 | [[Bogoro]] | 741 |- | [[Ningi, Nigeria|Ningi]] | align="right"|4,625 | align="right"|387,192 | [[Ningi, Nigeria|Ningi]] | 742 |- | [[Warji]] | align="right"|625 | align="right"|114,720 | [[Warji]] | 742 |- | [[Ganjuwa]] | align="right"|5,059 | align="right"|280,468 | [[Kafin Madaki]] | 742 |- | [[Kirfi]] | align="right"|2,371 | align="right"|147,618 | [[Kirfi]] | 743 |- | [[Alkaleri]] | align="right"|5,918 | align="right"|329,424 | [[Alkaleri]] | 743 |- | ''Southern region totals'' | align="right"|''33,161'' | align="right"|''2,497,782'' | | |- | [[Darazo]] | align="right"|3,015 | align="right"|251,597 | [[Darazo]] | 750 |- | [[Misau]] | align="right"|1,226 | align="right"|263,487 | [[Misau]] | 750 |- | [[Giade]] | align="right"|668 | align="right"|156,969 | [[Giade]] | 750 |- | [[Shira, Nigeria|Shira]] | align="right"|1,321 | align="right"|234,014 | [[Yana, Nigeria|Yana]] | 750 |- | [[Jama'are]] | align="right"|493 | align="right"|117,883 | [[Jama'are]] | 751 |- | [[Katagum]] | align="right"|1,436 | align="right"|295,970 | [[Azare]] | 751 |- | [[Itas/Gadau]] | align="right"|1,398 | align="right"|229,996 | [[Itas]] | 751 |- | [[Zaki, Nigeria|Zaki]] | align="right"|1,476 | align="right"|191,457 | [[Katagum]] | 752 |- | [[Gamawa]] | align="right"|2,925 | align="right"|286,388 | [[Gamawa]] | 752 |- | [[Damban]] | align="right"|1,077 | align="right"|150,922 | [[Damban]] | 752 |- | ''Northern region totals'' | align="right"|''15,035'' | align="right"|''2,178,683'' | | |} == Gorunshe == Kirfi kasantu goru ga birni Bauchi la itaga akalla Siri 700 Mita fadirto ga fali gongola la Aji ele Amma ga goruye . La gontu ga Siri Amma benua. Goruye Andi tsairi barka mara ga dayi.(3) Ga al'ada kasantu ga Dalla hi ga mi'yya la Aji unda ga kirfawa kala ita a wol woli gunduma afiniwa . Bincike gako garu kirfi Aji inne mana amsoshi la kunsani ga al'ada ga adin ga harka Siyasa ga Woli apiniwa Aji wena no goru kirfi Ko goru Bauchi. == Labar woli == Jiha Bauchi mamayantun Fadi woli Kimani 49,119 km2 (18'965 sq mi) inko mamayan kaso 5.3 in Fadi Nigeria kala Aji Dono gako lambobi beyi in latitudes 9' 3' ga 12'3' gudi ga kala longitude 8' 50' ga 11' dar Jiha itaga iyaka ga jihohi bawulo , Kano ga Jigawa Ko gudi, Taraba ga plateau Ko aushi, Gombe ga Yobe Ko ɗar kafan Kaduna Ko zoni. Jiha Bauchi ita aga jihohi arewa Najeriya lake ga yanayi tsirrai kala balau Sudan Savannah ga Sahel Savannah. She kala Andi tsaunuka aushi yanki goru, dangane ga alakati ga Jos plateau. == Godom mi'yya == Andi kabilu daban daban Har guda 55 ga goruye la gontango ga : Gerawa, Sayawa, Jarawa, Kirfawa, Afiniwa, Bolewa, karekare, kanuri, Fa'awa, Butawa, Warjawa, Zulawa, Boyawa, Badawa, Amma Filanti ji asali Kabila goruye she aji nine mate ga asali al'adu su adin ga messesu. Andi suwa ga Dalla harsuna goruye dangane ga Ruta al'adu karai zowayi ga kala gontosu ga beyi modi, musamman Ko beyi kaibono su ga goma . Maddi Koga harsuna Andi ba'a ga dallasu . Ga Sayawa ga messesu. Biki sallah a modi koga muhimma bukukuwa la Aji yollako anin inne ga shaf soni. == Ilimi == Jimi a Abubakar Tafawa Ɓalewa(15) ita aga Siri birni Bauchi: Maddi Koga beyi Gozi gontango ga: Jami'a jiha Bauchi, Abubakar Tatari, Ali Polytechnic, Federal Polytechnic Bauchi: Aminu sale college of Education Azare: Federal University of health sciences Azare:. == Yaruka == Jir harsuna West chadic language la Aji amfani ga mete ga goru Bauchi gontango ga: * North Bauchi language * South Bauchi language Yaruka Bauchi jerasu ga dole Hukumomi SU: {| class="wikitable" ! LGA !! Languages |- | Alkaleri || Dass; Bole; Duguri; Giiwo; Guruntum-Mbaaru; Labir; Tangale |- | Bauchi || Bankal; Duguri; Dulbu; Galambu; Gera; Geruma; Giiwo; Guruntum-Mbaaru; Ju; Kir-Balar; Labir; Luri; Mangas; Mbat; Pa'a; Polci; Shiki; Tala; Zangwal |- | Bogoro || Saya |- | Darazo || Bole; Deno; Diri; Giiwo; Mburku; Ngamo; Zumbun |- | Dass || Bankal; Dass; Gwak; Polci; Saya; Shall-Zwall; Zari |- | Dukku || Bole |- | Gamawa || Karekare |- | Ganjuwa || Ciwogai; Gera; Geruma; Jimi; Kariya; Kubi; Miya |- | Kirfi || Bure |- | Misau || Fulato/Borno; Shuwa; Kanuri; Hausa; Fulani |- | Ningi || Diri; Gamo-Ningi; Kudu-Camo; Pa'a; Siri; Warji; Geruma |- | Tafawa Balewa || Sur; Vaghat-Ya-Bijim-Legeri; Zari; Bankal; Gwak; Izere; Saya |- | Toro || Bankal; Dass; Geji; Geruma; Gwa; Gyem; Iguta; Izere; Jere; Lame; Lemoro; Mawa; Panawa; Polci; Sanga; Saya; Shau; Tunzuii; Zari; Zeem; Ziriya |- | Zaki || Bade |} == Gwamnati == Gwamna goruye ishinji Siri an zartarwa, jizani ga Fanni Shari'a a tene birni Bauchi. == Ɗiwwa == 9b3kuozico3mmqkfm0av8r95zk1qqr2 10444 10443 2026-08-24T14:08:23Z Abu Sadeeq77 197 10444 wikitext text/x-wiki {{Databox|item=Q811144}} '''Bauchi''' [[Woli]] Bauchi woli Ji ya a fayta Aushi Dola Darr Ga woli [[Nijeriya]]. Gontattuk lefe Ga [[Kano]] Ko Aushi kafa [[Jigawa]], [[Gombe]], ga [[Jiha Yobe|Yobe]] Ko fayta Darr, kafa [[Kaduna]] Ko Zoni. Woli Bauchi wen zalshe sunto Ko labar Bani yele Bauchi, Yaa Ke itaji Burnin in Siri ye Har soni in 1976. Ga lokacin la bissan manshi jihohi gudi mana dar ga Nigeria. Ga boii jiha Bauchi bikkantun jiha Gombe, la koboii majjito jiha an Dono kotto ga soni in 1996 Zan woli Bauchi Ga Soni Dubu Modi Ga Dalma ɓonum Ga kobawulo Ga basshi modi (1976), Ga lotayeji missan Manshi woliye Aushi Ndola Darr [[Nijeriya]]. Ga boii woli Bauchi tattuk/gontattuk woli [[Gombe]], yake Ko tetteke ita Mai jito wolin in kotto Ga Ga Soni 1996. Bauchi itaji jaha in badi ga fadi woli (2) kala in bawulo ga godom [[Miyya Ogun|miyya]] (3). Itaga godom filaye kimani kilomita dubu arba 'in ga badi ga dalma hordo ga cassa'in ga kunum(45, 893) godom miyya kimani miliyan bawulo ga dubu dalma badi ga arba'in ga dalma baccimodi ga sittin ga kunum (7,540,663) (4) ga bisa kidaya soninshe in dubu balau ga baccimodi 2006 . Jaha ye rabajjito dangane ga yanayi woli zuwa kashi balau (2) west sudaniya savanna koga aushi ga kala semi-desert sahel savanna koga Arewa ga koga montane Jos plateau aushi mana zoni jiha (5) koga kyautalla beyinshe ga goruye gontu ga yankari National park katafri beyi zenani fa dabbobi mana bijimi bido barewa ga Turum Giwa ga messesu.(6) Bauchi ji siri jaha bauchi. Bala abdulkadir Muhammad Ishin ji gwamna jiha ye Yan zaben la soninshe in 2019 har zuwa inso. Maddi koga su. Manshiwa jiha gontan go ga abubakar tafawa balewa gamin Isa yakubu, isah Hamma misau Nazif gamawa, haruna Ningi ga ali wakil. Andi yarinshe godom ga yankuma daban daban in jihar gotango ga, Bo'fikka, ga Butawa ga yare warji koga yankuna dalla jiha yaren Fulfulde, yare Kanuri, ga yare karei'karei koga zani goru [[filanti]] ga yare gerawa, koga birni bauchi ga kewaye to yare zaar (sayawa) koga aushi yare Tangale Jarawa ko aushi mana zoni. Kala asari miyya goru (kaso tamanin ga badi 85%) musulwa ji ga dole kaso kiristoci ga kaso baccimodi 6% ga maguzawa ga kaso bonum 9% (7) ga farko soni Alif 1800,a Filanti jahadi bikkantun mafi akasari goruye birni Bauchi in inso. Jamji kafan moyinshe Bauchi ga wol woli daula musulunci in Sokoto ga Karni in 1900, turawa Mulki mallaka bikkantun moyinshe ye mete zuwoto ga wol woli mulki mallaka in gudi [[Nijeriya|Nigeria]]. La kobai majjito [[Nijeriya|Nigeria]] wol woli mulki turawa kafin wena yanci ga soni 1960 , Yan asali yanki jiha Bauchi Iya a gudi Nigeria Boi wena yanci koyi ga soni 1967, lokacin la bissan jiha ye majjito wol woli jiha gudi Nigeria ko ɗar boi bissa jiha gudi Ko ɗar kafan jiha Bauchi ga Foti kunum' (3) ga tare February ga soni in (20) kala boi kafato wantun dolinshe hukumomi ga zoni jiha ye meteji manjisu Bo jiha Gombe. Ga matsayi to in jiha la dogaran ga mara, tattali dara jiha ye Ta'allaku gako dabbobi ga hantsi manamin auduga, Duro kute, tumaturi ga kala doya jizani ga Tina Dom amfani mara daidai ga sauwa habika tishi ga masana'antu sarrifa karai tishi in gwan_gwani, ga kala oppako ma'adanai manamin mana kisato columbite, ga kala beyi ewe ido mana mala kume zoii in yankari ga Amma in wikki spring. == Asali sun == Dan game ga tarihi in gargajiya goruye watu asali ji ko gama an'bara Modi la Sunni baushe , la dowu ga yanki ye kafin nako moyinshe in farko wato Yakubu (la wantun Ko Dalla soni in 1800-10) jahohi Bauchi ga Adamawa kasantan anin yanci ga Goma ga mi'yya Daula Filanti in Sokoto. == Tarihi == Beyilla Aji undani ga Bauchi kasantu kafin soni 1976 gunduma ga yanki jiha gudi Ko ɗar ga . Dangane ga kidaya in 2006 jiha Aji ga mi'yya Kimani 4.653,006 Jiha Bauchi wattu Tina Dom kala-kala gaga soni Manne . Andi harshe Ajawa ga Aji amfa ga ishin ga jiha Bauchi kala Koga bisani yakilannin ga gaga sonii 1920 ga soni in 1940 inko asali anin amfani ga harshe ye manjisu Bo afiniwa. Ga Lokaci Mulki mallaka Har lokaci wena yanci, ita aga yanki plateau ga yanki gudi Najeriya, Har zuwa soni in 1967 lokacin la an wena ga jihohi ga yankuna Bauchi, Bornoga [[Adamawa]] Aji gonta beyi wena jiha gudi ga Dar. Boi wena jiha Bauchi ga soni in 1976, ga Lokaci jihohi balau Bauchi ga Gombe in Gonto , jiha Andi dolinshe hukumomi guda (20) jamji kala (23). Jamji kala ga soni in 1997 , wantun jiha [[Gombe]]. Koga jiha Bauchi inko Aji wena sauwi dolinshe hukumomi ga Woli inko Dayan jaha Bauchi ga dolinshe hukumomi (20) mana yadda foran goyi: ==Dolinshe Hukumomi== jaha bauchi Andi adadi dolinshe hukumomi kobalau ([[20]]). Mate: {| class="sortable wikitable" |- ! Dolinshe Hukuma ! Fadin kasa (km<sup>2</sup>) ! Adadin 2006<br> Mutane ! Cibiyar Karamar Hukuma ! Lambar aika<br>sako |- | [[Bauchi]] | align="right"|3,687 | align="right"|493,810 | [[Bauchi]] | 740 |- | [[Tafawa Balewa, Nigeria|Tafawa Balewa]] | align="right"|2,515 | align="right"|219,988 | [[Bununu, Nigeria|Bununu]] | 740 |- | [[Dass, Nigeria|Dass]] | align="right"|535 | align="right"|89,943 | [[Dass, Nigeria|Dass]] | 740 |- | [[Toro, Nigeria|Toro]] | align="right"|6,932 | align="right"|350,404 | [[Toro, Nigeria|Toro]] | 740 |- | [[Bogoro]] | align="right"|894 | align="right"|84,215 | [[Bogoro]] | 741 |- | [[Ningi, Nigeria|Ningi]] | align="right"|4,625 | align="right"|387,192 | [[Ningi, Nigeria|Ningi]] | 742 |- | [[Warji]] | align="right"|625 | align="right"|114,720 | [[Warji]] | 742 |- | [[Ganjuwa]] | align="right"|5,059 | align="right"|280,468 | [[Kafin Madaki]] | 742 |- | [[Kirfi]] | align="right"|2,371 | align="right"|147,618 | [[Kirfi]] | 743 |- | [[Alkaleri]] | align="right"|5,918 | align="right"|329,424 | [[Alkaleri]] | 743 |- | ''Southern region totals'' | align="right"|''33,161'' | align="right"|''2,497,782'' | | |- | [[Darazo]] | align="right"|3,015 | align="right"|251,597 | [[Darazo]] | 750 |- | [[Misau]] | align="right"|1,226 | align="right"|263,487 | [[Misau]] | 750 |- | [[Giade]] | align="right"|668 | align="right"|156,969 | [[Giade]] | 750 |- | [[Shira, Nigeria|Shira]] | align="right"|1,321 | align="right"|234,014 | [[Yana, Nigeria|Yana]] | 750 |- | [[Jama'are]] | align="right"|493 | align="right"|117,883 | [[Jama'are]] | 751 |- | [[Katagum]] | align="right"|1,436 | align="right"|295,970 | [[Azare]] | 751 |- | [[Itas/Gadau]] | align="right"|1,398 | align="right"|229,996 | [[Itas]] | 751 |- | [[Zaki, Nigeria|Zaki]] | align="right"|1,476 | align="right"|191,457 | [[Katagum]] | 752 |- | [[Gamawa]] | align="right"|2,925 | align="right"|286,388 | [[Gamawa]] | 752 |- | [[Damban]] | align="right"|1,077 | align="right"|150,922 | [[Damban]] | 752 |- | ''Northern region totals'' | align="right"|''15,035'' | align="right"|''2,178,683'' | | |} == Gorunshe == Kirfi kasantu goru ga birni Bauchi la itaga akalla Siri 700 Mita fadirto ga fali gongola la Aji ele Amma ga goruye . La gontu ga Siri Amma benua. Goruye Andi tsairi barka mara ga dayi.(3) Ga al'ada kasantu ga Dalla hi ga mi'yya la Aji unda ga kirfawa kala ita a wol woli gunduma afiniwa . Bincike gako garu kirfi Aji inne mana amsoshi la kunsani ga al'ada ga adin ga harka Siyasa ga Woli apiniwa Aji wena no goru kirfi Ko goru Bauchi. == Labar woli == Jiha Bauchi mamayantun Fadi woli Kimani 49,119 km2 (18'965 sq mi) inko mamayan kaso 5.3 in Fadi Nigeria kala Aji Dono gako lambobi beyi in latitudes 9' 3' ga 12'3' gudi ga kala longitude 8' 50' ga 11' dar Jiha itaga iyaka ga jihohi bawulo , Kano ga Jigawa Ko gudi, Taraba ga plateau Ko aushi, Gombe ga Yobe Ko ɗar kafan Kaduna Ko zoni. Jiha Bauchi ita aga jihohi arewa Najeriya lake ga yanayi tsirrai kala balau Sudan Savannah ga Sahel Savannah. She kala Andi tsaunuka aushi yanki goru, dangane ga alakati ga Jos plateau. == Godom mi'yya == Andi kabilu daban daban Har guda 55 ga goruye la gontango ga : Gerawa, Sayawa, Jarawa, Kirfawa, Afiniwa, Bolewa, karekare, kanuri, Fa'awa, Butawa, Warjawa, Zulawa, Boyawa, Badawa, Amma Filanti ji asali Kabila goruye she aji nine mate ga asali al'adu su adin ga messesu. Andi suwa ga Dalla harsuna goruye dangane ga Ruta al'adu karai zowayi ga kala gontosu ga beyi modi, musamman Ko beyi kaibono su ga goma . Maddi Koga harsuna Andi ba'a ga dallasu . Ga Sayawa ga messesu. Biki sallah a modi koga muhimma bukukuwa la Aji yollako anin inne ga shaf soni. == Ilimi == Jimi a Abubakar Tafawa Ɓalewa(15) ita aga Siri birni Bauchi: Maddi Koga beyi Gozi gontango ga: Jami'a jiha Bauchi, Abubakar Tatari, Ali Polytechnic, Federal Polytechnic Bauchi: Aminu sale college of Education Azare: Federal University of health sciences Azare:. == Yaruka == Jir harsuna West chadic language la Aji amfani ga mete ga goru Bauchi gontango ga: * North Bauchi language * South Bauchi language Yaruka Bauchi jerasu ga dole Hukumomi SU: {| class="wikitable" ! LGA !! Languages |- | Alkaleri || Dass; Bole; Duguri; Giiwo; Guruntum-Mbaaru; Labir; Tangale |- | Bauchi || Bankal; Duguri; Dulbu; Galambu; Gera; Geruma; Giiwo; Guruntum-Mbaaru; Ju; Kir-Balar; Labir; Luri; Mangas; Mbat; Pa'a; Polci; Shiki; Tala; Zangwal |- | Bogoro || Saya |- | Darazo || Bole; Deno; Diri; Giiwo; Mburku; Ngamo; Zumbun |- | Dass || Bankal; Dass; Gwak; Polci; Saya; Shall-Zwall; Zari |- | Dukku || Bole |- | Gamawa || Karekare |- | Ganjuwa || Ciwogai; Gera; Geruma; Jimi; Kariya; Kubi; Miya |- | Kirfi || Bure |- | Misau || Fulato/Borno; Shuwa; Kanuri; Hausa; Fulani |- | Ningi || Diri; Gamo-Ningi; Kudu-Camo; Pa'a; Siri; Warji; Geruma |- | Tafawa Balewa || Sur; Vaghat-Ya-Bijim-Legeri; Zari; Bankal; Gwak; Izere; Saya |- | Toro || Bankal; Dass; Geji; Geruma; Gwa; Gyem; Iguta; Izere; Jere; Lame; Lemoro; Mawa; Panawa; Polci; Sanga; Saya; Shau; Tunzuii; Zari; Zeem; Ziriya |- | Zaki || Bade |} == Gwamnati == Gwamna goruye ishinji Siri an zartarwa, jizani ga Fanni Shari'a a tene birni Bauchi. '''Gwamna''' == Ɗiwwa == nrsu8g18fnk6wx3rv1qcg0r3gga5b98 10445 10444 2026-08-24T14:14:44Z Abu Sadeeq77 197 10445 wikitext text/x-wiki {{Databox|item=Q811144}} '''Bauchi''' [[Woli]] Bauchi woli Ji ya a fayta Aushi Dola Darr Ga woli [[Nijeriya]]. Gontattuk lefe Ga [[Kano]] Ko Aushi kafa [[Jigawa]], [[Gombe]], ga [[Jiha Yobe|Yobe]] Ko fayta Darr, kafa [[Kaduna]] Ko Zoni. Woli Bauchi wen zalshe sunto Ko labar Bani yele Bauchi, Yaa Ke itaji Burnin in Siri ye Har soni in 1976. Ga lokacin la bissan manshi jihohi gudi mana dar ga Nigeria. Ga boii jiha Bauchi bikkantun jiha Gombe, la koboii majjito jiha an Dono kotto ga soni in 1996 Zan woli Bauchi Ga Soni Dubu Modi Ga Dalma ɓonum Ga kobawulo Ga basshi modi (1976), Ga lotayeji missan Manshi woliye Aushi Ndola Darr [[Nijeriya]]. Ga boii woli Bauchi tattuk/gontattuk woli [[Gombe]], yake Ko tetteke ita Mai jito wolin in kotto Ga Ga Soni 1996. Bauchi itaji jaha in badi ga fadi woli (2) kala in bawulo ga godom [[Miyya Ogun|miyya]] (3). Itaga godom filaye kimani kilomita dubu arba 'in ga badi ga dalma hordo ga cassa'in ga kunum(45, 893) godom miyya kimani miliyan bawulo ga dubu dalma badi ga arba'in ga dalma baccimodi ga sittin ga kunum (7,540,663) (4) ga bisa kidaya soninshe in dubu balau ga baccimodi 2006 . Jaha ye rabajjito dangane ga yanayi woli zuwa kashi balau (2) west sudaniya savanna koga aushi ga kala semi-desert sahel savanna koga Arewa ga koga montane Jos plateau aushi mana zoni jiha (5) koga kyautalla beyinshe ga goruye gontu ga yankari National park katafri beyi zenani fa dabbobi mana bijimi bido barewa ga Turum Giwa ga messesu.(6) Bauchi ji siri jaha bauchi. Bala abdulkadir Muhammad Ishin ji gwamna jiha ye Yan zaben la soninshe in 2019 har zuwa inso. Maddi koga su. Manshiwa jiha gontan go ga abubakar tafawa balewa gamin Isa yakubu, isah Hamma misau Nazif gamawa, haruna Ningi ga ali wakil. Andi yarinshe godom ga yankuma daban daban in jihar gotango ga, Bo'fikka, ga Butawa ga yare warji koga yankuna dalla jiha yaren Fulfulde, yare Kanuri, ga yare karei'karei koga zani goru [[filanti]] ga yare gerawa, koga birni bauchi ga kewaye to yare zaar (sayawa) koga aushi yare Tangale Jarawa ko aushi mana zoni. Kala asari miyya goru (kaso tamanin ga badi 85%) musulwa ji ga dole kaso kiristoci ga kaso baccimodi 6% ga maguzawa ga kaso bonum 9% (7) ga farko soni Alif 1800,a Filanti jahadi bikkantun mafi akasari goruye birni Bauchi in inso. Jamji kafan moyinshe Bauchi ga wol woli daula musulunci in Sokoto ga Karni in 1900, turawa Mulki mallaka bikkantun moyinshe ye mete zuwoto ga wol woli mulki mallaka in gudi [[Nijeriya|Nigeria]]. La kobai majjito [[Nijeriya|Nigeria]] wol woli mulki turawa kafin wena yanci ga soni 1960 , Yan asali yanki jiha Bauchi Iya a gudi Nigeria Boi wena yanci koyi ga soni 1967, lokacin la bissan jiha ye majjito wol woli jiha gudi Nigeria ko ɗar boi bissa jiha gudi Ko ɗar kafan jiha Bauchi ga Foti kunum' (3) ga tare February ga soni in (20) kala boi kafato wantun dolinshe hukumomi ga zoni jiha ye meteji manjisu Bo jiha Gombe. Ga matsayi to in jiha la dogaran ga mara, tattali dara jiha ye Ta'allaku gako dabbobi ga hantsi manamin auduga, Duro kute, tumaturi ga kala doya jizani ga Tina Dom amfani mara daidai ga sauwa habika tishi ga masana'antu sarrifa karai tishi in gwan_gwani, ga kala oppako ma'adanai manamin mana kisato columbite, ga kala beyi ewe ido mana mala kume zoii in yankari ga Amma in wikki spring. == Asali sun == Dan game ga tarihi in gargajiya goruye watu asali ji ko gama an'bara Modi la Sunni baushe , la dowu ga yanki ye kafin nako moyinshe in farko wato Yakubu (la wantun Ko Dalla soni in 1800-10) jahohi Bauchi ga Adamawa kasantan anin yanci ga Goma ga mi'yya Daula Filanti in Sokoto. == Tarihi == Beyilla Aji undani ga Bauchi kasantu kafin soni 1976 gunduma ga yanki jiha gudi Ko ɗar ga . Dangane ga kidaya in 2006 jiha Aji ga mi'yya Kimani 4.653,006 Jiha Bauchi wattu Tina Dom kala-kala gaga soni Manne . Andi harshe Ajawa ga Aji amfa ga ishin ga jiha Bauchi kala Koga bisani yakilannin ga gaga sonii 1920 ga soni in 1940 inko asali anin amfani ga harshe ye manjisu Bo afiniwa. Ga Lokaci Mulki mallaka Har lokaci wena yanci, ita aga yanki plateau ga yanki gudi Najeriya, Har zuwa soni in 1967 lokacin la an wena ga jihohi ga yankuna Bauchi, Bornoga [[Adamawa]] Aji gonta beyi wena jiha gudi ga Dar. Boi wena jiha Bauchi ga soni in 1976, ga Lokaci jihohi balau Bauchi ga Gombe in Gonto , jiha Andi dolinshe hukumomi guda (20) jamji kala (23). Jamji kala ga soni in 1997 , wantun jiha [[Gombe]]. Koga jiha Bauchi inko Aji wena sauwi dolinshe hukumomi ga Woli inko Dayan jaha Bauchi ga dolinshe hukumomi (20) mana yadda foran goyi: ==Dolinshe Hukumomi== jaha bauchi Andi adadi dolinshe hukumomi kobalau ([[20]]). Mate: {| class="sortable wikitable" |- ! Dolinshe Hukuma ! Fadin kasa (km<sup>2</sup>) ! Adadin 2006<br> Mutane ! Cibiyar Karamar Hukuma ! Lambar aika<br>sako |- | [[Bauchi]] | align="right"|3,687 | align="right"|493,810 | [[Bauchi]] | 740 |- | [[Tafawa Balewa, Nigeria|Tafawa Balewa]] | align="right"|2,515 | align="right"|219,988 | [[Bununu, Nigeria|Bununu]] | 740 |- | [[Dass, Nigeria|Dass]] | align="right"|535 | align="right"|89,943 | [[Dass, Nigeria|Dass]] | 740 |- | [[Toro, Nigeria|Toro]] | align="right"|6,932 | align="right"|350,404 | [[Toro, Nigeria|Toro]] | 740 |- | [[Bogoro]] | align="right"|894 | align="right"|84,215 | [[Bogoro]] | 741 |- | [[Ningi, Nigeria|Ningi]] | align="right"|4,625 | align="right"|387,192 | [[Ningi, Nigeria|Ningi]] | 742 |- | [[Warji]] | align="right"|625 | align="right"|114,720 | [[Warji]] | 742 |- | [[Ganjuwa]] | align="right"|5,059 | align="right"|280,468 | [[Kafin Madaki]] | 742 |- | [[Kirfi]] | align="right"|2,371 | align="right"|147,618 | [[Kirfi]] | 743 |- | [[Alkaleri]] | align="right"|5,918 | align="right"|329,424 | [[Alkaleri]] | 743 |- | ''Southern region totals'' | align="right"|''33,161'' | align="right"|''2,497,782'' | | |- | [[Darazo]] | align="right"|3,015 | align="right"|251,597 | [[Darazo]] | 750 |- | [[Misau]] | align="right"|1,226 | align="right"|263,487 | [[Misau]] | 750 |- | [[Giade]] | align="right"|668 | align="right"|156,969 | [[Giade]] | 750 |- | [[Shira, Nigeria|Shira]] | align="right"|1,321 | align="right"|234,014 | [[Yana, Nigeria|Yana]] | 750 |- | [[Jama'are]] | align="right"|493 | align="right"|117,883 | [[Jama'are]] | 751 |- | [[Katagum]] | align="right"|1,436 | align="right"|295,970 | [[Azare]] | 751 |- | [[Itas/Gadau]] | align="right"|1,398 | align="right"|229,996 | [[Itas]] | 751 |- | [[Zaki, Nigeria|Zaki]] | align="right"|1,476 | align="right"|191,457 | [[Katagum]] | 752 |- | [[Gamawa]] | align="right"|2,925 | align="right"|286,388 | [[Gamawa]] | 752 |- | [[Damban]] | align="right"|1,077 | align="right"|150,922 | [[Damban]] | 752 |- | ''Northern region totals'' | align="right"|''15,035'' | align="right"|''2,178,683'' | | |} == Gorunshe == Kirfi kasantu goru ga birni Bauchi la itaga akalla Siri 700 Mita fadirto ga fali gongola la Aji ele Amma ga goruye . La gontu ga Siri Amma benua. Goruye Andi tsairi barka mara ga dayi.(3) Ga al'ada kasantu ga Dalla hi ga mi'yya la Aji unda ga kirfawa kala ita a wol woli gunduma afiniwa . Bincike gako garu kirfi Aji inne mana amsoshi la kunsani ga al'ada ga adin ga harka Siyasa ga Woli apiniwa Aji wena no goru kirfi Ko goru Bauchi. == Labar woli == Jiha Bauchi mamayantun Fadi woli Kimani 49,119 km2 (18'965 sq mi) inko mamayan kaso 5.3 in Fadi Nigeria kala Aji Dono gako lambobi beyi in latitudes 9' 3' ga 12'3' gudi ga kala longitude 8' 50' ga 11' dar Jiha itaga iyaka ga jihohi bawulo , Kano ga Jigawa Ko gudi, Taraba ga plateau Ko aushi, Gombe ga Yobe Ko ɗar kafan Kaduna Ko zoni. Jiha Bauchi ita aga jihohi arewa Najeriya lake ga yanayi tsirrai kala balau Sudan Savannah ga Sahel Savannah. She kala Andi tsaunuka aushi yanki goru, dangane ga alakati ga Jos plateau. == Godom mi'yya == Andi kabilu daban daban Har guda 55 ga goruye la gontango ga : Gerawa, Sayawa, Jarawa, Kirfawa, Afiniwa, Bolewa, karekare, kanuri, Fa'awa, Butawa, Warjawa, Zulawa, Boyawa, Badawa, Amma Filanti ji asali Kabila goruye she aji nine mate ga asali al'adu su adin ga messesu. Andi suwa ga Dalla harsuna goruye dangane ga Ruta al'adu karai zowayi ga kala gontosu ga beyi modi, musamman Ko beyi kaibono su ga goma . Maddi Koga harsuna Andi ba'a ga dallasu . Ga Sayawa ga messesu. Biki sallah a modi koga muhimma bukukuwa la Aji yollako anin inne ga shaf soni. == Ilimi == Jimi a Abubakar Tafawa Ɓalewa(15) ita aga Siri birni Bauchi: Maddi Koga beyi Gozi gontango ga: Jami'a jiha Bauchi, Abubakar Tatari, Ali Polytechnic, Federal Polytechnic Bauchi: Aminu sale college of Education Azare: Federal University of health sciences Azare:. == Yaruka == Jir harsuna West chadic language la Aji amfani ga mete ga goru Bauchi gontango ga: * North Bauchi language * South Bauchi language Yaruka Bauchi jerasu ga dole Hukumomi SU: {| class="wikitable" ! LGA !! Languages |- | Alkaleri || Dass; Bole; Duguri; Giiwo; Guruntum-Mbaaru; Labir; Tangale |- | Bauchi || Bankal; Duguri; Dulbu; Galambu; Gera; Geruma; Giiwo; Guruntum-Mbaaru; Ju; Kir-Balar; Labir; Luri; Mangas; Mbat; Pa'a; Polci; Shiki; Tala; Zangwal |- | Bogoro || Saya |- | Darazo || Bole; Deno; Diri; Giiwo; Mburku; Ngamo; Zumbun |- | Dass || Bankal; Dass; Gwak; Polci; Saya; Shall-Zwall; Zari |- | Dukku || Bole |- | Gamawa || Karekare |- | Ganjuwa || Ciwogai; Gera; Geruma; Jimi; Kariya; Kubi; Miya |- | Kirfi || Bure |- | Misau || Fulato/Borno; Shuwa; Kanuri; Hausa; Fulani |- | Ningi || Diri; Gamo-Ningi; Kudu-Camo; Pa'a; Siri; Warji; Geruma |- | Tafawa Balewa || Sur; Vaghat-Ya-Bijim-Legeri; Zari; Bankal; Gwak; Izere; Saya |- | Toro || Bankal; Dass; Geji; Geruma; Gwa; Gyem; Iguta; Izere; Jere; Lame; Lemoro; Mawa; Panawa; Polci; Sanga; Saya; Shau; Tunzuii; Zari; Zeem; Ziriya |- | Zaki || Bade |} == Gwamnati == Gwamna goruye ishinji Siri an zartarwa, jizani ga Fanni Shari'a a tene birni Bauchi. '''Gwamna''' Gwamna Bauchi ishinji Mr. Bala Abdulkadir Mohammed, La titu zabe ga Foti bonum 9 ga Tere Maris, soni in 2019 , ga wol woli jam'iya PDP . Rantsantun ishin ga Foti 29 ga Tere Mayu soni in 2019, la sheye zowu majini gwamna in baccimodi 6 ga Bauchi ga wol woli mulki democracy jamji kala gwamna in 16 shaf modi . Bala tela ji mataimaki gwamna Bauchi. == Ɗiwwa == g8nqabdvesmb9lmlp024bhnrp5rbexx 10446 10445 2026-08-24T14:19:11Z Abu Sadeeq77 197 10446 wikitext text/x-wiki {{Databox|item=Q811144}} '''Bauchi''' [[Woli]] Bauchi woli Ji ya a fayta Aushi Dola Darr Ga woli [[Nijeriya]]. Gontattuk lefe Ga [[Kano]] Ko Aushi kafa [[Jigawa]], [[Gombe]], ga [[Jiha Yobe|Yobe]] Ko fayta Darr, kafa [[Kaduna]] Ko Zoni. Woli Bauchi wen zalshe sunto Ko labar Bani yele Bauchi, Yaa Ke itaji Burnin in Siri ye Har soni in 1976. Ga lokacin la bissan manshi jihohi gudi mana dar ga Nigeria. Ga boii jiha Bauchi bikkantun jiha Gombe, la koboii majjito jiha an Dono kotto ga soni in 1996 Zan woli Bauchi Ga Soni Dubu Modi Ga Dalma ɓonum Ga kobawulo Ga basshi modi (1976), Ga lotayeji missan Manshi woliye Aushi Ndola Darr [[Nijeriya]]. Ga boii woli Bauchi tattuk/gontattuk woli [[Gombe]], yake Ko tetteke ita Mai jito wolin in kotto Ga Ga Soni 1996. Bauchi itaji jaha in badi ga fadi woli (2) kala in bawulo ga godom [[Miyya Ogun|miyya]] (3). Itaga godom filaye kimani kilomita dubu arba 'in ga badi ga dalma hordo ga cassa'in ga kunum(45, 893) godom miyya kimani miliyan bawulo ga dubu dalma badi ga arba'in ga dalma baccimodi ga sittin ga kunum (7,540,663) (4) ga bisa kidaya soninshe in dubu balau ga baccimodi 2006 . Jaha ye rabajjito dangane ga yanayi woli zuwa kashi balau (2) west sudaniya savanna koga aushi ga kala semi-desert sahel savanna koga Arewa ga koga montane Jos plateau aushi mana zoni jiha (5) koga kyautalla beyinshe ga goruye gontu ga yankari National park katafri beyi zenani fa dabbobi mana bijimi bido barewa ga Turum Giwa ga messesu.(6) Bauchi ji siri jaha bauchi. Bala abdulkadir Muhammad Ishin ji gwamna jiha ye Yan zaben la soninshe in 2019 har zuwa inso. Maddi koga su. Manshiwa jiha gontan go ga abubakar tafawa balewa gamin Isa yakubu, isah Hamma misau Nazif gamawa, haruna Ningi ga ali wakil. Andi yarinshe godom ga yankuma daban daban in jihar gotango ga, Bo'fikka, ga Butawa ga yare warji koga yankuna dalla jiha yaren Fulfulde, yare Kanuri, ga yare karei'karei koga zani goru [[filanti]] ga yare gerawa, koga birni bauchi ga kewaye to yare zaar (sayawa) koga aushi yare Tangale Jarawa ko aushi mana zoni. Kala asari miyya goru (kaso tamanin ga badi 85%) musulwa ji ga dole kaso kiristoci ga kaso baccimodi 6% ga maguzawa ga kaso bonum 9% (7) ga farko soni Alif 1800,a Filanti jahadi bikkantun mafi akasari goruye birni Bauchi in inso. Jamji kafan moyinshe Bauchi ga wol woli daula musulunci in Sokoto ga Karni in 1900, turawa Mulki mallaka bikkantun moyinshe ye mete zuwoto ga wol woli mulki mallaka in gudi [[Nijeriya|Nigeria]]. La kobai majjito [[Nijeriya|Nigeria]] wol woli mulki turawa kafin wena yanci ga soni 1960 , Yan asali yanki jiha Bauchi Iya a gudi Nigeria Boi wena yanci koyi ga soni 1967, lokacin la bissan jiha ye majjito wol woli jiha gudi Nigeria ko ɗar boi bissa jiha gudi Ko ɗar kafan jiha Bauchi ga Foti kunum' (3) ga tare February ga soni in (20) kala boi kafato wantun dolinshe hukumomi ga zoni jiha ye meteji manjisu Bo jiha Gombe. Ga matsayi to in jiha la dogaran ga mara, tattali dara jiha ye Ta'allaku gako dabbobi ga hantsi manamin auduga, Duro kute, tumaturi ga kala doya jizani ga Tina Dom amfani mara daidai ga sauwa habika tishi ga masana'antu sarrifa karai tishi in gwan_gwani, ga kala oppako ma'adanai manamin mana kisato columbite, ga kala beyi ewe ido mana mala kume zoii in yankari ga Amma in wikki spring. == Asali sun == Dan game ga tarihi in gargajiya goruye watu asali ji ko gama an'bara Modi la Sunni baushe , la dowu ga yanki ye kafin nako moyinshe in farko wato Yakubu (la wantun Ko Dalla soni in 1800-10) jahohi Bauchi ga Adamawa kasantan anin yanci ga Goma ga mi'yya Daula Filanti in Sokoto. == Tarihi == Beyilla Aji undani ga Bauchi kasantu kafin soni 1976 gunduma ga yanki jiha gudi Ko ɗar ga . Dangane ga kidaya in 2006 jiha Aji ga mi'yya Kimani 4.653,006 Jiha Bauchi wattu Tina Dom kala-kala gaga soni Manne . Andi harshe Ajawa ga Aji amfa ga ishin ga jiha Bauchi kala Koga bisani yakilannin ga gaga sonii 1920 ga soni in 1940 inko asali anin amfani ga harshe ye manjisu Bo afiniwa. Ga Lokaci Mulki mallaka Har lokaci wena yanci, ita aga yanki plateau ga yanki gudi Najeriya, Har zuwa soni in 1967 lokacin la an wena ga jihohi ga yankuna Bauchi, Bornoga [[Adamawa]] Aji gonta beyi wena jiha gudi ga Dar. Boi wena jiha Bauchi ga soni in 1976, ga Lokaci jihohi balau Bauchi ga Gombe in Gonto , jiha Andi dolinshe hukumomi guda (20) jamji kala (23). Jamji kala ga soni in 1997 , wantun jiha [[Gombe]]. Koga jiha Bauchi inko Aji wena sauwi dolinshe hukumomi ga Woli inko Dayan jaha Bauchi ga dolinshe hukumomi (20) mana yadda foran goyi: ==Dolinshe Hukumomi== jaha bauchi Andi adadi dolinshe hukumomi kobalau ([[20]]). Mate: {| class="sortable wikitable" |- ! Dolinshe Hukuma ! Fadin kasa (km<sup>2</sup>) ! Adadin 2006<br> Mutane ! Cibiyar Karamar Hukuma ! Lambar aika<br>sako |- | [[Bauchi]] | align="right"|3,687 | align="right"|493,810 | [[Bauchi]] | 740 |- | [[Tafawa Balewa, Nigeria|Tafawa Balewa]] | align="right"|2,515 | align="right"|219,988 | [[Bununu, Nigeria|Bununu]] | 740 |- | [[Dass, Nigeria|Dass]] | align="right"|535 | align="right"|89,943 | [[Dass, Nigeria|Dass]] | 740 |- | [[Toro, Nigeria|Toro]] | align="right"|6,932 | align="right"|350,404 | [[Toro, Nigeria|Toro]] | 740 |- | [[Bogoro]] | align="right"|894 | align="right"|84,215 | [[Bogoro]] | 741 |- | [[Ningi, Nigeria|Ningi]] | align="right"|4,625 | align="right"|387,192 | [[Ningi, Nigeria|Ningi]] | 742 |- | [[Warji]] | align="right"|625 | align="right"|114,720 | [[Warji]] | 742 |- | [[Ganjuwa]] | align="right"|5,059 | align="right"|280,468 | [[Kafin Madaki]] | 742 |- | [[Kirfi]] | align="right"|2,371 | align="right"|147,618 | [[Kirfi]] | 743 |- | [[Alkaleri]] | align="right"|5,918 | align="right"|329,424 | [[Alkaleri]] | 743 |- | ''Southern region totals'' | align="right"|''33,161'' | align="right"|''2,497,782'' | | |- | [[Darazo]] | align="right"|3,015 | align="right"|251,597 | [[Darazo]] | 750 |- | [[Misau]] | align="right"|1,226 | align="right"|263,487 | [[Misau]] | 750 |- | [[Giade]] | align="right"|668 | align="right"|156,969 | [[Giade]] | 750 |- | [[Shira, Nigeria|Shira]] | align="right"|1,321 | align="right"|234,014 | [[Yana, Nigeria|Yana]] | 750 |- | [[Jama'are]] | align="right"|493 | align="right"|117,883 | [[Jama'are]] | 751 |- | [[Katagum]] | align="right"|1,436 | align="right"|295,970 | [[Azare]] | 751 |- | [[Itas/Gadau]] | align="right"|1,398 | align="right"|229,996 | [[Itas]] | 751 |- | [[Zaki, Nigeria|Zaki]] | align="right"|1,476 | align="right"|191,457 | [[Katagum]] | 752 |- | [[Gamawa]] | align="right"|2,925 | align="right"|286,388 | [[Gamawa]] | 752 |- | [[Damban]] | align="right"|1,077 | align="right"|150,922 | [[Damban]] | 752 |- | ''Northern region totals'' | align="right"|''15,035'' | align="right"|''2,178,683'' | | |} == Gorunshe == Kirfi kasantu goru ga birni Bauchi la itaga akalla Siri 700 Mita fadirto ga fali gongola la Aji ele Amma ga goruye . La gontu ga Siri Amma benua. Goruye Andi tsairi barka mara ga dayi.(3) Ga al'ada kasantu ga Dalla hi ga mi'yya la Aji unda ga kirfawa kala ita a wol woli gunduma afiniwa . Bincike gako garu kirfi Aji inne mana amsoshi la kunsani ga al'ada ga adin ga harka Siyasa ga Woli apiniwa Aji wena no goru kirfi Ko goru Bauchi. == Labar woli == Jiha Bauchi mamayantun Fadi woli Kimani 49,119 km2 (18'965 sq mi) inko mamayan kaso 5.3 in Fadi Nigeria kala Aji Dono gako lambobi beyi in latitudes 9' 3' ga 12'3' gudi ga kala longitude 8' 50' ga 11' dar Jiha itaga iyaka ga jihohi bawulo , Kano ga Jigawa Ko gudi, Taraba ga plateau Ko aushi, Gombe ga Yobe Ko ɗar kafan Kaduna Ko zoni. Jiha Bauchi ita aga jihohi arewa Najeriya lake ga yanayi tsirrai kala balau Sudan Savannah ga Sahel Savannah. She kala Andi tsaunuka aushi yanki goru, dangane ga alakati ga Jos plateau. == Godom mi'yya == Andi kabilu daban daban Har guda 55 ga goruye la gontango ga : Gerawa, Sayawa, Jarawa, Kirfawa, Afiniwa, Bolewa, karekare, kanuri, Fa'awa, Butawa, Warjawa, Zulawa, Boyawa, Badawa, Amma Filanti ji asali Kabila goruye she aji nine mate ga asali al'adu su adin ga messesu. Andi suwa ga Dalla harsuna goruye dangane ga Ruta al'adu karai zowayi ga kala gontosu ga beyi modi, musamman Ko beyi kaibono su ga goma . Maddi Koga harsuna Andi ba'a ga dallasu . Ga Sayawa ga messesu. Biki sallah a modi koga muhimma bukukuwa la Aji yollako anin inne ga shaf soni. == Ilimi == Jimi a Abubakar Tafawa Ɓalewa(15) ita aga Siri birni Bauchi: Maddi Koga beyi Gozi gontango ga: Jami'a jiha Bauchi, Abubakar Tatari, Ali Polytechnic, Federal Polytechnic Bauchi: Aminu sale college of Education Azare: Federal University of health sciences Azare:. == Yaruka == Jir harsuna West chadic language la Aji amfani ga mete ga goru Bauchi gontango ga: * North Bauchi language * South Bauchi language Yaruka Bauchi jerasu ga dole Hukumomi SU: {| class="wikitable" ! LGA !! Languages |- | Alkaleri || Dass; Bole; Duguri; Giiwo; Guruntum-Mbaaru; Labir; Tangale |- | Bauchi || Bankal; Duguri; Dulbu; Galambu; Gera; Geruma; Giiwo; Guruntum-Mbaaru; Ju; Kir-Balar; Labir; Luri; Mangas; Mbat; Pa'a; Polci; Shiki; Tala; Zangwal |- | Bogoro || Saya |- | Darazo || Bole; Deno; Diri; Giiwo; Mburku; Ngamo; Zumbun |- | Dass || Bankal; Dass; Gwak; Polci; Saya; Shall-Zwall; Zari |- | Dukku || Bole |- | Gamawa || Karekare |- | Ganjuwa || Ciwogai; Gera; Geruma; Jimi; Kariya; Kubi; Miya |- | Kirfi || Bure |- | Misau || Fulato/Borno; Shuwa; Kanuri; Hausa; Fulani |- | Ningi || Diri; Gamo-Ningi; Kudu-Camo; Pa'a; Siri; Warji; Geruma |- | Tafawa Balewa || Sur; Vaghat-Ya-Bijim-Legeri; Zari; Bankal; Gwak; Izere; Saya |- | Toro || Bankal; Dass; Geji; Geruma; Gwa; Gyem; Iguta; Izere; Jere; Lame; Lemoro; Mawa; Panawa; Polci; Sanga; Saya; Shau; Tunzuii; Zari; Zeem; Ziriya |- | Zaki || Bade |} == Gwamnati == Gwamna goruye ishinji Siri an zartarwa, jizani ga Fanni Shari'a a tene birni Bauchi. '''Gwamna''' Gwamna Bauchi ishinji Mr. Bala Abdulkadir Mohammed, La titu zabe ga Foti bonum 9 ga Tere Maris, soni in 2019 , ga wol woli jam'iya PDP . Rantsantun ishin ga Foti 29 ga Tere Mayu soni in 2019, la sheye zowu majini gwamna in baccimodi 6 ga Bauchi ga wol woli mulki democracy jamji kala gwamna in 16 shaf modi . Bala tela ji mataimaki gwamna Bauchi. == Kule ga lafiya == Jiha Bauchi itaga hasibitoci godom, Hukumomi kule ga lafiya gontango ga. == Ɗiwwa == eedujohd14zg87suybojt07mycj93qf 10447 10446 2026-08-24T14:20:25Z Abu Sadeeq77 197 10447 wikitext text/x-wiki {{Databox|item=Q811144}} '''Bauchi''' [[Woli]] Bauchi woli Ji ya a fayta Aushi Dola Darr Ga woli [[Nijeriya]]. Gontattuk lefe Ga [[Kano]] Ko Aushi kafa [[Jigawa]], [[Gombe]], ga [[Jiha Yobe|Yobe]] Ko fayta Darr, kafa [[Kaduna]] Ko Zoni. Woli Bauchi wen zalshe sunto Ko labar Bani yele Bauchi, Yaa Ke itaji Burnin in Siri ye Har soni in 1976. Ga lokacin la bissan manshi jihohi gudi mana dar ga Nigeria. Ga boii jiha Bauchi bikkantun jiha Gombe, la koboii majjito jiha an Dono kotto ga soni in 1996 Zan woli Bauchi Ga Soni Dubu Modi Ga Dalma ɓonum Ga kobawulo Ga basshi modi (1976), Ga lotayeji missan Manshi woliye Aushi Ndola Darr [[Nijeriya]]. Ga boii woli Bauchi tattuk/gontattuk woli [[Gombe]], yake Ko tetteke ita Mai jito wolin in kotto Ga Ga Soni 1996. Bauchi itaji jaha in badi ga fadi woli (2) kala in bawulo ga godom [[Miyya Ogun|miyya]] (3). Itaga godom filaye kimani kilomita dubu arba 'in ga badi ga dalma hordo ga cassa'in ga kunum(45, 893) godom miyya kimani miliyan bawulo ga dubu dalma badi ga arba'in ga dalma baccimodi ga sittin ga kunum (7,540,663) (4) ga bisa kidaya soninshe in dubu balau ga baccimodi 2006 . Jaha ye rabajjito dangane ga yanayi woli zuwa kashi balau (2) west sudaniya savanna koga aushi ga kala semi-desert sahel savanna koga Arewa ga koga montane Jos plateau aushi mana zoni jiha (5) koga kyautalla beyinshe ga goruye gontu ga yankari National park katafri beyi zenani fa dabbobi mana bijimi bido barewa ga Turum Giwa ga messesu.(6) Bauchi ji siri jaha bauchi. Bala abdulkadir Muhammad Ishin ji gwamna jiha ye Yan zaben la soninshe in 2019 har zuwa inso. Maddi koga su. Manshiwa jiha gontan go ga abubakar tafawa balewa gamin Isa yakubu, isah Hamma misau Nazif gamawa, haruna Ningi ga ali wakil. Andi yarinshe godom ga yankuma daban daban in jihar gotango ga, Bo'fikka, ga Butawa ga yare warji koga yankuna dalla jiha yaren Fulfulde, yare Kanuri, ga yare karei'karei koga zani goru [[filanti]] ga yare gerawa, koga birni bauchi ga kewaye to yare zaar (sayawa) koga aushi yare Tangale Jarawa ko aushi mana zoni. Kala asari miyya goru (kaso tamanin ga badi 85%) musulwa ji ga dole kaso kiristoci ga kaso baccimodi 6% ga maguzawa ga kaso bonum 9% (7) ga farko soni Alif 1800,a Filanti jahadi bikkantun mafi akasari goruye birni Bauchi in inso. Jamji kafan moyinshe Bauchi ga wol woli daula musulunci in Sokoto ga Karni in 1900, turawa Mulki mallaka bikkantun moyinshe ye mete zuwoto ga wol woli mulki mallaka in gudi [[Nijeriya|Nigeria]]. La kobai majjito [[Nijeriya|Nigeria]] wol woli mulki turawa kafin wena yanci ga soni 1960 , Yan asali yanki jiha Bauchi Iya a gudi Nigeria Boi wena yanci koyi ga soni 1967, lokacin la bissan jiha ye majjito wol woli jiha gudi Nigeria ko ɗar boi bissa jiha gudi Ko ɗar kafan jiha Bauchi ga Foti kunum' (3) ga tare February ga soni in (20) kala boi kafato wantun dolinshe hukumomi ga zoni jiha ye meteji manjisu Bo jiha Gombe. Ga matsayi to in jiha la dogaran ga mara, tattali dara jiha ye Ta'allaku gako dabbobi ga hantsi manamin auduga, Duro kute, tumaturi ga kala doya jizani ga Tina Dom amfani mara daidai ga sauwa habika tishi ga masana'antu sarrifa karai tishi in gwan_gwani, ga kala oppako ma'adanai manamin mana kisato columbite, ga kala beyi ewe ido mana mala kume zoii in yankari ga Amma in wikki spring. == Asali sun == Dan game ga tarihi in gargajiya goruye watu asali ji ko gama an'bara Modi la Sunni baushe , la dowu ga yanki ye kafin nako moyinshe in farko wato Yakubu (la wantun Ko Dalla soni in 1800-10) jahohi Bauchi ga Adamawa kasantan anin yanci ga Goma ga mi'yya Daula Filanti in Sokoto. == Tarihi == Beyilla Aji undani ga Bauchi kasantu kafin soni 1976 gunduma ga yanki jiha gudi Ko ɗar ga . Dangane ga kidaya in 2006 jiha Aji ga mi'yya Kimani 4.653,006 Jiha Bauchi wattu Tina Dom kala-kala gaga soni Manne . Andi harshe Ajawa ga Aji amfa ga ishin ga jiha Bauchi kala Koga bisani yakilannin ga gaga sonii 1920 ga soni in 1940 inko asali anin amfani ga harshe ye manjisu Bo afiniwa. Ga Lokaci Mulki mallaka Har lokaci wena yanci, ita aga yanki plateau ga yanki gudi Najeriya, Har zuwa soni in 1967 lokacin la an wena ga jihohi ga yankuna Bauchi, Bornoga [[Adamawa]] Aji gonta beyi wena jiha gudi ga Dar. Boi wena jiha Bauchi ga soni in 1976, ga Lokaci jihohi balau Bauchi ga Gombe in Gonto , jiha Andi dolinshe hukumomi guda (20) jamji kala (23). Jamji kala ga soni in 1997 , wantun jiha [[Gombe]]. Koga jiha Bauchi inko Aji wena sauwi dolinshe hukumomi ga Woli inko Dayan jaha Bauchi ga dolinshe hukumomi (20) mana yadda foran goyi: ==Dolinshe Hukumomi== jaha bauchi Andi adadi dolinshe hukumomi kobalau ([[20]]). Mate: {| class="sortable wikitable" |- ! Dolinshe Hukuma ! Fadin kasa (km<sup>2</sup>) ! Adadin 2006<br> Mutane ! Cibiyar Karamar Hukuma ! Lambar aika<br>sako |- | [[Bauchi]] | align="right"|3,687 | align="right"|493,810 | [[Bauchi]] | 740 |- | [[Tafawa Balewa, Nigeria|Tafawa Balewa]] | align="right"|2,515 | align="right"|219,988 | [[Bununu, Nigeria|Bununu]] | 740 |- | [[Dass, Nigeria|Dass]] | align="right"|535 | align="right"|89,943 | [[Dass, Nigeria|Dass]] | 740 |- | [[Toro, Nigeria|Toro]] | align="right"|6,932 | align="right"|350,404 | [[Toro, Nigeria|Toro]] | 740 |- | [[Bogoro]] | align="right"|894 | align="right"|84,215 | [[Bogoro]] | 741 |- | [[Ningi, Nigeria|Ningi]] | align="right"|4,625 | align="right"|387,192 | [[Ningi, Nigeria|Ningi]] | 742 |- | [[Warji]] | align="right"|625 | align="right"|114,720 | [[Warji]] | 742 |- | [[Ganjuwa]] | align="right"|5,059 | align="right"|280,468 | [[Kafin Madaki]] | 742 |- | [[Kirfi]] | align="right"|2,371 | align="right"|147,618 | [[Kirfi]] | 743 |- | [[Alkaleri]] | align="right"|5,918 | align="right"|329,424 | [[Alkaleri]] | 743 |- | ''Southern region totals'' | align="right"|''33,161'' | align="right"|''2,497,782'' | | |- | [[Darazo]] | align="right"|3,015 | align="right"|251,597 | [[Darazo]] | 750 |- | [[Misau]] | align="right"|1,226 | align="right"|263,487 | [[Misau]] | 750 |- | [[Giade]] | align="right"|668 | align="right"|156,969 | [[Giade]] | 750 |- | [[Shira, Nigeria|Shira]] | align="right"|1,321 | align="right"|234,014 | [[Yana, Nigeria|Yana]] | 750 |- | [[Jama'are]] | align="right"|493 | align="right"|117,883 | [[Jama'are]] | 751 |- | [[Katagum]] | align="right"|1,436 | align="right"|295,970 | [[Azare]] | 751 |- | [[Itas/Gadau]] | align="right"|1,398 | align="right"|229,996 | [[Itas]] | 751 |- | [[Zaki, Nigeria|Zaki]] | align="right"|1,476 | align="right"|191,457 | [[Katagum]] | 752 |- | [[Gamawa]] | align="right"|2,925 | align="right"|286,388 | [[Gamawa]] | 752 |- | [[Damban]] | align="right"|1,077 | align="right"|150,922 | [[Damban]] | 752 |- | ''Northern region totals'' | align="right"|''15,035'' | align="right"|''2,178,683'' | | |} == Gorunshe == Kirfi kasantu goru ga birni Bauchi la itaga akalla Siri 700 Mita fadirto ga fali gongola la Aji ele Amma ga goruye . La gontu ga Siri Amma benua. Goruye Andi tsairi barka mara ga dayi.(3) Ga al'ada kasantu ga Dalla hi ga mi'yya la Aji unda ga kirfawa kala ita a wol woli gunduma afiniwa . Bincike gako garu kirfi Aji inne mana amsoshi la kunsani ga al'ada ga adin ga harka Siyasa ga Woli apiniwa Aji wena no goru kirfi Ko goru Bauchi. == Labar woli == Jiha Bauchi mamayantun Fadi woli Kimani 49,119 km2 (18'965 sq mi) inko mamayan kaso 5.3 in Fadi Nigeria kala Aji Dono gako lambobi beyi in latitudes 9' 3' ga 12'3' gudi ga kala longitude 8' 50' ga 11' dar Jiha itaga iyaka ga jihohi bawulo , Kano ga Jigawa Ko gudi, Taraba ga plateau Ko aushi, Gombe ga Yobe Ko ɗar kafan Kaduna Ko zoni. Jiha Bauchi ita aga jihohi arewa Najeriya lake ga yanayi tsirrai kala balau Sudan Savannah ga Sahel Savannah. She kala Andi tsaunuka aushi yanki goru, dangane ga alakati ga Jos plateau. == Godom mi'yya == Andi kabilu daban daban Har guda 55 ga goruye la gontango ga : Gerawa, Sayawa, Jarawa, Kirfawa, Afiniwa, Bolewa, karekare, kanuri, Fa'awa, Butawa, Warjawa, Zulawa, Boyawa, Badawa, Amma Filanti ji asali Kabila goruye she aji nine mate ga asali al'adu su adin ga messesu. Andi suwa ga Dalla harsuna goruye dangane ga Ruta al'adu karai zowayi ga kala gontosu ga beyi modi, musamman Ko beyi kaibono su ga goma . Maddi Koga harsuna Andi ba'a ga dallasu . Ga Sayawa ga messesu. Biki sallah a modi koga muhimma bukukuwa la Aji yollako anin inne ga shaf soni. == Ilimi == Jimi a Abubakar Tafawa Ɓalewa(15) ita aga Siri birni Bauchi: Maddi Koga beyi Gozi gontango ga: Jami'a jiha Bauchi, Abubakar Tatari, Ali Polytechnic, Federal Polytechnic Bauchi: Aminu sale college of Education Azare: Federal University of health sciences Azare:. == Yaruka == Jir harsuna West chadic language la Aji amfani ga mete ga goru Bauchi gontango ga: * North Bauchi language * South Bauchi language Yaruka Bauchi jerasu ga dole Hukumomi SU: {| class="wikitable" ! LGA !! Languages |- | Alkaleri || Dass; Bole; Duguri; Giiwo; Guruntum-Mbaaru; Labir; Tangale |- | Bauchi || Bankal; Duguri; Dulbu; Galambu; Gera; Geruma; Giiwo; Guruntum-Mbaaru; Ju; Kir-Balar; Labir; Luri; Mangas; Mbat; Pa'a; Polci; Shiki; Tala; Zangwal |- | Bogoro || Saya |- | Darazo || Bole; Deno; Diri; Giiwo; Mburku; Ngamo; Zumbun |- | Dass || Bankal; Dass; Gwak; Polci; Saya; Shall-Zwall; Zari |- | Dukku || Bole |- | Gamawa || Karekare |- | Ganjuwa || Ciwogai; Gera; Geruma; Jimi; Kariya; Kubi; Miya |- | Kirfi || Bure |- | Misau || Fulato/Borno; Shuwa; Kanuri; Hausa; Fulani |- | Ningi || Diri; Gamo-Ningi; Kudu-Camo; Pa'a; Siri; Warji; Geruma |- | Tafawa Balewa || Sur; Vaghat-Ya-Bijim-Legeri; Zari; Bankal; Gwak; Izere; Saya |- | Toro || Bankal; Dass; Geji; Geruma; Gwa; Gyem; Iguta; Izere; Jere; Lame; Lemoro; Mawa; Panawa; Polci; Sanga; Saya; Shau; Tunzuii; Zari; Zeem; Ziriya |- | Zaki || Bade |} == Gwamnati == Gwamna goruye ishinji Siri an zartarwa, jizani ga Fanni Shari'a a tene birni Bauchi. '''Gwamna''' Gwamna Bauchi ishinji Mr. Bala Abdulkadir Mohammed, La titu zabe ga Foti bonum 9 ga Tere Maris, soni in 2019 , ga wol woli jam'iya PDP . Rantsantun ishin ga Foti 29 ga Tere Mayu soni in 2019, la sheye zowu majini gwamna in baccimodi 6 ga Bauchi ga wol woli mulki democracy jamji kala gwamna in 16 shaf modi . Bala tela ji mataimaki gwamna Bauchi. == Kule ga lafiya == Jiha Bauchi itaga hasibitoci godom, Hukumomi kule ga lafiya gontango ga. * Abubakar Tafawa Balewa Teaching Hospital<ref>https://dailytrust.com/atbu-teaching-hospital-doctors-others-unite-for-patients-wellbeing/</ref><ref>https://dailypost.ng/2022/11/28/over-300-in-bauchi-to-benefit-from-free-medical-programme/</ref> * Bauchi State Hospital<ref><nowiki>https://tribuneonlineng.com/bauchi-hospital-management-board-restates-commitment-to-effective-healthcare-services/</nowiki></ref> * Al-amin Hospital * Niima Consultants Hospital * Albishir Clinic and Maternity * Proactive Clinic and Hospital Ltd. * Reemee Medicare Nigeria Limited. == Ɗiwwa == du9cznpjyb9lvu81tn85aqgj1lprsxv 10448 10447 2026-08-24T14:21:50Z Abu Sadeeq77 197 10448 wikitext text/x-wiki {{Databox|item=Q811144}} '''Bauchi''' [[Woli]] Bauchi woli Ji ya a fayta Aushi Dola Darr Ga woli [[Nijeriya]]. Gontattuk lefe Ga [[Kano]] Ko Aushi kafa [[Jigawa]], [[Gombe]], ga [[Jiha Yobe|Yobe]] Ko fayta Darr, kafa [[Kaduna]] Ko Zoni. Woli Bauchi wen zalshe sunto Ko labar Bani yele Bauchi, Yaa Ke itaji Burnin in Siri ye Har soni in 1976. Ga lokacin la bissan manshi jihohi gudi mana dar ga Nigeria. Ga boii jiha Bauchi bikkantun jiha Gombe, la koboii majjito jiha an Dono kotto ga soni in 1996 Zan woli Bauchi Ga Soni Dubu Modi Ga Dalma ɓonum Ga kobawulo Ga basshi modi (1976), Ga lotayeji missan Manshi woliye Aushi Ndola Darr [[Nijeriya]]. Ga boii woli Bauchi tattuk/gontattuk woli [[Gombe]], yake Ko tetteke ita Mai jito wolin in kotto Ga Ga Soni 1996. Bauchi itaji jaha in badi ga fadi woli (2) kala in bawulo ga godom [[Miyya Ogun|miyya]] (3). Itaga godom filaye kimani kilomita dubu arba 'in ga badi ga dalma hordo ga cassa'in ga kunum(45, 893) godom miyya kimani miliyan bawulo ga dubu dalma badi ga arba'in ga dalma baccimodi ga sittin ga kunum (7,540,663) (4) ga bisa kidaya soninshe in dubu balau ga baccimodi 2006 . Jaha ye rabajjito dangane ga yanayi woli zuwa kashi balau (2) west sudaniya savanna koga aushi ga kala semi-desert sahel savanna koga Arewa ga koga montane Jos plateau aushi mana zoni jiha (5) koga kyautalla beyinshe ga goruye gontu ga yankari National park katafri beyi zenani fa dabbobi mana bijimi bido barewa ga Turum Giwa ga messesu.(6) Bauchi ji siri jaha bauchi. Bala abdulkadir Muhammad Ishin ji gwamna jiha ye Yan zaben la soninshe in 2019 har zuwa inso. Maddi koga su. Manshiwa jiha gontan go ga abubakar tafawa balewa gamin Isa yakubu, isah Hamma misau Nazif gamawa, haruna Ningi ga ali wakil. Andi yarinshe godom ga yankuma daban daban in jihar gotango ga, Bo'fikka, ga Butawa ga yare warji koga yankuna dalla jiha yaren Fulfulde, yare Kanuri, ga yare karei'karei koga zani goru [[filanti]] ga yare gerawa, koga birni bauchi ga kewaye to yare zaar (sayawa) koga aushi yare Tangale Jarawa ko aushi mana zoni. Kala asari miyya goru (kaso tamanin ga badi 85%) musulwa ji ga dole kaso kiristoci ga kaso baccimodi 6% ga maguzawa ga kaso bonum 9% (7) ga farko soni Alif 1800,a Filanti jahadi bikkantun mafi akasari goruye birni Bauchi in inso. Jamji kafan moyinshe Bauchi ga wol woli daula musulunci in Sokoto ga Karni in 1900, turawa Mulki mallaka bikkantun moyinshe ye mete zuwoto ga wol woli mulki mallaka in gudi [[Nijeriya|Nigeria]]. La kobai majjito [[Nijeriya|Nigeria]] wol woli mulki turawa kafin wena yanci ga soni 1960 , Yan asali yanki jiha Bauchi Iya a gudi Nigeria Boi wena yanci koyi ga soni 1967, lokacin la bissan jiha ye majjito wol woli jiha gudi Nigeria ko ɗar boi bissa jiha gudi Ko ɗar kafan jiha Bauchi ga Foti kunum' (3) ga tare February ga soni in (20) kala boi kafato wantun dolinshe hukumomi ga zoni jiha ye meteji manjisu Bo jiha Gombe. Ga matsayi to in jiha la dogaran ga mara, tattali dara jiha ye Ta'allaku gako dabbobi ga hantsi manamin auduga, Duro kute, tumaturi ga kala doya jizani ga Tina Dom amfani mara daidai ga sauwa habika tishi ga masana'antu sarrifa karai tishi in gwan_gwani, ga kala oppako ma'adanai manamin mana kisato columbite, ga kala beyi ewe ido mana mala kume zoii in yankari ga Amma in wikki spring. == Asali sun == Dan game ga tarihi in gargajiya goruye watu asali ji ko gama an'bara Modi la Sunni baushe , la dowu ga yanki ye kafin nako moyinshe in farko wato Yakubu (la wantun Ko Dalla soni in 1800-10) jahohi Bauchi ga Adamawa kasantan anin yanci ga Goma ga mi'yya Daula Filanti in Sokoto. == Tarihi == Beyilla Aji undani ga Bauchi kasantu kafin soni 1976 gunduma ga yanki jiha gudi Ko ɗar ga . Dangane ga kidaya in 2006 jiha Aji ga mi'yya Kimani 4.653,006 Jiha Bauchi wattu Tina Dom kala-kala gaga soni Manne . Andi harshe Ajawa ga Aji amfa ga ishin ga jiha Bauchi kala Koga bisani yakilannin ga gaga sonii 1920 ga soni in 1940 inko asali anin amfani ga harshe ye manjisu Bo afiniwa. Ga Lokaci Mulki mallaka Har lokaci wena yanci, ita aga yanki plateau ga yanki gudi Najeriya, Har zuwa soni in 1967 lokacin la an wena ga jihohi ga yankuna Bauchi, Bornoga [[Adamawa]] Aji gonta beyi wena jiha gudi ga Dar. Boi wena jiha Bauchi ga soni in 1976, ga Lokaci jihohi balau Bauchi ga Gombe in Gonto , jiha Andi dolinshe hukumomi guda (20) jamji kala (23). Jamji kala ga soni in 1997 , wantun jiha [[Gombe]]. Koga jiha Bauchi inko Aji wena sauwi dolinshe hukumomi ga Woli inko Dayan jaha Bauchi ga dolinshe hukumomi (20) mana yadda foran goyi: ==Dolinshe Hukumomi== jaha bauchi Andi adadi dolinshe hukumomi kobalau ([[20]]). Mate: {| class="sortable wikitable" |- ! Dolinshe Hukuma ! Fadin kasa (km<sup>2</sup>) ! Adadin 2006<br> Mutane ! Cibiyar Karamar Hukuma ! Lambar aika<br>sako |- | [[Bauchi]] | align="right"|3,687 | align="right"|493,810 | [[Bauchi]] | 740 |- | [[Tafawa Balewa, Nigeria|Tafawa Balewa]] | align="right"|2,515 | align="right"|219,988 | [[Bununu, Nigeria|Bununu]] | 740 |- | [[Dass, Nigeria|Dass]] | align="right"|535 | align="right"|89,943 | [[Dass, Nigeria|Dass]] | 740 |- | [[Toro, Nigeria|Toro]] | align="right"|6,932 | align="right"|350,404 | [[Toro, Nigeria|Toro]] | 740 |- | [[Bogoro]] | align="right"|894 | align="right"|84,215 | [[Bogoro]] | 741 |- | [[Ningi, Nigeria|Ningi]] | align="right"|4,625 | align="right"|387,192 | [[Ningi, Nigeria|Ningi]] | 742 |- | [[Warji]] | align="right"|625 | align="right"|114,720 | [[Warji]] | 742 |- | [[Ganjuwa]] | align="right"|5,059 | align="right"|280,468 | [[Kafin Madaki]] | 742 |- | [[Kirfi]] | align="right"|2,371 | align="right"|147,618 | [[Kirfi]] | 743 |- | [[Alkaleri]] | align="right"|5,918 | align="right"|329,424 | [[Alkaleri]] | 743 |- | ''Southern region totals'' | align="right"|''33,161'' | align="right"|''2,497,782'' | | |- | [[Darazo]] | align="right"|3,015 | align="right"|251,597 | [[Darazo]] | 750 |- | [[Misau]] | align="right"|1,226 | align="right"|263,487 | [[Misau]] | 750 |- | [[Giade]] | align="right"|668 | align="right"|156,969 | [[Giade]] | 750 |- | [[Shira, Nigeria|Shira]] | align="right"|1,321 | align="right"|234,014 | [[Yana, Nigeria|Yana]] | 750 |- | [[Jama'are]] | align="right"|493 | align="right"|117,883 | [[Jama'are]] | 751 |- | [[Katagum]] | align="right"|1,436 | align="right"|295,970 | [[Azare]] | 751 |- | [[Itas/Gadau]] | align="right"|1,398 | align="right"|229,996 | [[Itas]] | 751 |- | [[Zaki, Nigeria|Zaki]] | align="right"|1,476 | align="right"|191,457 | [[Katagum]] | 752 |- | [[Gamawa]] | align="right"|2,925 | align="right"|286,388 | [[Gamawa]] | 752 |- | [[Damban]] | align="right"|1,077 | align="right"|150,922 | [[Damban]] | 752 |- | ''Northern region totals'' | align="right"|''15,035'' | align="right"|''2,178,683'' | | |} == Gorunshe == Kirfi kasantu goru ga birni Bauchi la itaga akalla Siri 700 Mita fadirto ga fali gongola la Aji ele Amma ga goruye . La gontu ga Siri Amma benua. Goruye Andi tsairi barka mara ga dayi.(3) Ga al'ada kasantu ga Dalla hi ga mi'yya la Aji unda ga kirfawa kala ita a wol woli gunduma afiniwa . Bincike gako garu kirfi Aji inne mana amsoshi la kunsani ga al'ada ga adin ga harka Siyasa ga Woli apiniwa Aji wena no goru kirfi Ko goru Bauchi. == Labar woli == Jiha Bauchi mamayantun Fadi woli Kimani 49,119 km2 (18'965 sq mi) inko mamayan kaso 5.3 in Fadi Nigeria kala Aji Dono gako lambobi beyi in latitudes 9' 3' ga 12'3' gudi ga kala longitude 8' 50' ga 11' dar Jiha itaga iyaka ga jihohi bawulo , Kano ga Jigawa Ko gudi, Taraba ga plateau Ko aushi, Gombe ga Yobe Ko ɗar kafan Kaduna Ko zoni. Jiha Bauchi ita aga jihohi arewa Najeriya lake ga yanayi tsirrai kala balau Sudan Savannah ga Sahel Savannah. She kala Andi tsaunuka aushi yanki goru, dangane ga alakati ga Jos plateau. == Godom mi'yya == Andi kabilu daban daban Har guda 55 ga goruye la gontango ga : Gerawa, Sayawa, Jarawa, Kirfawa, Afiniwa, Bolewa, karekare, kanuri, Fa'awa, Butawa, Warjawa, Zulawa, Boyawa, Badawa, Amma Filanti ji asali Kabila goruye she aji nine mate ga asali al'adu su adin ga messesu. Andi suwa ga Dalla harsuna goruye dangane ga Ruta al'adu karai zowayi ga kala gontosu ga beyi modi, musamman Ko beyi kaibono su ga goma . Maddi Koga harsuna Andi ba'a ga dallasu . Ga Sayawa ga messesu. Biki sallah a modi koga muhimma bukukuwa la Aji yollako anin inne ga shaf soni. == Ilimi == Jimi a Abubakar Tafawa Ɓalewa(15) ita aga Siri birni Bauchi: Maddi Koga beyi Gozi gontango ga: Jami'a jiha Bauchi, Abubakar Tatari, Ali Polytechnic, Federal Polytechnic Bauchi: Aminu sale college of Education Azare: Federal University of health sciences Azare:. == Yaruka == Jir harsuna West chadic language la Aji amfani ga mete ga goru Bauchi gontango ga: * North Bauchi language * South Bauchi language Yaruka Bauchi jerasu ga dole Hukumomi SU: {| class="wikitable" ! LGA !! Languages |- | Alkaleri || Dass; Bole; Duguri; Giiwo; Guruntum-Mbaaru; Labir; Tangale |- | Bauchi || Bankal; Duguri; Dulbu; Galambu; Gera; Geruma; Giiwo; Guruntum-Mbaaru; Ju; Kir-Balar; Labir; Luri; Mangas; Mbat; Pa'a; Polci; Shiki; Tala; Zangwal |- | Bogoro || Saya |- | Darazo || Bole; Deno; Diri; Giiwo; Mburku; Ngamo; Zumbun |- | Dass || Bankal; Dass; Gwak; Polci; Saya; Shall-Zwall; Zari |- | Dukku || Bole |- | Gamawa || Karekare |- | Ganjuwa || Ciwogai; Gera; Geruma; Jimi; Kariya; Kubi; Miya |- | Kirfi || Bure |- | Misau || Fulato/Borno; Shuwa; Kanuri; Hausa; Fulani |- | Ningi || Diri; Gamo-Ningi; Kudu-Camo; Pa'a; Siri; Warji; Geruma |- | Tafawa Balewa || Sur; Vaghat-Ya-Bijim-Legeri; Zari; Bankal; Gwak; Izere; Saya |- | Toro || Bankal; Dass; Geji; Geruma; Gwa; Gyem; Iguta; Izere; Jere; Lame; Lemoro; Mawa; Panawa; Polci; Sanga; Saya; Shau; Tunzuii; Zari; Zeem; Ziriya |- | Zaki || Bade |} == Gwamnati == Gwamna goruye ishinji Siri an zartarwa, jizani ga Fanni Shari'a a tene birni Bauchi. '''Gwamna''' Gwamna Bauchi ishinji Mr. Bala Abdulkadir Mohammed, La titu zabe ga Foti bonum 9 ga Tere Maris, soni in 2019 , ga wol woli jam'iya PDP . Rantsantun ishin ga Foti 29 ga Tere Mayu soni in 2019, la sheye zowu majini gwamna in baccimodi 6 ga Bauchi ga wol woli mulki democracy jamji kala gwamna in 16 shaf modi . Bala tela ji mataimaki gwamna Bauchi. == Kule ga lafiya == Jiha Bauchi itaga hasibitoci godom, Hukumomi kule ga lafiya gontango ga. * Abubakar Tafawa Balewa Teaching Hospital<ref>https://dailytrust.com/atbu-teaching-hospital-doctors-others-unite-for-patients-wellbeing/</ref><ref>https://dailypost.ng/2022/11/28/over-300-in-bauchi-to-benefit-from-free-medical-programme/</ref> * Bauchi State Hospital<ref><nowiki>https://tribuneonlineng.com/bauchi-hospital-management-board-restates-commitment-to-effective-healthcare-services/</nowiki></ref> * Al-amin Hospital * Niima Consultants Hospital * Albishir Clinic and Maternity * Proactive Clinic and Hospital Ltd. * Reemee Medicare Nigeria Limited. == Mi'yya la Monasu == == Ɗiwwa == t86op2oi90sdpilgnxjgoq3rbn5q36j 10449 10448 2026-08-24T14:24:48Z Abu Sadeeq77 197 10449 wikitext text/x-wiki {{Databox|item=Q811144}} '''Bauchi''' [[Woli]] Bauchi woli Ji ya a fayta Aushi Dola Darr Ga woli [[Nijeriya]]. Gontattuk lefe Ga [[Kano]] Ko Aushi kafa [[Jigawa]], [[Gombe]], ga [[Jiha Yobe|Yobe]] Ko fayta Darr, kafa [[Kaduna]] Ko Zoni. Woli Bauchi wen zalshe sunto Ko labar Bani yele Bauchi, Yaa Ke itaji Burnin in Siri ye Har soni in 1976. Ga lokacin la bissan manshi jihohi gudi mana dar ga Nigeria. Ga boii jiha Bauchi bikkantun jiha Gombe, la koboii majjito jiha an Dono kotto ga soni in 1996 Zan woli Bauchi Ga Soni Dubu Modi Ga Dalma ɓonum Ga kobawulo Ga basshi modi (1976), Ga lotayeji missan Manshi woliye Aushi Ndola Darr [[Nijeriya]]. Ga boii woli Bauchi tattuk/gontattuk woli [[Gombe]], yake Ko tetteke ita Mai jito wolin in kotto Ga Ga Soni 1996. Bauchi itaji jaha in badi ga fadi woli (2) kala in bawulo ga godom [[Miyya Ogun|miyya]] (3). Itaga godom filaye kimani kilomita dubu arba 'in ga badi ga dalma hordo ga cassa'in ga kunum(45, 893) godom miyya kimani miliyan bawulo ga dubu dalma badi ga arba'in ga dalma baccimodi ga sittin ga kunum (7,540,663) (4) ga bisa kidaya soninshe in dubu balau ga baccimodi 2006 . Jaha ye rabajjito dangane ga yanayi woli zuwa kashi balau (2) west sudaniya savanna koga aushi ga kala semi-desert sahel savanna koga Arewa ga koga montane Jos plateau aushi mana zoni jiha (5) koga kyautalla beyinshe ga goruye gontu ga yankari National park katafri beyi zenani fa dabbobi mana bijimi bido barewa ga Turum Giwa ga messesu.(6) Bauchi ji siri jaha bauchi. Bala abdulkadir Muhammad Ishin ji gwamna jiha ye Yan zaben la soninshe in 2019 har zuwa inso. Maddi koga su. Manshiwa jiha gontan go ga abubakar tafawa balewa gamin Isa yakubu, isah Hamma misau Nazif gamawa, haruna Ningi ga ali wakil. Andi yarinshe godom ga yankuma daban daban in jihar gotango ga, Bo'fikka, ga Butawa ga yare warji koga yankuna dalla jiha yaren Fulfulde, yare Kanuri, ga yare karei'karei koga zani goru [[filanti]] ga yare gerawa, koga birni bauchi ga kewaye to yare zaar (sayawa) koga aushi yare Tangale Jarawa ko aushi mana zoni. Kala asari miyya goru (kaso tamanin ga badi 85%) musulwa ji ga dole kaso kiristoci ga kaso baccimodi 6% ga maguzawa ga kaso bonum 9% (7) ga farko soni Alif 1800,a Filanti jahadi bikkantun mafi akasari goruye birni Bauchi in inso. Jamji kafan moyinshe Bauchi ga wol woli daula musulunci in Sokoto ga Karni in 1900, turawa Mulki mallaka bikkantun moyinshe ye mete zuwoto ga wol woli mulki mallaka in gudi [[Nijeriya|Nigeria]]. La kobai majjito [[Nijeriya|Nigeria]] wol woli mulki turawa kafin wena yanci ga soni 1960 , Yan asali yanki jiha Bauchi Iya a gudi Nigeria Boi wena yanci koyi ga soni 1967, lokacin la bissan jiha ye majjito wol woli jiha gudi Nigeria ko ɗar boi bissa jiha gudi Ko ɗar kafan jiha Bauchi ga Foti kunum' (3) ga tare February ga soni in (20) kala boi kafato wantun dolinshe hukumomi ga zoni jiha ye meteji manjisu Bo jiha Gombe. Ga matsayi to in jiha la dogaran ga mara, tattali dara jiha ye Ta'allaku gako dabbobi ga hantsi manamin auduga, Duro kute, tumaturi ga kala doya jizani ga Tina Dom amfani mara daidai ga sauwa habika tishi ga masana'antu sarrifa karai tishi in gwan_gwani, ga kala oppako ma'adanai manamin mana kisato columbite, ga kala beyi ewe ido mana mala kume zoii in yankari ga Amma in wikki spring. == Asali sun == Dan game ga tarihi in gargajiya goruye watu asali ji ko gama an'bara Modi la Sunni baushe , la dowu ga yanki ye kafin nako moyinshe in farko wato Yakubu (la wantun Ko Dalla soni in 1800-10) jahohi Bauchi ga Adamawa kasantan anin yanci ga Goma ga mi'yya Daula Filanti in Sokoto. == Tarihi == Beyilla Aji undani ga Bauchi kasantu kafin soni 1976 gunduma ga yanki jiha gudi Ko ɗar ga . Dangane ga kidaya in 2006 jiha Aji ga mi'yya Kimani 4.653,006 Jiha Bauchi wattu Tina Dom kala-kala gaga soni Manne . Andi harshe Ajawa ga Aji amfa ga ishin ga jiha Bauchi kala Koga bisani yakilannin ga gaga sonii 1920 ga soni in 1940 inko asali anin amfani ga harshe ye manjisu Bo afiniwa. Ga Lokaci Mulki mallaka Har lokaci wena yanci, ita aga yanki plateau ga yanki gudi Najeriya, Har zuwa soni in 1967 lokacin la an wena ga jihohi ga yankuna Bauchi, Bornoga [[Adamawa]] Aji gonta beyi wena jiha gudi ga Dar. Boi wena jiha Bauchi ga soni in 1976, ga Lokaci jihohi balau Bauchi ga Gombe in Gonto , jiha Andi dolinshe hukumomi guda (20) jamji kala (23). Jamji kala ga soni in 1997 , wantun jiha [[Gombe]]. Koga jiha Bauchi inko Aji wena sauwi dolinshe hukumomi ga Woli inko Dayan jaha Bauchi ga dolinshe hukumomi (20) mana yadda foran goyi: ==Dolinshe Hukumomi== jaha bauchi Andi adadi dolinshe hukumomi kobalau ([[20]]). Mate: {| class="sortable wikitable" |- ! Dolinshe Hukuma ! Fadin kasa (km<sup>2</sup>) ! Adadin 2006<br> Mutane ! Cibiyar Karamar Hukuma ! Lambar aika<br>sako |- | [[Bauchi]] | align="right"|3,687 | align="right"|493,810 | [[Bauchi]] | 740 |- | [[Tafawa Balewa, Nigeria|Tafawa Balewa]] | align="right"|2,515 | align="right"|219,988 | [[Bununu, Nigeria|Bununu]] | 740 |- | [[Dass, Nigeria|Dass]] | align="right"|535 | align="right"|89,943 | [[Dass, Nigeria|Dass]] | 740 |- | [[Toro, Nigeria|Toro]] | align="right"|6,932 | align="right"|350,404 | [[Toro, Nigeria|Toro]] | 740 |- | [[Bogoro]] | align="right"|894 | align="right"|84,215 | [[Bogoro]] | 741 |- | [[Ningi, Nigeria|Ningi]] | align="right"|4,625 | align="right"|387,192 | [[Ningi, Nigeria|Ningi]] | 742 |- | [[Warji]] | align="right"|625 | align="right"|114,720 | [[Warji]] | 742 |- | [[Ganjuwa]] | align="right"|5,059 | align="right"|280,468 | [[Kafin Madaki]] | 742 |- | [[Kirfi]] | align="right"|2,371 | align="right"|147,618 | [[Kirfi]] | 743 |- | [[Alkaleri]] | align="right"|5,918 | align="right"|329,424 | [[Alkaleri]] | 743 |- | ''Southern region totals'' | align="right"|''33,161'' | align="right"|''2,497,782'' | | |- | [[Darazo]] | align="right"|3,015 | align="right"|251,597 | [[Darazo]] | 750 |- | [[Misau]] | align="right"|1,226 | align="right"|263,487 | [[Misau]] | 750 |- | [[Giade]] | align="right"|668 | align="right"|156,969 | [[Giade]] | 750 |- | [[Shira, Nigeria|Shira]] | align="right"|1,321 | align="right"|234,014 | [[Yana, Nigeria|Yana]] | 750 |- | [[Jama'are]] | align="right"|493 | align="right"|117,883 | [[Jama'are]] | 751 |- | [[Katagum]] | align="right"|1,436 | align="right"|295,970 | [[Azare]] | 751 |- | [[Itas/Gadau]] | align="right"|1,398 | align="right"|229,996 | [[Itas]] | 751 |- | [[Zaki, Nigeria|Zaki]] | align="right"|1,476 | align="right"|191,457 | [[Katagum]] | 752 |- | [[Gamawa]] | align="right"|2,925 | align="right"|286,388 | [[Gamawa]] | 752 |- | [[Damban]] | align="right"|1,077 | align="right"|150,922 | [[Damban]] | 752 |- | ''Northern region totals'' | align="right"|''15,035'' | align="right"|''2,178,683'' | | |} == Gorunshe == Kirfi kasantu goru ga birni Bauchi la itaga akalla Siri 700 Mita fadirto ga fali gongola la Aji ele Amma ga goruye . La gontu ga Siri Amma benua. Goruye Andi tsairi barka mara ga dayi.(3) Ga al'ada kasantu ga Dalla hi ga mi'yya la Aji unda ga kirfawa kala ita a wol woli gunduma afiniwa . Bincike gako garu kirfi Aji inne mana amsoshi la kunsani ga al'ada ga adin ga harka Siyasa ga Woli apiniwa Aji wena no goru kirfi Ko goru Bauchi. == Labar woli == Jiha Bauchi mamayantun Fadi woli Kimani 49,119 km2 (18'965 sq mi) inko mamayan kaso 5.3 in Fadi Nigeria kala Aji Dono gako lambobi beyi in latitudes 9' 3' ga 12'3' gudi ga kala longitude 8' 50' ga 11' dar Jiha itaga iyaka ga jihohi bawulo , Kano ga Jigawa Ko gudi, Taraba ga plateau Ko aushi, Gombe ga Yobe Ko ɗar kafan Kaduna Ko zoni. Jiha Bauchi ita aga jihohi arewa Najeriya lake ga yanayi tsirrai kala balau Sudan Savannah ga Sahel Savannah. She kala Andi tsaunuka aushi yanki goru, dangane ga alakati ga Jos plateau. == Godom mi'yya == Andi kabilu daban daban Har guda 55 ga goruye la gontango ga : Gerawa, Sayawa, Jarawa, Kirfawa, Afiniwa, Bolewa, karekare, kanuri, Fa'awa, Butawa, Warjawa, Zulawa, Boyawa, Badawa, Amma Filanti ji asali Kabila goruye she aji nine mate ga asali al'adu su adin ga messesu. Andi suwa ga Dalla harsuna goruye dangane ga Ruta al'adu karai zowayi ga kala gontosu ga beyi modi, musamman Ko beyi kaibono su ga goma . Maddi Koga harsuna Andi ba'a ga dallasu . Ga Sayawa ga messesu. Biki sallah a modi koga muhimma bukukuwa la Aji yollako anin inne ga shaf soni. == Ilimi == Jimi a Abubakar Tafawa Ɓalewa(15) ita aga Siri birni Bauchi: Maddi Koga beyi Gozi gontango ga: Jami'a jiha Bauchi, Abubakar Tatari, Ali Polytechnic, Federal Polytechnic Bauchi: Aminu sale college of Education Azare: Federal University of health sciences Azare:. == Yaruka == Jir harsuna West chadic language la Aji amfani ga mete ga goru Bauchi gontango ga: * North Bauchi language * South Bauchi language Yaruka Bauchi jerasu ga dole Hukumomi SU: {| class="wikitable" ! LGA !! Languages |- | Alkaleri || Dass; Bole; Duguri; Giiwo; Guruntum-Mbaaru; Labir; Tangale |- | Bauchi || Bankal; Duguri; Dulbu; Galambu; Gera; Geruma; Giiwo; Guruntum-Mbaaru; Ju; Kir-Balar; Labir; Luri; Mangas; Mbat; Pa'a; Polci; Shiki; Tala; Zangwal |- | Bogoro || Saya |- | Darazo || Bole; Deno; Diri; Giiwo; Mburku; Ngamo; Zumbun |- | Dass || Bankal; Dass; Gwak; Polci; Saya; Shall-Zwall; Zari |- | Dukku || Bole |- | Gamawa || Karekare |- | Ganjuwa || Ciwogai; Gera; Geruma; Jimi; Kariya; Kubi; Miya |- | Kirfi || Bure |- | Misau || Fulato/Borno; Shuwa; Kanuri; Hausa; Fulani |- | Ningi || Diri; Gamo-Ningi; Kudu-Camo; Pa'a; Siri; Warji; Geruma |- | Tafawa Balewa || Sur; Vaghat-Ya-Bijim-Legeri; Zari; Bankal; Gwak; Izere; Saya |- | Toro || Bankal; Dass; Geji; Geruma; Gwa; Gyem; Iguta; Izere; Jere; Lame; Lemoro; Mawa; Panawa; Polci; Sanga; Saya; Shau; Tunzuii; Zari; Zeem; Ziriya |- | Zaki || Bade |} == Gwamnati == Gwamna goruye ishinji Siri an zartarwa, jizani ga Fanni Shari'a a tene birni Bauchi. '''Gwamna''' Gwamna Bauchi ishinji Mr. Bala Abdulkadir Mohammed, La titu zabe ga Foti bonum 9 ga Tere Maris, soni in 2019 , ga wol woli jam'iya PDP . Rantsantun ishin ga Foti 29 ga Tere Mayu soni in 2019, la sheye zowu majini gwamna in baccimodi 6 ga Bauchi ga wol woli mulki democracy jamji kala gwamna in 16 shaf modi . Bala tela ji mataimaki gwamna Bauchi. == Kule ga lafiya == Jiha Bauchi itaga hasibitoci godom, Hukumomi kule ga lafiya gontango ga. * Abubakar Tafawa Balewa Teaching Hospital<ref>https://dailytrust.com/atbu-teaching-hospital-doctors-others-unite-for-patients-wellbeing/</ref><ref>https://dailypost.ng/2022/11/28/over-300-in-bauchi-to-benefit-from-free-medical-programme/</ref> * Bauchi State Hospital<ref><nowiki>https://tribuneonlineng.com/bauchi-hospital-management-board-restates-commitment-to-effective-healthcare-services/</nowiki></ref> * Al-amin Hospital * Niima Consultants Hospital * Albishir Clinic and Maternity * Proactive Clinic and Hospital Ltd. * Reemee Medicare Nigeria Limited. == Mi'yya la Monasu == * [[Abubakar Tafawa Balewa]], first and only prime minister of Nigeria * [[Jude Rabo]], vice-chancellor of Federal University, Wukari * Tijjani Yusuf Guruntum. * [[Isa Yuguda]]. An Siyasa, manshi gwamnan jihar Bauchi koga 2007 zuwa 2015. * [[Bala Mohammed|Bala Muhammed]]. Dan Siyasa * [[Mohammed Abdullahi Abubakar|Muhammed Abdullahi Abubakar]]. An Siyasa * [[Sa'adu Zungur]]. Mawaki * [[Adamu Muhammad Bulkachuwa]]. An shiyasa. * Isa Hassan Jama'are. == Ɗiwwa == lo568qrncvzn65ftrripas0dgw8v74b 10450 10449 2026-08-24T14:26:12Z Abu Sadeeq77 197 10450 wikitext text/x-wiki {{Databox|item=Q811144}} '''Bauchi''' [[Woli]] Bauchi woli Ji ya a fayta Aushi Dola Darr Ga woli [[Nijeriya]]. Gontattuk lefe Ga [[Kano]] Ko Aushi kafa [[Jigawa]], [[Gombe]], ga [[Jiha Yobe|Yobe]] Ko fayta Darr, kafa [[Kaduna]] Ko Zoni. Woli Bauchi wen zalshe sunto Ko labar Bani yele Bauchi, Yaa Ke itaji Burnin in Siri ye Har soni in 1976. Ga lokacin la bissan manshi jihohi gudi mana dar ga Nigeria. Ga boii jiha Bauchi bikkantun jiha Gombe, la koboii majjito jiha an Dono kotto ga soni in 1996 Zan woli Bauchi Ga Soni Dubu Modi Ga Dalma ɓonum Ga kobawulo Ga basshi modi (1976), Ga lotayeji missan Manshi woliye Aushi Ndola Darr [[Nijeriya]]. Ga boii woli Bauchi tattuk/gontattuk woli [[Gombe]], yake Ko tetteke ita Mai jito wolin in kotto Ga Ga Soni 1996. Bauchi itaji jaha in badi ga fadi woli (2) kala in bawulo ga godom [[Miyya Ogun|miyya]] (3). Itaga godom filaye kimani kilomita dubu arba 'in ga badi ga dalma hordo ga cassa'in ga kunum(45, 893) godom miyya kimani miliyan bawulo ga dubu dalma badi ga arba'in ga dalma baccimodi ga sittin ga kunum (7,540,663) (4) ga bisa kidaya soninshe in dubu balau ga baccimodi 2006 . Jaha ye rabajjito dangane ga yanayi woli zuwa kashi balau (2) west sudaniya savanna koga aushi ga kala semi-desert sahel savanna koga Arewa ga koga montane Jos plateau aushi mana zoni jiha (5) koga kyautalla beyinshe ga goruye gontu ga yankari National park katafri beyi zenani fa dabbobi mana bijimi bido barewa ga Turum Giwa ga messesu.(6) Bauchi ji siri jaha bauchi. Bala abdulkadir Muhammad Ishin ji gwamna jiha ye Yan zaben la soninshe in 2019 har zuwa inso. Maddi koga su. Manshiwa jiha gontan go ga abubakar tafawa balewa gamin Isa yakubu, isah Hamma misau Nazif gamawa, haruna Ningi ga ali wakil. Andi yarinshe godom ga yankuma daban daban in jihar gotango ga, Bo'fikka, ga Butawa ga yare warji koga yankuna dalla jiha yaren Fulfulde, yare Kanuri, ga yare karei'karei koga zani goru [[filanti]] ga yare gerawa, koga birni bauchi ga kewaye to yare zaar (sayawa) koga aushi yare Tangale Jarawa ko aushi mana zoni. Kala asari miyya goru (kaso tamanin ga badi 85%) musulwa ji ga dole kaso kiristoci ga kaso baccimodi 6% ga maguzawa ga kaso bonum 9% (7) ga farko soni Alif 1800,a Filanti jahadi bikkantun mafi akasari goruye birni Bauchi in inso. Jamji kafan moyinshe Bauchi ga wol woli daula musulunci in Sokoto ga Karni in 1900, turawa Mulki mallaka bikkantun moyinshe ye mete zuwoto ga wol woli mulki mallaka in gudi [[Nijeriya|Nigeria]]. La kobai majjito [[Nijeriya|Nigeria]] wol woli mulki turawa kafin wena yanci ga soni 1960 , Yan asali yanki jiha Bauchi Iya a gudi Nigeria Boi wena yanci koyi ga soni 1967, lokacin la bissan jiha ye majjito wol woli jiha gudi Nigeria ko ɗar boi bissa jiha gudi Ko ɗar kafan jiha Bauchi ga Foti kunum' (3) ga tare February ga soni in (20) kala boi kafato wantun dolinshe hukumomi ga zoni jiha ye meteji manjisu Bo jiha Gombe. Ga matsayi to in jiha la dogaran ga mara, tattali dara jiha ye Ta'allaku gako dabbobi ga hantsi manamin auduga, Duro kute, tumaturi ga kala doya jizani ga Tina Dom amfani mara daidai ga sauwa habika tishi ga masana'antu sarrifa karai tishi in gwan_gwani, ga kala oppako ma'adanai manamin mana kisato columbite, ga kala beyi ewe ido mana mala kume zoii in yankari ga Amma in wikki spring. == Asali sun == Dan game ga tarihi in gargajiya goruye watu asali ji ko gama an'bara Modi la Sunni baushe , la dowu ga yanki ye kafin nako moyinshe in farko wato Yakubu (la wantun Ko Dalla soni in 1800-10) jahohi Bauchi ga Adamawa kasantan anin yanci ga Goma ga mi'yya Daula Filanti in Sokoto. == Tarihi == Beyilla Aji undani ga Bauchi kasantu kafin soni 1976 gunduma ga yanki jiha gudi Ko ɗar ga . Dangane ga kidaya in 2006 jiha Aji ga mi'yya Kimani 4.653,006 Jiha Bauchi wattu Tina Dom kala-kala gaga soni Manne . Andi harshe Ajawa ga Aji amfa ga ishin ga jiha Bauchi kala Koga bisani yakilannin ga gaga sonii 1920 ga soni in 1940 inko asali anin amfani ga harshe ye manjisu Bo afiniwa. Ga Lokaci Mulki mallaka Har lokaci wena yanci, ita aga yanki plateau ga yanki gudi Najeriya, Har zuwa soni in 1967 lokacin la an wena ga jihohi ga yankuna Bauchi, Bornoga [[Adamawa]] Aji gonta beyi wena jiha gudi ga Dar. Boi wena jiha Bauchi ga soni in 1976, ga Lokaci jihohi balau Bauchi ga Gombe in Gonto , jiha Andi dolinshe hukumomi guda (20) jamji kala (23). Jamji kala ga soni in 1997 , wantun jiha [[Gombe]]. Koga jiha Bauchi inko Aji wena sauwi dolinshe hukumomi ga Woli inko Dayan jaha Bauchi ga dolinshe hukumomi (20) mana yadda foran goyi: ==Dolinshe Hukumomi== jaha bauchi Andi adadi dolinshe hukumomi kobalau ([[20]]). Mate: {| class="sortable wikitable" |- ! Dolinshe Hukuma ! Fadin kasa (km<sup>2</sup>) ! Adadin 2006<br> Mutane ! Cibiyar Karamar Hukuma ! Lambar aika<br>sako |- | [[Bauchi]] | align="right"|3,687 | align="right"|493,810 | [[Bauchi]] | 740 |- | [[Tafawa Balewa, Nigeria|Tafawa Balewa]] | align="right"|2,515 | align="right"|219,988 | [[Bununu, Nigeria|Bununu]] | 740 |- | [[Dass, Nigeria|Dass]] | align="right"|535 | align="right"|89,943 | [[Dass, Nigeria|Dass]] | 740 |- | [[Toro, Nigeria|Toro]] | align="right"|6,932 | align="right"|350,404 | [[Toro, Nigeria|Toro]] | 740 |- | [[Bogoro]] | align="right"|894 | align="right"|84,215 | [[Bogoro]] | 741 |- | [[Ningi, Nigeria|Ningi]] | align="right"|4,625 | align="right"|387,192 | [[Ningi, Nigeria|Ningi]] | 742 |- | [[Warji]] | align="right"|625 | align="right"|114,720 | [[Warji]] | 742 |- | [[Ganjuwa]] | align="right"|5,059 | align="right"|280,468 | [[Kafin Madaki]] | 742 |- | [[Kirfi]] | align="right"|2,371 | align="right"|147,618 | [[Kirfi]] | 743 |- | [[Alkaleri]] | align="right"|5,918 | align="right"|329,424 | [[Alkaleri]] | 743 |- | ''Southern region totals'' | align="right"|''33,161'' | align="right"|''2,497,782'' | | |- | [[Darazo]] | align="right"|3,015 | align="right"|251,597 | [[Darazo]] | 750 |- | [[Misau]] | align="right"|1,226 | align="right"|263,487 | [[Misau]] | 750 |- | [[Giade]] | align="right"|668 | align="right"|156,969 | [[Giade]] | 750 |- | [[Shira, Nigeria|Shira]] | align="right"|1,321 | align="right"|234,014 | [[Yana, Nigeria|Yana]] | 750 |- | [[Jama'are]] | align="right"|493 | align="right"|117,883 | [[Jama'are]] | 751 |- | [[Katagum]] | align="right"|1,436 | align="right"|295,970 | [[Azare]] | 751 |- | [[Itas/Gadau]] | align="right"|1,398 | align="right"|229,996 | [[Itas]] | 751 |- | [[Zaki, Nigeria|Zaki]] | align="right"|1,476 | align="right"|191,457 | [[Katagum]] | 752 |- | [[Gamawa]] | align="right"|2,925 | align="right"|286,388 | [[Gamawa]] | 752 |- | [[Damban]] | align="right"|1,077 | align="right"|150,922 | [[Damban]] | 752 |- | ''Northern region totals'' | align="right"|''15,035'' | align="right"|''2,178,683'' | | |} == Gorunshe == Kirfi kasantu goru ga birni Bauchi la itaga akalla Siri 700 Mita fadirto ga fali gongola la Aji ele Amma ga goruye . La gontu ga Siri Amma benua. Goruye Andi tsairi barka mara ga dayi.(3) Ga al'ada kasantu ga Dalla hi ga mi'yya la Aji unda ga kirfawa kala ita a wol woli gunduma afiniwa . Bincike gako garu kirfi Aji inne mana amsoshi la kunsani ga al'ada ga adin ga harka Siyasa ga Woli apiniwa Aji wena no goru kirfi Ko goru Bauchi. == Labar woli == Jiha Bauchi mamayantun Fadi woli Kimani 49,119 km2 (18'965 sq mi) inko mamayan kaso 5.3 in Fadi Nigeria kala Aji Dono gako lambobi beyi in latitudes 9' 3' ga 12'3' gudi ga kala longitude 8' 50' ga 11' dar Jiha itaga iyaka ga jihohi bawulo , Kano ga Jigawa Ko gudi, Taraba ga plateau Ko aushi, Gombe ga Yobe Ko ɗar kafan Kaduna Ko zoni. Jiha Bauchi ita aga jihohi arewa Najeriya lake ga yanayi tsirrai kala balau Sudan Savannah ga Sahel Savannah. She kala Andi tsaunuka aushi yanki goru, dangane ga alakati ga Jos plateau. == Godom mi'yya == Andi kabilu daban daban Har guda 55 ga goruye la gontango ga : Gerawa, Sayawa, Jarawa, Kirfawa, Afiniwa, Bolewa, karekare, kanuri, Fa'awa, Butawa, Warjawa, Zulawa, Boyawa, Badawa, Amma Filanti ji asali Kabila goruye she aji nine mate ga asali al'adu su adin ga messesu. Andi suwa ga Dalla harsuna goruye dangane ga Ruta al'adu karai zowayi ga kala gontosu ga beyi modi, musamman Ko beyi kaibono su ga goma . Maddi Koga harsuna Andi ba'a ga dallasu . Ga Sayawa ga messesu. Biki sallah a modi koga muhimma bukukuwa la Aji yollako anin inne ga shaf soni. == Ilimi == Jimi a Abubakar Tafawa Ɓalewa(15) ita aga Siri birni Bauchi: Maddi Koga beyi Gozi gontango ga: Jami'a jiha Bauchi, Abubakar Tatari, Ali Polytechnic, Federal Polytechnic Bauchi: Aminu sale college of Education Azare: Federal University of health sciences Azare:. == Yaruka == Jir harsuna West chadic language la Aji amfani ga mete ga goru Bauchi gontango ga: * North Bauchi language * South Bauchi language Yaruka Bauchi jerasu ga dole Hukumomi SU: {| class="wikitable" ! LGA !! Languages |- | Alkaleri || Dass; Bole; Duguri; Giiwo; Guruntum-Mbaaru; Labir; Tangale |- | Bauchi || Bankal; Duguri; Dulbu; Galambu; Gera; Geruma; Giiwo; Guruntum-Mbaaru; Ju; Kir-Balar; Labir; Luri; Mangas; Mbat; Pa'a; Polci; Shiki; Tala; Zangwal |- | Bogoro || Saya |- | Darazo || Bole; Deno; Diri; Giiwo; Mburku; Ngamo; Zumbun |- | Dass || Bankal; Dass; Gwak; Polci; Saya; Shall-Zwall; Zari |- | Dukku || Bole |- | Gamawa || Karekare |- | Ganjuwa || Ciwogai; Gera; Geruma; Jimi; Kariya; Kubi; Miya |- | Kirfi || Bure |- | Misau || Fulato/Borno; Shuwa; Kanuri; Hausa; Fulani |- | Ningi || Diri; Gamo-Ningi; Kudu-Camo; Pa'a; Siri; Warji; Geruma |- | Tafawa Balewa || Sur; Vaghat-Ya-Bijim-Legeri; Zari; Bankal; Gwak; Izere; Saya |- | Toro || Bankal; Dass; Geji; Geruma; Gwa; Gyem; Iguta; Izere; Jere; Lame; Lemoro; Mawa; Panawa; Polci; Sanga; Saya; Shau; Tunzuii; Zari; Zeem; Ziriya |- | Zaki || Bade |} == Gwamnati == Gwamna goruye ishinji Siri an zartarwa, jizani ga Fanni Shari'a a tene birni Bauchi. '''Gwamna''' Gwamna Bauchi ishinji Mr. Bala Abdulkadir Mohammed, La titu zabe ga Foti bonum 9 ga Tere Maris, soni in 2019 , ga wol woli jam'iya PDP . Rantsantun ishin ga Foti 29 ga Tere Mayu soni in 2019, la sheye zowu majini gwamna in baccimodi 6 ga Bauchi ga wol woli mulki democracy jamji kala gwamna in 16 shaf modi . Bala tela ji mataimaki gwamna Bauchi. == Kule ga lafiya == Jiha Bauchi itaga hasibitoci godom, Hukumomi kule ga lafiya gontango ga. * Abubakar Tafawa Balewa Teaching Hospital<ref>https://dailytrust.com/atbu-teaching-hospital-doctors-others-unite-for-patients-wellbeing/</ref><ref>https://dailypost.ng/2022/11/28/over-300-in-bauchi-to-benefit-from-free-medical-programme/</ref> * Bauchi State Hospital<ref><nowiki>https://tribuneonlineng.com/bauchi-hospital-management-board-restates-commitment-to-effective-healthcare-services/</nowiki></ref> * Al-amin Hospital * Niima Consultants Hospital * Albishir Clinic and Maternity * Proactive Clinic and Hospital Ltd. * Reemee Medicare Nigeria Limited. == Mi'yya la Monasu == * [[Abubakar Tafawa Balewa]], first and only prime minister of Nigeria * [[Jude Rabo]], vice-chancellor of Federal University, Wukari * Tijjani Yusuf Guruntum. * [[Isa Yuguda]]. An Siyasa, manshi gwamnan jihar Bauchi koga 2007 zuwa 2015. * [[Bala Mohammed|Bala Muhammed]]. Dan Siyasa * [[Mohammed Abdullahi Abubakar|Muhammed Abdullahi Abubakar]]. An Siyasa * [[Sa'adu Zungur]]. Mawaki * [[Adamu Muhammad Bulkachuwa]]. An shiyasa. * Isa Hassan Jama'are. == Hotuna == == Ɗiwwa == o0rchxily57zphjbutjkuf32ijba0kj 10451 10450 2026-08-24T14:29:49Z Abu Sadeeq77 197 10451 wikitext text/x-wiki {{Databox|item=Q811144}} '''Bauchi''' [[Woli]] Bauchi woli Ji ya a fayta Aushi Dola Darr Ga woli [[Nijeriya]]. Gontattuk lefe Ga [[Kano]] Ko Aushi kafa [[Jigawa]], [[Gombe]], ga [[Jiha Yobe|Yobe]] Ko fayta Darr, kafa [[Kaduna]] Ko Zoni. Woli Bauchi wen zalshe sunto Ko labar Bani yele Bauchi, Yaa Ke itaji Burnin in Siri ye Har soni in 1976. Ga lokacin la bissan manshi jihohi gudi mana dar ga Nigeria. Ga boii jiha Bauchi bikkantun jiha Gombe, la koboii majjito jiha an Dono kotto ga soni in 1996 Zan woli Bauchi Ga Soni Dubu Modi Ga Dalma ɓonum Ga kobawulo Ga basshi modi (1976), Ga lotayeji missan Manshi woliye Aushi Ndola Darr [[Nijeriya]]. Ga boii woli Bauchi tattuk/gontattuk woli [[Gombe]], yake Ko tetteke ita Mai jito wolin in kotto Ga Ga Soni 1996. Bauchi itaji jaha in badi ga fadi woli (2) kala in bawulo ga godom [[Miyya Ogun|miyya]] (3). Itaga godom filaye kimani kilomita dubu arba 'in ga badi ga dalma hordo ga cassa'in ga kunum(45, 893) godom miyya kimani miliyan bawulo ga dubu dalma badi ga arba'in ga dalma baccimodi ga sittin ga kunum (7,540,663) (4) ga bisa kidaya soninshe in dubu balau ga baccimodi 2006 . Jaha ye rabajjito dangane ga yanayi woli zuwa kashi balau (2) west sudaniya savanna koga aushi ga kala semi-desert sahel savanna koga Arewa ga koga montane Jos plateau aushi mana zoni jiha (5) koga kyautalla beyinshe ga goruye gontu ga yankari National park katafri beyi zenani fa dabbobi mana bijimi bido barewa ga Turum Giwa ga messesu.(6) Bauchi ji siri jaha bauchi. Bala abdulkadir Muhammad Ishin ji gwamna jiha ye Yan zaben la soninshe in 2019 har zuwa inso. Maddi koga su. Manshiwa jiha gontan go ga abubakar tafawa balewa gamin Isa yakubu, isah Hamma misau Nazif gamawa, haruna Ningi ga ali wakil. Andi yarinshe godom ga yankuma daban daban in jihar gotango ga, Bo'fikka, ga Butawa ga yare warji koga yankuna dalla jiha yaren Fulfulde, yare Kanuri, ga yare karei'karei koga zani goru [[filanti]] ga yare gerawa, koga birni bauchi ga kewaye to yare zaar (sayawa) koga aushi yare Tangale Jarawa ko aushi mana zoni. Kala asari miyya goru (kaso tamanin ga badi 85%) musulwa ji ga dole kaso kiristoci ga kaso baccimodi 6% ga maguzawa ga kaso bonum 9% (7) ga farko soni Alif 1800,a Filanti jahadi bikkantun mafi akasari goruye birni Bauchi in inso. Jamji kafan moyinshe Bauchi ga wol woli daula musulunci in Sokoto ga Karni in 1900, turawa Mulki mallaka bikkantun moyinshe ye mete zuwoto ga wol woli mulki mallaka in gudi [[Nijeriya|Nigeria]]. La kobai majjito [[Nijeriya|Nigeria]] wol woli mulki turawa kafin wena yanci ga soni 1960 , Yan asali yanki jiha Bauchi Iya a gudi Nigeria Boi wena yanci koyi ga soni 1967, lokacin la bissan jiha ye majjito wol woli jiha gudi Nigeria ko ɗar boi bissa jiha gudi Ko ɗar kafan jiha Bauchi ga Foti kunum' (3) ga tare February ga soni in (20) kala boi kafato wantun dolinshe hukumomi ga zoni jiha ye meteji manjisu Bo jiha Gombe. Ga matsayi to in jiha la dogaran ga mara, tattali dara jiha ye Ta'allaku gako dabbobi ga hantsi manamin auduga, Duro kute, tumaturi ga kala doya jizani ga Tina Dom amfani mara daidai ga sauwa habika tishi ga masana'antu sarrifa karai tishi in gwan_gwani, ga kala oppako ma'adanai manamin mana kisato columbite, ga kala beyi ewe ido mana mala kume zoii in yankari ga Amma in wikki spring. == Asali sun == Dan game ga tarihi in gargajiya goruye watu asali ji ko gama an'bara Modi la Sunni baushe , la dowu ga yanki ye kafin nako moyinshe in farko wato Yakubu (la wantun Ko Dalla soni in 1800-10) jahohi Bauchi ga Adamawa kasantan anin yanci ga Goma ga mi'yya Daula Filanti in Sokoto. == Tarihi == Beyilla Aji undani ga Bauchi kasantu kafin soni 1976 gunduma ga yanki jiha gudi Ko ɗar ga . Dangane ga kidaya in 2006 jiha Aji ga mi'yya Kimani 4.653,006 Jiha Bauchi wattu Tina Dom kala-kala gaga soni Manne . Andi harshe Ajawa ga Aji amfa ga ishin ga jiha Bauchi kala Koga bisani yakilannin ga gaga sonii 1920 ga soni in 1940 inko asali anin amfani ga harshe ye manjisu Bo afiniwa. Ga Lokaci Mulki mallaka Har lokaci wena yanci, ita aga yanki plateau ga yanki gudi Najeriya, Har zuwa soni in 1967 lokacin la an wena ga jihohi ga yankuna Bauchi, Bornoga [[Adamawa]] Aji gonta beyi wena jiha gudi ga Dar. Boi wena jiha Bauchi ga soni in 1976, ga Lokaci jihohi balau Bauchi ga Gombe in Gonto , jiha Andi dolinshe hukumomi guda (20) jamji kala (23). Jamji kala ga soni in 1997 , wantun jiha [[Gombe]]. Koga jiha Bauchi inko Aji wena sauwi dolinshe hukumomi ga Woli inko Dayan jaha Bauchi ga dolinshe hukumomi (20) mana yadda foran goyi: ==Dolinshe Hukumomi== jaha bauchi Andi adadi dolinshe hukumomi kobalau ([[20]]). Mate: {| class="sortable wikitable" |- ! Dolinshe Hukuma ! Fadin kasa (km<sup>2</sup>) ! Adadin 2006<br> Mutane ! Cibiyar Karamar Hukuma ! Lambar aika<br>sako |- | [[Bauchi]] | align="right"|3,687 | align="right"|493,810 | [[Bauchi]] | 740 |- | [[Tafawa Balewa, Nigeria|Tafawa Balewa]] | align="right"|2,515 | align="right"|219,988 | [[Bununu, Nigeria|Bununu]] | 740 |- | [[Dass, Nigeria|Dass]] | align="right"|535 | align="right"|89,943 | [[Dass, Nigeria|Dass]] | 740 |- | [[Toro, Nigeria|Toro]] | align="right"|6,932 | align="right"|350,404 | [[Toro, Nigeria|Toro]] | 740 |- | [[Bogoro]] | align="right"|894 | align="right"|84,215 | [[Bogoro]] | 741 |- | [[Ningi, Nigeria|Ningi]] | align="right"|4,625 | align="right"|387,192 | [[Ningi, Nigeria|Ningi]] | 742 |- | [[Warji]] | align="right"|625 | align="right"|114,720 | [[Warji]] | 742 |- | [[Ganjuwa]] | align="right"|5,059 | align="right"|280,468 | [[Kafin Madaki]] | 742 |- | [[Kirfi]] | align="right"|2,371 | align="right"|147,618 | [[Kirfi]] | 743 |- | [[Alkaleri]] | align="right"|5,918 | align="right"|329,424 | [[Alkaleri]] | 743 |- | ''Southern region totals'' | align="right"|''33,161'' | align="right"|''2,497,782'' | | |- | [[Darazo]] | align="right"|3,015 | align="right"|251,597 | [[Darazo]] | 750 |- | [[Misau]] | align="right"|1,226 | align="right"|263,487 | [[Misau]] | 750 |- | [[Giade]] | align="right"|668 | align="right"|156,969 | [[Giade]] | 750 |- | [[Shira, Nigeria|Shira]] | align="right"|1,321 | align="right"|234,014 | [[Yana, Nigeria|Yana]] | 750 |- | [[Jama'are]] | align="right"|493 | align="right"|117,883 | [[Jama'are]] | 751 |- | [[Katagum]] | align="right"|1,436 | align="right"|295,970 | [[Azare]] | 751 |- | [[Itas/Gadau]] | align="right"|1,398 | align="right"|229,996 | [[Itas]] | 751 |- | [[Zaki, Nigeria|Zaki]] | align="right"|1,476 | align="right"|191,457 | [[Katagum]] | 752 |- | [[Gamawa]] | align="right"|2,925 | align="right"|286,388 | [[Gamawa]] | 752 |- | [[Damban]] | align="right"|1,077 | align="right"|150,922 | [[Damban]] | 752 |- | ''Northern region totals'' | align="right"|''15,035'' | align="right"|''2,178,683'' | | |} == Gorunshe == Kirfi kasantu goru ga birni Bauchi la itaga akalla Siri 700 Mita fadirto ga fali gongola la Aji ele Amma ga goruye . La gontu ga Siri Amma benua. Goruye Andi tsairi barka mara ga dayi.(3) Ga al'ada kasantu ga Dalla hi ga mi'yya la Aji unda ga kirfawa kala ita a wol woli gunduma afiniwa . Bincike gako garu kirfi Aji inne mana amsoshi la kunsani ga al'ada ga adin ga harka Siyasa ga Woli apiniwa Aji wena no goru kirfi Ko goru Bauchi. == Labar woli == Jiha Bauchi mamayantun Fadi woli Kimani 49,119 km2 (18'965 sq mi) inko mamayan kaso 5.3 in Fadi Nigeria kala Aji Dono gako lambobi beyi in latitudes 9' 3' ga 12'3' gudi ga kala longitude 8' 50' ga 11' dar Jiha itaga iyaka ga jihohi bawulo , Kano ga Jigawa Ko gudi, Taraba ga plateau Ko aushi, Gombe ga Yobe Ko ɗar kafan Kaduna Ko zoni. Jiha Bauchi ita aga jihohi arewa Najeriya lake ga yanayi tsirrai kala balau Sudan Savannah ga Sahel Savannah. She kala Andi tsaunuka aushi yanki goru, dangane ga alakati ga Jos plateau. == Godom mi'yya == Andi kabilu daban daban Har guda 55 ga goruye la gontango ga : Gerawa, Sayawa, Jarawa, Kirfawa, Afiniwa, Bolewa, karekare, kanuri, Fa'awa, Butawa, Warjawa, Zulawa, Boyawa, Badawa, Amma Filanti ji asali Kabila goruye she aji nine mate ga asali al'adu su adin ga messesu. Andi suwa ga Dalla harsuna goruye dangane ga Ruta al'adu karai zowayi ga kala gontosu ga beyi modi, musamman Ko beyi kaibono su ga goma . Maddi Koga harsuna Andi ba'a ga dallasu . Ga Sayawa ga messesu. Biki sallah a modi koga muhimma bukukuwa la Aji yollako anin inne ga shaf soni. == Ilimi == Jimi a Abubakar Tafawa Ɓalewa(15) ita aga Siri birni Bauchi: Maddi Koga beyi Gozi gontango ga: Jami'a jiha Bauchi, Abubakar Tatari, Ali Polytechnic, Federal Polytechnic Bauchi: Aminu sale college of Education Azare: Federal University of health sciences Azare:. == Yaruka == Jir harsuna West chadic language la Aji amfani ga mete ga goru Bauchi gontango ga: * North Bauchi language * South Bauchi language Yaruka Bauchi jerasu ga dole Hukumomi SU: {| class="wikitable" ! LGA !! Languages |- | Alkaleri || Dass; Bole; Duguri; Giiwo; Guruntum-Mbaaru; Labir; Tangale |- | Bauchi || Bankal; Duguri; Dulbu; Galambu; Gera; Geruma; Giiwo; Guruntum-Mbaaru; Ju; Kir-Balar; Labir; Luri; Mangas; Mbat; Pa'a; Polci; Shiki; Tala; Zangwal |- | Bogoro || Saya |- | Darazo || Bole; Deno; Diri; Giiwo; Mburku; Ngamo; Zumbun |- | Dass || Bankal; Dass; Gwak; Polci; Saya; Shall-Zwall; Zari |- | Dukku || Bole |- | Gamawa || Karekare |- | Ganjuwa || Ciwogai; Gera; Geruma; Jimi; Kariya; Kubi; Miya |- | Kirfi || Bure |- | Misau || Fulato/Borno; Shuwa; Kanuri; Hausa; Fulani |- | Ningi || Diri; Gamo-Ningi; Kudu-Camo; Pa'a; Siri; Warji; Geruma |- | Tafawa Balewa || Sur; Vaghat-Ya-Bijim-Legeri; Zari; Bankal; Gwak; Izere; Saya |- | Toro || Bankal; Dass; Geji; Geruma; Gwa; Gyem; Iguta; Izere; Jere; Lame; Lemoro; Mawa; Panawa; Polci; Sanga; Saya; Shau; Tunzuii; Zari; Zeem; Ziriya |- | Zaki || Bade |} == Gwamnati == Gwamna goruye ishinji Siri an zartarwa, jizani ga Fanni Shari'a a tene birni Bauchi. '''Gwamna''' Gwamna Bauchi ishinji Mr. Bala Abdulkadir Mohammed, La titu zabe ga Foti bonum 9 ga Tere Maris, soni in 2019 , ga wol woli jam'iya PDP . Rantsantun ishin ga Foti 29 ga Tere Mayu soni in 2019, la sheye zowu majini gwamna in baccimodi 6 ga Bauchi ga wol woli mulki democracy jamji kala gwamna in 16 shaf modi . Bala tela ji mataimaki gwamna Bauchi. == Kule ga lafiya == Jiha Bauchi itaga hasibitoci godom, Hukumomi kule ga lafiya gontango ga. * Abubakar Tafawa Balewa Teaching Hospital<ref>https://dailytrust.com/atbu-teaching-hospital-doctors-others-unite-for-patients-wellbeing/</ref><ref>https://dailypost.ng/2022/11/28/over-300-in-bauchi-to-benefit-from-free-medical-programme/</ref> * Bauchi State Hospital<ref><nowiki>https://tribuneonlineng.com/bauchi-hospital-management-board-restates-commitment-to-effective-healthcare-services/</nowiki></ref> * Al-amin Hospital * Niima Consultants Hospital * Albishir Clinic and Maternity * Proactive Clinic and Hospital Ltd. * Reemee Medicare Nigeria Limited. == Mi'yya la Monasu == * [[Abubakar Tafawa Balewa]], first and only prime minister of Nigeria * [[Jude Rabo]], vice-chancellor of Federal University, Wukari * Tijjani Yusuf Guruntum. * [[Isa Yuguda]]. An Siyasa, manshi gwamnan jihar Bauchi koga 2007 zuwa 2015. * [[Bala Mohammed|Bala Muhammed]]. Dan Siyasa * [[Mohammed Abdullahi Abubakar|Muhammed Abdullahi Abubakar]]. An Siyasa * [[Sa'adu Zungur]]. Mawaki * [[Adamu Muhammad Bulkachuwa]]. An shiyasa. * Isa Hassan Jama'are. == Hotuna == <gallery> Fayil:Bauchi state university Gadau.jpg|thumb|Bauchi jahaji la sirato File:Emir of Bauchi Main Palace.jpg|thumb|moyinshe Bauchi File:Top view of bauchi state capital Nigeria.jpg|thumb|Bauchi File:Bauchi State Governor Mohammed Abubakar with USAID Mission Director Michael Harvey 3.jpg|thumb|Bauchi File:Durba banner carrier.jpg|thumb|Al'ummar Bauchi ga beyi bukukuwa al'ada File:Federal government road linked from bauchi state to biu along bcga.jpg|thumb|Federal government of Bauchi File:Sumu wildlife park 3.jpg|thumb|Bani dabbobi mala in bauchi </gallery> == Ɗiwwa == 1tm6gab9c5qfhor73lwduw7vm75xdev 10452 10451 2026-08-24T14:30:56Z Abu Sadeeq77 197 10452 wikitext text/x-wiki {{Databox|item=Q811144}} '''Bauchi''' [[Woli]] Bauchi woli Ji ya a fayta Aushi Dola Darr Ga woli [[Nijeriya]]. Gontattuk lefe Ga [[Kano]] Ko Aushi kafa [[Jigawa]], [[Gombe]], ga [[Jiha Yobe|Yobe]] Ko fayta Darr, kafa [[Kaduna]] Ko Zoni. Woli Bauchi wen zalshe sunto Ko labar Bani yele Bauchi, Yaa Ke itaji Burnin in Siri ye Har soni in 1976. Ga lokacin la bissan manshi jihohi gudi mana dar ga Nigeria. Ga boii jiha Bauchi bikkantun jiha Gombe, la koboii majjito jiha an Dono kotto ga soni in 1996 Zan woli Bauchi Ga Soni Dubu Modi Ga Dalma ɓonum Ga kobawulo Ga basshi modi (1976), Ga lotayeji missan Manshi woliye Aushi Ndola Darr [[Nijeriya]]. Ga boii woli Bauchi tattuk/gontattuk woli [[Gombe]], yake Ko tetteke ita Mai jito wolin in kotto Ga Ga Soni 1996. Bauchi itaji jaha in badi ga fadi woli (2) kala in bawulo ga godom [[Miyya Ogun|miyya]] (3). Itaga godom filaye kimani kilomita dubu arba 'in ga badi ga dalma hordo ga cassa'in ga kunum(45, 893) godom miyya kimani miliyan bawulo ga dubu dalma badi ga arba'in ga dalma baccimodi ga sittin ga kunum (7,540,663) (4) ga bisa kidaya soninshe in dubu balau ga baccimodi 2006 . Jaha ye rabajjito dangane ga yanayi woli zuwa kashi balau (2) west sudaniya savanna koga aushi ga kala semi-desert sahel savanna koga Arewa ga koga montane Jos plateau aushi mana zoni jiha (5) koga kyautalla beyinshe ga goruye gontu ga yankari National park katafri beyi zenani fa dabbobi mana bijimi bido barewa ga Turum Giwa ga messesu.(6) Bauchi ji siri jaha bauchi. Bala abdulkadir Muhammad Ishin ji gwamna jiha ye Yan zaben la soninshe in 2019 har zuwa inso. Maddi koga su. Manshiwa jiha gontan go ga abubakar tafawa balewa gamin Isa yakubu, isah Hamma misau Nazif gamawa, haruna Ningi ga ali wakil. Andi yarinshe godom ga yankuma daban daban in jihar gotango ga, Bo'fikka, ga Butawa ga yare warji koga yankuna dalla jiha yaren Fulfulde, yare Kanuri, ga yare karei'karei koga zani goru [[filanti]] ga yare gerawa, koga birni bauchi ga kewaye to yare zaar (sayawa) koga aushi yare Tangale Jarawa ko aushi mana zoni. Kala asari miyya goru (kaso tamanin ga badi 85%) musulwa ji ga dole kaso kiristoci ga kaso baccimodi 6% ga maguzawa ga kaso bonum 9% (7) ga farko soni Alif 1800,a Filanti jahadi bikkantun mafi akasari goruye birni Bauchi in inso. Jamji kafan moyinshe Bauchi ga wol woli daula musulunci in Sokoto ga Karni in 1900, turawa Mulki mallaka bikkantun moyinshe ye mete zuwoto ga wol woli mulki mallaka in gudi [[Nijeriya|Nigeria]]. La kobai majjito [[Nijeriya|Nigeria]] wol woli mulki turawa kafin wena yanci ga soni 1960 , Yan asali yanki jiha Bauchi Iya a gudi Nigeria Boi wena yanci koyi ga soni 1967, lokacin la bissan jiha ye majjito wol woli jiha gudi Nigeria ko ɗar boi bissa jiha gudi Ko ɗar kafan jiha Bauchi ga Foti kunum' (3) ga tare February ga soni in (20) kala boi kafato wantun dolinshe hukumomi ga zoni jiha ye meteji manjisu Bo jiha Gombe. Ga matsayi to in jiha la dogaran ga mara, tattali dara jiha ye Ta'allaku gako dabbobi ga hantsi manamin auduga, Duro kute, tumaturi ga kala doya jizani ga Tina Dom amfani mara daidai ga sauwa habika tishi ga masana'antu sarrifa karai tishi in gwan_gwani, ga kala oppako ma'adanai manamin mana kisato columbite, ga kala beyi ewe ido mana mala kume zoii in yankari ga Amma in wikki spring. == Asali sun == Dan game ga tarihi in gargajiya goruye watu asali ji ko gama an'bara Modi la Sunni baushe , la dowu ga yanki ye kafin nako moyinshe in farko wato Yakubu (la wantun Ko Dalla soni in 1800-10) jahohi Bauchi ga Adamawa kasantan anin yanci ga Goma ga mi'yya Daula Filanti in Sokoto. == Tarihi == Beyilla Aji undani ga Bauchi kasantu kafin soni 1976 gunduma ga yanki jiha gudi Ko ɗar ga . Dangane ga kidaya in 2006 jiha Aji ga mi'yya Kimani 4.653,006 Jiha Bauchi wattu Tina Dom kala-kala gaga soni Manne . Andi harshe Ajawa ga Aji amfa ga ishin ga jiha Bauchi kala Koga bisani yakilannin ga gaga sonii 1920 ga soni in 1940 inko asali anin amfani ga harshe ye manjisu Bo afiniwa. Ga Lokaci Mulki mallaka Har lokaci wena yanci, ita aga yanki plateau ga yanki gudi Najeriya, Har zuwa soni in 1967 lokacin la an wena ga jihohi ga yankuna Bauchi, Bornoga [[Adamawa]] Aji gonta beyi wena jiha gudi ga Dar. Boi wena jiha Bauchi ga soni in 1976, ga Lokaci jihohi balau Bauchi ga Gombe in Gonto , jiha Andi dolinshe hukumomi guda (20) jamji kala (23). Jamji kala ga soni in 1997 , wantun jiha [[Gombe]]. Koga jiha Bauchi inko Aji wena sauwi dolinshe hukumomi ga Woli inko Dayan jaha Bauchi ga dolinshe hukumomi (20) mana yadda foran goyi: ==Dolinshe Hukumomi== jaha bauchi Andi adadi dolinshe hukumomi kobalau ([[20]]). Mate: {| class="sortable wikitable" |- ! Dolinshe Hukuma ! Fadin kasa (km<sup>2</sup>) ! Adadin 2006<br> Mutane ! Cibiyar Karamar Hukuma ! Lambar aika<br>sako |- | [[Bauchi]] | align="right"|3,687 | align="right"|493,810 | [[Bauchi]] | 740 |- | [[Tafawa Balewa, Nigeria|Tafawa Balewa]] | align="right"|2,515 | align="right"|219,988 | [[Bununu, Nigeria|Bununu]] | 740 |- | [[Dass, Nigeria|Dass]] | align="right"|535 | align="right"|89,943 | [[Dass, Nigeria|Dass]] | 740 |- | [[Toro, Nigeria|Toro]] | align="right"|6,932 | align="right"|350,404 | [[Toro, Nigeria|Toro]] | 740 |- | [[Bogoro]] | align="right"|894 | align="right"|84,215 | [[Bogoro]] | 741 |- | [[Ningi, Nigeria|Ningi]] | align="right"|4,625 | align="right"|387,192 | [[Ningi, Nigeria|Ningi]] | 742 |- | [[Warji]] | align="right"|625 | align="right"|114,720 | [[Warji]] | 742 |- | [[Ganjuwa]] | align="right"|5,059 | align="right"|280,468 | [[Kafin Madaki]] | 742 |- | [[Kirfi]] | align="right"|2,371 | align="right"|147,618 | [[Kirfi]] | 743 |- | [[Alkaleri]] | align="right"|5,918 | align="right"|329,424 | [[Alkaleri]] | 743 |- | ''Southern region totals'' | align="right"|''33,161'' | align="right"|''2,497,782'' | | |- | [[Darazo]] | align="right"|3,015 | align="right"|251,597 | [[Darazo]] | 750 |- | [[Misau]] | align="right"|1,226 | align="right"|263,487 | [[Misau]] | 750 |- | [[Giade]] | align="right"|668 | align="right"|156,969 | [[Giade]] | 750 |- | [[Shira, Nigeria|Shira]] | align="right"|1,321 | align="right"|234,014 | [[Yana, Nigeria|Yana]] | 750 |- | [[Jama'are]] | align="right"|493 | align="right"|117,883 | [[Jama'are]] | 751 |- | [[Katagum]] | align="right"|1,436 | align="right"|295,970 | [[Azare]] | 751 |- | [[Itas/Gadau]] | align="right"|1,398 | align="right"|229,996 | [[Itas]] | 751 |- | [[Zaki, Nigeria|Zaki]] | align="right"|1,476 | align="right"|191,457 | [[Katagum]] | 752 |- | [[Gamawa]] | align="right"|2,925 | align="right"|286,388 | [[Gamawa]] | 752 |- | [[Damban]] | align="right"|1,077 | align="right"|150,922 | [[Damban]] | 752 |- | ''Northern region totals'' | align="right"|''15,035'' | align="right"|''2,178,683'' | | |} == Gorunshe == Kirfi kasantu goru ga birni Bauchi la itaga akalla Siri 700 Mita fadirto ga fali gongola la Aji ele Amma ga goruye . La gontu ga Siri Amma benua. Goruye Andi tsairi barka mara ga dayi.(3) Ga al'ada kasantu ga Dalla hi ga mi'yya la Aji unda ga kirfawa kala ita a wol woli gunduma afiniwa . Bincike gako garu kirfi Aji inne mana amsoshi la kunsani ga al'ada ga adin ga harka Siyasa ga Woli apiniwa Aji wena no goru kirfi Ko goru Bauchi. == Labar woli == Jiha Bauchi mamayantun Fadi woli Kimani 49,119 km2 (18'965 sq mi) inko mamayan kaso 5.3 in Fadi Nigeria kala Aji Dono gako lambobi beyi in latitudes 9' 3' ga 12'3' gudi ga kala longitude 8' 50' ga 11' dar Jiha itaga iyaka ga jihohi bawulo , Kano ga Jigawa Ko gudi, Taraba ga plateau Ko aushi, Gombe ga Yobe Ko ɗar kafan Kaduna Ko zoni. Jiha Bauchi ita aga jihohi arewa Najeriya lake ga yanayi tsirrai kala balau Sudan Savannah ga Sahel Savannah. She kala Andi tsaunuka aushi yanki goru, dangane ga alakati ga Jos plateau. == Godom mi'yya == Andi kabilu daban daban Har guda 55 ga goruye la gontango ga : Gerawa, Sayawa, Jarawa, Kirfawa, Afiniwa, Bolewa, karekare, kanuri, Fa'awa, Butawa, Warjawa, Zulawa, Boyawa, Badawa, Amma Filanti ji asali Kabila goruye she aji nine mate ga asali al'adu su adin ga messesu. Andi suwa ga Dalla harsuna goruye dangane ga Ruta al'adu karai zowayi ga kala gontosu ga beyi modi, musamman Ko beyi kaibono su ga goma . Maddi Koga harsuna Andi ba'a ga dallasu . Ga Sayawa ga messesu. Biki sallah a modi koga muhimma bukukuwa la Aji yollako anin inne ga shaf soni. == Ilimi == Jimi a Abubakar Tafawa Ɓalewa(15) ita aga Siri birni Bauchi: Maddi Koga beyi Gozi gontango ga: Jami'a jiha Bauchi, Abubakar Tatari, Ali Polytechnic, Federal Polytechnic Bauchi: Aminu sale college of Education Azare: Federal University of health sciences Azare:. == Yaruka == Jir harsuna West chadic language la Aji amfani ga mete ga goru Bauchi gontango ga: * North Bauchi language * South Bauchi language Yaruka Bauchi jerasu ga dole Hukumomi SU: {| class="wikitable" ! LGA !! Languages |- | Alkaleri || Dass; Bole; Duguri; Giiwo; Guruntum-Mbaaru; Labir; Tangale |- | Bauchi || Bankal; Duguri; Dulbu; Galambu; Gera; Geruma; Giiwo; Guruntum-Mbaaru; Ju; Kir-Balar; Labir; Luri; Mangas; Mbat; Pa'a; Polci; Shiki; Tala; Zangwal |- | Bogoro || Saya |- | Darazo || Bole; Deno; Diri; Giiwo; Mburku; Ngamo; Zumbun |- | Dass || Bankal; Dass; Gwak; Polci; Saya; Shall-Zwall; Zari |- | Dukku || Bole |- | Gamawa || Karekare |- | Ganjuwa || Ciwogai; Gera; Geruma; Jimi; Kariya; Kubi; Miya |- | Kirfi || Bure |- | Misau || Fulato/Borno; Shuwa; Kanuri; Hausa; Fulani |- | Ningi || Diri; Gamo-Ningi; Kudu-Camo; Pa'a; Siri; Warji; Geruma |- | Tafawa Balewa || Sur; Vaghat-Ya-Bijim-Legeri; Zari; Bankal; Gwak; Izere; Saya |- | Toro || Bankal; Dass; Geji; Geruma; Gwa; Gyem; Iguta; Izere; Jere; Lame; Lemoro; Mawa; Panawa; Polci; Sanga; Saya; Shau; Tunzuii; Zari; Zeem; Ziriya |- | Zaki || Bade |} == Gwamnati == Gwamna goruye ishinji Siri an zartarwa, jizani ga Fanni Shari'a a tene birni Bauchi. '''Gwamna''' Gwamna Bauchi ishinji Mr. Bala Abdulkadir Mohammed, La titu zabe ga Foti bonum 9 ga Tere Maris, soni in 2019 , ga wol woli jam'iya PDP . Rantsantun ishin ga Foti 29 ga Tere Mayu soni in 2019, la sheye zowu majini gwamna in baccimodi 6 ga Bauchi ga wol woli mulki democracy jamji kala gwamna in 16 shaf modi . Bala tela ji mataimaki gwamna Bauchi. == Kule ga lafiya == Jiha Bauchi itaga hasibitoci godom, Hukumomi kule ga lafiya gontango ga. * Abubakar Tafawa Balewa Teaching Hospital<ref>https://dailytrust.com/atbu-teaching-hospital-doctors-others-unite-for-patients-wellbeing/</ref><ref>https://dailypost.ng/2022/11/28/over-300-in-bauchi-to-benefit-from-free-medical-programme/</ref> * Bauchi State Hospital<ref><nowiki>https://tribuneonlineng.com/bauchi-hospital-management-board-restates-commitment-to-effective-healthcare-services/</nowiki></ref> * Al-amin Hospital * Niima Consultants Hospital * Albishir Clinic and Maternity * Proactive Clinic and Hospital Ltd. * Reemee Medicare Nigeria Limited. == Mi'yya la Monasu == * [[Abubakar Tafawa Balewa]], first and only prime minister of Nigeria * [[Jude Rabo]], vice-chancellor of Federal University, Wukari * Tijjani Yusuf Guruntum. * [[Isa Yuguda]]. An Siyasa, manshi gwamnan jihar Bauchi koga 2007 zuwa 2015. * [[Bala Mohammed|Bala Muhammed]]. Dan Siyasa * [[Mohammed Abdullahi Abubakar|Muhammed Abdullahi Abubakar]]. An Siyasa * [[Sa'adu Zungur]]. Mawaki * [[Adamu Muhammad Bulkachuwa]]. An shiyasa. * Isa Hassan Jama'are. == Hotuna == <gallery> Fayil:Bauchi state university Gadau.jpg|thumb|Bauchi jahaji la sirato File:Emir of Bauchi Main Palace.jpg|thumb|moyinshe Bauchi File:Top view of bauchi state capital Nigeria.jpg|thumb|Bauchi File:Bauchi State Governor Mohammed Abubakar with USAID Mission Director Michael Harvey 3.jpg|thumb|Bauchi File:Durba banner carrier.jpg|thumb|Mi'yya Bauchi ga beyi bukukuwa al'ada File:Federal government road linked from bauchi state to biu along bcga.jpg|thumb|Federal government of Bauchi File:Sumu wildlife park 3.jpg|thumb|Bani dabbobi mala in bauchi </gallery> == Ɗiwwa == j237l9wmpj286gxc2o8pzbusimakgtf 10453 10452 2026-08-24T14:32:56Z Abu Sadeeq77 197 10453 wikitext text/x-wiki {{Databox|item=Q811144}} '''Bauchi''' [[Woli]] Bauchi woli Ji ya a fayta Aushi Dola Darr Ga woli [[Nijeriya]]. Gontattuk lefe Ga [[Kano]] Ko Aushi kafa [[Jigawa]], [[Gombe]], ga [[Jiha Yobe|Yobe]] Ko fayta Darr, kafa [[Kaduna]] Ko Zoni. Woli Bauchi wen zalshe sunto Ko labar Bani yele Bauchi, Yaa Ke itaji Burnin in Siri ye Har soni in 1976. Ga lokacin la bissan manshi jihohi gudi mana dar ga Nigeria. Ga boii jiha Bauchi bikkantun jiha Gombe, la koboii majjito jiha an Dono kotto ga soni in 1996 Zan woli Bauchi Ga Soni Dubu Modi Ga Dalma ɓonum Ga kobawulo Ga basshi modi (1976), Ga lotayeji missan Manshi woliye Aushi Ndola Darr [[Nijeriya]]. Ga boii woli Bauchi tattuk/gontattuk woli [[Gombe]], yake Ko tetteke ita Mai jito wolin in kotto Ga Ga Soni 1996. Bauchi itaji jaha in badi ga fadi woli (2) kala in bawulo ga godom [[Miyya Ogun|miyya]] (3). Itaga godom filaye kimani kilomita dubu arba 'in ga badi ga dalma hordo ga cassa'in ga kunum(45, 893) godom miyya kimani miliyan bawulo ga dubu dalma badi ga arba'in ga dalma baccimodi ga sittin ga kunum (7,540,663) (4) ga bisa kidaya soninshe in dubu balau ga baccimodi 2006 . Jaha ye rabajjito dangane ga yanayi woli zuwa kashi balau (2) west sudaniya savanna koga aushi ga kala semi-desert sahel savanna koga Arewa ga koga montane Jos plateau aushi mana zoni jiha (5) koga kyautalla beyinshe ga goruye gontu ga yankari National park katafri beyi zenani fa dabbobi mana bijimi bido barewa ga Turum Giwa ga messesu.(6) Bauchi ji siri jaha bauchi. Bala abdulkadir Muhammad Ishin ji gwamna jiha ye Yan zaben la soninshe in 2019 har zuwa inso. Maddi koga su. Manshiwa jiha gontan go ga abubakar tafawa balewa gamin Isa yakubu, isah Hamma misau Nazif gamawa, haruna Ningi ga ali wakil. Andi yarinshe godom ga yankuma daban daban in jihar gotango ga, Bo'fikka, ga Butawa ga yare warji koga yankuna dalla jiha yaren Fulfulde, yare Kanuri, ga yare karei'karei koga zani goru [[filanti]] ga yare gerawa, koga birni bauchi ga kewaye to yare zaar (sayawa) koga aushi yare Tangale Jarawa ko aushi mana zoni. Kala asari miyya goru (kaso tamanin ga badi 85%) musulwa ji ga dole kaso kiristoci ga kaso baccimodi 6% ga maguzawa ga kaso bonum 9% (7) ga farko soni Alif 1800,a Filanti jahadi bikkantun mafi akasari goruye birni Bauchi in inso. Jamji kafan moyinshe Bauchi ga wol woli daula musulunci in Sokoto ga Karni in 1900, turawa Mulki mallaka bikkantun moyinshe ye mete zuwoto ga wol woli mulki mallaka in gudi [[Nijeriya|Nigeria]]. La kobai majjito [[Nijeriya|Nigeria]] wol woli mulki turawa kafin wena yanci ga soni 1960 , Yan asali yanki jiha Bauchi Iya a gudi Nigeria Boi wena yanci koyi ga soni 1967, lokacin la bissan jiha ye majjito wol woli jiha gudi Nigeria ko ɗar boi bissa jiha gudi Ko ɗar kafan jiha Bauchi ga Foti kunum' (3) ga tare February ga soni in (20) kala boi kafato wantun dolinshe hukumomi ga zoni jiha ye meteji manjisu Bo jiha Gombe. Ga matsayi to in jiha la dogaran ga mara, tattali dara jiha ye Ta'allaku gako dabbobi ga hantsi manamin auduga, Duro kute, tumaturi ga kala doya jizani ga Tina Dom amfani mara daidai ga sauwa habika tishi ga masana'antu sarrifa karai tishi in gwan_gwani, ga kala oppako ma'adanai manamin mana kisato columbite, ga kala beyi ewe ido mana mala kume zoii in yankari ga Amma in wikki spring. == Asali sun == Dan game ga tarihi in gargajiya goruye watu asali ji ko gama an'bara Modi la Sunni baushe , la dowu ga yanki ye kafin nako moyinshe in farko wato Yakubu (la wantun Ko Dalla soni in 1800-10) jahohi Bauchi ga Adamawa kasantan anin yanci ga Goma ga mi'yya Daula Filanti in Sokoto. == Tarihi == Beyilla Aji undani ga Bauchi kasantu kafin soni 1976 gunduma ga yanki jiha gudi Ko ɗar ga . Dangane ga kidaya in 2006 jiha Aji ga mi'yya Kimani 4.653,006 Jiha Bauchi wattu Tina Dom kala-kala gaga soni Manne . Andi harshe Ajawa ga Aji amfa ga ishin ga jiha Bauchi kala Koga bisani yakilannin ga gaga sonii 1920 ga soni in 1940 inko asali anin amfani ga harshe ye manjisu Bo afiniwa. Ga Lokaci Mulki mallaka Har lokaci wena yanci, ita aga yanki plateau ga yanki gudi Najeriya, Har zuwa soni in 1967 lokacin la an wena ga jihohi ga yankuna Bauchi, Bornoga [[Adamawa]] Aji gonta beyi wena jiha gudi ga Dar. Boi wena jiha Bauchi ga soni in 1976, ga Lokaci jihohi balau Bauchi ga Gombe in Gonto , jiha Andi dolinshe hukumomi guda (20) jamji kala (23). Jamji kala ga soni in 1997 , wantun jiha [[Gombe]]. Koga jiha Bauchi inko Aji wena sauwi dolinshe hukumomi ga Woli inko Dayan jaha Bauchi ga dolinshe hukumomi (20) mana yadda foran goyi: ==Dolinshe Hukumomi== jaha bauchi Andi adadi dolinshe hukumomi kobalau ([[20]]). Mate: {| class="sortable wikitable" |- ! Dolinshe Hukuma ! Fadin kasa (km<sup>2</sup>) ! Adadin 2006<br> Mutane ! Cibiyar Karamar Hukuma ! Lambar aika<br>sako |- | [[Bauchi]] | align="right"|3,687 | align="right"|493,810 | [[Bauchi]] | 740 |- | [[Tafawa Balewa, Nigeria|Tafawa Balewa]] | align="right"|2,515 | align="right"|219,988 | [[Bununu, Nigeria|Bununu]] | 740 |- | [[Dass, Nigeria|Dass]] | align="right"|535 | align="right"|89,943 | [[Dass, Nigeria|Dass]] | 740 |- | [[Toro, Nigeria|Toro]] | align="right"|6,932 | align="right"|350,404 | [[Toro, Nigeria|Toro]] | 740 |- | [[Bogoro]] | align="right"|894 | align="right"|84,215 | [[Bogoro]] | 741 |- | [[Ningi, Nigeria|Ningi]] | align="right"|4,625 | align="right"|387,192 | [[Ningi, Nigeria|Ningi]] | 742 |- | [[Warji]] | align="right"|625 | align="right"|114,720 | [[Warji]] | 742 |- | [[Ganjuwa]] | align="right"|5,059 | align="right"|280,468 | [[Kafin Madaki]] | 742 |- | [[Kirfi]] | align="right"|2,371 | align="right"|147,618 | [[Kirfi]] | 743 |- | [[Alkaleri]] | align="right"|5,918 | align="right"|329,424 | [[Alkaleri]] | 743 |- | ''Southern region totals'' | align="right"|''33,161'' | align="right"|''2,497,782'' | | |- | [[Darazo]] | align="right"|3,015 | align="right"|251,597 | [[Darazo]] | 750 |- | [[Misau]] | align="right"|1,226 | align="right"|263,487 | [[Misau]] | 750 |- | [[Giade]] | align="right"|668 | align="right"|156,969 | [[Giade]] | 750 |- | [[Shira, Nigeria|Shira]] | align="right"|1,321 | align="right"|234,014 | [[Yana, Nigeria|Yana]] | 750 |- | [[Jama'are]] | align="right"|493 | align="right"|117,883 | [[Jama'are]] | 751 |- | [[Katagum]] | align="right"|1,436 | align="right"|295,970 | [[Azare]] | 751 |- | [[Itas/Gadau]] | align="right"|1,398 | align="right"|229,996 | [[Itas]] | 751 |- | [[Zaki, Nigeria|Zaki]] | align="right"|1,476 | align="right"|191,457 | [[Katagum]] | 752 |- | [[Gamawa]] | align="right"|2,925 | align="right"|286,388 | [[Gamawa]] | 752 |- | [[Damban]] | align="right"|1,077 | align="right"|150,922 | [[Damban]] | 752 |- | ''Northern region totals'' | align="right"|''15,035'' | align="right"|''2,178,683'' | | |} == Gorunshe == Kirfi kasantu goru ga birni Bauchi la itaga akalla Siri 700 Mita fadirto ga fali gongola la Aji ele Amma ga goruye . La gontu ga Siri Amma benua. Goruye Andi tsairi barka mara ga dayi.(3) Ga al'ada kasantu ga Dalla hi ga mi'yya la Aji unda ga kirfawa kala ita a wol woli gunduma afiniwa . Bincike gako garu kirfi Aji inne mana amsoshi la kunsani ga al'ada ga adin ga harka Siyasa ga Woli apiniwa Aji wena no goru kirfi Ko goru Bauchi. == Labar woli == Jiha Bauchi mamayantun Fadi woli Kimani 49,119 km2 (18'965 sq mi) inko mamayan kaso 5.3 in Fadi Nigeria kala Aji Dono gako lambobi beyi in latitudes 9' 3' ga 12'3' gudi ga kala longitude 8' 50' ga 11' dar Jiha itaga iyaka ga jihohi bawulo , Kano ga Jigawa Ko gudi, Taraba ga plateau Ko aushi, Gombe ga Yobe Ko ɗar kafan Kaduna Ko zoni. Jiha Bauchi ita aga jihohi arewa Najeriya lake ga yanayi tsirrai kala balau Sudan Savannah ga Sahel Savannah. She kala Andi tsaunuka aushi yanki goru, dangane ga alakati ga Jos plateau. == Godom mi'yya == Andi kabilu daban daban Har guda 55 ga goruye la gontango ga : Gerawa, Sayawa, Jarawa, Kirfawa, Afiniwa, Bolewa, karekare, kanuri, Fa'awa, Butawa, Warjawa, Zulawa, Boyawa, Badawa, Amma Filanti ji asali Kabila goruye she aji nine mate ga asali al'adu su adin ga messesu. Andi suwa ga Dalla harsuna goruye dangane ga Ruta al'adu karai zowayi ga kala gontosu ga beyi modi, musamman Ko beyi kaibono su ga goma . Maddi Koga harsuna Andi ba'a ga dallasu . Ga Sayawa ga messesu. Biki sallah a modi koga muhimma bukukuwa la Aji yollako anin inne ga shaf soni. == Ilimi == Jimi a Abubakar Tafawa Ɓalewa(15) ita aga Siri birni Bauchi: Maddi Koga beyi Gozi gontango ga: Jami'a jiha Bauchi, Abubakar Tatari, Ali Polytechnic, Federal Polytechnic Bauchi: Aminu sale college of Education Azare: Federal University of health sciences Azare:. == Yaruka == Jir harsuna West chadic language la Aji amfani ga mete ga goru Bauchi gontango ga: * North Bauchi language * South Bauchi language Yaruka Bauchi jerasu ga dole Hukumomi SU: {| class="wikitable" ! LGA !! Languages |- | Alkaleri || Dass; Bole; Duguri; Giiwo; Guruntum-Mbaaru; Labir; Tangale |- | Bauchi || Bankal; Duguri; Dulbu; Galambu; Gera; Geruma; Giiwo; Guruntum-Mbaaru; Ju; Kir-Balar; Labir; Luri; Mangas; Mbat; Pa'a; Polci; Shiki; Tala; Zangwal |- | Bogoro || Saya |- | Darazo || Bole; Deno; Diri; Giiwo; Mburku; Ngamo; Zumbun |- | Dass || Bankal; Dass; Gwak; Polci; Saya; Shall-Zwall; Zari |- | Dukku || Bole |- | Gamawa || Karekare |- | Ganjuwa || Ciwogai; Gera; Geruma; Jimi; Kariya; Kubi; Miya |- | Kirfi || Bure |- | Misau || Fulato/Borno; Shuwa; Kanuri; Hausa; Fulani |- | Ningi || Diri; Gamo-Ningi; Kudu-Camo; Pa'a; Siri; Warji; Geruma |- | Tafawa Balewa || Sur; Vaghat-Ya-Bijim-Legeri; Zari; Bankal; Gwak; Izere; Saya |- | Toro || Bankal; Dass; Geji; Geruma; Gwa; Gyem; Iguta; Izere; Jere; Lame; Lemoro; Mawa; Panawa; Polci; Sanga; Saya; Shau; Tunzuii; Zari; Zeem; Ziriya |- | Zaki || Bade |} == Gwamnati == Gwamna goruye ishinji Siri an zartarwa, jizani ga Fanni Shari'a a tene birni Bauchi. '''Gwamna''' Gwamna Bauchi ishinji Mr. Bala Abdulkadir Mohammed, La titu zabe ga Foti bonum 9 ga Tere Maris, soni in 2019 , ga wol woli jam'iya PDP . Rantsantun ishin ga Foti 29 ga Tere Mayu soni in 2019, la sheye zowu majini gwamna in baccimodi 6 ga Bauchi ga wol woli mulki democracy jamji kala gwamna in 16 shaf modi . Bala tela ji mataimaki gwamna Bauchi. == Kule ga lafiya == Jiha Bauchi itaga hasibitoci godom, Hukumomi kule ga lafiya gontango ga. * Abubakar Tafawa Balewa Teaching Hospital<ref>https://dailytrust.com/atbu-teaching-hospital-doctors-others-unite-for-patients-wellbeing/</ref><ref>https://dailypost.ng/2022/11/28/over-300-in-bauchi-to-benefit-from-free-medical-programme/</ref> * Bauchi State Hospital<ref><nowiki>https://tribuneonlineng.com/bauchi-hospital-management-board-restates-commitment-to-effective-healthcare-services/</nowiki></ref> * Al-amin Hospital * Niima Consultants Hospital * Albishir Clinic and Maternity * Proactive Clinic and Hospital Ltd. * Reemee Medicare Nigeria Limited. == Mi'yya la Monasu == * [[Abubakar Tafawa Balewa]], first and only prime minister of Nigeria * [[Jude Rabo]], vice-chancellor of Federal University, Wukari * Tijjani Yusuf Guruntum. * [[Isa Yuguda]]. An Siyasa, manshi gwamnan jihar Bauchi koga 2007 zuwa 2015. * [[Bala Mohammed|Bala Muhammed]]. Dan Siyasa * [[Mohammed Abdullahi Abubakar|Muhammed Abdullahi Abubakar]]. An Siyasa * [[Sa'adu Zungur]]. Mawaki * [[Adamu Muhammad Bulkachuwa]]. An shiyasa. * Isa Hassan Jama'are. == Hotuna == <gallery> Fayil:Bauchi state university Gadau.jpg|thumb|Bauchi jahaji la sirato File:Emir of Bauchi Main Palace.jpg|thumb|moyinshe Bauchi File:Top view of bauchi state capital Nigeria.jpg|thumb|Bauchi File:Bauchi State Governor Mohammed Abubakar with USAID Mission Director Michael Harvey 3.jpg|thumb|Bauchi File:Durba banner carrier.jpg|thumb|Mi'yya Bauchi ga beyi bukukuwa al'ada File:Federal government road linked from bauchi state to biu along bcga.jpg|thumb|Federal government of Bauchi File:Sumu wildlife park 3.jpg|thumb|Bani dabbobi mala in bauchi </gallery> == Bibiliyo == == Ɗiwwa == i4e00pdjqg5nngccduml6k4gojs2nus 10454 10453 2026-08-24T14:33:30Z Abu Sadeeq77 197 10454 wikitext text/x-wiki {{Databox|item=Q811144}} '''Bauchi''' [[Woli]] Bauchi woli Ji ya a fayta Aushi Dola Darr Ga woli [[Nijeriya]]. Gontattuk lefe Ga [[Kano]] Ko Aushi kafa [[Jigawa]], [[Gombe]], ga [[Jiha Yobe|Yobe]] Ko fayta Darr, kafa [[Kaduna]] Ko Zoni. Woli Bauchi wen zalshe sunto Ko labar Bani yele Bauchi, Yaa Ke itaji Burnin in Siri ye Har soni in 1976. Ga lokacin la bissan manshi jihohi gudi mana dar ga Nigeria. Ga boii jiha Bauchi bikkantun jiha Gombe, la koboii majjito jiha an Dono kotto ga soni in 1996 Zan woli Bauchi Ga Soni Dubu Modi Ga Dalma ɓonum Ga kobawulo Ga basshi modi (1976), Ga lotayeji missan Manshi woliye Aushi Ndola Darr [[Nijeriya]]. Ga boii woli Bauchi tattuk/gontattuk woli [[Gombe]], yake Ko tetteke ita Mai jito wolin in kotto Ga Ga Soni 1996. Bauchi itaji jaha in badi ga fadi woli (2) kala in bawulo ga godom [[Miyya Ogun|miyya]] (3). Itaga godom filaye kimani kilomita dubu arba 'in ga badi ga dalma hordo ga cassa'in ga kunum(45, 893) godom miyya kimani miliyan bawulo ga dubu dalma badi ga arba'in ga dalma baccimodi ga sittin ga kunum (7,540,663) (4) ga bisa kidaya soninshe in dubu balau ga baccimodi 2006 . Jaha ye rabajjito dangane ga yanayi woli zuwa kashi balau (2) west sudaniya savanna koga aushi ga kala semi-desert sahel savanna koga Arewa ga koga montane Jos plateau aushi mana zoni jiha (5) koga kyautalla beyinshe ga goruye gontu ga yankari National park katafri beyi zenani fa dabbobi mana bijimi bido barewa ga Turum Giwa ga messesu.(6) Bauchi ji siri jaha bauchi. Bala abdulkadir Muhammad Ishin ji gwamna jiha ye Yan zaben la soninshe in 2019 har zuwa inso. Maddi koga su. Manshiwa jiha gontan go ga abubakar tafawa balewa gamin Isa yakubu, isah Hamma misau Nazif gamawa, haruna Ningi ga ali wakil. Andi yarinshe godom ga yankuma daban daban in jihar gotango ga, Bo'fikka, ga Butawa ga yare warji koga yankuna dalla jiha yaren Fulfulde, yare Kanuri, ga yare karei'karei koga zani goru [[filanti]] ga yare gerawa, koga birni bauchi ga kewaye to yare zaar (sayawa) koga aushi yare Tangale Jarawa ko aushi mana zoni. Kala asari miyya goru (kaso tamanin ga badi 85%) musulwa ji ga dole kaso kiristoci ga kaso baccimodi 6% ga maguzawa ga kaso bonum 9% (7) ga farko soni Alif 1800,a Filanti jahadi bikkantun mafi akasari goruye birni Bauchi in inso. Jamji kafan moyinshe Bauchi ga wol woli daula musulunci in Sokoto ga Karni in 1900, turawa Mulki mallaka bikkantun moyinshe ye mete zuwoto ga wol woli mulki mallaka in gudi [[Nijeriya|Nigeria]]. La kobai majjito [[Nijeriya|Nigeria]] wol woli mulki turawa kafin wena yanci ga soni 1960 , Yan asali yanki jiha Bauchi Iya a gudi Nigeria Boi wena yanci koyi ga soni 1967, lokacin la bissan jiha ye majjito wol woli jiha gudi Nigeria ko ɗar boi bissa jiha gudi Ko ɗar kafan jiha Bauchi ga Foti kunum' (3) ga tare February ga soni in (20) kala boi kafato wantun dolinshe hukumomi ga zoni jiha ye meteji manjisu Bo jiha Gombe. Ga matsayi to in jiha la dogaran ga mara, tattali dara jiha ye Ta'allaku gako dabbobi ga hantsi manamin auduga, Duro kute, tumaturi ga kala doya jizani ga Tina Dom amfani mara daidai ga sauwa habika tishi ga masana'antu sarrifa karai tishi in gwan_gwani, ga kala oppako ma'adanai manamin mana kisato columbite, ga kala beyi ewe ido mana mala kume zoii in yankari ga Amma in wikki spring. == Asali sun == Dan game ga tarihi in gargajiya goruye watu asali ji ko gama an'bara Modi la Sunni baushe , la dowu ga yanki ye kafin nako moyinshe in farko wato Yakubu (la wantun Ko Dalla soni in 1800-10) jahohi Bauchi ga Adamawa kasantan anin yanci ga Goma ga mi'yya Daula Filanti in Sokoto. == Tarihi == Beyilla Aji undani ga Bauchi kasantu kafin soni 1976 gunduma ga yanki jiha gudi Ko ɗar ga . Dangane ga kidaya in 2006 jiha Aji ga mi'yya Kimani 4.653,006 Jiha Bauchi wattu Tina Dom kala-kala gaga soni Manne . Andi harshe Ajawa ga Aji amfa ga ishin ga jiha Bauchi kala Koga bisani yakilannin ga gaga sonii 1920 ga soni in 1940 inko asali anin amfani ga harshe ye manjisu Bo afiniwa. Ga Lokaci Mulki mallaka Har lokaci wena yanci, ita aga yanki plateau ga yanki gudi Najeriya, Har zuwa soni in 1967 lokacin la an wena ga jihohi ga yankuna Bauchi, Bornoga [[Adamawa]] Aji gonta beyi wena jiha gudi ga Dar. Boi wena jiha Bauchi ga soni in 1976, ga Lokaci jihohi balau Bauchi ga Gombe in Gonto , jiha Andi dolinshe hukumomi guda (20) jamji kala (23). Jamji kala ga soni in 1997 , wantun jiha [[Gombe]]. Koga jiha Bauchi inko Aji wena sauwi dolinshe hukumomi ga Woli inko Dayan jaha Bauchi ga dolinshe hukumomi (20) mana yadda foran goyi: ==Dolinshe Hukumomi== jaha bauchi Andi adadi dolinshe hukumomi kobalau ([[20]]). Mate: {| class="sortable wikitable" |- ! Dolinshe Hukuma ! Fadin kasa (km<sup>2</sup>) ! Adadin 2006<br> Mutane ! Cibiyar Karamar Hukuma ! Lambar aika<br>sako |- | [[Bauchi]] | align="right"|3,687 | align="right"|493,810 | [[Bauchi]] | 740 |- | [[Tafawa Balewa, Nigeria|Tafawa Balewa]] | align="right"|2,515 | align="right"|219,988 | [[Bununu, Nigeria|Bununu]] | 740 |- | [[Dass, Nigeria|Dass]] | align="right"|535 | align="right"|89,943 | [[Dass, Nigeria|Dass]] | 740 |- | [[Toro, Nigeria|Toro]] | align="right"|6,932 | align="right"|350,404 | [[Toro, Nigeria|Toro]] | 740 |- | [[Bogoro]] | align="right"|894 | align="right"|84,215 | [[Bogoro]] | 741 |- | [[Ningi, Nigeria|Ningi]] | align="right"|4,625 | align="right"|387,192 | [[Ningi, Nigeria|Ningi]] | 742 |- | [[Warji]] | align="right"|625 | align="right"|114,720 | [[Warji]] | 742 |- | [[Ganjuwa]] | align="right"|5,059 | align="right"|280,468 | [[Kafin Madaki]] | 742 |- | [[Kirfi]] | align="right"|2,371 | align="right"|147,618 | [[Kirfi]] | 743 |- | [[Alkaleri]] | align="right"|5,918 | align="right"|329,424 | [[Alkaleri]] | 743 |- | ''Southern region totals'' | align="right"|''33,161'' | align="right"|''2,497,782'' | | |- | [[Darazo]] | align="right"|3,015 | align="right"|251,597 | [[Darazo]] | 750 |- | [[Misau]] | align="right"|1,226 | align="right"|263,487 | [[Misau]] | 750 |- | [[Giade]] | align="right"|668 | align="right"|156,969 | [[Giade]] | 750 |- | [[Shira, Nigeria|Shira]] | align="right"|1,321 | align="right"|234,014 | [[Yana, Nigeria|Yana]] | 750 |- | [[Jama'are]] | align="right"|493 | align="right"|117,883 | [[Jama'are]] | 751 |- | [[Katagum]] | align="right"|1,436 | align="right"|295,970 | [[Azare]] | 751 |- | [[Itas/Gadau]] | align="right"|1,398 | align="right"|229,996 | [[Itas]] | 751 |- | [[Zaki, Nigeria|Zaki]] | align="right"|1,476 | align="right"|191,457 | [[Katagum]] | 752 |- | [[Gamawa]] | align="right"|2,925 | align="right"|286,388 | [[Gamawa]] | 752 |- | [[Damban]] | align="right"|1,077 | align="right"|150,922 | [[Damban]] | 752 |- | ''Northern region totals'' | align="right"|''15,035'' | align="right"|''2,178,683'' | | |} == Gorunshe == Kirfi kasantu goru ga birni Bauchi la itaga akalla Siri 700 Mita fadirto ga fali gongola la Aji ele Amma ga goruye . La gontu ga Siri Amma benua. Goruye Andi tsairi barka mara ga dayi.(3) Ga al'ada kasantu ga Dalla hi ga mi'yya la Aji unda ga kirfawa kala ita a wol woli gunduma afiniwa . Bincike gako garu kirfi Aji inne mana amsoshi la kunsani ga al'ada ga adin ga harka Siyasa ga Woli apiniwa Aji wena no goru kirfi Ko goru Bauchi. == Labar woli == Jiha Bauchi mamayantun Fadi woli Kimani 49,119 km2 (18'965 sq mi) inko mamayan kaso 5.3 in Fadi Nigeria kala Aji Dono gako lambobi beyi in latitudes 9' 3' ga 12'3' gudi ga kala longitude 8' 50' ga 11' dar Jiha itaga iyaka ga jihohi bawulo , Kano ga Jigawa Ko gudi, Taraba ga plateau Ko aushi, Gombe ga Yobe Ko ɗar kafan Kaduna Ko zoni. Jiha Bauchi ita aga jihohi arewa Najeriya lake ga yanayi tsirrai kala balau Sudan Savannah ga Sahel Savannah. She kala Andi tsaunuka aushi yanki goru, dangane ga alakati ga Jos plateau. == Godom mi'yya == Andi kabilu daban daban Har guda 55 ga goruye la gontango ga : Gerawa, Sayawa, Jarawa, Kirfawa, Afiniwa, Bolewa, karekare, kanuri, Fa'awa, Butawa, Warjawa, Zulawa, Boyawa, Badawa, Amma Filanti ji asali Kabila goruye she aji nine mate ga asali al'adu su adin ga messesu. Andi suwa ga Dalla harsuna goruye dangane ga Ruta al'adu karai zowayi ga kala gontosu ga beyi modi, musamman Ko beyi kaibono su ga goma . Maddi Koga harsuna Andi ba'a ga dallasu . Ga Sayawa ga messesu. Biki sallah a modi koga muhimma bukukuwa la Aji yollako anin inne ga shaf soni. == Ilimi == Jimi a Abubakar Tafawa Ɓalewa(15) ita aga Siri birni Bauchi: Maddi Koga beyi Gozi gontango ga: Jami'a jiha Bauchi, Abubakar Tatari, Ali Polytechnic, Federal Polytechnic Bauchi: Aminu sale college of Education Azare: Federal University of health sciences Azare:. == Yaruka == Jir harsuna West chadic language la Aji amfani ga mete ga goru Bauchi gontango ga: * North Bauchi language * South Bauchi language Yaruka Bauchi jerasu ga dole Hukumomi SU: {| class="wikitable" ! LGA !! Languages |- | Alkaleri || Dass; Bole; Duguri; Giiwo; Guruntum-Mbaaru; Labir; Tangale |- | Bauchi || Bankal; Duguri; Dulbu; Galambu; Gera; Geruma; Giiwo; Guruntum-Mbaaru; Ju; Kir-Balar; Labir; Luri; Mangas; Mbat; Pa'a; Polci; Shiki; Tala; Zangwal |- | Bogoro || Saya |- | Darazo || Bole; Deno; Diri; Giiwo; Mburku; Ngamo; Zumbun |- | Dass || Bankal; Dass; Gwak; Polci; Saya; Shall-Zwall; Zari |- | Dukku || Bole |- | Gamawa || Karekare |- | Ganjuwa || Ciwogai; Gera; Geruma; Jimi; Kariya; Kubi; Miya |- | Kirfi || Bure |- | Misau || Fulato/Borno; Shuwa; Kanuri; Hausa; Fulani |- | Ningi || Diri; Gamo-Ningi; Kudu-Camo; Pa'a; Siri; Warji; Geruma |- | Tafawa Balewa || Sur; Vaghat-Ya-Bijim-Legeri; Zari; Bankal; Gwak; Izere; Saya |- | Toro || Bankal; Dass; Geji; Geruma; Gwa; Gyem; Iguta; Izere; Jere; Lame; Lemoro; Mawa; Panawa; Polci; Sanga; Saya; Shau; Tunzuii; Zari; Zeem; Ziriya |- | Zaki || Bade |} == Gwamnati == Gwamna goruye ishinji Siri an zartarwa, jizani ga Fanni Shari'a a tene birni Bauchi. '''Gwamna''' Gwamna Bauchi ishinji Mr. Bala Abdulkadir Mohammed, La titu zabe ga Foti bonum 9 ga Tere Maris, soni in 2019 , ga wol woli jam'iya PDP . Rantsantun ishin ga Foti 29 ga Tere Mayu soni in 2019, la sheye zowu majini gwamna in baccimodi 6 ga Bauchi ga wol woli mulki democracy jamji kala gwamna in 16 shaf modi . Bala tela ji mataimaki gwamna Bauchi. == Kule ga lafiya == Jiha Bauchi itaga hasibitoci godom, Hukumomi kule ga lafiya gontango ga. * Abubakar Tafawa Balewa Teaching Hospital<ref>https://dailytrust.com/atbu-teaching-hospital-doctors-others-unite-for-patients-wellbeing/</ref><ref>https://dailypost.ng/2022/11/28/over-300-in-bauchi-to-benefit-from-free-medical-programme/</ref> * Bauchi State Hospital<ref><nowiki>https://tribuneonlineng.com/bauchi-hospital-management-board-restates-commitment-to-effective-healthcare-services/</nowiki></ref> * Al-amin Hospital * Niima Consultants Hospital * Albishir Clinic and Maternity * Proactive Clinic and Hospital Ltd. * Reemee Medicare Nigeria Limited. == Mi'yya la Monasu == * [[Abubakar Tafawa Balewa]], first and only prime minister of Nigeria * [[Jude Rabo]], vice-chancellor of Federal University, Wukari * Tijjani Yusuf Guruntum. * [[Isa Yuguda]]. An Siyasa, manshi gwamnan jihar Bauchi koga 2007 zuwa 2015. * [[Bala Mohammed|Bala Muhammed]]. Dan Siyasa * [[Mohammed Abdullahi Abubakar|Muhammed Abdullahi Abubakar]]. An Siyasa * [[Sa'adu Zungur]]. Mawaki * [[Adamu Muhammad Bulkachuwa]]. An shiyasa. * Isa Hassan Jama'are. == Hotuna == <gallery> Fayil:Bauchi state university Gadau.jpg|thumb|Bauchi jahaji la sirato File:Emir of Bauchi Main Palace.jpg|thumb|moyinshe Bauchi File:Top view of bauchi state capital Nigeria.jpg|thumb|Bauchi File:Bauchi State Governor Mohammed Abubakar with USAID Mission Director Michael Harvey 3.jpg|thumb|Bauchi File:Durba banner carrier.jpg|thumb|Mi'yya Bauchi ga beyi bukukuwa al'ada File:Federal government road linked from bauchi state to biu along bcga.jpg|thumb|Federal government of Bauchi File:Sumu wildlife park 3.jpg|thumb|Bani dabbobi mala in bauchi </gallery> == Bibiliyo == * Haour, Anne., Rossi, Benedetta (2010) ''Being and becoming Hausa : interdisciplinary perspectives.Leiden: Brill. [[ISBN]] 978-90-04-1854-25'' == Ɗiwwa == gff66b7yss0tem7gbvvf7kg344sh9eo 10455 10454 2026-08-24T14:34:21Z Abu Sadeeq77 197 10455 wikitext text/x-wiki {{Databox|item=Q811144}} '''Bauchi''' [[Woli]] Bauchi woli Ji ya a fayta Aushi Dola Darr Ga woli [[Nijeriya]]. Gontattuk lefe Ga [[Kano]] Ko Aushi kafa [[Jigawa]], [[Gombe]], ga [[Jiha Yobe|Yobe]] Ko fayta Darr, kafa [[Kaduna]] Ko Zoni. Woli Bauchi wen zalshe sunto Ko labar Bani yele Bauchi, Yaa Ke itaji Burnin in Siri ye Har soni in 1976. Ga lokacin la bissan manshi jihohi gudi mana dar ga Nigeria. Ga boii jiha Bauchi bikkantun jiha Gombe, la koboii majjito jiha an Dono kotto ga soni in 1996 Zan woli Bauchi Ga Soni Dubu Modi Ga Dalma ɓonum Ga kobawulo Ga basshi modi (1976), Ga lotayeji missan Manshi woliye Aushi Ndola Darr [[Nijeriya]]. Ga boii woli Bauchi tattuk/gontattuk woli [[Gombe]], yake Ko tetteke ita Mai jito wolin in kotto Ga Ga Soni 1996. Bauchi itaji jaha in badi ga fadi woli (2) kala in bawulo ga godom [[Miyya Ogun|miyya]] (3). Itaga godom filaye kimani kilomita dubu arba 'in ga badi ga dalma hordo ga cassa'in ga kunum(45, 893) godom miyya kimani miliyan bawulo ga dubu dalma badi ga arba'in ga dalma baccimodi ga sittin ga kunum (7,540,663) (4) ga bisa kidaya soninshe in dubu balau ga baccimodi 2006 . Jaha ye rabajjito dangane ga yanayi woli zuwa kashi balau (2) west sudaniya savanna koga aushi ga kala semi-desert sahel savanna koga Arewa ga koga montane Jos plateau aushi mana zoni jiha (5) koga kyautalla beyinshe ga goruye gontu ga yankari National park katafri beyi zenani fa dabbobi mana bijimi bido barewa ga Turum Giwa ga messesu.(6) Bauchi ji siri jaha bauchi. Bala abdulkadir Muhammad Ishin ji gwamna jiha ye Yan zaben la soninshe in 2019 har zuwa inso. Maddi koga su. Manshiwa jiha gontan go ga abubakar tafawa balewa gamin Isa yakubu, isah Hamma misau Nazif gamawa, haruna Ningi ga ali wakil. Andi yarinshe godom ga yankuma daban daban in jihar gotango ga, Bo'fikka, ga Butawa ga yare warji koga yankuna dalla jiha yaren Fulfulde, yare Kanuri, ga yare karei'karei koga zani goru [[filanti]] ga yare gerawa, koga birni bauchi ga kewaye to yare zaar (sayawa) koga aushi yare Tangale Jarawa ko aushi mana zoni. Kala asari miyya goru (kaso tamanin ga badi 85%) musulwa ji ga dole kaso kiristoci ga kaso baccimodi 6% ga maguzawa ga kaso bonum 9% (7) ga farko soni Alif 1800,a Filanti jahadi bikkantun mafi akasari goruye birni Bauchi in inso. Jamji kafan moyinshe Bauchi ga wol woli daula musulunci in Sokoto ga Karni in 1900, turawa Mulki mallaka bikkantun moyinshe ye mete zuwoto ga wol woli mulki mallaka in gudi [[Nijeriya|Nigeria]]. La kobai majjito [[Nijeriya|Nigeria]] wol woli mulki turawa kafin wena yanci ga soni 1960 , Yan asali yanki jiha Bauchi Iya a gudi Nigeria Boi wena yanci koyi ga soni 1967, lokacin la bissan jiha ye majjito wol woli jiha gudi Nigeria ko ɗar boi bissa jiha gudi Ko ɗar kafan jiha Bauchi ga Foti kunum' (3) ga tare February ga soni in (20) kala boi kafato wantun dolinshe hukumomi ga zoni jiha ye meteji manjisu Bo jiha Gombe. Ga matsayi to in jiha la dogaran ga mara, tattali dara jiha ye Ta'allaku gako dabbobi ga hantsi manamin auduga, Duro kute, tumaturi ga kala doya jizani ga Tina Dom amfani mara daidai ga sauwa habika tishi ga masana'antu sarrifa karai tishi in gwan_gwani, ga kala oppako ma'adanai manamin mana kisato columbite, ga kala beyi ewe ido mana mala kume zoii in yankari ga Amma in wikki spring. == Asali sun == Dan game ga tarihi in gargajiya goruye watu asali ji ko gama an'bara Modi la Sunni baushe , la dowu ga yanki ye kafin nako moyinshe in farko wato Yakubu (la wantun Ko Dalla soni in 1800-10) jahohi Bauchi ga Adamawa kasantan anin yanci ga Goma ga mi'yya Daula Filanti in Sokoto. == Tarihi == Beyilla Aji undani ga Bauchi kasantu kafin soni 1976 gunduma ga yanki jiha gudi Ko ɗar ga . Dangane ga kidaya in 2006 jiha Aji ga mi'yya Kimani 4.653,006 Jiha Bauchi wattu Tina Dom kala-kala gaga soni Manne . Andi harshe Ajawa ga Aji amfa ga ishin ga jiha Bauchi kala Koga bisani yakilannin ga gaga sonii 1920 ga soni in 1940 inko asali anin amfani ga harshe ye manjisu Bo afiniwa. Ga Lokaci Mulki mallaka Har lokaci wena yanci, ita aga yanki plateau ga yanki gudi Najeriya, Har zuwa soni in 1967 lokacin la an wena ga jihohi ga yankuna Bauchi, Bornoga [[Adamawa]] Aji gonta beyi wena jiha gudi ga Dar. Boi wena jiha Bauchi ga soni in 1976, ga Lokaci jihohi balau Bauchi ga Gombe in Gonto , jiha Andi dolinshe hukumomi guda (20) jamji kala (23). Jamji kala ga soni in 1997 , wantun jiha [[Gombe]]. Koga jiha Bauchi inko Aji wena sauwi dolinshe hukumomi ga Woli inko Dayan jaha Bauchi ga dolinshe hukumomi (20) mana yadda foran goyi: ==Dolinshe Hukumomi== jaha bauchi Andi adadi dolinshe hukumomi kobalau ([[20]]). Mate: {| class="sortable wikitable" |- ! Dolinshe Hukuma ! Fadin kasa (km<sup>2</sup>) ! Adadin 2006<br> Mutane ! Cibiyar Karamar Hukuma ! Lambar aika<br>sako |- | [[Bauchi]] | align="right"|3,687 | align="right"|493,810 | [[Bauchi]] | 740 |- | [[Tafawa Balewa, Nigeria|Tafawa Balewa]] | align="right"|2,515 | align="right"|219,988 | [[Bununu, Nigeria|Bununu]] | 740 |- | [[Dass, Nigeria|Dass]] | align="right"|535 | align="right"|89,943 | [[Dass, Nigeria|Dass]] | 740 |- | [[Toro, Nigeria|Toro]] | align="right"|6,932 | align="right"|350,404 | [[Toro, Nigeria|Toro]] | 740 |- | [[Bogoro]] | align="right"|894 | align="right"|84,215 | [[Bogoro]] | 741 |- | [[Ningi, Nigeria|Ningi]] | align="right"|4,625 | align="right"|387,192 | [[Ningi, Nigeria|Ningi]] | 742 |- | [[Warji]] | align="right"|625 | align="right"|114,720 | [[Warji]] | 742 |- | [[Ganjuwa]] | align="right"|5,059 | align="right"|280,468 | [[Kafin Madaki]] | 742 |- | [[Kirfi]] | align="right"|2,371 | align="right"|147,618 | [[Kirfi]] | 743 |- | [[Alkaleri]] | align="right"|5,918 | align="right"|329,424 | [[Alkaleri]] | 743 |- | ''Southern region totals'' | align="right"|''33,161'' | align="right"|''2,497,782'' | | |- | [[Darazo]] | align="right"|3,015 | align="right"|251,597 | [[Darazo]] | 750 |- | [[Misau]] | align="right"|1,226 | align="right"|263,487 | [[Misau]] | 750 |- | [[Giade]] | align="right"|668 | align="right"|156,969 | [[Giade]] | 750 |- | [[Shira, Nigeria|Shira]] | align="right"|1,321 | align="right"|234,014 | [[Yana, Nigeria|Yana]] | 750 |- | [[Jama'are]] | align="right"|493 | align="right"|117,883 | [[Jama'are]] | 751 |- | [[Katagum]] | align="right"|1,436 | align="right"|295,970 | [[Azare]] | 751 |- | [[Itas/Gadau]] | align="right"|1,398 | align="right"|229,996 | [[Itas]] | 751 |- | [[Zaki, Nigeria|Zaki]] | align="right"|1,476 | align="right"|191,457 | [[Katagum]] | 752 |- | [[Gamawa]] | align="right"|2,925 | align="right"|286,388 | [[Gamawa]] | 752 |- | [[Damban]] | align="right"|1,077 | align="right"|150,922 | [[Damban]] | 752 |- | ''Northern region totals'' | align="right"|''15,035'' | align="right"|''2,178,683'' | | |} == Gorunshe == Kirfi kasantu goru ga birni Bauchi la itaga akalla Siri 700 Mita fadirto ga fali gongola la Aji ele Amma ga goruye . La gontu ga Siri Amma benua. Goruye Andi tsairi barka mara ga dayi.(3) Ga al'ada kasantu ga Dalla hi ga mi'yya la Aji unda ga kirfawa kala ita a wol woli gunduma afiniwa . Bincike gako garu kirfi Aji inne mana amsoshi la kunsani ga al'ada ga adin ga harka Siyasa ga Woli apiniwa Aji wena no goru kirfi Ko goru Bauchi. == Labar woli == Jiha Bauchi mamayantun Fadi woli Kimani 49,119 km2 (18'965 sq mi) inko mamayan kaso 5.3 in Fadi Nigeria kala Aji Dono gako lambobi beyi in latitudes 9' 3' ga 12'3' gudi ga kala longitude 8' 50' ga 11' dar Jiha itaga iyaka ga jihohi bawulo , Kano ga Jigawa Ko gudi, Taraba ga plateau Ko aushi, Gombe ga Yobe Ko ɗar kafan Kaduna Ko zoni. Jiha Bauchi ita aga jihohi arewa Najeriya lake ga yanayi tsirrai kala balau Sudan Savannah ga Sahel Savannah. She kala Andi tsaunuka aushi yanki goru, dangane ga alakati ga Jos plateau. == Godom mi'yya == Andi kabilu daban daban Har guda 55 ga goruye la gontango ga : Gerawa, Sayawa, Jarawa, Kirfawa, Afiniwa, Bolewa, karekare, kanuri, Fa'awa, Butawa, Warjawa, Zulawa, Boyawa, Badawa, Amma Filanti ji asali Kabila goruye she aji nine mate ga asali al'adu su adin ga messesu. Andi suwa ga Dalla harsuna goruye dangane ga Ruta al'adu karai zowayi ga kala gontosu ga beyi modi, musamman Ko beyi kaibono su ga goma . Maddi Koga harsuna Andi ba'a ga dallasu . Ga Sayawa ga messesu. Biki sallah a modi koga muhimma bukukuwa la Aji yollako anin inne ga shaf soni. == Ilimi == Jimi a Abubakar Tafawa Ɓalewa(15) ita aga Siri birni Bauchi: Maddi Koga beyi Gozi gontango ga: Jami'a jiha Bauchi, Abubakar Tatari, Ali Polytechnic, Federal Polytechnic Bauchi: Aminu sale college of Education Azare: Federal University of health sciences Azare:. == Yaruka == Jir harsuna West chadic language la Aji amfani ga mete ga goru Bauchi gontango ga: * North Bauchi language * South Bauchi language Yaruka Bauchi jerasu ga dole Hukumomi SU: {| class="wikitable" ! LGA !! Languages |- | Alkaleri || Dass; Bole; Duguri; Giiwo; Guruntum-Mbaaru; Labir; Tangale |- | Bauchi || Bankal; Duguri; Dulbu; Galambu; Gera; Geruma; Giiwo; Guruntum-Mbaaru; Ju; Kir-Balar; Labir; Luri; Mangas; Mbat; Pa'a; Polci; Shiki; Tala; Zangwal |- | Bogoro || Saya |- | Darazo || Bole; Deno; Diri; Giiwo; Mburku; Ngamo; Zumbun |- | Dass || Bankal; Dass; Gwak; Polci; Saya; Shall-Zwall; Zari |- | Dukku || Bole |- | Gamawa || Karekare |- | Ganjuwa || Ciwogai; Gera; Geruma; Jimi; Kariya; Kubi; Miya |- | Kirfi || Bure |- | Misau || Fulato/Borno; Shuwa; Kanuri; Hausa; Fulani |- | Ningi || Diri; Gamo-Ningi; Kudu-Camo; Pa'a; Siri; Warji; Geruma |- | Tafawa Balewa || Sur; Vaghat-Ya-Bijim-Legeri; Zari; Bankal; Gwak; Izere; Saya |- | Toro || Bankal; Dass; Geji; Geruma; Gwa; Gyem; Iguta; Izere; Jere; Lame; Lemoro; Mawa; Panawa; Polci; Sanga; Saya; Shau; Tunzuii; Zari; Zeem; Ziriya |- | Zaki || Bade |} == Gwamnati == Gwamna goruye ishinji Siri an zartarwa, jizani ga Fanni Shari'a a tene birni Bauchi. '''Gwamna''' Gwamna Bauchi ishinji Mr. Bala Abdulkadir Mohammed, La titu zabe ga Foti bonum 9 ga Tere Maris, soni in 2019 , ga wol woli jam'iya PDP . Rantsantun ishin ga Foti 29 ga Tere Mayu soni in 2019, la sheye zowu majini gwamna in baccimodi 6 ga Bauchi ga wol woli mulki democracy jamji kala gwamna in 16 shaf modi . Bala tela ji mataimaki gwamna Bauchi. == Kule ga lafiya == Jiha Bauchi itaga hasibitoci godom, Hukumomi kule ga lafiya gontango ga. * Abubakar Tafawa Balewa Teaching Hospital<ref>https://dailytrust.com/atbu-teaching-hospital-doctors-others-unite-for-patients-wellbeing/</ref><ref>https://dailypost.ng/2022/11/28/over-300-in-bauchi-to-benefit-from-free-medical-programme/</ref> * Bauchi State Hospital<ref><nowiki>https://tribuneonlineng.com/bauchi-hospital-management-board-restates-commitment-to-effective-healthcare-services/</nowiki></ref> * Al-amin Hospital * Niima Consultants Hospital * Albishir Clinic and Maternity * Proactive Clinic and Hospital Ltd. * Reemee Medicare Nigeria Limited. == Mi'yya la Monasu == * [[Abubakar Tafawa Balewa]], first and only prime minister of Nigeria * [[Jude Rabo]], vice-chancellor of Federal University, Wukari * Tijjani Yusuf Guruntum. * [[Isa Yuguda]]. An Siyasa, manshi gwamnan jihar Bauchi koga 2007 zuwa 2015. * [[Bala Mohammed|Bala Muhammed]]. Dan Siyasa * [[Mohammed Abdullahi Abubakar|Muhammed Abdullahi Abubakar]]. An Siyasa * [[Sa'adu Zungur]]. Mawaki * [[Adamu Muhammad Bulkachuwa]]. An shiyasa. * Isa Hassan Jama'are. == Hotuna == <gallery> Fayil:Bauchi state university Gadau.jpg|thumb|Bauchi jahaji la sirato File:Emir of Bauchi Main Palace.jpg|thumb|moyinshe Bauchi File:Top view of bauchi state capital Nigeria.jpg|thumb|Bauchi File:Bauchi State Governor Mohammed Abubakar with USAID Mission Director Michael Harvey 3.jpg|thumb|Bauchi File:Durba banner carrier.jpg|thumb|Mi'yya Bauchi ga beyi bukukuwa al'ada File:Federal government road linked from bauchi state to biu along bcga.jpg|thumb|Federal government of Bauchi File:Sumu wildlife park 3.jpg|thumb|Bani dabbobi mala in bauchi </gallery> == Bibiliyo == * Haour, Anne., Rossi, Benedetta (2010) ''Being and becoming Hausa : interdisciplinary perspectives.Leiden: Brill. [[ISBN]] 978-90-04-1854-25'' == Manazarta == == Ɗiwwa == c806cmdov7r5zw04ipwe7rinr53ecll 10456 10455 2026-08-24T14:35:47Z Abu Sadeeq77 197 10456 wikitext text/x-wiki {{Databox|item=Q811144}} '''Bauchi''' [[Woli]] Bauchi woli Ji ya a fayta Aushi Dola Darr Ga woli [[Nijeriya]]. Gontattuk lefe Ga [[Kano]] Ko Aushi kafa [[Jigawa]], [[Gombe]], ga [[Jiha Yobe|Yobe]] Ko fayta Darr, kafa [[Kaduna]] Ko Zoni. Woli Bauchi wen zalshe sunto Ko labar Bani yele Bauchi, Yaa Ke itaji Burnin in Siri ye Har soni in 1976. Ga lokacin la bissan manshi jihohi gudi mana dar ga Nigeria. Ga boii jiha Bauchi bikkantun jiha Gombe, la koboii majjito jiha an Dono kotto ga soni in 1996 Zan woli Bauchi Ga Soni Dubu Modi Ga Dalma ɓonum Ga kobawulo Ga basshi modi (1976), Ga lotayeji missan Manshi woliye Aushi Ndola Darr [[Nijeriya]]. Ga boii woli Bauchi tattuk/gontattuk woli [[Gombe]], yake Ko tetteke ita Mai jito wolin in kotto Ga Ga Soni 1996. Bauchi itaji jaha in badi ga fadi woli (2) kala in bawulo ga godom [[Miyya Ogun|miyya]] (3). Itaga godom filaye kimani kilomita dubu arba 'in ga badi ga dalma hordo ga cassa'in ga kunum(45, 893) godom miyya kimani miliyan bawulo ga dubu dalma badi ga arba'in ga dalma baccimodi ga sittin ga kunum (7,540,663) (4) ga bisa kidaya soninshe in dubu balau ga baccimodi 2006 . Jaha ye rabajjito dangane ga yanayi woli zuwa kashi balau (2) west sudaniya savanna koga aushi ga kala semi-desert sahel savanna koga Arewa ga koga montane Jos plateau aushi mana zoni jiha (5) koga kyautalla beyinshe ga goruye gontu ga yankari National park katafri beyi zenani fa dabbobi mana bijimi bido barewa ga Turum Giwa ga messesu.(6) Bauchi ji siri jaha bauchi. Bala abdulkadir Muhammad Ishin ji gwamna jiha ye Yan zaben la soninshe in 2019 har zuwa inso. Maddi koga su. Manshiwa jiha gontan go ga abubakar tafawa balewa gamin Isa yakubu, isah Hamma misau Nazif gamawa, haruna Ningi ga ali wakil. Andi yarinshe godom ga yankuma daban daban in jihar gotango ga, Bo'fikka, ga Butawa ga yare warji koga yankuna dalla jiha yaren Fulfulde, yare Kanuri, ga yare karei'karei koga zani goru [[filanti]] ga yare gerawa, koga birni bauchi ga kewaye to yare zaar (sayawa) koga aushi yare Tangale Jarawa ko aushi mana zoni. Kala asari miyya goru (kaso tamanin ga badi 85%) musulwa ji ga dole kaso kiristoci ga kaso baccimodi 6% ga maguzawa ga kaso bonum 9% (7) ga farko soni Alif 1800,a Filanti jahadi bikkantun mafi akasari goruye birni Bauchi in inso. Jamji kafan moyinshe Bauchi ga wol woli daula musulunci in Sokoto ga Karni in 1900, turawa Mulki mallaka bikkantun moyinshe ye mete zuwoto ga wol woli mulki mallaka in gudi [[Nijeriya|Nigeria]]. La kobai majjito [[Nijeriya|Nigeria]] wol woli mulki turawa kafin wena yanci ga soni 1960 , Yan asali yanki jiha Bauchi Iya a gudi Nigeria Boi wena yanci koyi ga soni 1967, lokacin la bissan jiha ye majjito wol woli jiha gudi Nigeria ko ɗar boi bissa jiha gudi Ko ɗar kafan jiha Bauchi ga Foti kunum' (3) ga tare February ga soni in (20) kala boi kafato wantun dolinshe hukumomi ga zoni jiha ye meteji manjisu Bo jiha Gombe. Ga matsayi to in jiha la dogaran ga mara, tattali dara jiha ye Ta'allaku gako dabbobi ga hantsi manamin auduga, Duro kute, tumaturi ga kala doya jizani ga Tina Dom amfani mara daidai ga sauwa habika tishi ga masana'antu sarrifa karai tishi in gwan_gwani, ga kala oppako ma'adanai manamin mana kisato columbite, ga kala beyi ewe ido mana mala kume zoii in yankari ga Amma in wikki spring. == Asali sun == Dan game ga tarihi in gargajiya goruye watu asali ji ko gama an'bara Modi la Sunni baushe , la dowu ga yanki ye kafin nako moyinshe in farko wato Yakubu (la wantun Ko Dalla soni in 1800-10) jahohi Bauchi ga Adamawa kasantan anin yanci ga Goma ga mi'yya Daula Filanti in Sokoto. == Tarihi == Beyilla Aji undani ga Bauchi kasantu kafin soni 1976 gunduma ga yanki jiha gudi Ko ɗar ga . Dangane ga kidaya in 2006 jiha Aji ga mi'yya Kimani 4.653,006 Jiha Bauchi wattu Tina Dom kala-kala gaga soni Manne . Andi harshe Ajawa ga Aji amfa ga ishin ga jiha Bauchi kala Koga bisani yakilannin ga gaga sonii 1920 ga soni in 1940 inko asali anin amfani ga harshe ye manjisu Bo afiniwa. Ga Lokaci Mulki mallaka Har lokaci wena yanci, ita aga yanki plateau ga yanki gudi Najeriya, Har zuwa soni in 1967 lokacin la an wena ga jihohi ga yankuna Bauchi, Bornoga [[Adamawa]] Aji gonta beyi wena jiha gudi ga Dar. Boi wena jiha Bauchi ga soni in 1976, ga Lokaci jihohi balau Bauchi ga Gombe in Gonto , jiha Andi dolinshe hukumomi guda (20) jamji kala (23). Jamji kala ga soni in 1997 , wantun jiha [[Gombe]]. Koga jiha Bauchi inko Aji wena sauwi dolinshe hukumomi ga Woli inko Dayan jaha Bauchi ga dolinshe hukumomi (20) mana yadda foran goyi: ==Dolinshe Hukumomi== jaha bauchi Andi adadi dolinshe hukumomi kobalau ([[20]]). Mate: {| class="sortable wikitable" |- ! Dolinshe Hukuma ! Fadin kasa (km<sup>2</sup>) ! Adadin 2006<br> Mutane ! Cibiyar Karamar Hukuma ! Lambar aika<br>sako |- | [[Bauchi]] | align="right"|3,687 | align="right"|493,810 | [[Bauchi]] | 740 |- | [[Tafawa Balewa, Nigeria|Tafawa Balewa]] | align="right"|2,515 | align="right"|219,988 | [[Bununu, Nigeria|Bununu]] | 740 |- | [[Dass, Nigeria|Dass]] | align="right"|535 | align="right"|89,943 | [[Dass, Nigeria|Dass]] | 740 |- | [[Toro, Nigeria|Toro]] | align="right"|6,932 | align="right"|350,404 | [[Toro, Nigeria|Toro]] | 740 |- | [[Bogoro]] | align="right"|894 | align="right"|84,215 | [[Bogoro]] | 741 |- | [[Ningi, Nigeria|Ningi]] | align="right"|4,625 | align="right"|387,192 | [[Ningi, Nigeria|Ningi]] | 742 |- | [[Warji]] | align="right"|625 | align="right"|114,720 | [[Warji]] | 742 |- | [[Ganjuwa]] | align="right"|5,059 | align="right"|280,468 | [[Kafin Madaki]] | 742 |- | [[Kirfi]] | align="right"|2,371 | align="right"|147,618 | [[Kirfi]] | 743 |- | [[Alkaleri]] | align="right"|5,918 | align="right"|329,424 | [[Alkaleri]] | 743 |- | ''Southern region totals'' | align="right"|''33,161'' | align="right"|''2,497,782'' | | |- | [[Darazo]] | align="right"|3,015 | align="right"|251,597 | [[Darazo]] | 750 |- | [[Misau]] | align="right"|1,226 | align="right"|263,487 | [[Misau]] | 750 |- | [[Giade]] | align="right"|668 | align="right"|156,969 | [[Giade]] | 750 |- | [[Shira, Nigeria|Shira]] | align="right"|1,321 | align="right"|234,014 | [[Yana, Nigeria|Yana]] | 750 |- | [[Jama'are]] | align="right"|493 | align="right"|117,883 | [[Jama'are]] | 751 |- | [[Katagum]] | align="right"|1,436 | align="right"|295,970 | [[Azare]] | 751 |- | [[Itas/Gadau]] | align="right"|1,398 | align="right"|229,996 | [[Itas]] | 751 |- | [[Zaki, Nigeria|Zaki]] | align="right"|1,476 | align="right"|191,457 | [[Katagum]] | 752 |- | [[Gamawa]] | align="right"|2,925 | align="right"|286,388 | [[Gamawa]] | 752 |- | [[Damban]] | align="right"|1,077 | align="right"|150,922 | [[Damban]] | 752 |- | ''Northern region totals'' | align="right"|''15,035'' | align="right"|''2,178,683'' | | |} == Gorunshe == Kirfi kasantu goru ga birni Bauchi la itaga akalla Siri 700 Mita fadirto ga fali gongola la Aji ele Amma ga goruye . La gontu ga Siri Amma benua. Goruye Andi tsairi barka mara ga dayi.(3) Ga al'ada kasantu ga Dalla hi ga mi'yya la Aji unda ga kirfawa kala ita a wol woli gunduma afiniwa . Bincike gako garu kirfi Aji inne mana amsoshi la kunsani ga al'ada ga adin ga harka Siyasa ga Woli apiniwa Aji wena no goru kirfi Ko goru Bauchi. == Labar woli == Jiha Bauchi mamayantun Fadi woli Kimani 49,119 km2 (18'965 sq mi) inko mamayan kaso 5.3 in Fadi Nigeria kala Aji Dono gako lambobi beyi in latitudes 9' 3' ga 12'3' gudi ga kala longitude 8' 50' ga 11' dar Jiha itaga iyaka ga jihohi bawulo , Kano ga Jigawa Ko gudi, Taraba ga plateau Ko aushi, Gombe ga Yobe Ko ɗar kafan Kaduna Ko zoni. Jiha Bauchi ita aga jihohi arewa Najeriya lake ga yanayi tsirrai kala balau Sudan Savannah ga Sahel Savannah. She kala Andi tsaunuka aushi yanki goru, dangane ga alakati ga Jos plateau. == Godom mi'yya == Andi kabilu daban daban Har guda 55 ga goruye la gontango ga : Gerawa, Sayawa, Jarawa, Kirfawa, Afiniwa, Bolewa, karekare, kanuri, Fa'awa, Butawa, Warjawa, Zulawa, Boyawa, Badawa, Amma Filanti ji asali Kabila goruye she aji nine mate ga asali al'adu su adin ga messesu. Andi suwa ga Dalla harsuna goruye dangane ga Ruta al'adu karai zowayi ga kala gontosu ga beyi modi, musamman Ko beyi kaibono su ga goma . Maddi Koga harsuna Andi ba'a ga dallasu . Ga Sayawa ga messesu. Biki sallah a modi koga muhimma bukukuwa la Aji yollako anin inne ga shaf soni. == Ilimi == Jimi a Abubakar Tafawa Ɓalewa(15) ita aga Siri birni Bauchi: Maddi Koga beyi Gozi gontango ga: Jami'a jiha Bauchi, Abubakar Tatari, Ali Polytechnic, Federal Polytechnic Bauchi: Aminu sale college of Education Azare: Federal University of health sciences Azare:. == Yaruka == Jir harsuna West chadic language la Aji amfani ga mete ga goru Bauchi gontango ga: * North Bauchi language * South Bauchi language Yaruka Bauchi jerasu ga dole Hukumomi SU: {| class="wikitable" ! LGA !! Languages |- | Alkaleri || Dass; Bole; Duguri; Giiwo; Guruntum-Mbaaru; Labir; Tangale |- | Bauchi || Bankal; Duguri; Dulbu; Galambu; Gera; Geruma; Giiwo; Guruntum-Mbaaru; Ju; Kir-Balar; Labir; Luri; Mangas; Mbat; Pa'a; Polci; Shiki; Tala; Zangwal |- | Bogoro || Saya |- | Darazo || Bole; Deno; Diri; Giiwo; Mburku; Ngamo; Zumbun |- | Dass || Bankal; Dass; Gwak; Polci; Saya; Shall-Zwall; Zari |- | Dukku || Bole |- | Gamawa || Karekare |- | Ganjuwa || Ciwogai; Gera; Geruma; Jimi; Kariya; Kubi; Miya |- | Kirfi || Bure |- | Misau || Fulato/Borno; Shuwa; Kanuri; Hausa; Fulani |- | Ningi || Diri; Gamo-Ningi; Kudu-Camo; Pa'a; Siri; Warji; Geruma |- | Tafawa Balewa || Sur; Vaghat-Ya-Bijim-Legeri; Zari; Bankal; Gwak; Izere; Saya |- | Toro || Bankal; Dass; Geji; Geruma; Gwa; Gyem; Iguta; Izere; Jere; Lame; Lemoro; Mawa; Panawa; Polci; Sanga; Saya; Shau; Tunzuii; Zari; Zeem; Ziriya |- | Zaki || Bade |} == Gwamnati == Gwamna goruye ishinji Siri an zartarwa, jizani ga Fanni Shari'a a tene birni Bauchi. '''Gwamna''' Gwamna Bauchi ishinji Mr. Bala Abdulkadir Mohammed, La titu zabe ga Foti bonum 9 ga Tere Maris, soni in 2019 , ga wol woli jam'iya PDP . Rantsantun ishin ga Foti 29 ga Tere Mayu soni in 2019, la sheye zowu majini gwamna in baccimodi 6 ga Bauchi ga wol woli mulki democracy jamji kala gwamna in 16 shaf modi . Bala tela ji mataimaki gwamna Bauchi. == Kule ga lafiya == Jiha Bauchi itaga hasibitoci godom, Hukumomi kule ga lafiya gontango ga. * Abubakar Tafawa Balewa Teaching Hospital<ref>https://dailytrust.com/atbu-teaching-hospital-doctors-others-unite-for-patients-wellbeing/</ref><ref>https://dailypost.ng/2022/11/28/over-300-in-bauchi-to-benefit-from-free-medical-programme/</ref> * Bauchi State Hospital<ref><nowiki>https://tribuneonlineng.com/bauchi-hospital-management-board-restates-commitment-to-effective-healthcare-services/</nowiki></ref> * Al-amin Hospital * Niima Consultants Hospital * Albishir Clinic and Maternity * Proactive Clinic and Hospital Ltd. * Reemee Medicare Nigeria Limited. == Mi'yya la Monasu == * [[Abubakar Tafawa Balewa]], first and only prime minister of Nigeria * [[Jude Rabo]], vice-chancellor of Federal University, Wukari * Tijjani Yusuf Guruntum. * [[Isa Yuguda]]. An Siyasa, manshi gwamnan jihar Bauchi koga 2007 zuwa 2015. * [[Bala Mohammed|Bala Muhammed]]. Dan Siyasa * [[Mohammed Abdullahi Abubakar|Muhammed Abdullahi Abubakar]]. An Siyasa * [[Sa'adu Zungur]]. Mawaki * [[Adamu Muhammad Bulkachuwa]]. An shiyasa. * Isa Hassan Jama'are. == Hotuna == <gallery> Fayil:Bauchi state university Gadau.jpg|thumb|Bauchi jahaji la sirato File:Emir of Bauchi Main Palace.jpg|thumb|moyinshe Bauchi File:Top view of bauchi state capital Nigeria.jpg|thumb|Bauchi File:Bauchi State Governor Mohammed Abubakar with USAID Mission Director Michael Harvey 3.jpg|thumb|Bauchi File:Durba banner carrier.jpg|thumb|Mi'yya Bauchi ga beyi bukukuwa al'ada File:Federal government road linked from bauchi state to biu along bcga.jpg|thumb|Federal government of Bauchi File:Sumu wildlife park 3.jpg|thumb|Bani dabbobi mala in bauchi </gallery> == Bibiliyo == * Haour, Anne., Rossi, Benedetta (2010) ''Being and becoming Hausa : interdisciplinary perspectives.Leiden: Brill. [[ISBN]] 978-90-04-1854-25'' == Manazarta == {{Reflist|2}} {{Jihohin Najeriya}} {{DEFAULTSORT:Bauchi}} [[Category:Jihohin Nijeriya]] == Ɗiwwa == ilskro1m554i3klnv4il9eft4kmw2pi 10457 10456 2026-08-24T14:39:16Z Abu Sadeeq77 197 10457 wikitext text/x-wiki {{Databox|item=Q811144}} '''Bauchi''' [[Woli]] Bauchi woli Ji ya a fayta Aushi Dola Darr Ga woli [[Nijeriya]]. Gontattuk lefe Ga [[Kano]] Ko Aushi kafa [[Jigawa]], [[Gombe]], ga [[Jiha Yobe|Yobe]] Ko fayta Darr, kafa [[Kaduna]] Ko Zoni. Woli Bauchi wen zalshe sunto Ko labar Bani yele Bauchi, Yaa Ke itaji Burnin in Siri ye Har soni in 1976. Ga lokacin la bissan manshi jihohi gudi mana dar ga Nigeria. Ga boii jiha Bauchi bikkantun jiha Gombe, la koboii majjito jiha an Dono kotto ga soni in 1996 Zan woli Bauchi Ga Soni Dubu Modi Ga Dalma ɓonum Ga kobawulo Ga basshi modi (1976), Ga lotayeji missan Manshi woliye Aushi Ndola Darr [[Nijeriya]]. Ga boii woli Bauchi tattuk/gontattuk woli [[Gombe]], yake Ko tetteke ita Mai jito wolin in kotto Ga Ga Soni 1996. Bauchi itaji jaha in badi ga fadi woli (2) kala in bawulo ga godom [[Miyya Ogun|miyya]] (3). Itaga godom filaye kimani kilomita dubu arba 'in ga badi ga dalma hordo ga cassa'in ga kunum(45, 893) godom miyya kimani miliyan bawulo ga dubu dalma badi ga arba'in ga dalma baccimodi ga sittin ga kunum (7,540,663) (4) ga bisa kidaya soninshe in dubu balau ga baccimodi 2006 . Jaha ye rabajjito dangane ga yanayi woli zuwa kashi balau (2) west sudaniya savanna koga aushi ga kala semi-desert sahel savanna koga Arewa ga koga montane Jos plateau aushi mana zoni jiha (5) koga kyautalla beyinshe ga goruye gontu ga yankari National park katafri beyi zenani fa dabbobi mana bijimi bido barewa ga Turum Giwa ga messesu.(6) Bauchi ji siri jaha bauchi. Bala abdulkadir Muhammad Ishin ji gwamna jiha ye Yan zaben la soninshe in 2019 har zuwa inso. Maddi koga su. Manshiwa jiha gontan go ga abubakar tafawa balewa gamin Isa yakubu, isah Hamma misau Nazif gamawa, haruna Ningi ga ali wakil. Andi yarinshe godom ga yankuma daban daban in jihar gotango ga, Bo'fikka, ga Butawa ga yare warji koga yankuna dalla jiha yaren Fulfulde, yare Kanuri, ga yare karei'karei koga zani goru [[filanti]] ga yare gerawa, koga birni bauchi ga kewaye to yare zaar (sayawa) koga aushi yare Tangale Jarawa ko aushi mana zoni. Kala asari miyya goru (kaso tamanin ga badi 85%) musulwa ji ga dole kaso kiristoci ga kaso baccimodi 6% ga maguzawa ga kaso bonum 9% (7) ga farko soni Alif 1800,a Filanti jahadi bikkantun mafi akasari goruye birni Bauchi in inso. Jamji kafan moyinshe Bauchi ga wol woli daula musulunci in Sokoto ga Karni in 1900, turawa Mulki mallaka bikkantun moyinshe ye mete zuwoto ga wol woli mulki mallaka in gudi [[Nijeriya|Nigeria]]. La kobai majjito [[Nijeriya|Nigeria]] wol woli mulki turawa kafin wena yanci ga soni 1960 , Yan asali yanki jiha Bauchi Iya a gudi Nigeria Boi wena yanci koyi ga soni 1967, lokacin la bissan jiha ye majjito wol woli jiha gudi Nigeria ko ɗar boi bissa jiha gudi Ko ɗar kafan jiha Bauchi ga Foti kunum' (3) ga tare February ga soni in (20) kala boi kafato wantun dolinshe hukumomi ga zoni jiha ye meteji manjisu Bo jiha Gombe. Ga matsayi to in jiha la dogaran ga mara, tattali dara jiha ye Ta'allaku gako dabbobi ga hantsi manamin auduga, Duro kute, tumaturi ga kala doya jizani ga Tina Dom amfani mara daidai ga sauwa habika tishi ga masana'antu sarrifa karai tishi in gwan_gwani, ga kala oppako ma'adanai manamin mana kisato columbite, ga kala beyi ewe ido mana mala kume zoii in yankari ga Amma in wikki spring. == Asali sun == Dan game ga tarihi in gargajiya goruye watu asali ji ko gama an'bara Modi la Sunni baushe , la dowu ga yanki ye kafin nako moyinshe in farko wato Yakubu (la wantun Ko Dalla soni in 1800-10) jahohi Bauchi ga Adamawa kasantan anin yanci ga Goma ga mi'yya Daula Filanti in Sokoto. == Tarihi == Beyilla Aji undani ga Bauchi kasantu kafin soni 1976 gunduma ga yanki jiha gudi Ko ɗar ga . Dangane ga kidaya in 2006 jiha Aji ga mi'yya Kimani 4.653,006 Jiha Bauchi wattu Tina Dom kala-kala gaga soni Manne . Andi harshe Ajawa ga Aji amfa ga ishin ga jiha Bauchi kala Koga bisani yakilannin ga gaga sonii 1920 ga soni in 1940 inko asali anin amfani ga harshe ye manjisu Bo afiniwa. Ga Lokaci Mulki mallaka Har lokaci wena yanci, ita aga yanki plateau ga yanki gudi Najeriya, Har zuwa soni in 1967 lokacin la an wena ga jihohi ga yankuna Bauchi, Bornoga [[Adamawa]] Aji gonta beyi wena jiha gudi ga Dar. Boi wena jiha Bauchi ga soni in 1976, ga Lokaci jihohi balau Bauchi ga Gombe in Gonto , jiha Andi dolinshe hukumomi guda (20) jamji kala (23). Jamji kala ga soni in 1997 , wantun jiha [[Gombe]]. Koga jiha Bauchi inko Aji wena sauwi dolinshe hukumomi ga Woli inko Dayan jaha Bauchi ga dolinshe hukumomi (20) mana yadda foran goyi: ==Dolinshe Hukumomi== jaha bauchi Andi adadi dolinshe hukumomi kobalau ([[20]]). Mate: {| class="sortable wikitable" |- ! Dolinshe Hukuma ! Fadin kasa (km<sup>2</sup>) ! Adadin 2006<br> Mutane ! Cibiyar Karamar Hukuma ! Lambar aika<br>sako |- | [[Bauchi]] | align="right"|3,687 | align="right"|493,810 | [[Bauchi]] | 740 |- | [[Tafawa Balewa, Nigeria|Tafawa Balewa]] | align="right"|2,515 | align="right"|219,988 | [[Bununu, Nigeria|Bununu]] | 740 |- | [[Dass, Nigeria|Dass]] | align="right"|535 | align="right"|89,943 | [[Dass, Nigeria|Dass]] | 740 |- | [[Toro, Nigeria|Toro]] | align="right"|6,932 | align="right"|350,404 | [[Toro, Nigeria|Toro]] | 740 |- | [[Bogoro]] | align="right"|894 | align="right"|84,215 | [[Bogoro]] | 741 |- | [[Ningi, Nigeria|Ningi]] | align="right"|4,625 | align="right"|387,192 | [[Ningi, Nigeria|Ningi]] | 742 |- | [[Warji]] | align="right"|625 | align="right"|114,720 | [[Warji]] | 742 |- | [[Ganjuwa]] | align="right"|5,059 | align="right"|280,468 | [[Kafin Madaki]] | 742 |- | [[Kirfi]] | align="right"|2,371 | align="right"|147,618 | [[Kirfi]] | 743 |- | [[Alkaleri]] | align="right"|5,918 | align="right"|329,424 | [[Alkaleri]] | 743 |- | ''Southern region totals'' | align="right"|''33,161'' | align="right"|''2,497,782'' | | |- | [[Darazo]] | align="right"|3,015 | align="right"|251,597 | [[Darazo]] | 750 |- | [[Misau]] | align="right"|1,226 | align="right"|263,487 | [[Misau]] | 750 |- | [[Giade]] | align="right"|668 | align="right"|156,969 | [[Giade]] | 750 |- | [[Shira, Nigeria|Shira]] | align="right"|1,321 | align="right"|234,014 | [[Yana, Nigeria|Yana]] | 750 |- | [[Jama'are]] | align="right"|493 | align="right"|117,883 | [[Jama'are]] | 751 |- | [[Katagum]] | align="right"|1,436 | align="right"|295,970 | [[Azare]] | 751 |- | [[Itas/Gadau]] | align="right"|1,398 | align="right"|229,996 | [[Itas]] | 751 |- | [[Zaki, Nigeria|Zaki]] | align="right"|1,476 | align="right"|191,457 | [[Katagum]] | 752 |- | [[Gamawa]] | align="right"|2,925 | align="right"|286,388 | [[Gamawa]] | 752 |- | [[Damban]] | align="right"|1,077 | align="right"|150,922 | [[Damban]] | 752 |- | ''Northern region totals'' | align="right"|''15,035'' | align="right"|''2,178,683'' | | |} == Gorunshe == [[File:Bauchi Emirate Palace (1).jpg|thumb|Bauchi Emirate Council]] Kirfi kasantu goru ga birni Bauchi la itaga akalla Siri 700 Mita fadirto ga fali gongola la Aji ele Amma ga goruye . La gontu ga Siri Amma benua. Goruye Andi tsairi barka mara ga dayi.(3) Ga al'ada kasantu ga Dalla hi ga mi'yya la Aji unda ga kirfawa kala ita a wol woli gunduma afiniwa . Bincike gako garu kirfi Aji inne mana amsoshi la kunsani ga al'ada ga adin ga harka Siyasa ga Woli apiniwa Aji wena no goru kirfi Ko goru Bauchi. == Labar woli == Jiha Bauchi mamayantun Fadi woli Kimani 49,119 km2 (18'965 sq mi) inko mamayan kaso 5.3 in Fadi Nigeria kala Aji Dono gako lambobi beyi in latitudes 9' 3' ga 12'3' gudi ga kala longitude 8' 50' ga 11' dar Jiha itaga iyaka ga jihohi bawulo , Kano ga Jigawa Ko gudi, Taraba ga plateau Ko aushi, Gombe ga Yobe Ko ɗar kafan Kaduna Ko zoni. Jiha Bauchi ita aga jihohi arewa Najeriya lake ga yanayi tsirrai kala balau Sudan Savannah ga Sahel Savannah. She kala Andi tsaunuka aushi yanki goru, dangane ga alakati ga Jos plateau. == Godom mi'yya == Andi kabilu daban daban Har guda 55 ga goruye la gontango ga : Gerawa, Sayawa, Jarawa, Kirfawa, Afiniwa, Bolewa, karekare, kanuri, Fa'awa, Butawa, Warjawa, Zulawa, Boyawa, Badawa, Amma Filanti ji asali Kabila goruye she aji nine mate ga asali al'adu su adin ga messesu. Andi suwa ga Dalla harsuna goruye dangane ga Ruta al'adu karai zowayi ga kala gontosu ga beyi modi, musamman Ko beyi kaibono su ga goma . Maddi Koga harsuna Andi ba'a ga dallasu . Ga Sayawa ga messesu. Biki sallah a modi koga muhimma bukukuwa la Aji yollako anin inne ga shaf soni. == Ilimi == Jimi a Abubakar Tafawa Ɓalewa(15) ita aga Siri birni Bauchi: Maddi Koga beyi Gozi gontango ga: Jami'a jiha Bauchi, Abubakar Tatari, Ali Polytechnic, Federal Polytechnic Bauchi: Aminu sale college of Education Azare: Federal University of health sciences Azare:. == Yaruka == Jir harsuna West chadic language la Aji amfani ga mete ga goru Bauchi gontango ga: * North Bauchi language * South Bauchi language Yaruka Bauchi jerasu ga dole Hukumomi SU: {| class="wikitable" ! LGA !! Languages |- | Alkaleri || Dass; Bole; Duguri; Giiwo; Guruntum-Mbaaru; Labir; Tangale |- | Bauchi || Bankal; Duguri; Dulbu; Galambu; Gera; Geruma; Giiwo; Guruntum-Mbaaru; Ju; Kir-Balar; Labir; Luri; Mangas; Mbat; Pa'a; Polci; Shiki; Tala; Zangwal |- | Bogoro || Saya |- | Darazo || Bole; Deno; Diri; Giiwo; Mburku; Ngamo; Zumbun |- | Dass || Bankal; Dass; Gwak; Polci; Saya; Shall-Zwall; Zari |- | Dukku || Bole |- | Gamawa || Karekare |- | Ganjuwa || Ciwogai; Gera; Geruma; Jimi; Kariya; Kubi; Miya |- | Kirfi || Bure |- | Misau || Fulato/Borno; Shuwa; Kanuri; Hausa; Fulani |- | Ningi || Diri; Gamo-Ningi; Kudu-Camo; Pa'a; Siri; Warji; Geruma |- | Tafawa Balewa || Sur; Vaghat-Ya-Bijim-Legeri; Zari; Bankal; Gwak; Izere; Saya |- | Toro || Bankal; Dass; Geji; Geruma; Gwa; Gyem; Iguta; Izere; Jere; Lame; Lemoro; Mawa; Panawa; Polci; Sanga; Saya; Shau; Tunzuii; Zari; Zeem; Ziriya |- | Zaki || Bade |} == Gwamnati == Gwamna goruye ishinji Siri an zartarwa, jizani ga Fanni Shari'a a tene birni Bauchi. '''Gwamna''' Gwamna Bauchi ishinji Mr. Bala Abdulkadir Mohammed, La titu zabe ga Foti bonum 9 ga Tere Maris, soni in 2019 , ga wol woli jam'iya PDP . Rantsantun ishin ga Foti 29 ga Tere Mayu soni in 2019, la sheye zowu majini gwamna in baccimodi 6 ga Bauchi ga wol woli mulki democracy jamji kala gwamna in 16 shaf modi . Bala tela ji mataimaki gwamna Bauchi. == Kule ga lafiya == Jiha Bauchi itaga hasibitoci godom, Hukumomi kule ga lafiya gontango ga. * Abubakar Tafawa Balewa Teaching Hospital<ref>https://dailytrust.com/atbu-teaching-hospital-doctors-others-unite-for-patients-wellbeing/</ref><ref>https://dailypost.ng/2022/11/28/over-300-in-bauchi-to-benefit-from-free-medical-programme/</ref> * Bauchi State Hospital<ref><nowiki>https://tribuneonlineng.com/bauchi-hospital-management-board-restates-commitment-to-effective-healthcare-services/</nowiki></ref> * Al-amin Hospital * Niima Consultants Hospital * Albishir Clinic and Maternity * Proactive Clinic and Hospital Ltd. * Reemee Medicare Nigeria Limited. == Mi'yya la Monasu == * [[Abubakar Tafawa Balewa]], first and only prime minister of Nigeria * [[Jude Rabo]], vice-chancellor of Federal University, Wukari * Tijjani Yusuf Guruntum. * [[Isa Yuguda]]. An Siyasa, manshi gwamnan jihar Bauchi koga 2007 zuwa 2015. * [[Bala Mohammed|Bala Muhammed]]. Dan Siyasa * [[Mohammed Abdullahi Abubakar|Muhammed Abdullahi Abubakar]]. An Siyasa * [[Sa'adu Zungur]]. Mawaki * [[Adamu Muhammad Bulkachuwa]]. An shiyasa. * Isa Hassan Jama'are. == Hotuna == <gallery> Fayil:Bauchi state university Gadau.jpg|thumb|Bauchi jahaji la sirato File:Emir of Bauchi Main Palace.jpg|thumb|moyinshe Bauchi File:Top view of bauchi state capital Nigeria.jpg|thumb|Bauchi File:Bauchi State Governor Mohammed Abubakar with USAID Mission Director Michael Harvey 3.jpg|thumb|Bauchi File:Durba banner carrier.jpg|thumb|Mi'yya Bauchi ga beyi bukukuwa al'ada File:Federal government road linked from bauchi state to biu along bcga.jpg|thumb|Federal government of Bauchi File:Sumu wildlife park 3.jpg|thumb|Bani dabbobi mala in bauchi </gallery> == Bibiliyo == * Haour, Anne., Rossi, Benedetta (2010) ''Being and becoming Hausa : interdisciplinary perspectives.Leiden: Brill. [[ISBN]] 978-90-04-1854-25'' == Manazarta == {{Reflist|2}} {{Jihohin Najeriya}} {{DEFAULTSORT:Bauchi}} [[Category:Jihohin Nijeriya]] == Ɗiwwa == 47h5kb6e2je0pa9x6387nt5wfuz6s20 10458 10457 2026-08-24T14:44:13Z Abu Sadeeq77 197 10458 wikitext text/x-wiki {{Databox|item=Q811144}} '''Bauchi''' [[Woli]] Bauchi woli Ji ya a fayta Aushi Dola Darr Ga woli [[Nijeriya]]. Gontattuk lefe Ga [[Kano]] Ko Aushi kafa [[Jigawa]], [[Gombe]], ga [[Jiha Yobe|Yobe]] Ko fayta Darr, kafa [[Kaduna]] Ko Zoni. Woli Bauchi wen zalshe sunto Ko labar Bani yele Bauchi, Yaa Ke itaji Burnin in Siri ye Har soni in 1976. Ga lokacin la bissan manshi jihohi gudi mana dar ga Nigeria. Ga boii jiha Bauchi bikkantun jiha Gombe, la koboii majjito jiha an Dono kotto ga soni in 1996 Zan woli Bauchi Ga Soni Dubu Modi Ga Dalma ɓonum Ga kobawulo Ga basshi modi (1976), Ga lotayeji missan Manshi woliye Aushi Ndola Darr [[Nijeriya]]. Ga boii woli Bauchi tattuk/gontattuk woli [[Gombe]], yake Ko tetteke ita Mai jito wolin in kotto Ga Ga Soni 1996. Bauchi itaji jaha in badi ga fadi woli (2) kala in bawulo ga godom [[Miyya Ogun|miyya]] (3). Itaga godom filaye kimani kilomita dubu arba 'in ga badi ga dalma hordo ga cassa'in ga kunum(45, 893) godom miyya kimani miliyan bawulo ga dubu dalma badi ga arba'in ga dalma baccimodi ga sittin ga kunum (7,540,663) (4) ga bisa kidaya soninshe in dubu balau ga baccimodi 2006 . Jaha ye rabajjito dangane ga yanayi woli zuwa kashi balau (2) west sudaniya savanna koga aushi ga kala semi-desert sahel savanna koga Arewa ga koga montane Jos plateau aushi mana zoni jiha (5) koga kyautalla beyinshe ga goruye gontu ga yankari National park katafri beyi zenani fa dabbobi mana bijimi bido barewa ga Turum Giwa ga messesu.(6) Bauchi ji siri jaha bauchi. Bala abdulkadir Muhammad Ishin ji gwamna jiha ye Yan zaben la soninshe in 2019 har zuwa inso. Maddi koga su. Manshiwa jiha gontan go ga abubakar tafawa balewa gamin Isa yakubu, isah Hamma misau Nazif gamawa, haruna Ningi ga ali wakil. Andi yarinshe godom ga yankuma daban daban in jihar gotango ga, Bo'fikka, ga Butawa ga yare warji koga yankuna dalla jiha yaren Fulfulde, yare Kanuri, ga yare karei'karei koga zani goru [[filanti]] ga yare gerawa, koga birni bauchi ga kewaye to yare zaar (sayawa) koga aushi yare Tangale Jarawa ko aushi mana zoni. Kala asari miyya goru (kaso tamanin ga badi 85%) musulwa ji ga dole kaso kiristoci ga kaso baccimodi 6% ga maguzawa ga kaso bonum 9% (7) ga farko soni Alif 1800,a Filanti jahadi bikkantun mafi akasari goruye birni Bauchi in inso. Jamji kafan moyinshe Bauchi ga wol woli daula musulunci in Sokoto ga Karni in 1900, turawa Mulki mallaka bikkantun moyinshe ye mete zuwoto ga wol woli mulki mallaka in gudi [[Nijeriya|Nigeria]]. La kobai majjito [[Nijeriya|Nigeria]] wol woli mulki turawa kafin wena yanci ga soni 1960 , Yan asali yanki jiha Bauchi Iya a gudi Nigeria Boi wena yanci koyi ga soni 1967, lokacin la bissan jiha ye majjito wol woli jiha gudi Nigeria ko ɗar boi bissa jiha gudi Ko ɗar kafan jiha Bauchi ga Foti kunum' (3) ga tare February ga soni in (20) kala boi kafato wantun dolinshe hukumomi ga zoni jiha ye meteji manjisu Bo jiha Gombe. [[Fayil:Emir of Bauchi Main Palace.jpg|thumb|bauchi emir]] Ga matsayi to in jiha la dogaran ga mara, tattali dara jiha ye Ta'allaku gako dabbobi ga hantsi manamin auduga, Duro kute, tumaturi ga kala doya jizani ga Tina Dom amfani mara daidai ga sauwa habika tishi ga masana'antu sarrifa karai tishi in gwan_gwani, ga kala oppako ma'adanai manamin mana kisato columbite, ga kala beyi ewe ido mana mala kume zoii in yankari ga Amma in wikki spring. == Asali sun == Dan game ga tarihi in gargajiya goruye watu asali ji ko gama an'bara Modi la Sunni baushe , la dowu ga yanki ye kafin nako moyinshe in farko wato Yakubu (la wantun Ko Dalla soni in 1800-10) jahohi Bauchi ga Adamawa kasantan anin yanci ga Goma ga mi'yya Daula Filanti in Sokoto. == Tarihi == Beyilla Aji undani ga Bauchi kasantu kafin soni 1976 gunduma ga yanki jiha gudi Ko ɗar ga . Dangane ga kidaya in 2006 jiha Aji ga mi'yya Kimani 4.653,006 Jiha Bauchi wattu Tina Dom kala-kala gaga soni Manne . Andi harshe Ajawa ga Aji amfa ga ishin ga jiha Bauchi kala Koga bisani yakilannin ga gaga sonii 1920 ga soni in 1940 inko asali anin amfani ga harshe ye manjisu Bo afiniwa. Ga Lokaci Mulki mallaka Har lokaci wena yanci, ita aga yanki plateau ga yanki gudi Najeriya, Har zuwa soni in 1967 lokacin la an wena ga jihohi ga yankuna Bauchi, Bornoga [[Adamawa]] Aji gonta beyi wena jiha gudi ga Dar. Boi wena jiha Bauchi ga soni in 1976, ga Lokaci jihohi balau Bauchi ga Gombe in Gonto , jiha Andi dolinshe hukumomi guda (20) jamji kala (23). Jamji kala ga soni in 1997 , wantun jiha [[Gombe]]. Koga jiha Bauchi inko Aji wena sauwi dolinshe hukumomi ga Woli inko Dayan jaha Bauchi ga dolinshe hukumomi (20) mana yadda foran goyi: ==Dolinshe Hukumomi== jaha bauchi Andi adadi dolinshe hukumomi kobalau ([[20]]). Mate: {| class="sortable wikitable" |- ! Dolinshe Hukuma ! Fadin kasa (km<sup>2</sup>) ! Adadin 2006<br> Mutane ! Cibiyar Karamar Hukuma ! Lambar aika<br>sako |- | [[Bauchi]] | align="right"|3,687 | align="right"|493,810 | [[Bauchi]] | 740 |- | [[Tafawa Balewa, Nigeria|Tafawa Balewa]] | align="right"|2,515 | align="right"|219,988 | [[Bununu, Nigeria|Bununu]] | 740 |- | [[Dass, Nigeria|Dass]] | align="right"|535 | align="right"|89,943 | [[Dass, Nigeria|Dass]] | 740 |- | [[Toro, Nigeria|Toro]] | align="right"|6,932 | align="right"|350,404 | [[Toro, Nigeria|Toro]] | 740 |- | [[Bogoro]] | align="right"|894 | align="right"|84,215 | [[Bogoro]] | 741 |- | [[Ningi, Nigeria|Ningi]] | align="right"|4,625 | align="right"|387,192 | [[Ningi, Nigeria|Ningi]] | 742 |- | [[Warji]] | align="right"|625 | align="right"|114,720 | [[Warji]] | 742 |- | [[Ganjuwa]] | align="right"|5,059 | align="right"|280,468 | [[Kafin Madaki]] | 742 |- | [[Kirfi]] | align="right"|2,371 | align="right"|147,618 | [[Kirfi]] | 743 |- | [[Alkaleri]] | align="right"|5,918 | align="right"|329,424 | [[Alkaleri]] | 743 |- | ''Southern region totals'' | align="right"|''33,161'' | align="right"|''2,497,782'' | | |- | [[Darazo]] | align="right"|3,015 | align="right"|251,597 | [[Darazo]] | 750 |- | [[Misau]] | align="right"|1,226 | align="right"|263,487 | [[Misau]] | 750 |- | [[Giade]] | align="right"|668 | align="right"|156,969 | [[Giade]] | 750 |- | [[Shira, Nigeria|Shira]] | align="right"|1,321 | align="right"|234,014 | [[Yana, Nigeria|Yana]] | 750 |- | [[Jama'are]] | align="right"|493 | align="right"|117,883 | [[Jama'are]] | 751 |- | [[Katagum]] | align="right"|1,436 | align="right"|295,970 | [[Azare]] | 751 |- | [[Itas/Gadau]] | align="right"|1,398 | align="right"|229,996 | [[Itas]] | 751 |- | [[Zaki, Nigeria|Zaki]] | align="right"|1,476 | align="right"|191,457 | [[Katagum]] | 752 |- | [[Gamawa]] | align="right"|2,925 | align="right"|286,388 | [[Gamawa]] | 752 |- | [[Damban]] | align="right"|1,077 | align="right"|150,922 | [[Damban]] | 752 |- | ''Northern region totals'' | align="right"|''15,035'' | align="right"|''2,178,683'' | | |} == Gorunshe == [[File:Bauchi Emirate Palace (1).jpg|thumb|Bauchi Emirate Council]] Kirfi kasantu goru ga birni Bauchi la itaga akalla Siri 700 Mita fadirto ga fali gongola la Aji ele Amma ga goruye . La gontu ga Siri Amma benua. Goruye Andi tsairi barka mara ga dayi.(3) Ga al'ada kasantu ga Dalla hi ga mi'yya la Aji unda ga kirfawa kala ita a wol woli gunduma afiniwa . Bincike gako garu kirfi Aji inne mana amsoshi la kunsani ga al'ada ga adin ga harka Siyasa ga Woli apiniwa Aji wena no goru kirfi Ko goru Bauchi. == Labar woli == Jiha Bauchi mamayantun Fadi woli Kimani 49,119 km2 (18'965 sq mi) inko mamayan kaso 5.3 in Fadi Nigeria kala Aji Dono gako lambobi beyi in latitudes 9' 3' ga 12'3' gudi ga kala longitude 8' 50' ga 11' dar Jiha itaga iyaka ga jihohi bawulo , Kano ga Jigawa Ko gudi, Taraba ga plateau Ko aushi, Gombe ga Yobe Ko ɗar kafan Kaduna Ko zoni. Jiha Bauchi ita aga jihohi arewa Najeriya lake ga yanayi tsirrai kala balau Sudan Savannah ga Sahel Savannah. She kala Andi tsaunuka aushi yanki goru, dangane ga alakati ga Jos plateau. == Godom mi'yya == Andi kabilu daban daban Har guda 55 ga goruye la gontango ga : Gerawa, Sayawa, Jarawa, Kirfawa, Afiniwa, Bolewa, karekare, kanuri, Fa'awa, Butawa, Warjawa, Zulawa, Boyawa, Badawa, Amma Filanti ji asali Kabila goruye she aji nine mate ga asali al'adu su adin ga messesu. Andi suwa ga Dalla harsuna goruye dangane ga Ruta al'adu karai zowayi ga kala gontosu ga beyi modi, musamman Ko beyi kaibono su ga goma . Maddi Koga harsuna Andi ba'a ga dallasu . Ga Sayawa ga messesu. Biki sallah a modi koga muhimma bukukuwa la Aji yollako anin inne ga shaf soni. == Ilimi == Jimi a Abubakar Tafawa Ɓalewa(15) ita aga Siri birni Bauchi: Maddi Koga beyi Gozi gontango ga: Jami'a jiha Bauchi, Abubakar Tatari, Ali Polytechnic, Federal Polytechnic Bauchi: Aminu sale college of Education Azare: Federal University of health sciences Azare:. == Yaruka == Jir harsuna West chadic language la Aji amfani ga mete ga goru Bauchi gontango ga: * North Bauchi language * South Bauchi language Yaruka Bauchi jerasu ga dole Hukumomi SU: {| class="wikitable" ! LGA !! Languages |- | Alkaleri || Dass; Bole; Duguri; Giiwo; Guruntum-Mbaaru; Labir; Tangale |- | Bauchi || Bankal; Duguri; Dulbu; Galambu; Gera; Geruma; Giiwo; Guruntum-Mbaaru; Ju; Kir-Balar; Labir; Luri; Mangas; Mbat; Pa'a; Polci; Shiki; Tala; Zangwal |- | Bogoro || Saya |- | Darazo || Bole; Deno; Diri; Giiwo; Mburku; Ngamo; Zumbun |- | Dass || Bankal; Dass; Gwak; Polci; Saya; Shall-Zwall; Zari |- | Dukku || Bole |- | Gamawa || Karekare |- | Ganjuwa || Ciwogai; Gera; Geruma; Jimi; Kariya; Kubi; Miya |- | Kirfi || Bure |- | Misau || Fulato/Borno; Shuwa; Kanuri; Hausa; Fulani |- | Ningi || Diri; Gamo-Ningi; Kudu-Camo; Pa'a; Siri; Warji; Geruma |- | Tafawa Balewa || Sur; Vaghat-Ya-Bijim-Legeri; Zari; Bankal; Gwak; Izere; Saya |- | Toro || Bankal; Dass; Geji; Geruma; Gwa; Gyem; Iguta; Izere; Jere; Lame; Lemoro; Mawa; Panawa; Polci; Sanga; Saya; Shau; Tunzuii; Zari; Zeem; Ziriya |- | Zaki || Bade |} == Gwamnati == Gwamna goruye ishinji Siri an zartarwa, jizani ga Fanni Shari'a a tene birni Bauchi. '''Gwamna''' Gwamna Bauchi ishinji Mr. Bala Abdulkadir Mohammed, La titu zabe ga Foti bonum 9 ga Tere Maris, soni in 2019 , ga wol woli jam'iya PDP . Rantsantun ishin ga Foti 29 ga Tere Mayu soni in 2019, la sheye zowu majini gwamna in baccimodi 6 ga Bauchi ga wol woli mulki democracy jamji kala gwamna in 16 shaf modi . Bala tela ji mataimaki gwamna Bauchi. == Kule ga lafiya == Jiha Bauchi itaga hasibitoci godom, Hukumomi kule ga lafiya gontango ga. * Abubakar Tafawa Balewa Teaching Hospital<ref>https://dailytrust.com/atbu-teaching-hospital-doctors-others-unite-for-patients-wellbeing/</ref><ref>https://dailypost.ng/2022/11/28/over-300-in-bauchi-to-benefit-from-free-medical-programme/</ref> * Bauchi State Hospital<ref><nowiki>https://tribuneonlineng.com/bauchi-hospital-management-board-restates-commitment-to-effective-healthcare-services/</nowiki></ref> * Al-amin Hospital * Niima Consultants Hospital * Albishir Clinic and Maternity * Proactive Clinic and Hospital Ltd. * Reemee Medicare Nigeria Limited. == Mi'yya la Monasu == * [[Abubakar Tafawa Balewa]], first and only prime minister of Nigeria * [[Jude Rabo]], vice-chancellor of Federal University, Wukari * Tijjani Yusuf Guruntum. * [[Isa Yuguda]]. An Siyasa, manshi gwamnan jihar Bauchi koga 2007 zuwa 2015. * [[Bala Mohammed|Bala Muhammed]]. Dan Siyasa * [[Mohammed Abdullahi Abubakar|Muhammed Abdullahi Abubakar]]. An Siyasa * [[Sa'adu Zungur]]. Mawaki * [[Adamu Muhammad Bulkachuwa]]. An shiyasa. * Isa Hassan Jama'are. == Hotuna == <gallery> Fayil:Bauchi state university Gadau.jpg|thumb|Bauchi jahaji la sirato File:Emir of Bauchi Main Palace.jpg|thumb|moyinshe Bauchi File:Top view of bauchi state capital Nigeria.jpg|thumb|Bauchi File:Bauchi State Governor Mohammed Abubakar with USAID Mission Director Michael Harvey 3.jpg|thumb|Bauchi File:Durba banner carrier.jpg|thumb|Mi'yya Bauchi ga beyi bukukuwa al'ada File:Federal government road linked from bauchi state to biu along bcga.jpg|thumb|Federal government of Bauchi File:Sumu wildlife park 3.jpg|thumb|Bani dabbobi mala in bauchi </gallery> == Bibiliyo == * Haour, Anne., Rossi, Benedetta (2010) ''Being and becoming Hausa : interdisciplinary perspectives.Leiden: Brill. [[ISBN]] 978-90-04-1854-25'' == Manazarta == {{Reflist|2}} {{Jihohin Najeriya}} {{DEFAULTSORT:Bauchi}} [[Category:Jihohin Nijeriya]] == Ɗiwwa == dp02swgxhhouyrerc6awp0s2b5650qo 10459 10458 2026-08-24T14:45:56Z Abu Sadeeq77 197 10459 wikitext text/x-wiki {{Databox|item=Q811144}} '''Bauchi''' [[Woli]] Bauchi woli Ji ya a fayta Aushi Dola Darr Ga woli [[Nijeriya]]. Gontattuk lefe Ga [[Kano]] Ko Aushi kafa [[Jigawa]], [[Gombe]], ga [[Jiha Yobe|Yobe]] Ko fayta Darr, kafa [[Kaduna]] Ko Zoni. Woli Bauchi wen zalshe sunto Ko labar Bani yele Bauchi, Yaa Ke itaji Burnin in Siri ye Har soni in 1976. Ga lokacin la bissan manshi jihohi gudi mana dar ga Nigeria. Ga boii jiha Bauchi bikkantun jiha Gombe, la koboii majjito jiha an Dono kotto ga soni in 1996 Zan woli Bauchi Ga Soni Dubu Modi Ga Dalma ɓonum Ga kobawulo Ga basshi modi (1976), Ga lotayeji missan Manshi woliye Aushi Ndola Darr [[Nijeriya]]. Ga boii woli Bauchi tattuk/gontattuk woli [[Gombe]], yake Ko tetteke ita Mai jito wolin in kotto Ga Ga Soni 1996. Bauchi itaji jaha in badi ga fadi woli (2) kala in bawulo ga godom [[Miyya Ogun|miyya]] (3). Itaga godom filaye kimani kilomita dubu arba 'in ga badi ga dalma hordo ga cassa'in ga kunum(45, 893) godom miyya kimani miliyan bawulo ga dubu dalma badi ga arba'in ga dalma baccimodi ga sittin ga kunum (7,540,663) (4) ga bisa kidaya soninshe in dubu balau ga baccimodi 2006 . Jaha ye rabajjito dangane ga yanayi woli zuwa kashi balau (2) west sudaniya savanna koga aushi ga kala semi-desert sahel savanna koga Arewa ga koga montane Jos plateau aushi mana zoni jiha (5) koga kyautalla beyinshe ga goruye gontu ga yankari National park katafri beyi zenani fa dabbobi mana bijimi bido barewa ga Turum Giwa ga messesu.(6) Bauchi ji siri jaha bauchi. Bala abdulkadir Muhammad Ishin ji gwamna jiha ye Yan zaben la soninshe in 2019 har zuwa inso. Maddi koga su. Manshiwa jiha gontan go ga abubakar tafawa balewa gamin Isa yakubu, isah Hamma misau Nazif gamawa, haruna Ningi ga ali wakil. Andi yarinshe godom ga yankuma daban daban in jihar gotango ga, Bo'fikka, ga Butawa ga yare warji koga yankuna dalla jiha yaren Fulfulde, yare Kanuri, ga yare karei'karei koga zani goru [[filanti]] ga yare gerawa, koga birni bauchi ga kewaye to yare zaar (sayawa) koga aushi yare Tangale Jarawa ko aushi mana zoni. Kala asari miyya goru (kaso tamanin ga badi 85%) musulwa ji ga dole kaso kiristoci ga kaso baccimodi 6% ga maguzawa ga kaso bonum 9% (7) ga farko soni Alif 1800,a Filanti jahadi bikkantun mafi akasari goruye birni Bauchi in inso. Jamji kafan moyinshe Bauchi ga wol woli daula musulunci in Sokoto ga Karni in 1900, turawa Mulki mallaka bikkantun moyinshe ye mete zuwoto ga wol woli mulki mallaka in gudi [[Nijeriya|Nigeria]]. La kobai majjito [[Nijeriya|Nigeria]] wol woli mulki turawa kafin wena yanci ga soni 1960 , Yan asali yanki jiha Bauchi Iya a gudi Nigeria Boi wena yanci koyi ga soni 1967, lokacin la bissan jiha ye majjito wol woli jiha gudi Nigeria ko ɗar boi bissa jiha gudi Ko ɗar kafan jiha Bauchi ga Foti kunum' (3) ga tare February ga soni in (20) kala boi kafato wantun dolinshe hukumomi ga zoni jiha ye meteji manjisu Bo jiha Gombe. [[Fayil:Emir of Bauchi Main Palace.jpg|thumb|bauchi emir]] Ga matsayi to in jiha la dogaran ga mara, tattali dara jiha ye Ta'allaku gako dabbobi ga hantsi manamin auduga, Duro kute, tumaturi ga kala doya jizani ga Tina Dom amfani mara daidai ga sauwa habika tishi ga masana'antu sarrifa karai tishi in gwan_gwani, ga kala oppako ma'adanai manamin mana kisato columbite, ga kala beyi ewe ido mana mala kume zoii in yankari ga Amma in wikki spring. == Asali sun == Dan game ga tarihi in gargajiya goruye watu asali ji ko gama an'bara Modi la Sunni baushe , la dowu ga yanki ye kafin nako moyinshe in farko wato Yakubu (la wantun Ko Dalla soni in 1800-10) jahohi Bauchi ga Adamawa kasantan anin yanci ga Goma ga mi'yya Daula Filanti in Sokoto. == Tarihi == [[File:ASC Leiden - Rietveld Collection - Nigeria 1970 - 1973 - 01 - 068 Sallah festivities in Bauchi. Rich horsemen in white, with red and white parasol for the ceremonial ruler of Bauchi.jpg|thumb|Bauchi a Shekarar 1970]] Beyilla Aji undani ga Bauchi kasantu kafin soni 1976 gunduma ga yanki jiha gudi Ko ɗar ga . Dangane ga kidaya in 2006 jiha Aji ga mi'yya Kimani 4.653,006 Jiha Bauchi wattu Tina Dom kala-kala gaga soni Manne . Andi harshe Ajawa ga Aji amfa ga ishin ga jiha Bauchi kala Koga bisani yakilannin ga gaga sonii 1920 ga soni in 1940 inko asali anin amfani ga harshe ye manjisu Bo afiniwa. Ga Lokaci Mulki mallaka Har lokaci wena yanci, ita aga yanki plateau ga yanki gudi Najeriya, Har zuwa soni in 1967 lokacin la an wena ga jihohi ga yankuna Bauchi, Bornoga [[Adamawa]] Aji gonta beyi wena jiha gudi ga Dar. Boi wena jiha Bauchi ga soni in 1976, ga Lokaci jihohi balau Bauchi ga Gombe in Gonto , jiha Andi dolinshe hukumomi guda (20) jamji kala (23). Jamji kala ga soni in 1997 , wantun jiha [[Gombe]]. Koga jiha Bauchi inko Aji wena sauwi dolinshe hukumomi ga Woli inko Dayan jaha Bauchi ga dolinshe hukumomi (20) mana yadda foran goyi: ==Dolinshe Hukumomi== jaha bauchi Andi adadi dolinshe hukumomi kobalau ([[20]]). Mate: {| class="sortable wikitable" |- ! Dolinshe Hukuma ! Fadin kasa (km<sup>2</sup>) ! Adadin 2006<br> Mutane ! Cibiyar Karamar Hukuma ! Lambar aika<br>sako |- | [[Bauchi]] | align="right"|3,687 | align="right"|493,810 | [[Bauchi]] | 740 |- | [[Tafawa Balewa, Nigeria|Tafawa Balewa]] | align="right"|2,515 | align="right"|219,988 | [[Bununu, Nigeria|Bununu]] | 740 |- | [[Dass, Nigeria|Dass]] | align="right"|535 | align="right"|89,943 | [[Dass, Nigeria|Dass]] | 740 |- | [[Toro, Nigeria|Toro]] | align="right"|6,932 | align="right"|350,404 | [[Toro, Nigeria|Toro]] | 740 |- | [[Bogoro]] | align="right"|894 | align="right"|84,215 | [[Bogoro]] | 741 |- | [[Ningi, Nigeria|Ningi]] | align="right"|4,625 | align="right"|387,192 | [[Ningi, Nigeria|Ningi]] | 742 |- | [[Warji]] | align="right"|625 | align="right"|114,720 | [[Warji]] | 742 |- | [[Ganjuwa]] | align="right"|5,059 | align="right"|280,468 | [[Kafin Madaki]] | 742 |- | [[Kirfi]] | align="right"|2,371 | align="right"|147,618 | [[Kirfi]] | 743 |- | [[Alkaleri]] | align="right"|5,918 | align="right"|329,424 | [[Alkaleri]] | 743 |- | ''Southern region totals'' | align="right"|''33,161'' | align="right"|''2,497,782'' | | |- | [[Darazo]] | align="right"|3,015 | align="right"|251,597 | [[Darazo]] | 750 |- | [[Misau]] | align="right"|1,226 | align="right"|263,487 | [[Misau]] | 750 |- | [[Giade]] | align="right"|668 | align="right"|156,969 | [[Giade]] | 750 |- | [[Shira, Nigeria|Shira]] | align="right"|1,321 | align="right"|234,014 | [[Yana, Nigeria|Yana]] | 750 |- | [[Jama'are]] | align="right"|493 | align="right"|117,883 | [[Jama'are]] | 751 |- | [[Katagum]] | align="right"|1,436 | align="right"|295,970 | [[Azare]] | 751 |- | [[Itas/Gadau]] | align="right"|1,398 | align="right"|229,996 | [[Itas]] | 751 |- | [[Zaki, Nigeria|Zaki]] | align="right"|1,476 | align="right"|191,457 | [[Katagum]] | 752 |- | [[Gamawa]] | align="right"|2,925 | align="right"|286,388 | [[Gamawa]] | 752 |- | [[Damban]] | align="right"|1,077 | align="right"|150,922 | [[Damban]] | 752 |- | ''Northern region totals'' | align="right"|''15,035'' | align="right"|''2,178,683'' | | |} == Gorunshe == [[File:Bauchi Emirate Palace (1).jpg|thumb|Bauchi Emirate Council]] Kirfi kasantu goru ga birni Bauchi la itaga akalla Siri 700 Mita fadirto ga fali gongola la Aji ele Amma ga goruye . La gontu ga Siri Amma benua. Goruye Andi tsairi barka mara ga dayi.(3) Ga al'ada kasantu ga Dalla hi ga mi'yya la Aji unda ga kirfawa kala ita a wol woli gunduma afiniwa . Bincike gako garu kirfi Aji inne mana amsoshi la kunsani ga al'ada ga adin ga harka Siyasa ga Woli apiniwa Aji wena no goru kirfi Ko goru Bauchi. == Labar woli == Jiha Bauchi mamayantun Fadi woli Kimani 49,119 km2 (18'965 sq mi) inko mamayan kaso 5.3 in Fadi Nigeria kala Aji Dono gako lambobi beyi in latitudes 9' 3' ga 12'3' gudi ga kala longitude 8' 50' ga 11' dar Jiha itaga iyaka ga jihohi bawulo , Kano ga Jigawa Ko gudi, Taraba ga plateau Ko aushi, Gombe ga Yobe Ko ɗar kafan Kaduna Ko zoni. Jiha Bauchi ita aga jihohi arewa Najeriya lake ga yanayi tsirrai kala balau Sudan Savannah ga Sahel Savannah. She kala Andi tsaunuka aushi yanki goru, dangane ga alakati ga Jos plateau. == Godom mi'yya == Andi kabilu daban daban Har guda 55 ga goruye la gontango ga : Gerawa, Sayawa, Jarawa, Kirfawa, Afiniwa, Bolewa, karekare, kanuri, Fa'awa, Butawa, Warjawa, Zulawa, Boyawa, Badawa, Amma Filanti ji asali Kabila goruye she aji nine mate ga asali al'adu su adin ga messesu. Andi suwa ga Dalla harsuna goruye dangane ga Ruta al'adu karai zowayi ga kala gontosu ga beyi modi, musamman Ko beyi kaibono su ga goma . Maddi Koga harsuna Andi ba'a ga dallasu . Ga Sayawa ga messesu. Biki sallah a modi koga muhimma bukukuwa la Aji yollako anin inne ga shaf soni. == Ilimi == Jimi a Abubakar Tafawa Ɓalewa(15) ita aga Siri birni Bauchi: Maddi Koga beyi Gozi gontango ga: Jami'a jiha Bauchi, Abubakar Tatari, Ali Polytechnic, Federal Polytechnic Bauchi: Aminu sale college of Education Azare: Federal University of health sciences Azare:. == Yaruka == Jir harsuna West chadic language la Aji amfani ga mete ga goru Bauchi gontango ga: * North Bauchi language * South Bauchi language Yaruka Bauchi jerasu ga dole Hukumomi SU: {| class="wikitable" ! LGA !! Languages |- | Alkaleri || Dass; Bole; Duguri; Giiwo; Guruntum-Mbaaru; Labir; Tangale |- | Bauchi || Bankal; Duguri; Dulbu; Galambu; Gera; Geruma; Giiwo; Guruntum-Mbaaru; Ju; Kir-Balar; Labir; Luri; Mangas; Mbat; Pa'a; Polci; Shiki; Tala; Zangwal |- | Bogoro || Saya |- | Darazo || Bole; Deno; Diri; Giiwo; Mburku; Ngamo; Zumbun |- | Dass || Bankal; Dass; Gwak; Polci; Saya; Shall-Zwall; Zari |- | Dukku || Bole |- | Gamawa || Karekare |- | Ganjuwa || Ciwogai; Gera; Geruma; Jimi; Kariya; Kubi; Miya |- | Kirfi || Bure |- | Misau || Fulato/Borno; Shuwa; Kanuri; Hausa; Fulani |- | Ningi || Diri; Gamo-Ningi; Kudu-Camo; Pa'a; Siri; Warji; Geruma |- | Tafawa Balewa || Sur; Vaghat-Ya-Bijim-Legeri; Zari; Bankal; Gwak; Izere; Saya |- | Toro || Bankal; Dass; Geji; Geruma; Gwa; Gyem; Iguta; Izere; Jere; Lame; Lemoro; Mawa; Panawa; Polci; Sanga; Saya; Shau; Tunzuii; Zari; Zeem; Ziriya |- | Zaki || Bade |} == Gwamnati == Gwamna goruye ishinji Siri an zartarwa, jizani ga Fanni Shari'a a tene birni Bauchi. '''Gwamna''' Gwamna Bauchi ishinji Mr. Bala Abdulkadir Mohammed, La titu zabe ga Foti bonum 9 ga Tere Maris, soni in 2019 , ga wol woli jam'iya PDP . Rantsantun ishin ga Foti 29 ga Tere Mayu soni in 2019, la sheye zowu majini gwamna in baccimodi 6 ga Bauchi ga wol woli mulki democracy jamji kala gwamna in 16 shaf modi . Bala tela ji mataimaki gwamna Bauchi. == Kule ga lafiya == Jiha Bauchi itaga hasibitoci godom, Hukumomi kule ga lafiya gontango ga. * Abubakar Tafawa Balewa Teaching Hospital<ref>https://dailytrust.com/atbu-teaching-hospital-doctors-others-unite-for-patients-wellbeing/</ref><ref>https://dailypost.ng/2022/11/28/over-300-in-bauchi-to-benefit-from-free-medical-programme/</ref> * Bauchi State Hospital<ref><nowiki>https://tribuneonlineng.com/bauchi-hospital-management-board-restates-commitment-to-effective-healthcare-services/</nowiki></ref> * Al-amin Hospital * Niima Consultants Hospital * Albishir Clinic and Maternity * Proactive Clinic and Hospital Ltd. * Reemee Medicare Nigeria Limited. == Mi'yya la Monasu == * [[Abubakar Tafawa Balewa]], first and only prime minister of Nigeria * [[Jude Rabo]], vice-chancellor of Federal University, Wukari * Tijjani Yusuf Guruntum. * [[Isa Yuguda]]. An Siyasa, manshi gwamnan jihar Bauchi koga 2007 zuwa 2015. * [[Bala Mohammed|Bala Muhammed]]. Dan Siyasa * [[Mohammed Abdullahi Abubakar|Muhammed Abdullahi Abubakar]]. An Siyasa * [[Sa'adu Zungur]]. Mawaki * [[Adamu Muhammad Bulkachuwa]]. An shiyasa. * Isa Hassan Jama'are. == Hotuna == <gallery> Fayil:Bauchi state university Gadau.jpg|thumb|Bauchi jahaji la sirato File:Emir of Bauchi Main Palace.jpg|thumb|moyinshe Bauchi File:Top view of bauchi state capital Nigeria.jpg|thumb|Bauchi File:Bauchi State Governor Mohammed Abubakar with USAID Mission Director Michael Harvey 3.jpg|thumb|Bauchi File:Durba banner carrier.jpg|thumb|Mi'yya Bauchi ga beyi bukukuwa al'ada File:Federal government road linked from bauchi state to biu along bcga.jpg|thumb|Federal government of Bauchi File:Sumu wildlife park 3.jpg|thumb|Bani dabbobi mala in bauchi </gallery> == Bibiliyo == * Haour, Anne., Rossi, Benedetta (2010) ''Being and becoming Hausa : interdisciplinary perspectives.Leiden: Brill. [[ISBN]] 978-90-04-1854-25'' == Manazarta == {{Reflist|2}} {{Jihohin Najeriya}} {{DEFAULTSORT:Bauchi}} [[Category:Jihohin Nijeriya]] == Ɗiwwa == qkn5aaq4oun5behxzmg74ab8syeknhk 10461 10459 2026-08-24T14:47:25Z Abu Sadeeq77 197 10461 wikitext text/x-wiki {{Databox|item=Q811144}} '''Bauchi''' [[Woli]] Bauchi woli Ji ya a fayta Aushi Dola Darr Ga woli [[Nijeriya]]. Gontattuk lefe Ga [[Kano]] Ko Aushi kafa [[Jigawa]], [[Gombe]], ga [[Jiha Yobe|Yobe]] Ko fayta Darr, kafa [[Kaduna]] Ko Zoni. Woli Bauchi wen zalshe sunto Ko labar Bani yele Bauchi, Yaa Ke itaji Burnin in Siri ye Har soni in 1976. Ga lokacin la bissan manshi jihohi gudi mana dar ga Nigeria. Ga boii jiha Bauchi bikkantun jiha Gombe, la koboii majjito jiha an Dono kotto ga soni in 1996 Zan woli Bauchi Ga Soni Dubu Modi Ga Dalma ɓonum Ga kobawulo Ga basshi modi (1976), Ga lotayeji missan Manshi woliye Aushi Ndola Darr [[Nijeriya]]. Ga boii woli Bauchi tattuk/gontattuk woli [[Gombe]], yake Ko tetteke ita Mai jito wolin in kotto Ga Ga Soni 1996. [[Fayil:Emir of Bauchi Main Palace.jpg|thumb|bauchi emir]] Bauchi itaji jaha in badi ga fadi woli (2) kala in bawulo ga godom [[Miyya Ogun|miyya]] (3). Itaga godom filaye kimani kilomita dubu arba 'in ga badi ga dalma hordo ga cassa'in ga kunum(45, 893) godom miyya kimani miliyan bawulo ga dubu dalma badi ga arba'in ga dalma baccimodi ga sittin ga kunum (7,540,663) (4) ga bisa kidaya soninshe in dubu balau ga baccimodi 2006 . Jaha ye rabajjito dangane ga yanayi woli zuwa kashi balau (2) west sudaniya savanna koga aushi ga kala semi-desert sahel savanna koga Arewa ga koga montane Jos plateau aushi mana zoni jiha (5) koga kyautalla beyinshe ga goruye gontu ga yankari National park katafri beyi zenani fa dabbobi mana bijimi bido barewa ga Turum Giwa ga messesu.(6) Bauchi ji siri jaha bauchi. Bala abdulkadir Muhammad Ishin ji gwamna jiha ye Yan zaben la soninshe in 2019 har zuwa inso. Maddi koga su. Manshiwa jiha gontan go ga abubakar tafawa balewa gamin Isa yakubu, isah Hamma misau Nazif gamawa, haruna Ningi ga ali wakil. Andi yarinshe godom ga yankuma daban daban in jihar gotango ga, Bo'fikka, ga Butawa ga yare warji koga yankuna dalla jiha yaren Fulfulde, yare Kanuri, ga yare karei'karei koga zani goru [[filanti]] ga yare gerawa, koga birni bauchi ga kewaye to yare zaar (sayawa) koga aushi yare Tangale Jarawa ko aushi mana zoni. Kala asari miyya goru (kaso tamanin ga badi 85%) musulwa ji ga dole kaso kiristoci ga kaso baccimodi 6% ga maguzawa ga kaso bonum 9% (7) ga farko soni Alif 1800,a Filanti jahadi bikkantun mafi akasari goruye birni Bauchi in inso. Jamji kafan moyinshe Bauchi ga wol woli daula musulunci in Sokoto ga Karni in 1900, turawa Mulki mallaka bikkantun moyinshe ye mete zuwoto ga wol woli mulki mallaka in gudi [[Nijeriya|Nigeria]]. La kobai majjito [[Nijeriya|Nigeria]] wol woli mulki turawa kafin wena yanci ga soni 1960 , Yan asali yanki jiha Bauchi Iya a gudi Nigeria Boi wena yanci koyi ga soni 1967, lokacin la bissan jiha ye majjito wol woli jiha gudi Nigeria ko ɗar boi bissa jiha gudi Ko ɗar kafan jiha Bauchi ga Foti kunum' (3) ga tare February ga soni in (20) kala boi kafato wantun dolinshe hukumomi ga zoni jiha ye meteji manjisu Bo jiha Gombe. Ga matsayi to in jiha la dogaran ga mara, tattali dara jiha ye Ta'allaku gako dabbobi ga hantsi manamin auduga, Duro kute, tumaturi ga kala doya jizani ga Tina Dom amfani mara daidai ga sauwa habika tishi ga masana'antu sarrifa karai tishi in gwan_gwani, ga kala oppako ma'adanai manamin mana kisato columbite, ga kala beyi ewe ido mana mala kume zoii in yankari ga Amma in wikki spring. == Asali sun == Dan game ga tarihi in gargajiya goruye watu asali ji ko gama an'bara Modi la Sunni baushe , la dowu ga yanki ye kafin nako moyinshe in farko wato Yakubu (la wantun Ko Dalla soni in 1800-10) jahohi Bauchi ga Adamawa kasantan anin yanci ga Goma ga mi'yya Daula Filanti in Sokoto. == Tarihi == [[File:ASC Leiden - Rietveld Collection - Nigeria 1970 - 1973 - 01 - 068 Sallah festivities in Bauchi. Rich horsemen in white, with red and white parasol for the ceremonial ruler of Bauchi.jpg|thumb|Bauchi a Shekarar 1970]] Beyilla Aji undani ga Bauchi kasantu kafin soni 1976 gunduma ga yanki jiha gudi Ko ɗar ga . Dangane ga kidaya in 2006 jiha Aji ga mi'yya Kimani 4.653,006 Jiha Bauchi wattu Tina Dom kala-kala gaga soni Manne . Andi harshe Ajawa ga Aji amfa ga ishin ga jiha Bauchi kala Koga bisani yakilannin ga gaga sonii 1920 ga soni in 1940 inko asali anin amfani ga harshe ye manjisu Bo afiniwa. Ga Lokaci Mulki mallaka Har lokaci wena yanci, ita aga yanki plateau ga yanki gudi Najeriya, Har zuwa soni in 1967 lokacin la an wena ga jihohi ga yankuna Bauchi, Bornoga [[Adamawa]] Aji gonta beyi wena jiha gudi ga Dar. Boi wena jiha Bauchi ga soni in 1976, ga Lokaci jihohi balau Bauchi ga Gombe in Gonto , jiha Andi dolinshe hukumomi guda (20) jamji kala (23). Jamji kala ga soni in 1997 , wantun jiha [[Gombe]]. Koga jiha Bauchi inko Aji wena sauwi dolinshe hukumomi ga Woli inko Dayan jaha Bauchi ga dolinshe hukumomi (20) mana yadda foran goyi: ==Dolinshe Hukumomi== jaha bauchi Andi adadi dolinshe hukumomi kobalau ([[20]]). Mate: {| class="sortable wikitable" |- ! Dolinshe Hukuma ! Fadin kasa (km<sup>2</sup>) ! Adadin 2006<br> Mutane ! Cibiyar Karamar Hukuma ! Lambar aika<br>sako |- | [[Bauchi]] | align="right"|3,687 | align="right"|493,810 | [[Bauchi]] | 740 |- | [[Tafawa Balewa, Nigeria|Tafawa Balewa]] | align="right"|2,515 | align="right"|219,988 | [[Bununu, Nigeria|Bununu]] | 740 |- | [[Dass, Nigeria|Dass]] | align="right"|535 | align="right"|89,943 | [[Dass, Nigeria|Dass]] | 740 |- | [[Toro, Nigeria|Toro]] | align="right"|6,932 | align="right"|350,404 | [[Toro, Nigeria|Toro]] | 740 |- | [[Bogoro]] | align="right"|894 | align="right"|84,215 | [[Bogoro]] | 741 |- | [[Ningi, Nigeria|Ningi]] | align="right"|4,625 | align="right"|387,192 | [[Ningi, Nigeria|Ningi]] | 742 |- | [[Warji]] | align="right"|625 | align="right"|114,720 | [[Warji]] | 742 |- | [[Ganjuwa]] | align="right"|5,059 | align="right"|280,468 | [[Kafin Madaki]] | 742 |- | [[Kirfi]] | align="right"|2,371 | align="right"|147,618 | [[Kirfi]] | 743 |- | [[Alkaleri]] | align="right"|5,918 | align="right"|329,424 | [[Alkaleri]] | 743 |- | ''Southern region totals'' | align="right"|''33,161'' | align="right"|''2,497,782'' | | |- | [[Darazo]] | align="right"|3,015 | align="right"|251,597 | [[Darazo]] | 750 |- | [[Misau]] | align="right"|1,226 | align="right"|263,487 | [[Misau]] | 750 |- | [[Giade]] | align="right"|668 | align="right"|156,969 | [[Giade]] | 750 |- | [[Shira, Nigeria|Shira]] | align="right"|1,321 | align="right"|234,014 | [[Yana, Nigeria|Yana]] | 750 |- | [[Jama'are]] | align="right"|493 | align="right"|117,883 | [[Jama'are]] | 751 |- | [[Katagum]] | align="right"|1,436 | align="right"|295,970 | [[Azare]] | 751 |- | [[Itas/Gadau]] | align="right"|1,398 | align="right"|229,996 | [[Itas]] | 751 |- | [[Zaki, Nigeria|Zaki]] | align="right"|1,476 | align="right"|191,457 | [[Katagum]] | 752 |- | [[Gamawa]] | align="right"|2,925 | align="right"|286,388 | [[Gamawa]] | 752 |- | [[Damban]] | align="right"|1,077 | align="right"|150,922 | [[Damban]] | 752 |- | ''Northern region totals'' | align="right"|''15,035'' | align="right"|''2,178,683'' | | |} == Gorunshe == [[File:Bauchi Emirate Palace (1).jpg|thumb|Bauchi Emirate Council]] Kirfi kasantu goru ga birni Bauchi la itaga akalla Siri 700 Mita fadirto ga fali gongola la Aji ele Amma ga goruye . La gontu ga Siri Amma benua. Goruye Andi tsairi barka mara ga dayi.(3) Ga al'ada kasantu ga Dalla hi ga mi'yya la Aji unda ga kirfawa kala ita a wol woli gunduma afiniwa . Bincike gako garu kirfi Aji inne mana amsoshi la kunsani ga al'ada ga adin ga harka Siyasa ga Woli apiniwa Aji wena no goru kirfi Ko goru Bauchi. == Labar woli == Jiha Bauchi mamayantun Fadi woli Kimani 49,119 km2 (18'965 sq mi) inko mamayan kaso 5.3 in Fadi Nigeria kala Aji Dono gako lambobi beyi in latitudes 9' 3' ga 12'3' gudi ga kala longitude 8' 50' ga 11' dar Jiha itaga iyaka ga jihohi bawulo , Kano ga Jigawa Ko gudi, Taraba ga plateau Ko aushi, Gombe ga Yobe Ko ɗar kafan Kaduna Ko zoni. Jiha Bauchi ita aga jihohi arewa Najeriya lake ga yanayi tsirrai kala balau Sudan Savannah ga Sahel Savannah. She kala Andi tsaunuka aushi yanki goru, dangane ga alakati ga Jos plateau. == Godom mi'yya == Andi kabilu daban daban Har guda 55 ga goruye la gontango ga : Gerawa, Sayawa, Jarawa, Kirfawa, Afiniwa, Bolewa, karekare, kanuri, Fa'awa, Butawa, Warjawa, Zulawa, Boyawa, Badawa, Amma Filanti ji asali Kabila goruye she aji nine mate ga asali al'adu su adin ga messesu. Andi suwa ga Dalla harsuna goruye dangane ga Ruta al'adu karai zowayi ga kala gontosu ga beyi modi, musamman Ko beyi kaibono su ga goma . Maddi Koga harsuna Andi ba'a ga dallasu . Ga Sayawa ga messesu. Biki sallah a modi koga muhimma bukukuwa la Aji yollako anin inne ga shaf soni. == Ilimi == Jimi a Abubakar Tafawa Ɓalewa(15) ita aga Siri birni Bauchi: Maddi Koga beyi Gozi gontango ga: Jami'a jiha Bauchi, Abubakar Tatari, Ali Polytechnic, Federal Polytechnic Bauchi: Aminu sale college of Education Azare: Federal University of health sciences Azare:. == Yaruka == Jir harsuna West chadic language la Aji amfani ga mete ga goru Bauchi gontango ga: * North Bauchi language * South Bauchi language Yaruka Bauchi jerasu ga dole Hukumomi SU: {| class="wikitable" ! LGA !! Languages |- | Alkaleri || Dass; Bole; Duguri; Giiwo; Guruntum-Mbaaru; Labir; Tangale |- | Bauchi || Bankal; Duguri; Dulbu; Galambu; Gera; Geruma; Giiwo; Guruntum-Mbaaru; Ju; Kir-Balar; Labir; Luri; Mangas; Mbat; Pa'a; Polci; Shiki; Tala; Zangwal |- | Bogoro || Saya |- | Darazo || Bole; Deno; Diri; Giiwo; Mburku; Ngamo; Zumbun |- | Dass || Bankal; Dass; Gwak; Polci; Saya; Shall-Zwall; Zari |- | Dukku || Bole |- | Gamawa || Karekare |- | Ganjuwa || Ciwogai; Gera; Geruma; Jimi; Kariya; Kubi; Miya |- | Kirfi || Bure |- | Misau || Fulato/Borno; Shuwa; Kanuri; Hausa; Fulani |- | Ningi || Diri; Gamo-Ningi; Kudu-Camo; Pa'a; Siri; Warji; Geruma |- | Tafawa Balewa || Sur; Vaghat-Ya-Bijim-Legeri; Zari; Bankal; Gwak; Izere; Saya |- | Toro || Bankal; Dass; Geji; Geruma; Gwa; Gyem; Iguta; Izere; Jere; Lame; Lemoro; Mawa; Panawa; Polci; Sanga; Saya; Shau; Tunzuii; Zari; Zeem; Ziriya |- | Zaki || Bade |} == Gwamnati == Gwamna goruye ishinji Siri an zartarwa, jizani ga Fanni Shari'a a tene birni Bauchi. '''Gwamna''' Gwamna Bauchi ishinji Mr. Bala Abdulkadir Mohammed, La titu zabe ga Foti bonum 9 ga Tere Maris, soni in 2019 , ga wol woli jam'iya PDP . Rantsantun ishin ga Foti 29 ga Tere Mayu soni in 2019, la sheye zowu majini gwamna in baccimodi 6 ga Bauchi ga wol woli mulki democracy jamji kala gwamna in 16 shaf modi . Bala tela ji mataimaki gwamna Bauchi. == Kule ga lafiya == Jiha Bauchi itaga hasibitoci godom, Hukumomi kule ga lafiya gontango ga. * Abubakar Tafawa Balewa Teaching Hospital<ref>https://dailytrust.com/atbu-teaching-hospital-doctors-others-unite-for-patients-wellbeing/</ref><ref>https://dailypost.ng/2022/11/28/over-300-in-bauchi-to-benefit-from-free-medical-programme/</ref> * Bauchi State Hospital<ref><nowiki>https://tribuneonlineng.com/bauchi-hospital-management-board-restates-commitment-to-effective-healthcare-services/</nowiki></ref> * Al-amin Hospital * Niima Consultants Hospital * Albishir Clinic and Maternity * Proactive Clinic and Hospital Ltd. * Reemee Medicare Nigeria Limited. == Mi'yya la Monasu == * [[Abubakar Tafawa Balewa]], first and only prime minister of Nigeria * [[Jude Rabo]], vice-chancellor of Federal University, Wukari * Tijjani Yusuf Guruntum. * [[Isa Yuguda]]. An Siyasa, manshi gwamnan jihar Bauchi koga 2007 zuwa 2015. * [[Bala Mohammed|Bala Muhammed]]. Dan Siyasa * [[Mohammed Abdullahi Abubakar|Muhammed Abdullahi Abubakar]]. An Siyasa * [[Sa'adu Zungur]]. Mawaki * [[Adamu Muhammad Bulkachuwa]]. An shiyasa. * Isa Hassan Jama'are. == Hotuna == <gallery> Fayil:Bauchi state university Gadau.jpg|thumb|Bauchi jahaji la sirato File:Emir of Bauchi Main Palace.jpg|thumb|moyinshe Bauchi File:Top view of bauchi state capital Nigeria.jpg|thumb|Bauchi File:Bauchi State Governor Mohammed Abubakar with USAID Mission Director Michael Harvey 3.jpg|thumb|Bauchi File:Durba banner carrier.jpg|thumb|Mi'yya Bauchi ga beyi bukukuwa al'ada File:Federal government road linked from bauchi state to biu along bcga.jpg|thumb|Federal government of Bauchi File:Sumu wildlife park 3.jpg|thumb|Bani dabbobi mala in bauchi </gallery> == Bibiliyo == * Haour, Anne., Rossi, Benedetta (2010) ''Being and becoming Hausa : interdisciplinary perspectives.Leiden: Brill. [[ISBN]] 978-90-04-1854-25'' == Manazarta == {{Reflist|2}} {{Jihohin Najeriya}} {{DEFAULTSORT:Bauchi}} [[Category:Jihohin Nijeriya]] == Ɗiwwa == g299q49kpc70e2l86cgiypjs72vt1qh 10466 10461 2026-08-24T21:26:51Z Abu Sadeeq77 197 10466 wikitext text/x-wiki {{Databox|item=Q811144}} '''Bauchi''' [[Woli]] Bauchi woli Ji ya a fayta Aushi Dola Darr Ga woli [[Nijeriya]]. Gontattuk lefe Ga [[Kano]] Ko Aushi kafa [[Jigawa]], [[Gombe]], ga [[Jiha Yobe|Yobe]] Ko fayta Darr, kafa [[Kaduna]] Ko Zoni. Woli Bauchi wen zalshe sunto Ko labar Bani yele Bauchi, Yaa Ke itaji Burnin in Siri ye Har soni in 1976. Ga lokacin la bissan manshi jihohi gudi mana dar ga Nigeria. Ga boii jiha Bauchi bikkantun jiha Gombe, la koboii majjito jiha an Dono kotto ga soni in 1996 Zan woli Bauchi Ga Soni Dubu Modi Ga Dalma ɓonum Ga kobawulo Ga basshi modi (1976), Ga lotayeji missan Manshi woliye Aushi Ndola Darr [[Nijeriya]]. Ga boii woli Bauchi tattuk/gontattuk woli [[Gombe]], yake Ko tetteke ita Mai jito wolin in kotto Ga Ga Soni 1996. [[Fayil:Emir of Bauchi Main Palace.jpg|thumb|bauchi emir]] Bauchi itaji jaha in badi ga fadi woli (2) kala in bawulo ga godom [[Miyya Ogun|miyya]] (3). Itaga godom filaye kimani kilomita dubu arba 'in ga badi ga dalma hordo ga cassa'in ga kunum(45, 893) godom miyya kimani miliyan bawulo ga dubu dalma badi ga arba'in ga dalma baccimodi ga sittin ga kunum (7,540,663) (4) ga bisa kidaya soninshe in dubu balau ga baccimodi 2006 . Jaha ye rabajjito dangane ga yanayi woli zuwa kashi balau (2) west sudaniya savanna koga aushi ga kala semi-desert sahel savanna koga Arewa ga koga montane Jos plateau aushi mana zoni jiha (5) koga kyautalla beyinshe ga goruye gontu ga yankari National park katafri beyi zenani fa dabbobi mana bijimi bido barewa ga Turum Giwa ga messesu.(6) Bauchi ji siri jaha bauchi. Bala abdulkadir Muhammad Ishin ji gwamna jiha ye Yan zaben la soninshe in 2019 har zuwa inso. Maddi koga su. Manshiwa jiha gontan go ga abubakar tafawa balewa gamin Isa yakubu, isah Hamma misau Nazif gamawa, haruna Ningi ga ali wakil. Andi yarinshe godom ga yankuma daban daban in jihar gotango ga, Bo'fikka, ga Butawa ga yare warji koga yankuna dalla jiha yaren Fulfulde, yare Kanuri, ga yare karei'karei koga zani goru [[filanti]] ga yare gerawa, koga birni bauchi ga kewaye to yare zaar (sayawa) koga aushi yare Tangale Jarawa ko aushi mana zoni. Kala asari miyya goru (kaso tamanin ga badi 85%) musulwa ji ga dole kaso kiristoci ga kaso baccimodi 6% ga maguzawa ga kaso bonum 9% (7) ga farko soni Alif 1800,a Filanti jahadi bikkantun mafi akasari goruye birni Bauchi in inso. Jamji kafan moyinshe Bauchi ga wol woli daula musulunci in Sokoto ga Karni in 1900, turawa Mulki mallaka bikkantun moyinshe ye mete zuwoto ga wol woli mulki mallaka in gudi [[Nijeriya|Nigeria]]. La kobai majjito [[Nijeriya|Nigeria]] wol woli mulki turawa kafin wena yanci ga soni 1960 , Yan asali yanki jiha Bauchi Iya a gudi Nigeria Boi wena yanci koyi ga soni 1967, lokacin la bissan jiha ye majjito wol woli jiha gudi Nigeria ko ɗar boi bissa jiha gudi Ko ɗar kafan jiha Bauchi ga Foti kunum' (3) ga tare February ga soni in (20) kala boi kafato wantun dolinshe hukumomi ga zoni jiha ye meteji manjisu Bo jiha Gombe. Ga matsayi to in jiha la dogaran ga mara, tattali dara jiha ye Ta'allaku gako dabbobi ga hantsi manamin auduga, Duro kute, tumaturi ga kala doya jizani ga Tina Dom amfani mara daidai ga sauwa habika tishi ga masana'antu sarrifa karai tishi in gwan_gwani, ga kala oppako ma'adanai manamin mana kisato columbite, ga kala beyi ewe ido mana mala kume zoii in yankari ga Amma in wikki spring. == Asali sun == Dan game ga tarihi in gargajiya goruye watu asali ji ko gama an'bara Modi la Sunni baushe , la dowu ga yanki ye kafin nako moyinshe in farko wato Yakubu (la wantun Ko Dalla soni in 1800-10) jahohi Bauchi ga Adamawa kasantan anin yanci ga Goma ga mi'yya Daula Filanti in Sokoto. == Tarihi == [[File:ASC Leiden - Rietveld Collection - Nigeria 1970 - 1973 - 01 - 068 Sallah festivities in Bauchi. Rich horsemen in white, with red and white parasol for the ceremonial ruler of Bauchi.jpg|thumb|Bauchi a Shekarar 1970]] Beyilla Aji undani ga Bauchi kasantu kafin soni 1976 gunduma ga yanki jiha gudi Ko ɗar ga . Dangane ga kidaya in 2006 jiha Aji ga mi'yya Kimani 4.653,006 Jiha Bauchi wattu Tina Dom kala-kala gaga soni Manne . Andi harshe Ajawa ga Aji amfa ga ishin ga jiha Bauchi kala Koga bisani yakilannin ga gaga sonii 1920 ga soni in 1940 inko asali anin amfani ga harshe ye manjisu Bo afiniwa. Ga Lokaci Mulki mallaka Har lokaci wena yanci, ita aga yanki plateau ga yanki gudi Najeriya, Har zuwa soni in 1967 lokacin la an wena ga jihohi ga yankuna Bauchi, Bornoga [[Adamawa]] Aji gonta beyi wena jiha gudi ga Dar. Boi wena jiha Bauchi ga soni in 1976, ga Lokaci jihohi balau Bauchi ga Gombe in Gonto , jiha Andi dolinshe hukumomi guda (20) jamji kala (23). Jamji kala ga soni in 1997 , wantun jiha [[Gombe]]. Koga jiha Bauchi inko Aji wena sauwi dolinshe hukumomi ga Woli inko Dayan jaha Bauchi ga dolinshe [[Hukumomi In Dolinshe Ga Najeriya|hukumomi]] (20) mana yadda foran goyi: ==Dolinshe Hukumomi== jaha bauchi Andi adadi dolinshe hukumomi kobalau ([[20]]). Mate: {| class="sortable wikitable" |- ! Dolinshe Hukuma ! Fadin kasa (km<sup>2</sup>) ! Adadin 2006<br> Mutane ! Cibiyar Karamar Hukuma ! Lambar aika<br>sako |- | [[Bauchi]] | align="right"|3,687 | align="right"|493,810 | [[Bauchi]] | 740 |- | [[Tafawa Balewa, Nigeria|Tafawa Balewa]] | align="right"|2,515 | align="right"|219,988 | [[Bununu, Nigeria|Bununu]] | 740 |- | [[Dass, Nigeria|Dass]] | align="right"|535 | align="right"|89,943 | [[Dass, Nigeria|Dass]] | 740 |- | [[Toro, Nigeria|Toro]] | align="right"|6,932 | align="right"|350,404 | [[Toro, Nigeria|Toro]] | 740 |- | [[Bogoro]] | align="right"|894 | align="right"|84,215 | [[Bogoro]] | 741 |- | [[Ningi, Nigeria|Ningi]] | align="right"|4,625 | align="right"|387,192 | [[Ningi, Nigeria|Ningi]] | 742 |- | [[Warji]] | align="right"|625 | align="right"|114,720 | [[Warji]] | 742 |- | [[Ganjuwa]] | align="right"|5,059 | align="right"|280,468 | [[Kafin Madaki]] | 742 |- | [[Kirfi]] | align="right"|2,371 | align="right"|147,618 | [[Kirfi]] | 743 |- | [[Alkaleri]] | align="right"|5,918 | align="right"|329,424 | [[Alkaleri]] | 743 |- | ''Southern region totals'' | align="right"|''33,161'' | align="right"|''2,497,782'' | | |- | [[Darazo]] | align="right"|3,015 | align="right"|251,597 | [[Darazo]] | 750 |- | [[Misau]] | align="right"|1,226 | align="right"|263,487 | [[Misau]] | 750 |- | [[Giade]] | align="right"|668 | align="right"|156,969 | [[Giade]] | 750 |- | [[Shira, Nigeria|Shira]] | align="right"|1,321 | align="right"|234,014 | [[Yana, Nigeria|Yana]] | 750 |- | [[Jama'are]] | align="right"|493 | align="right"|117,883 | [[Jama'are]] | 751 |- | [[Katagum]] | align="right"|1,436 | align="right"|295,970 | [[Azare]] | 751 |- | [[Itas/Gadau]] | align="right"|1,398 | align="right"|229,996 | [[Itas]] | 751 |- | [[Zaki, Nigeria|Zaki]] | align="right"|1,476 | align="right"|191,457 | [[Katagum]] | 752 |- | [[Gamawa]] | align="right"|2,925 | align="right"|286,388 | [[Gamawa]] | 752 |- | [[Damban]] | align="right"|1,077 | align="right"|150,922 | [[Damban]] | 752 |- | ''Northern region totals'' | align="right"|''15,035'' | align="right"|''2,178,683'' | | |} == Gorunshe == [[File:Bauchi Emirate Palace (1).jpg|thumb|Bauchi Emirate Council]] Kirfi kasantu goru ga [[Birnin Kudu|birni]] Bauchi la itaga akalla Siri 700 Mita fadirto ga fali gongola la Aji ele Amma ga goruye . La gontu ga Siri Amma benua. Goruye Andi tsairi barka mara ga dayi.(3) Ga al'ada kasantu ga Dalla hi ga mi'yya la Aji unda ga kirfawa kala ita a wol woli gunduma afiniwa . Bincike gako garu kirfi Aji inne mana amsoshi la kunsani ga al'ada ga adin ga harka Siyasa ga Woli apiniwa Aji wena no goru kirfi Ko goru Bauchi. == Labar woli == Jiha Bauchi mamayantun Fadi woli Kimani 49,119 km2 (18'965 sq mi) inko mamayan kaso 5.3 in Fadi [[Nijeriya|Nigeria]] kala Aji Dono gako lambobi beyi in latitudes 9' 3' ga 12'3' gudi ga kala longitude 8' 50' ga 11' dar Jiha itaga iyaka ga jihohi bawulo , Kano ga Jigawa Ko gudi, Taraba ga plateau Ko aushi, Gombe ga Yobe Ko ɗar kafan Kaduna Ko zoni. Jiha Bauchi ita aga jihohi arewa Najeriya lake ga yanayi tsirrai kala balau Sudan Savannah ga Sahel Savannah. She kala Andi tsaunuka aushi yanki goru, dangane ga alakati ga Jos plateau. == Godom mi'yya == Andi kabilu daban daban Har guda 55 ga goruye la gontango ga : Gerawa, Sayawa, Jarawa, Kirfawa, Afiniwa, [[Harshe Bole|Bolewa]], karekare, kanuri, Fa'awa, Butawa, Warjawa, Zulawa, Boyawa, Badawa, Amma Filanti ji asali Kabila goruye she aji nine mate ga asali al'adu su adin ga messesu. Andi suwa ga Dalla harsuna goruye dangane ga Ruta al'adu karai zowayi ga kala gontosu ga beyi modi, musamman Ko beyi kaibono su ga goma . Maddi Koga harsuna Andi ba'a ga dallasu . Ga Sayawa ga messesu. Biki sallah a modi koga muhimma bukukuwa la Aji yollako anin inne ga shaf soni. == Ilimi == Jimi a [[Abubakar Tafawa Balewa|Abubakar Tafawa Ɓalewa]](15) ita aga Siri birni Bauchi: Maddi Koga beyi Gozi gontango ga: Jami'a jiha Bauchi, Abubakar Tatari, Ali Polytechnic, Federal Polytechnic Bauchi: [[Amine adli|Aminu]] sale college of Education Azare: Federal University of health sciences Azare:. == Yaruka == Jir harsuna West chadic language la Aji amfani ga mete ga goru Bauchi gontango ga: * North Bauchi language * South Bauchi language Yaruka Bauchi jerasu ga dole Hukumomi SU: {| class="wikitable" ! LGA !! Languages |- | Alkaleri || Dass; [[Harshe Bole|Bole]]; Duguri; Giiwo; Guruntum-Mbaaru; Labir; Tangale |- | Bauchi || Bankal; Duguri; Dulbu; Galambu; Gera; Geruma; Giiwo; Guruntum-Mbaaru; Ju; Kir-Balar; Labir; Luri; Mangas; Mbat; Pa'a; Polci; Shiki; Tala; Zangwal |- | Bogoro || Saya |- | Darazo || [[Harshe Bole|Bole]]; Deno; Diri; Giiwo; Mburku; [[Ngamo]]; Zumbun |- | Dass || Bankal; Dass; Gwak; Polci; Saya; Shall-Zwall; Zari |- | Dukku || [[Bole language|Bole]] |- | Gamawa || Karekare |- | Ganjuwa || Ciwogai; Gera; Geruma; Jimi; Kariya; Kubi; Miya |- | Kirfi || Bure |- | Misau || Fulato/Borno; Shuwa; Kanuri; Hausa; Fulani |- | Ningi || Diri; Gamo-Ningi; Kudu-Camo; Pa'a; Siri; Warji; Geruma |- | Tafawa Balewa || Sur; Vaghat-Ya-Bijim-Legeri; Zari; Bankal; Gwak; Izere; Saya |- | Toro || Bankal; Dass; Geji; Geruma; Gwa; Gyem; Iguta; Izere; Jere; Lame; Lemoro; Mawa; Panawa; Polci; Sanga; Saya; Shau; Tunzuii; Zari; Zeem; Ziriya |- | Zaki || Bade |} == Gwamnati == Gwamna goruye ishinji Siri an zartarwa, jizani ga Fanni Shari'a a tene birni Bauchi. '''Gwamna''' Gwamna Bauchi ishinji Mr. Bala Abdulkadir Mohammed, La titu zabe ga Foti bonum 9 ga Tere Maris, soni in 2019 , ga wol woli jam'iya PDP . Rantsantun ishin ga Foti 29 ga Tere Mayu soni in 2019, la sheye zowu majini gwamna in baccimodi 6 ga Bauchi ga wol woli mulki democracy jamji kala gwamna in 16 shaf modi . Bala tela ji mataimaki gwamna Bauchi. == Kule ga lafiya == Jiha Bauchi itaga hasibitoci godom, Hukumomi kule ga lafiya gontango ga. * Abubakar Tafawa Balewa Teaching Hospital<ref>https://dailytrust.com/atbu-teaching-hospital-doctors-others-unite-for-patients-wellbeing/</ref><ref>https://dailypost.ng/2022/11/28/over-300-in-bauchi-to-benefit-from-free-medical-programme/</ref> * Bauchi State Hospital<ref><nowiki>https://tribuneonlineng.com/bauchi-hospital-management-board-restates-commitment-to-effective-healthcare-services/</nowiki></ref> * Al-amin Hospital * Niima Consultants Hospital * Albishir Clinic and Maternity * Proactive Clinic and Hospital Ltd. * Reemee Medicare Nigeria Limited. == Mi'yya la Monasu == * [[Abubakar Tafawa Balewa]], first and only prime minister of Nigeria * [[Jude Rabo]], vice-chancellor of Federal University, Wukari * Tijjani Yusuf Guruntum. * [[Isa Yuguda]]. An Siyasa, manshi gwamnan jihar Bauchi koga 2007 zuwa 2015. * [[Bala Mohammed|Bala Muhammed]]. Dan Siyasa * [[Mohammed Abdullahi Abubakar|Muhammed Abdullahi Abubakar]]. An Siyasa * [[Sa'adu Zungur]]. Mawaki * [[Adamu Muhammad Bulkachuwa]]. An shiyasa. * Isa Hassan Jama'are. == Hotuna == <gallery> Fayil:Bauchi state university Gadau.jpg|thumb|Bauchi jahaji la sirato File:Emir of Bauchi Main Palace.jpg|thumb|moyinshe Bauchi File:Top view of bauchi state capital Nigeria.jpg|thumb|Bauchi File:Bauchi State Governor Mohammed Abubakar with USAID Mission Director Michael Harvey 3.jpg|thumb|Bauchi File:Durba banner carrier.jpg|thumb|Mi'yya Bauchi ga beyi bukukuwa al'ada File:Federal government road linked from bauchi state to biu along bcga.jpg|thumb|Federal government of Bauchi File:Sumu wildlife park 3.jpg|thumb|Bani dabbobi mala in bauchi </gallery> == Bibiliyo == * Haour, Anne., Rossi, Benedetta (2010) ''Being and becoming Hausa : interdisciplinary perspectives.Leiden: Brill. [[ISBN]] 978-90-04-1854-25'' == Manazarta == {{Reflist|2}} {{Jihohin Najeriya}} {{DEFAULTSORT:Bauchi}} [[Category:Jihohin Nijeriya]] == Ɗiwwa == suj6xwbcowi5vheod7ed1ydyidf7ic7 10467 10466 2026-08-24T21:28:43Z Abu Sadeeq77 197 10467 wikitext text/x-wiki {{Databox|item=Q811144}} '''Bauchi''' [[Woli]] Bauchi woli Ji ya a fayta Aushi Dola Darr Ga woli [[Nijeriya]]. Gontattuk lefe Ga [[Kano]] Ko Aushi kafa [[Jigawa]], [[Gombe]], ga [[Jiha Yobe|Yobe]] Ko fayta Darr, kafa [[Kaduna]] Ko Zoni. Woli Bauchi wen zalshe sunto Ko labar Bani yele Bauchi, Yaa Ke itaji Burnin in Siri ye Har soni in 1976. Ga lokacin la bissan manshi jihohi gudi mana dar ga Nigeria. Ga boii jiha Bauchi bikkantun jiha Gombe, la koboii majjito jiha an Dono kotto ga soni in 1996 Zan woli Bauchi Ga Soni Dubu Modi Ga Dalma ɓonum Ga kobawulo Ga basshi modi (1976), Ga lotayeji missan Manshi woliye Aushi Ndola Darr [[Nijeriya]]. Ga boii woli Bauchi tattuk/gontattuk woli [[Gombe]], yake Ko tetteke ita Mai jito wolin in kotto Ga Ga Soni 1996. [[Fayil:Emir of Bauchi Main Palace.jpg|thumb|bauchi emir]] Bauchi itaji jaha in badi ga fadi woli (2) kala in bawulo ga godom [[Miyya Ogun|miyya]] (3). Itaga godom filaye kimani kilomita dubu arba 'in ga badi ga dalma hordo ga cassa'in ga kunum(45, 893) godom miyya kimani miliyan bawulo ga dubu dalma badi ga arba'in ga dalma baccimodi ga sittin ga kunum (7,540,663) (4) ga bisa kidaya soninshe in dubu balau ga baccimodi 2006 . Jaha ye rabajjito dangane ga yanayi woli zuwa kashi balau (2) west sudaniya savanna koga aushi ga kala semi-desert sahel savanna koga Arewa ga koga montane Jos plateau aushi mana zoni jiha (5) koga kyautalla beyinshe ga goruye gontu ga yankari National park katafri beyi zenani fa dabbobi mana bijimi bido barewa ga Turum Giwa ga messesu.(6) Bauchi ji siri jaha bauchi. Bala abdulkadir Muhammad Ishin ji gwamna jiha ye Yan zaben la soninshe in 2019 har zuwa inso. Maddi koga su. Manshiwa jiha gontan go ga abubakar tafawa balewa gamin Isa yakubu, isah Hamma misau Nazif gamawa, haruna Ningi ga ali wakil. Andi yarinshe godom ga yankuma daban daban in jihar gotango ga, Bo'fikka, ga Butawa ga yare warji koga yankuna dalla jiha yaren Fulfulde, yare Kanuri, ga yare karei'karei koga zani goru [[filanti]] ga yare gerawa, koga birni bauchi ga kewaye to yare zaar (sayawa) koga aushi yare Tangale Jarawa ko aushi mana zoni. Kala asari miyya goru (kaso tamanin ga badi 85%) musulwa ji ga dole kaso kiristoci ga kaso baccimodi 6% ga maguzawa ga kaso bonum 9% (7) ga farko soni Alif 1800,a [[Filanti]] jahadi bikkantun mafi akasari goruye birni Bauchi in inso. Jamji kafan moyinshe Bauchi ga wol woli daula musulunci in Sokoto ga Karni in 1900, turawa Mulki mallaka bikkantun moyinshe ye mete zuwoto ga wol woli mulki mallaka in gudi [[Nijeriya|Nigeria]]. La kobai majjito [[Nijeriya|Nigeria]] wol woli mulki turawa kafin wena yanci ga soni 1960 , Yan asali yanki jiha Bauchi Iya a gudi Nigeria Boi wena yanci koyi ga soni 1967, lokacin la bissan jiha ye majjito wol woli jiha gudi Nigeria ko ɗar boi bissa jiha gudi Ko ɗar kafan jiha Bauchi ga Foti kunum' (3) ga tare February ga soni in (20) kala boi kafato wantun dolinshe hukumomi ga zoni jiha ye meteji manjisu Bo jiha Gombe. Ga matsayi to in jiha la dogaran ga mara, tattali dara jiha ye Ta'allaku gako dabbobi ga hantsi manamin auduga, Duro kute, tumaturi ga kala doya jizani ga Tina Dom amfani mara daidai ga sauwa habika tishi ga masana'antu sarrifa karai tishi in gwan_gwani, ga kala oppako ma'adanai manamin mana kisato columbite, ga kala beyi ewe ido mana mala kume zoii in yankari ga Amma in wikki spring. == Asali sun == Dan game ga tarihi in gargajiya goruye watu asali ji ko gama an'bara Modi la Sunni baushe , la dowu ga yanki ye kafin nako moyinshe in farko wato Yakubu (la wantun Ko Dalla soni in 1800-10) jahohi Bauchi ga Adamawa kasantan anin yanci ga Goma ga mi'yya Daula Filanti in Sokoto. == Tarihi == [[File:ASC Leiden - Rietveld Collection - Nigeria 1970 - 1973 - 01 - 068 Sallah festivities in Bauchi. Rich horsemen in white, with red and white parasol for the ceremonial ruler of Bauchi.jpg|thumb|Bauchi a Shekarar 1970]] Beyilla Aji undani ga Bauchi kasantu kafin soni 1976 gunduma ga yanki jiha gudi Ko ɗar ga . Dangane ga kidaya in 2006 jiha Aji ga mi'yya Kimani 4.653,006 Jiha Bauchi wattu Tina Dom kala-kala gaga soni Manne . Andi harshe Ajawa ga Aji amfa ga ishin ga jiha Bauchi kala Koga bisani yakilannin ga gaga sonii 1920 ga soni in 1940 inko asali anin amfani ga harshe ye manjisu Bo afiniwa. Ga Lokaci Mulki mallaka Har lokaci wena yanci, ita aga yanki plateau ga yanki gudi Najeriya, Har zuwa soni in 1967 lokacin la an wena ga jihohi ga yankuna Bauchi, Bornoga [[Adamawa]] Aji gonta beyi wena jiha gudi ga Dar. Boi wena jiha Bauchi ga soni in 1976, ga Lokaci jihohi balau Bauchi ga Gombe in Gonto , jiha Andi dolinshe hukumomi guda (20) jamji kala (23). Jamji kala ga soni in 1997 , wantun jiha [[Gombe]]. Koga jiha Bauchi inko Aji wena sauwi dolinshe hukumomi ga Woli inko Dayan jaha Bauchi ga dolinshe [[Hukumomi In Dolinshe Ga Najeriya|hukumomi]] (20) mana yadda foran goyi: ==Dolinshe Hukumomi== jaha bauchi Andi adadi dolinshe hukumomi kobalau ([[20]]). Mate: {| class="sortable wikitable" |- ! Dolinshe Hukuma ! Fadin kasa (km<sup>2</sup>) ! Adadin 2006<br> Mutane ! Cibiyar Karamar Hukuma ! Lambar aika<br>sako |- | [[Bauchi]] | align="right"|3,687 | align="right"|493,810 | [[Bauchi]] | 740 |- | [[Tafawa Balewa, Nigeria|Tafawa Balewa]] | align="right"|2,515 | align="right"|219,988 | [[Bununu, Nigeria|Bununu]] | 740 |- | [[Dass, Nigeria|Dass]] | align="right"|535 | align="right"|89,943 | [[Dass, Nigeria|Dass]] | 740 |- | [[Toro, Nigeria|Toro]] | align="right"|6,932 | align="right"|350,404 | [[Toro, Nigeria|Toro]] | 740 |- | [[Bogoro]] | align="right"|894 | align="right"|84,215 | [[Bogoro]] | 741 |- | [[Ningi, Nigeria|Ningi]] | align="right"|4,625 | align="right"|387,192 | [[Ningi, Nigeria|Ningi]] | 742 |- | [[Warji]] | align="right"|625 | align="right"|114,720 | [[Warji]] | 742 |- | [[Ganjuwa]] | align="right"|5,059 | align="right"|280,468 | [[Kafin Madaki]] | 742 |- | [[Kirfi]] | align="right"|2,371 | align="right"|147,618 | [[Kirfi]] | 743 |- | [[Alkaleri]] | align="right"|5,918 | align="right"|329,424 | [[Alkaleri]] | 743 |- | ''Southern region totals'' | align="right"|''33,161'' | align="right"|''2,497,782'' | | |- | [[Darazo]] | align="right"|3,015 | align="right"|251,597 | [[Darazo]] | 750 |- | [[Misau]] | align="right"|1,226 | align="right"|263,487 | [[Misau]] | 750 |- | [[Giade]] | align="right"|668 | align="right"|156,969 | [[Giade]] | 750 |- | [[Shira, Nigeria|Shira]] | align="right"|1,321 | align="right"|234,014 | [[Yana, Nigeria|Yana]] | 750 |- | [[Jama'are]] | align="right"|493 | align="right"|117,883 | [[Jama'are]] | 751 |- | [[Katagum]] | align="right"|1,436 | align="right"|295,970 | [[Azare]] | 751 |- | [[Itas/Gadau]] | align="right"|1,398 | align="right"|229,996 | [[Itas]] | 751 |- | [[Zaki, Nigeria|Zaki]] | align="right"|1,476 | align="right"|191,457 | [[Katagum]] | 752 |- | [[Gamawa]] | align="right"|2,925 | align="right"|286,388 | [[Gamawa]] | 752 |- | [[Damban]] | align="right"|1,077 | align="right"|150,922 | [[Damban]] | 752 |- | ''Northern region totals'' | align="right"|''15,035'' | align="right"|''2,178,683'' | | |} == Gorunshe == [[File:Bauchi Emirate Palace (1).jpg|thumb|Bauchi Emirate Council]] Kirfi kasantu goru ga [[Birnin Kudu|birni]] Bauchi la itaga akalla Siri 700 Mita fadirto ga fali gongola la Aji ele Amma ga goruye . La gontu ga Siri Amma benua. Goruye Andi tsairi barka mara ga dayi.(3) Ga al'ada kasantu ga Dalla hi ga mi'yya la Aji unda ga kirfawa kala ita a wol woli gunduma afiniwa . Bincike gako garu kirfi Aji inne mana amsoshi la kunsani ga al'ada ga adin ga harka Siyasa ga Woli apiniwa Aji wena no goru kirfi Ko goru Bauchi. == Labar woli == Jiha Bauchi mamayantun Fadi woli Kimani 49,119 km2 (18'965 sq mi) inko mamayan kaso 5.3 in Fadi [[Nijeriya|Nigeria]] kala Aji Dono gako lambobi beyi in latitudes 9' 3' ga 12'3' gudi ga kala longitude 8' 50' ga 11' dar Jiha itaga iyaka ga jihohi bawulo , Kano ga Jigawa Ko gudi, Taraba ga plateau Ko aushi, Gombe ga Yobe Ko ɗar kafan Kaduna Ko zoni. Jiha Bauchi ita aga jihohi arewa Najeriya lake ga yanayi tsirrai kala balau Sudan Savannah ga Sahel Savannah. She kala Andi tsaunuka aushi yanki goru, dangane ga alakati ga Jos plateau. == Godom mi'yya == Andi kabilu daban daban Har guda 55 ga goruye la gontango ga : Gerawa, Sayawa, Jarawa, Kirfawa, Afiniwa, [[Harshe Bole|Bolewa]], karekare, kanuri, Fa'awa, Butawa, Warjawa, Zulawa, Boyawa, Badawa, Amma Filanti ji asali Kabila goruye she aji nine mate ga asali al'adu su adin ga messesu. Andi suwa ga Dalla harsuna goruye dangane ga Ruta al'adu karai zowayi ga kala gontosu ga beyi modi, musamman Ko beyi kaibono su ga goma . Maddi Koga harsuna Andi ba'a ga dallasu . Ga Sayawa ga messesu. Biki sallah a modi koga muhimma bukukuwa la Aji yollako anin inne ga shaf soni. == Ilimi == Jimi a [[Abubakar Tafawa Balewa|Abubakar Tafawa Ɓalewa]](15) ita aga Siri birni Bauchi: Maddi Koga beyi Gozi gontango ga: Jami'a jiha Bauchi, Abubakar Tatari, Ali Polytechnic, Federal Polytechnic Bauchi: [[Amine adli|Aminu]] sale college of Education Azare: Federal University of health sciences Azare:. == Yaruka == Jir harsuna West chadic language la Aji amfani ga mete ga goru Bauchi gontango ga: * North Bauchi language * South Bauchi language Yaruka Bauchi jerasu ga dole Hukumomi SU: {| class="wikitable" ! LGA !! Languages |- | Alkaleri || Dass; [[Harshe Bole|Bole]]; Duguri; Giiwo; Guruntum-Mbaaru; Labir; Tangale |- | Bauchi || Bankal; Duguri; Dulbu; Galambu; Gera; Geruma; Giiwo; Guruntum-Mbaaru; Ju; Kir-Balar; Labir; Luri; Mangas; Mbat; Pa'a; Polci; Shiki; Tala; Zangwal |- | Bogoro || Saya |- | Darazo || [[Harshe Bole|Bole]]; Deno; Diri; Giiwo; Mburku; [[Ngamo]]; Zumbun |- | Dass || Bankal; Dass; Gwak; Polci; Saya; Shall-Zwall; Zari |- | Dukku || [[Bole language|Bole]] |- | Gamawa || Karekare |- | Ganjuwa || Ciwogai; Gera; Geruma; Jimi; Kariya; Kubi; Miya |- | Kirfi || Bure |- | Misau || Fulato/Borno; Shuwa; Kanuri; Hausa; Fulani |- | Ningi || Diri; Gamo-Ningi; Kudu-Camo; Pa'a; Siri; Warji; Geruma |- | Tafawa Balewa || Sur; Vaghat-Ya-Bijim-Legeri; Zari; Bankal; Gwak; Izere; Saya |- | Toro || Bankal; Dass; Geji; Geruma; Gwa; Gyem; Iguta; Izere; Jere; Lame; Lemoro; Mawa; Panawa; Polci; Sanga; Saya; Shau; Tunzuii; Zari; Zeem; Ziriya |- | Zaki || Bade |} == Gwamnati == Gwamna goruye ishinji Siri an zartarwa, jizani ga Fanni Shari'a a tene birni Bauchi. '''Gwamna''' Gwamna Bauchi ishinji Mr. Bala Abdulkadir Mohammed, La titu zabe ga Foti bonum 9 ga Tere Maris, soni in 2019 , ga wol woli jam'iya PDP . Rantsantun ishin ga Foti 29 ga Tere Mayu soni in 2019, la sheye zowu majini gwamna in baccimodi 6 ga Bauchi ga wol woli mulki democracy jamji kala gwamna in 16 shaf modi . Bala tela ji mataimaki gwamna Bauchi. == Kule ga lafiya == Jiha Bauchi itaga hasibitoci godom, Hukumomi kule ga lafiya gontango ga. * Abubakar Tafawa Balewa Teaching Hospital<ref>https://dailytrust.com/atbu-teaching-hospital-doctors-others-unite-for-patients-wellbeing/</ref><ref>https://dailypost.ng/2022/11/28/over-300-in-bauchi-to-benefit-from-free-medical-programme/</ref> * Bauchi State Hospital<ref><nowiki>https://tribuneonlineng.com/bauchi-hospital-management-board-restates-commitment-to-effective-healthcare-services/</nowiki></ref> * Al-amin Hospital * Niima Consultants Hospital * Albishir Clinic and Maternity * Proactive Clinic and Hospital Ltd. * Reemee Medicare Nigeria Limited. == Mi'yya la Monasu == * [[Abubakar Tafawa Balewa]], first and only prime minister of Nigeria * [[Jude Rabo]], vice-chancellor of Federal University, Wukari * Tijjani Yusuf Guruntum. * [[Isa Yuguda]]. An Siyasa, manshi gwamnan jihar Bauchi koga 2007 zuwa 2015. * [[Bala Mohammed|Bala Muhammed]]. Dan Siyasa * [[Mohammed Abdullahi Abubakar|Muhammed Abdullahi Abubakar]]. An Siyasa * [[Sa'adu Zungur]]. Mawaki * [[Adamu Muhammad Bulkachuwa]]. An shiyasa. * Isa Hassan Jama'are. == Hotuna == <gallery> Fayil:Bauchi state university Gadau.jpg|thumb|Bauchi jahaji la sirato File:Emir of Bauchi Main Palace.jpg|thumb|moyinshe Bauchi File:Top view of bauchi state capital Nigeria.jpg|thumb|Bauchi File:Bauchi State Governor Mohammed Abubakar with USAID Mission Director Michael Harvey 3.jpg|thumb|Bauchi File:Durba banner carrier.jpg|thumb|Mi'yya Bauchi ga beyi bukukuwa al'ada File:Federal government road linked from bauchi state to biu along bcga.jpg|thumb|Federal government of Bauchi File:Sumu wildlife park 3.jpg|thumb|Bani dabbobi mala in bauchi </gallery> == Bibiliyo == * Haour, Anne., Rossi, Benedetta (2010) ''Being and becoming Hausa : interdisciplinary perspectives.Leiden: Brill. [[ISBN]] 978-90-04-1854-25'' == Manazarta == {{Reflist|2}} {{Jihohin Najeriya}} {{DEFAULTSORT:Bauchi}} [[Category:Jihohin Nijeriya]] == Ɗiwwa == a8tvdiui71vde6y5mr0j4w2pp20l9oh Bido 0 461 10486 8480 2026-08-24T23:26:41Z Yakubu19 208 10486 wikitext text/x-wiki {{Databox|item=Q1367}} '''Bido''' ye sunni (biri) kobo apino. Nasarawi kala a esoni Monkey. Ba kossu godon kala anin [[Pikka]] a eso su "biddinshe". Bidoye kala kala. Bido ye monanni ga dono ga gusho baka innani ga bono to bai modi duwunningo. Bido ba dowu ga ga mi'yya a ngozo tsayi wadda mi'yya a ishini bido a wana anin bonfoni a zowoni koni zawa har a ishi arella pilanti a ishini maddima na asali bidoye mi'yyaji amma emeyye onanisa. == Ɗiwwa == [[Panni:Atiimala]] c59sq7hw6ih70bll03m9n44slng6vyc Bola Ahmed Tinubu 0 468 10478 8484 2026-08-24T22:28:54Z Yakubu19 208 10478 wikitext text/x-wiki {{Databox|item=Q3510872}} '''Bola Ahmed Adekule Tinubu''' Ishinye kwararre an siyasa ga [[Nijeriya]], kala shugaba woli Najeriya' Yan koga foti 29 ga tare mayun soninshe in 2023.<ref>https://www.premiumtimesng.com/news/601131-profile-bola-tinubu-the-kingmaker-becomes-nigerias-president-16th-leader.html</ref> Layanningo ga foti 29 ga tare maris ga soninshe in alif dubu modi ga dalma bonum ga kobadi ga balau (1952) miladiyya. ga Lotaye ruta ga matsayi gwamnati jiha [[Legos]] koga soninshe alif dubu dalma bonum ga ko'bonum ga bonum(1999) zuwa soninshe in dubu balau ga bawulo (2007) sheji Antun Sanata la aji wakilta Legas ko zoni modi dubba lokaci ga jamhuryar ko kunum. (Third Republic).(2) Bola Ahmed Tinubu shahararren an siyasa ji ga Nijeriya inko ji ga sarauta asiwaju ga woli Yarabawa. Kala Jargaba ga Borgu ko jiha [[Neja]] aji shahara ko falla siyasa ga muliki ga Najeriya' shaffi modi. Aji inne asiwaju gako la dadu jini yolla zareni gako koga mako Najeriya' ko mulki demokuradiyya ko alif dubu modi ga dalma bonum ga kobonum ga bonum (1999). Tinubu kasantu ga matsayi bowu ga falla siyasa sakamako gedau fora ga kume laga Ishin ga siyasa woli Yarabawa ga Nijeriya shaffi bo modi, Sheji kala foru miyya ga godom ga Najeriya' inko isu goggo wena mukamai ga Tarayya ga jihohi. (3)(4)(5) == Ɗiwwa == gnklpyvb5x9rdoi7mh9k7tai9vsfej6 Borno 0 471 10468 3617 2026-08-24T21:36:55Z Abu Sadeeq77 197 10468 wikitext text/x-wiki {{Databox|item=Q130626}} '''Jiha Borno''' jiha ji la arewa mana dar ga [[Nijeriya|Najeriya]]' Ita gontan iyaka yobe ko zoni, [[Gombe]] ko aushi mana dar [[Adamawa]] ko aushi yayin la iyaka ko dar Antun iyaka ko woli ga woli ga karatu in zoni kala le hade ji ga yanki.(1)(2)(3) Jiha Barno itaji jiha in balau (2) ga siri woli koga jahohi 36. Ga [[Nijeriya]] boii jiya Neja. Amma shaff sirito itaji In kohmodi, (11) ga godon miyya ga lokaci la aji kiyasi miyya ga kalla kimani miliyan 5.86 ga soninshe dubu balau ga kobaccimodi (2016).(4)(5) Ga fanni yanayi woli semi-desert sahelian savannah ko gudi ga kala sudaniya savanna ko zoni ko dalla ga aushi ga jiha kala miyya mandara plateau koga yanki aushi mana dar.(6) Jiha Barno aji kabilu la dowasu ga yanki ye in lokaci garan mana min Dghwede, Glavda, Guduf, Laamang, Mafa, [[Kanuri]], ga mandara ga dalla yanki ye Afade, Yedina ( Buduwa). Ga kala kanembu kaga tetteke yanki zoni mana dar Harshe waja ga karyar aushi yanki ga kala kyibaku, kamwe, kilba, margi, ga kala siri ga yanki aushi jaha, ga yayinga harshe Kanuri ga shuwa Ga rabke Rayuwa ga yankuna dalla ga godon jiha ko fanni adin mafi godom miyya jiha(85%) [[musulwa]] ji, ga tsirarusu kiristanci ga mabiya adin gargajiya, ga kaso 7% lama yallaji (7)(8)(9)(10) Yanki karni in (7 century), inko aji Mona jiha Barno kasantan koga yanki Daular kanem-Bormu. Daular ga fetengo ko yanki aushi Libya, ko inso (Fezzan) harzuwa yanki cadi har Zuwa yanki jiha Borno ko inso . Koboii karni in 13. Tilastin ga kanem Bornu kami ji koboii yankoki ga nasara sa inko, majjito masarauta Borno, kafin Ishin sauwi gedau kala ita mulkan yanki har tadawo soninshe dalam badi (500). Har zuwa karni in 18 (soninshe 1800) lokaci jaha ye [[Filanti|Fulani]], mate raunanan masarauta Borno, har masarauta zalan sikita gadau. Bikkantun mafi godonsu yanki masarauta inko aji gonta yanki jiha [[Adamawa]] inko inso ga wolwoli Daular Halifancin [[Sokoto]], soninshe 80 koboii sheji, Ribah az-Zubayr, modi nem washi ga woli [[Sudan]] malliku Daula soninshe kala yina mulki ko dina karni in soninshe alif 1900 lokaci ga sojoji faransa' mate duwan Ishin ji yanki kousseri, Har inso Turawa mulki mallaka tantun masarauta Adamawa ga Washi, inko Daula Jamus ga in Burtaniya, mate Tina ga yaki. Shaffinsu yankuna woli Rabh ga kala masarauta Adamawa bissan su ko dalla su tubbayi muliki mallaka inko sashi masarauta Borno ko inso ko wasi wolwoli mulki Jamus ga Burtaniya. ==Ɗiwwa== cq1l7bjpd2mxm3du1navgelqcl6keas China 0 481 10476 8228 2026-08-24T22:17:53Z Yakubu19 208 10476 wikitext text/x-wiki [[Panni:Olii pewe]] {{Infobox country | conventional_long_name = People’s Republic of China | native_name = <i>中华人民共和国<br>Zhōnghuá Rénmín Gònghéguó</i> | image_flag = Flag of China.svg | image_coat = 中華人民共和國國徽.svg | emblem_type = Emblem | image_map = CHN orthographic.svg | national_anthem = "义勇军进行曲 ([[Chinese language|Chinese]])"<br>Yìyǒngjūn jìnxíngqǔ<br>March of the Volunteers<br><br>[[Fayil:March of the Volunteers instrumental.ogg]] | official_languages = [[Standard Chinese]] | capital = [[Beijing]] | largest_city = [[Chongqing]] (by municipal population)<br>[[Shanghai]] (by urban population) | demonym = Chinese | ethnic_groups = 91.11% Han Chinese<br>1.39% Zhuang<br>0.84% Uyghur<br>0.81% Hui<br>0.79% Miao<br>0.74% Manchu<br>0.70% Yi<br>0.68% Tujia<br>0.50% Tibetan<br>2.44% others | government = Unitary communist state | leader1 = Xi Jinping | leader1_type = CCP General Secretary and President | leader2 = Li Qiang | leader2_type = Premier }} Sin do jamhuryar woli sin woji la ga nahiya [[Asiya]]. Sin Andi godon filaye mana kilomita kobalau. 9,596,961. Sin Andi godom miyya kimani biliyan modi ga miliyan dalma kunum ga sittin ga badi. 1,403,500,365, bisa ga Jimila soninshe in 2016. Ga siri birni sin Ishin [[Beijing]]. (3)(4) Sin itu iyaka mana she: Rasha, kazakyaslan, Kyrgyzstan, Tajikistan, magnolia, koriya ko aushi, laos, vielnam, Myanmar, [[Indiya|India]], bhulan, [[Nepal]], [[Afghanistan]], kala ga [[Pakistan]]. ==Asalito== Woli sin (Guangdong), mango( koga yanki xanlon) ga calaio (koga woli cambalu, ga xandu, ga gadar marmara) shaf an eweni ga matsayi yankuna daban-daban ga eme taswira 1570 in Abraham orlelius. Antun amfani ga kalma"china" kagasu Inglishi Yan karni ga 16: shaf ga she: sinawa ga kossu mate an amfani ga Ishin sa ga eme lokaci. Wantun asalini ko goggo Foligal, malay. Ga Farisa zuwa kalma sanskril. Cina la Antun amfani ga ita ga mashi India.(6)(7) China"(8)(9),(10) wantun amfani ga Barbosa Dagona Farisa chin(चीन), inko kala watu asali koga sankil cina(चीन). [11] asali kalma sanskril balu ji in muhawara BC)(12) koga 1655. Marlino matani onu shawara cewa Daula qin (221.206 kz)(13)(14)15)(16)(17)(18) kala hukuma In jiha zamani Ishin"jamhuryar miyya sin" sinawa saukake: 中华人民和和国; sinawa ga gargajiya 中華人民共和國; pinyin: Zhōnghuá rénmín gònghéguó). Dubba tsari Ishin"china" 中国; 中國; [19] jamji kala Zhongguo kala aji fassari inshin ga middle kindom' ga Turanci (20)s. (21)(22)(23) == Ɗiwwa == [[Panni:Lelo'aji]] cb9784x6m6niflhii5am0ky0k8mtli1 Dawun 0 497 10480 3973 2026-08-24T22:47:12Z Yakubu19 208 10480 wikitext text/x-wiki '''Dawun''' ye a labo ga oli ba dona ga konni. Sun dawun ye kobo Nasarawi (Mate), kobo apino kala (Taburma) == Dawun-eni == Dawun bama kala eni shafi modi gabo fikka. Ishi eni ye ati njele, nosso shafi amfani ni. a ramoni ga fimo baka bottun fimo ka uzeyi Ishi gabo foti ba firuwo yane ka nettu ka zure ni,baka zurawoyi ka labbe ni.labbu jirjir Andi don: 3, ba 4 bakala 5, 6 yadda la de ka ndoluwoyi. Baka labbu tuwo ka dondeni gaji zani yane ka tulle ga konniye ba tullawoyi ka labbe kurgu, kurgu ye kala daban ga labbu dawun ihi kurgu a labboni don modi 1 fir baka labbu kurgu yane ka dondeni ga bo dawun ye, baka itu she bolo dawun eni fallawo kafa labo Kawatu ati nosso ba Kala nyele. == Ɗiwwa == 26inl633czal1cyfn1em61ceo16b8xf Donald Trump 0 505 10488 8504 2026-08-25T04:24:53Z 260825t1243 362 /* */ 10488 wikitext text/x-wiki {{Databox|item=Q22686}} '''Donald John Trump''' nasaran lardi [[Amurka]] an dara rankata ke an goma ke manshi shugaba ma lardi Amurka.ㅋㅋㅋㅋㅋㅋㅋㅋ == Lardi == *Ke manshi[[Fayil:Donald Trump official portrait.jpg|thumb]] * Shugaba ma Amurka * Lardi Latin == Hoto == <gallery> File:Donald Trump official portrait (cropped).jpg File:Bradley Byrne and Donald Trump - 2016.jpg File:Kelly Loeffler and Donald Trump.jpg File:Donald Trump official portrait (cropped 2).jpg File:Donald Trump Signature.svg File:Bill Clinton and Donald Trump at the U.S. Open in 2000, Flushing Meadows–Corona Park.jpg File:Donald Trump Pentagon 2017.jpg </gallery><gallery> File:Bill Clinton and Donald Trump at the U.S. Open in 2000, Flushing Meadows–Corona Park.jpg|Bill Clinton tare da Donald Trump a shekaran 2000 File:Jayanthi Sirisena, Maithripala Sirisena, Donald Trump, and Melania Trump.jpg|Jayanthi Sirisena da Donald Trump File:NASA astronaut Kate Rubins visits Donald and Ivanka Trump, April 2017.jpg|Kate Rubins ta ziyarci Donald Trump File:Trump at King Khalid International Airport.jpg| Trump a filin jirgin kasan Sarki Khalid </gallery> ==Ɗiwwa== boks32i96iog98k2f8jn2g990dc1tay 10489 10488 2026-08-25T04:25:18Z 260825t1243 362 /* */ 10489 wikitext text/x-wiki {{Databox|item=Q22686}} '''Donald Johnna Trump''' (도널드 존나 트럼프) nasaran lardi [[Amurka]] an dara rankata ke an goma ke manshi shugaba ma lardi Amurka. == Lardi == *Ke manshi[[Fayil:Donald Trump official portrait.jpg|thumb]] * Shugaba ma Amurka * Lardi Latin == Hoto == <gallery> File:Donald Trump official portrait (cropped).jpg File:Bradley Byrne and Donald Trump - 2016.jpg File:Kelly Loeffler and Donald Trump.jpg File:Donald Trump official portrait (cropped 2).jpg File:Donald Trump Signature.svg File:Bill Clinton and Donald Trump at the U.S. Open in 2000, Flushing Meadows–Corona Park.jpg File:Donald Trump Pentagon 2017.jpg </gallery><gallery> File:Bill Clinton and Donald Trump at the U.S. Open in 2000, Flushing Meadows–Corona Park.jpg|Bill Clinton tare da Donald Trump a shekaran 2000 File:Jayanthi Sirisena, Maithripala Sirisena, Donald Trump, and Melania Trump.jpg|Jayanthi Sirisena da Donald Trump File:NASA astronaut Kate Rubins visits Donald and Ivanka Trump, April 2017.jpg|Kate Rubins ta ziyarci Donald Trump File:Trump at King Khalid International Airport.jpg| Trump a filin jirgin kasan Sarki Khalid </gallery> ==Ɗiwwa== dffwu5x7ms5rfd5f789mqfjl9oh8egk 10490 10489 2026-08-25T04:38:40Z Jianhui67 363 Reverted edits by [[Special:Contributions/260825t1243|260825t1243]] ([[User talk:260825t1243|talk]]) to last revision by [[User:WikiBayer|WikiBayer]] 8504 wikitext text/x-wiki {{Databox|item=Q22686}} '''Donald John Trump''' nasaran lardi [[Amurka]] an dara rankata ke an goma ke manshi shugaba ma lardi Amurka. == Lardi == *Ke manshi[[Fayil:Donald Trump official portrait.jpg|thumb]] * Shugaba ma Amurka * Lardi Latin == Hoto == <gallery> File:Donald Trump official portrait (cropped).jpg File:Bradley Byrne and Donald Trump - 2016.jpg File:Kelly Loeffler and Donald Trump.jpg File:Donald Trump official portrait (cropped 2).jpg File:Donald Trump Signature.svg File:Bill Clinton and Donald Trump at the U.S. Open in 2000, Flushing Meadows–Corona Park.jpg File:Donald Trump Pentagon 2017.jpg </gallery><gallery> File:Bill Clinton and Donald Trump at the U.S. Open in 2000, Flushing Meadows–Corona Park.jpg|Bill Clinton tare da Donald Trump a shekaran 2000 File:Jayanthi Sirisena, Maithripala Sirisena, Donald Trump, and Melania Trump.jpg|Jayanthi Sirisena da Donald Trump File:NASA astronaut Kate Rubins visits Donald and Ivanka Trump, April 2017.jpg|Kate Rubins ta ziyarci Donald Trump File:Trump at King Khalid International Airport.jpg| Trump a filin jirgin kasan Sarki Khalid </gallery> ==Ɗiwwa== 9emjl0cc5iuq8csgqd3jyiea1oq7e5i 10491 10490 2026-08-25T04:46:45Z 260825t1243 362 Undid revision [[Special:Diff/10490|10490]] by [[Special:Contributions/Jianhui67|Jianhui67]] ([[User talk:Jianhui67|talk]]) 10491 wikitext text/x-wiki {{Databox|item=Q22686}} '''Donald Johnna Trump''' (도널드 존나 트럼프) nasaran lardi [[Amurka]] an dara rankata ke an goma ke manshi shugaba ma lardi Amurka. == Lardi == *Ke manshi[[Fayil:Donald Trump official portrait.jpg|thumb]] * Shugaba ma Amurka * Lardi Latin == Hoto == <gallery> File:Donald Trump official portrait (cropped).jpg File:Bradley Byrne and Donald Trump - 2016.jpg File:Kelly Loeffler and Donald Trump.jpg File:Donald Trump official portrait (cropped 2).jpg File:Donald Trump Signature.svg File:Bill Clinton and Donald Trump at the U.S. Open in 2000, Flushing Meadows–Corona Park.jpg File:Donald Trump Pentagon 2017.jpg </gallery><gallery> File:Bill Clinton and Donald Trump at the U.S. Open in 2000, Flushing Meadows–Corona Park.jpg|Bill Clinton tare da Donald Trump a shekaran 2000 File:Jayanthi Sirisena, Maithripala Sirisena, Donald Trump, and Melania Trump.jpg|Jayanthi Sirisena da Donald Trump File:NASA astronaut Kate Rubins visits Donald and Ivanka Trump, April 2017.jpg|Kate Rubins ta ziyarci Donald Trump File:Trump at King Khalid International Airport.jpg| Trump a filin jirgin kasan Sarki Khalid </gallery> ==Ɗiwwa== dffwu5x7ms5rfd5f789mqfjl9oh8egk 10492 10491 2026-08-25T05:02:05Z Tanbiruzzaman 91 Reverted edit by [[Special:Contributions/260825t1243|260825t1243]] ([[User talk:260825t1243|talk]]) to last revision by [[User:Jianhui67|Jianhui67]] 8504 wikitext text/x-wiki {{Databox|item=Q22686}} '''Donald John Trump''' nasaran lardi [[Amurka]] an dara rankata ke an goma ke manshi shugaba ma lardi Amurka. == Lardi == *Ke manshi[[Fayil:Donald Trump official portrait.jpg|thumb]] * Shugaba ma Amurka * Lardi Latin == Hoto == <gallery> File:Donald Trump official portrait (cropped).jpg File:Bradley Byrne and Donald Trump - 2016.jpg File:Kelly Loeffler and Donald Trump.jpg File:Donald Trump official portrait (cropped 2).jpg File:Donald Trump Signature.svg File:Bill Clinton and Donald Trump at the U.S. Open in 2000, Flushing Meadows–Corona Park.jpg File:Donald Trump Pentagon 2017.jpg </gallery><gallery> File:Bill Clinton and Donald Trump at the U.S. Open in 2000, Flushing Meadows–Corona Park.jpg|Bill Clinton tare da Donald Trump a shekaran 2000 File:Jayanthi Sirisena, Maithripala Sirisena, Donald Trump, and Melania Trump.jpg|Jayanthi Sirisena da Donald Trump File:NASA astronaut Kate Rubins visits Donald and Ivanka Trump, April 2017.jpg|Kate Rubins ta ziyarci Donald Trump File:Trump at King Khalid International Airport.jpg| Trump a filin jirgin kasan Sarki Khalid </gallery> ==Ɗiwwa== 9emjl0cc5iuq8csgqd3jyiea1oq7e5i Rutta mossa:El-hussain14 3 895 10481 8130 2026-08-24T23:11:33Z RAPTOR7762 18 /* Bole Wikipedia help and Updates */ new section 10481 wikitext text/x-wiki == Welcome! == Congratulations on the creation of Bole Wikipedia! However, this Wikipedia needs your help to get started; * Please check that '''all pages are imported''' from Wikimedia incubator; I recommend that the community begin editing after all of this has been verified. * Please check that '''there are no other problems with the wiki settings'''. Of course, statistics will not work properly now. Or, some features of the visual editor may not work. This usually resolves automatically within 2 weeks. Thank you for your efforts, and congratulations once again. I look forward to your cooperation :D --[[Ruta:Sotiale|Sotiale]] ([[Rutta mossa:Sotiale|mossa]]) 13:31, 1 Agusta 2026 (WAT) :Thank you so much sir for the good job. [[Ruta:El-hussain14|El-hussain14]] ([[Rutta mossa:El-hussain14|mossa]]) 14:13, 1 Agusta 2026 (WAT) :Thank you so much sir, I have confirmed that all pages are imported. [[Ruta:El-hussain14|El-hussain14]] ([[Rutta mossa:El-hussain14|mossa]]) 00:58, 5 Agusta 2026 (WAT) :: Thank you. I hope you have a pleasant editing on this wiki :) --[[Ruta:Sotiale|Sotiale]] ([[Rutta mossa:Sotiale|mossa]]) 11:54, 8 Agusta 2026 (WAT) == Bole Wikipedia help and Updates == Dear Elhussaini4, I would like to enquire about an urgent translation of the following message: <nowiki> This is a file from the Wikimedia Commons. Information from its description page thereis shown below. Commons is a freely licensed media file repository. You can help. Your account has been created. You can change your {{SITENAME}} [[Special:Preferences|preferences]] if you wish. Choose one of the village pumps below to start or join a discussion. Get help in familiarising yourself with the Bole language or you need help with grammer, vocabulary and more. Discuss or request for improvements or changes to the Main Page. Discuss or request for improvements or changes to the Village pump Discuss existing and proposed policies Discuss technical issues about Wikipedia Discuss new proposals that are not policy-related Test new ideas before implementing them For discussions relating to requesting/revoking permissions, e.g., adminship, importer. </nowiki> For all discussions that do not fit onto any other dedicated noticeboards As these are a crucial system messages and front-page texts, I might need it to be translated as soon as possible. Secondly, the Bole Wikipedia is receiving not very high viewership from natives. Could you maybe help spread the wikipedia awareness and get more peiple to also contribute? (It has stagnated at ~473 articles). Thirdly, I have done a massive overhaul of the system messages, including stuling, cleaning up some spare pages left behind during the incubator stage. I have also overhauled the Bole Wikimedians User Group site, hope you like it! Lastly, as the wikipedia grows, there are still little online resources regarding the vocabulary, (i looked at the Bole-English-Hausa dictionary, it was not cery useful). However, on the bright side, i found out there's this sister project of the Wikimedia Foundation, called Wiktionary (https://www.wiktionary.org). It can be localised into the Bole language, though we need to go trhough the second round of requesting, just like the wikipedia, where you go to incubator, contribute and all that. I hope you can take some time to review and look through. Sorry for the inconvenience caused, and thank you! [[Ruta:RAPTOR7762|RAPTOR7762]] ([[Rutta mossa:RAPTOR7762|mossa]]) 00:11, 25 Agusta 2026 (WAT) h6ose4zaw1x3p50cvamjgjomrgsgp9w 10482 10481 2026-08-24T23:12:45Z RAPTOR7762 18 /* Bole Wikipedia help and Updates */ 10482 wikitext text/x-wiki == Welcome! == Congratulations on the creation of Bole Wikipedia! However, this Wikipedia needs your help to get started; * Please check that '''all pages are imported''' from Wikimedia incubator; I recommend that the community begin editing after all of this has been verified. * Please check that '''there are no other problems with the wiki settings'''. Of course, statistics will not work properly now. Or, some features of the visual editor may not work. This usually resolves automatically within 2 weeks. Thank you for your efforts, and congratulations once again. I look forward to your cooperation :D --[[Ruta:Sotiale|Sotiale]] ([[Rutta mossa:Sotiale|mossa]]) 13:31, 1 Agusta 2026 (WAT) :Thank you so much sir for the good job. [[Ruta:El-hussain14|El-hussain14]] ([[Rutta mossa:El-hussain14|mossa]]) 14:13, 1 Agusta 2026 (WAT) :Thank you so much sir, I have confirmed that all pages are imported. [[Ruta:El-hussain14|El-hussain14]] ([[Rutta mossa:El-hussain14|mossa]]) 00:58, 5 Agusta 2026 (WAT) :: Thank you. I hope you have a pleasant editing on this wiki :) --[[Ruta:Sotiale|Sotiale]] ([[Rutta mossa:Sotiale|mossa]]) 11:54, 8 Agusta 2026 (WAT) == Bole Wikipedia help and Updates == Dear Elhussaini4, I would like to enquire about an urgent translation of the following message: This is a file from the Wikimedia Commons. Information from its description page thereis shown below. Commons is a freely licensed media file repository. You can help. <br> <br> <nowiki> Your account has been created. You can change your {{SITENAME}} [[Special:Preferences|preferences]] if you wish.</nowiki> <br> <br> Choose one of the village pumps below to start or join a discussion. Get help in familiarising yourself with the Bole language or you need help with grammer, vocabulary and more. Discuss or request for improvements or changes to the Main Page. Discuss or request for improvements or changes to the Village pump Discuss existing and proposed policies Discuss technical issues about Wikipedia Discuss new proposals that are not policy-related Test new ideas before implementing them For discussions relating to requesting/revoking permissions, e.g., adminship, importer. For all discussions that do not fit onto any other dedicated noticeboards As these are a crucial system messages and front-page texts, I might need it to be translated as soon as possible. Secondly, the Bole Wikipedia is receiving not very high viewership from natives. Could you maybe help spread the wikipedia awareness and get more peiple to also contribute? (It has stagnated at ~473 articles). Thirdly, I have done a massive overhaul of the system messages, including stuling, cleaning up some spare pages left behind during the incubator stage. I have also overhauled the Bole Wikimedians User Group site, hope you like it! Lastly, as the wikipedia grows, there are still little online resources regarding the vocabulary, (i looked at the Bole-English-Hausa dictionary, it was not cery useful). However, on the bright side, i found out there's this sister project of the Wikimedia Foundation, called Wiktionary (https://www.wiktionary.org). It can be localised into the Bole language, though we need to go trhough the second round of requesting, just like the wikipedia, where you go to incubator, contribute and all that. I hope you can take some time to review and look through. Sorry for the inconvenience caused, and thank you! [[Ruta:RAPTOR7762|RAPTOR7762]] ([[Rutta mossa:RAPTOR7762|mossa]]) 00:11, 25 Agusta 2026 (WAT) lbyld3am4l4cvx2v9jq095ihkc1i3yi 10483 10482 2026-08-24T23:13:23Z RAPTOR7762 18 /* Bole Wikipedia help and Updates */ 10483 wikitext text/x-wiki == Welcome! == Congratulations on the creation of Bole Wikipedia! However, this Wikipedia needs your help to get started; * Please check that '''all pages are imported''' from Wikimedia incubator; I recommend that the community begin editing after all of this has been verified. * Please check that '''there are no other problems with the wiki settings'''. Of course, statistics will not work properly now. Or, some features of the visual editor may not work. This usually resolves automatically within 2 weeks. Thank you for your efforts, and congratulations once again. I look forward to your cooperation :D --[[Ruta:Sotiale|Sotiale]] ([[Rutta mossa:Sotiale|mossa]]) 13:31, 1 Agusta 2026 (WAT) :Thank you so much sir for the good job. [[Ruta:El-hussain14|El-hussain14]] ([[Rutta mossa:El-hussain14|mossa]]) 14:13, 1 Agusta 2026 (WAT) :Thank you so much sir, I have confirmed that all pages are imported. [[Ruta:El-hussain14|El-hussain14]] ([[Rutta mossa:El-hussain14|mossa]]) 00:58, 5 Agusta 2026 (WAT) :: Thank you. I hope you have a pleasant editing on this wiki :) --[[Ruta:Sotiale|Sotiale]] ([[Rutta mossa:Sotiale|mossa]]) 11:54, 8 Agusta 2026 (WAT) == Bole Wikipedia help and Updates == Dear [[Ruta:Elhussain4|Elhussain4, I would like to enquire about an urgent translation of the following message: This is a file from the Wikimedia Commons. Information from its description page thereis shown below. Commons is a freely licensed media file repository. You can help. <br> <br> <nowiki> Your account has been created. You can change your {{SITENAME}} [[Special:Preferences|preferences]] if you wish.</nowiki> <br> <br> Choose one of the village pumps below to start or join a discussion. Get help in familiarising yourself with the Bole language or you need help with grammer, vocabulary and more. Discuss or request for improvements or changes to the Main Page. Discuss or request for improvements or changes to the Village pump Discuss existing and proposed policies Discuss technical issues about Wikipedia Discuss new proposals that are not policy-related Test new ideas before implementing them For discussions relating to requesting/revoking permissions, e.g., adminship, importer. For all discussions that do not fit onto any other dedicated noticeboards As these are a crucial system messages and front-page texts, I might need it to be translated as soon as possible. Secondly, the Bole Wikipedia is receiving not very high viewership from natives. Could you maybe help spread the wikipedia awareness and get more peiple to also contribute? (It has stagnated at ~473 articles). Thirdly, I have done a massive overhaul of the system messages, including stuling, cleaning up some spare pages left behind during the incubator stage. I have also overhauled the Bole Wikimedians User Group site, hope you like it! Lastly, as the wikipedia grows, there are still little online resources regarding the vocabulary, (i looked at the Bole-English-Hausa dictionary, it was not cery useful). However, on the bright side, i found out there's this sister project of the Wikimedia Foundation, called Wiktionary (https://www.wiktionary.org). It can be localised into the Bole language, though we need to go trhough the second round of requesting, just like the wikipedia, where you go to incubator, contribute and all that. I hope you can take some time to review and look through. Sorry for the inconvenience caused, and thank you! [[Ruta:RAPTOR7762|RAPTOR7762]] ([[Rutta mossa:RAPTOR7762|mossa]]) 00:11, 25 Agusta 2026 (WAT) qkmw1yl5tnh2w94kxfks361vnzz8cv5 10484 10483 2026-08-24T23:14:02Z RAPTOR7762 18 /* Bole Wikipedia help and Updates */ 10484 wikitext text/x-wiki == Welcome! == Congratulations on the creation of Bole Wikipedia! However, this Wikipedia needs your help to get started; * Please check that '''all pages are imported''' from Wikimedia incubator; I recommend that the community begin editing after all of this has been verified. * Please check that '''there are no other problems with the wiki settings'''. Of course, statistics will not work properly now. Or, some features of the visual editor may not work. This usually resolves automatically within 2 weeks. Thank you for your efforts, and congratulations once again. I look forward to your cooperation :D --[[Ruta:Sotiale|Sotiale]] ([[Rutta mossa:Sotiale|mossa]]) 13:31, 1 Agusta 2026 (WAT) :Thank you so much sir for the good job. [[Ruta:El-hussain14|El-hussain14]] ([[Rutta mossa:El-hussain14|mossa]]) 14:13, 1 Agusta 2026 (WAT) :Thank you so much sir, I have confirmed that all pages are imported. [[Ruta:El-hussain14|El-hussain14]] ([[Rutta mossa:El-hussain14|mossa]]) 00:58, 5 Agusta 2026 (WAT) :: Thank you. I hope you have a pleasant editing on this wiki :) --[[Ruta:Sotiale|Sotiale]] ([[Rutta mossa:Sotiale|mossa]]) 11:54, 8 Agusta 2026 (WAT) == Bole Wikipedia help and Updates == Dear [[Ruta:El-hussain14|El-hussain14]], I would like to enquire about an urgent translation of the following message: This is a file from the Wikimedia Commons. Information from its description page thereis shown below. Commons is a freely licensed media file repository. You can help. <br> <br> <nowiki> Your account has been created. You can change your {{SITENAME}} [[Special:Preferences|preferences]] if you wish.</nowiki> <br> <br> Choose one of the village pumps below to start or join a discussion. Get help in familiarising yourself with the Bole language or you need help with grammer, vocabulary and more. Discuss or request for improvements or changes to the Main Page. Discuss or request for improvements or changes to the Village pump Discuss existing and proposed policies Discuss technical issues about Wikipedia Discuss new proposals that are not policy-related Test new ideas before implementing them For discussions relating to requesting/revoking permissions, e.g., adminship, importer. For all discussions that do not fit onto any other dedicated noticeboards As these are a crucial system messages and front-page texts, I might need it to be translated as soon as possible. Secondly, the Bole Wikipedia is receiving not very high viewership from natives. Could you maybe help spread the wikipedia awareness and get more peiple to also contribute? (It has stagnated at ~473 articles). Thirdly, I have done a massive overhaul of the system messages, including stuling, cleaning up some spare pages left behind during the incubator stage. I have also overhauled the Bole Wikimedians User Group site, hope you like it! Lastly, as the wikipedia grows, there are still little online resources regarding the vocabulary, (i looked at the Bole-English-Hausa dictionary, it was not cery useful). However, on the bright side, i found out there's this sister project of the Wikimedia Foundation, called Wiktionary (https://www.wiktionary.org). It can be localised into the Bole language, though we need to go trhough the second round of requesting, just like the wikipedia, where you go to incubator, contribute and all that. I hope you can take some time to review and look through. Sorry for the inconvenience caused, and thank you! [[Ruta:RAPTOR7762|RAPTOR7762]] ([[Rutta mossa:RAPTOR7762|mossa]]) 00:11, 25 Agusta 2026 (WAT) dsu2ppdp4rl9dkcicfv5otqhpqybmjg Module:Navbox/styles.css 828 1010 10387 2021-11-13T21:29:29Z meta>Izno 0 Created page with "/* Default style for navigation boxes */ .navbox { /* Navbox container style */ border: 1px solid #a2a9b1; width: 100%; margin: auto; clear: both; font-size: 88%; text-align: center; padding: 1px; } .navbox-inner, .navbox-subgroup { width: 100%; } .navbox-group, .navbox-title, .navbox-abovebelow { padding: 0.25em 1em; /* Title, group and above/below styles */ line-height: 1.5em; text-align: center; }..." 10387 sanitized-css text/css /* Default style for navigation boxes */ .navbox { /* Navbox container style */ border: 1px solid #a2a9b1; width: 100%; margin: auto; clear: both; font-size: 88%; text-align: center; padding: 1px; } .navbox-inner, .navbox-subgroup { width: 100%; } .navbox-group, .navbox-title, .navbox-abovebelow { padding: 0.25em 1em; /* Title, group and above/below styles */ line-height: 1.5em; text-align: center; } th.navbox-group { /* Group style */ white-space: nowrap; /* @noflip */ text-align: right; } .navbox, .navbox-subgroup { background: #fdfdfd; /* Background color */ } .navbox-list { line-height: 1.8em; border-color: #fdfdfd; /* Must match background color */ } .navbox th, .navbox-title { background: #ccccff; /* Level 1 color */ } .navbox-abovebelow, th.navbox-group, .navbox-subgroup .navbox-title { background: #ddddff; /* Level 2 color */ } .navbox-subgroup .navbox-group, .navbox-subgroup .navbox-abovebelow { background: #e6e6ff; /* Level 3 color */ } .navbox-even { background: #f7f7f7; /* Even row striping */ } .navbox-odd { background: transparent; /* Odd row striping */ } .navbox + .navbox { /* Single pixel border between adjacent navboxes */ margin-top: -1px; /* (doesn't work for IE6, but that's okay) */ } .navbox .hlist td dl, .navbox .hlist td ol, .navbox .hlist td ul, .navbox td.hlist dl, .navbox td.hlist ol, .navbox td.hlist ul { padding: 0.125em 0; /* Adjust hlist padding in navboxes */ } ol + .navbox, ul + .navbox { margin-top: 0.5em; /* Prevent lists from clinging to navboxes */ } .navbox .navbar { display: block; font-size: 100%; } .navbox-title .navbar { /* @noflip */ float: left; /* @noflip */ text-align: left; /* @noflip */ margin-right: 0.5em; width: 6em; } erw6j00iwao2eim42422d6a09xvbg68 10388 10387 2022-08-18T12:59:40Z meta>Pols12 0 Consistency with [[mw:Module:Navbox/styles.css]] 10388 sanitized-css text/css .navbox { border: 1px solid #aaa; box-sizing: border-box; width: 100%; margin: auto; clear: both; font-size: 88%; text-align: center; padding: 1px; } .navbox-inner, .navbox-subgroup { width: 100%; } .navbox + .navbox-styles + .navbox { /* Single pixel border between adjacent navboxes */ margin-top: -1px; } .navbox th, .navbox-title, .navbox-abovebelow { /* Title and above/below styles */ text-align: center; padding-left: 1em; padding-right: 1em; } th.navbox-group { /* Group style */ white-space: nowrap; /* @noflip */ text-align: right; } .navbox, .navbox-subgroup { background: #fdfdfd; } .navbox-list { /* Must match background color */ border-color: #fdfdfd; } .navbox th, .navbox-title { /* Level 1 color */ background: #eaeeff; } .navbox-abovebelow, th.navbox-group, .navbox-subgroup .navbox-title { /* Level 2 color */ background: #ddddff; } .navbox-subgroup .navbox-group, .navbox-subgroup .navbox-abovebelow { /* Level 3 color */ background: #e6e6ff; } .navbox-even { /* Even row striping */ background: #f7f7f7; } .navbox-odd { /* Odd row striping */ background: transparent; } th.navbox-title1 { border-left: 2px solid #fdfdfd; width: 100%; } td.navbox-list1 { text-align: left; border-left-width: 2px; border-left-style: solid; } .navbox .hlist td dl, .navbox .hlist td ol, .navbox .hlist td ul, .navbox td.hlist dl, .navbox td.hlist ol, .navbox td.hlist ul { /* Adjust hlist padding in navboxes */ padding: 0.125em 0; } .navbox .hlist dd, .navbox .hlist dt, .navbox .hlist li { /* Nowrap list items in navboxes */ white-space: nowrap; } .navbox .hlist dd dl, .navbox .hlist dt dl, .navbox .hlist li ol, .navbox .hlist li ul { /* But allow parent list items to be wrapped */ white-space: normal; } ol + .navbox-styles + .navbox, ul + .navbox-styles + .navbox { /* Prevent lists from clinging to navboxes */ margin-top: 0.5em; } /* @FIXME: Should be handled in navbar styles */ .navbox .navbar { display: block; font-size: 100%; } /* @FIXME: Should be handled in navbar styles */ .navbox-title .navbar { /* @noflip */ float: left; /* @noflip */ text-align: left; /* @noflip */ margin-right: 0.5em; width: 6em; } 3zkr04ufhswj7m65vktcccw1d0b2b7t 10389 10388 2022-08-18T14:27:27Z meta>Pols12 0 Consistency with [[:en:Module:Navbox/styles.css]] 10389 sanitized-css text/css .navbox { box-sizing: border-box; border: 1px solid #a2a9b1; width: 100%; clear: both; font-size: 88%; text-align: center; padding: 1px; margin: 1em auto 0; /* Prevent preceding content from clinging to navboxes */ } .navbox .navbox { margin-top: 0; /* No top margin for nested navboxes */ } .navbox + .navbox-styles + .navbox { margin-top: -1px; /* Single pixel border between adjacent navboxes */ } .navbox-inner, .navbox-subgroup { width: 100%; } .navbox-group, .navbox-title, .navbox-abovebelow { padding: 0.25em 1em; line-height: 1.5em; text-align: center; } .navbox-group { white-space: nowrap; /* @noflip */ text-align: right; } .navbox, .navbox-subgroup { background-color: #fdfdfd; } .navbox-list { line-height: 1.5em; border-color: #fdfdfd; /* Must match background color */ } .navbox-list-with-group { text-align: left; border-left-width: 2px; border-left-style: solid; } /* cell spacing for navbox cells */ /* Borders above 2nd, 3rd, etc. rows */ /* TODO: figure out how to replace tr as structure; * with div structure it should be just a matter of first-child */ tr + tr > .navbox-abovebelow, tr + tr > .navbox-group, tr + tr > .navbox-image, tr + tr > .navbox-list { border-top: 2px solid #fdfdfd; /* Must match background color */ } .navbox-title { /* Level 1 color */ background-color: #ccf; } .navbox-abovebelow, .navbox-group, .navbox-subgroup .navbox-title { /* Level 2 color */ background-color: #ddf; } .navbox-subgroup .navbox-group, .navbox-subgroup .navbox-abovebelow { /* Level 3 color */ background-color: #e6e6ff; } .navbox-even { background-color: #f7f7f7; } .navbox-odd { background-color: transparent; } /* TODO: figure out how to remove reliance on td as structure */ .navbox .hlist td dl, .navbox .hlist td ol, .navbox .hlist td ul, .navbox td.hlist dl, .navbox td.hlist ol, .navbox td.hlist ul { padding: 0.125em 0; } /* @FIXME: Should be handled in navbar styles */ .navbox .navbar { display: block; font-size: 100%; } /* @FIXME: Should be handled in navbar styles */ .navbox-title .navbar { /* @noflip */ float: left; /* @noflip */ text-align: left; /* @noflip */ margin-right: 0.5em; width: 6em; } ou577sil29nnphvw5hr6r21rx1enu96 10390 10389 2022-08-18T22:09:25Z meta>Pols12 0 −FIXME, navbar inside navbox styles are well expected here 10390 sanitized-css text/css .navbox { box-sizing: border-box; border: 1px solid #a2a9b1; width: 100%; clear: both; font-size: 88%; text-align: center; padding: 1px; margin: 1em auto 0; /* Prevent preceding content from clinging to navboxes */ } .navbox .navbox { margin-top: 0; /* No top margin for nested navboxes */ } .navbox + .navbox-styles + .navbox { margin-top: -1px; /* Single pixel border between adjacent navboxes */ } .navbox-inner, .navbox-subgroup { width: 100%; } .navbox-group, .navbox-title, .navbox-abovebelow { padding: 0.25em 1em; line-height: 1.5em; text-align: center; } .navbox-group { white-space: nowrap; /* @noflip */ text-align: right; } .navbox, .navbox-subgroup { background-color: #fdfdfd; } .navbox-list { line-height: 1.5em; border-color: #fdfdfd; /* Must match background color */ } .navbox-list-with-group { text-align: left; border-left-width: 2px; border-left-style: solid; } /* cell spacing for navbox cells */ /* Borders above 2nd, 3rd, etc. rows */ /* TODO: figure out how to replace tr as structure; * with div structure it should be just a matter of first-child */ tr + tr > .navbox-abovebelow, tr + tr > .navbox-group, tr + tr > .navbox-image, tr + tr > .navbox-list { border-top: 2px solid #fdfdfd; /* Must match background color */ } .navbox-title { /* Level 1 color */ background-color: #ccf; } .navbox-abovebelow, .navbox-group, .navbox-subgroup .navbox-title { /* Level 2 color */ background-color: #ddf; } .navbox-subgroup .navbox-group, .navbox-subgroup .navbox-abovebelow { /* Level 3 color */ background-color: #e6e6ff; } .navbox-even { background-color: #f7f7f7; } .navbox-odd { background-color: transparent; } /* TODO: figure out how to remove reliance on td as structure */ .navbox .hlist td dl, .navbox .hlist td ol, .navbox .hlist td ul, .navbox td.hlist dl, .navbox td.hlist ol, .navbox td.hlist ul { padding: 0.125em 0; } /*** Navbar styles ****/ /* Styles for all navbars, including outside of navboxes, should * go to Module:Navbar/styles.css */ .navbox .navbar { display: block; font-size: 100%; } .navbox-title .navbar { /* @noflip */ float: left; /* @noflip */ text-align: left; /* @noflip */ margin-right: 0.5em; width: 6em; } dyb1inv1a70c6z70kqj2ui7mrb71com 10391 10390 2022-08-19T23:27:19Z meta>Pols12 0 −noflips (legacy from :en:Common.css); −navbar width (useless) 10391 sanitized-css text/css .navbox { box-sizing: border-box; border: 1px solid #a2a9b1; width: 100%; clear: both; font-size: 88%; text-align: center; padding: 1px; margin: 1em auto 0; /* Prevent preceding content from clinging to navboxes */ } .navbox .navbox { margin-top: 0; /* No top margin for nested navboxes */ } .navbox + .navbox-styles + .navbox { margin-top: -1px; /* Single pixel border between adjacent navboxes */ } .navbox-inner, .navbox-subgroup { width: 100%; } .navbox-group, .navbox-title, .navbox-abovebelow { padding: 0.25em 1em; line-height: 1.5em; text-align: center; } .navbox-group { white-space: nowrap; text-align: right; } .navbox, .navbox-subgroup { background-color: #fdfdfd; } .navbox-list { line-height: 1.5em; border-color: #fdfdfd; /* Must match background color */ } .navbox-list-with-group { text-align: left; border-left-width: 2px; border-left-style: solid; } /* cell spacing for navbox cells */ /* Borders above 2nd, 3rd, etc. rows */ /* TODO: figure out how to replace tr as structure; * with div structure it should be just a matter of first-child */ tr + tr > .navbox-abovebelow, tr + tr > .navbox-group, tr + tr > .navbox-image, tr + tr > .navbox-list { border-top: 2px solid #fdfdfd; /* Must match background color */ } .navbox-title { /* Level 1 color */ background-color: #ccf; } .navbox-abovebelow, .navbox-group, .navbox-subgroup .navbox-title { /* Level 2 color */ background-color: #ddf; } .navbox-subgroup .navbox-group, .navbox-subgroup .navbox-abovebelow { /* Level 3 color */ background-color: #e6e6ff; } .navbox-even { background-color: #f7f7f7; } .navbox-odd { background-color: transparent; } /* TODO: figure out how to remove reliance on td as structure */ .navbox .hlist td dl, .navbox .hlist td ol, .navbox .hlist td ul, .navbox td.hlist dl, .navbox td.hlist ol, .navbox td.hlist ul { padding: 0.125em 0; } /*** Navbar styles ****/ /* Styles for all navbars, including outside of navboxes, should * go to Module:Navbar/styles.css */ .navbox .navbar { display: block; font-size: 100%; } .navbox-title .navbar { float: left; text-align: left; margin-right: 0.5em; } jitbh4uyg107u57t8gm8duiph1hesml 10392 10391 2023-03-09T08:02:19Z meta>Izno 0 no, that's fine here; these styles only applicable in the context of module:navbox 10392 sanitized-css text/css .navbox { box-sizing: border-box; border: 1px solid #a2a9b1; width: 100%; clear: both; font-size: 88%; text-align: center; padding: 1px; margin: 1em auto 0; /* Prevent preceding content from clinging to navboxes */ } .navbox .navbox { margin-top: 0; /* No top margin for nested navboxes */ } .navbox + .navbox-styles + .navbox { margin-top: -1px; /* Single pixel border between adjacent navboxes */ } .navbox-inner, .navbox-subgroup { width: 100%; } .navbox-group, .navbox-title, .navbox-abovebelow { padding: 0.25em 1em; line-height: 1.5em; text-align: center; } .navbox-group { white-space: nowrap; text-align: right; } .navbox, .navbox-subgroup { background-color: #fdfdfd; } .navbox-list { line-height: 1.5em; border-color: #fdfdfd; /* Must match background color */ } .navbox-list-with-group { text-align: left; border-left-width: 2px; border-left-style: solid; } /* cell spacing for navbox cells */ /* Borders above 2nd, 3rd, etc. rows */ /* TODO: figure out how to replace tr as structure; * with div structure it should be just a matter of first-child */ tr + tr > .navbox-abovebelow, tr + tr > .navbox-group, tr + tr > .navbox-image, tr + tr > .navbox-list { border-top: 2px solid #fdfdfd; /* Must match background color */ } .navbox-title { /* Level 1 color */ background-color: #ccf; } .navbox-abovebelow, .navbox-group, .navbox-subgroup .navbox-title { /* Level 2 color */ background-color: #ddf; } .navbox-subgroup .navbox-group, .navbox-subgroup .navbox-abovebelow { /* Level 3 color */ background-color: #e6e6ff; } .navbox-even { background-color: #f7f7f7; } .navbox-odd { background-color: transparent; } /* TODO: figure out how to remove reliance on td as structure */ .navbox .hlist td dl, .navbox .hlist td ol, .navbox .hlist td ul, .navbox td.hlist dl, .navbox td.hlist ol, .navbox td.hlist ul { padding: 0.125em 0; } .navbox .navbar { display: block; font-size: 100%; } .navbox-title .navbar { float: left; text-align: left; margin-right: 0.5em; } ld6tqz3c8swwnagxxwnk8hm7iwkmo06 10393 10392 2023-03-12T18:01:18Z meta>MusikBot II 0 Protected "[[Module:Navbox/styles.css]]": High-risk template or module ([[User:MusikBot II/TemplateProtector|more info]]) ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) 10392 sanitized-css text/css .navbox { box-sizing: border-box; border: 1px solid #a2a9b1; width: 100%; clear: both; font-size: 88%; text-align: center; padding: 1px; margin: 1em auto 0; /* Prevent preceding content from clinging to navboxes */ } .navbox .navbox { margin-top: 0; /* No top margin for nested navboxes */ } .navbox + .navbox-styles + .navbox { margin-top: -1px; /* Single pixel border between adjacent navboxes */ } .navbox-inner, .navbox-subgroup { width: 100%; } .navbox-group, .navbox-title, .navbox-abovebelow { padding: 0.25em 1em; line-height: 1.5em; text-align: center; } .navbox-group { white-space: nowrap; text-align: right; } .navbox, .navbox-subgroup { background-color: #fdfdfd; } .navbox-list { line-height: 1.5em; border-color: #fdfdfd; /* Must match background color */ } .navbox-list-with-group { text-align: left; border-left-width: 2px; border-left-style: solid; } /* cell spacing for navbox cells */ /* Borders above 2nd, 3rd, etc. rows */ /* TODO: figure out how to replace tr as structure; * with div structure it should be just a matter of first-child */ tr + tr > .navbox-abovebelow, tr + tr > .navbox-group, tr + tr > .navbox-image, tr + tr > .navbox-list { border-top: 2px solid #fdfdfd; /* Must match background color */ } .navbox-title { /* Level 1 color */ background-color: #ccf; } .navbox-abovebelow, .navbox-group, .navbox-subgroup .navbox-title { /* Level 2 color */ background-color: #ddf; } .navbox-subgroup .navbox-group, .navbox-subgroup .navbox-abovebelow { /* Level 3 color */ background-color: #e6e6ff; } .navbox-even { background-color: #f7f7f7; } .navbox-odd { background-color: transparent; } /* TODO: figure out how to remove reliance on td as structure */ .navbox .hlist td dl, .navbox .hlist td ol, .navbox .hlist td ul, .navbox td.hlist dl, .navbox td.hlist ol, .navbox td.hlist ul { padding: 0.125em 0; } .navbox .navbar { display: block; font-size: 100%; } .navbox-title .navbar { float: left; text-align: left; margin-right: 0.5em; } ld6tqz3c8swwnagxxwnk8hm7iwkmo06 10394 8937 2026-08-24T13:01:01Z RAPTOR7762 18 7 revisions imported from [[:meta:Module:Navbox/styles.css]] 8936 sanitized-css text/css /* {{pp|small=y}} */ .navbox { box-sizing: border-box; border: 1px solid #a2a9b1; width: 100%; clear: both; font-size: 88%; text-align: center; padding: 1px; margin: 1em auto 0; /* Prevent preceding content from clinging to navboxes */ } .navbox .navbox { margin-top: 0; /* No top margin for nested navboxes */ } .navbox + .navbox-styles + .navbox, /* category positions are wrapped in an "empty" span in Parsoid [[phab:T378906]] */ .navbox + span.mw-empty-elt + .navbox-styles + .navbox { margin-top: -1px; /* Single pixel border between adjacent navboxes */ } .navbox-inner, .navbox-subgroup { width: 100%; } .navbox-group, .navbox-title, .navbox-abovebelow { padding: 0.25em 1em; line-height: 1.5em; text-align: center; } .navbox-group { white-space: nowrap; /* @noflip */ text-align: right; } .navbox, .navbox-subgroup { background-color: #fdfdfd; color:inherit; } .navbox-list { line-height: 1.5em; border-color: #fdfdfd; /* Must match background color */ } .navbox-list-with-group { text-align: left; border-left-width: 2px; border-left-style: solid; } /* cell spacing for navbox cells */ /* Borders above 2nd, 3rd, etc. rows */ /* TODO: figure out how to replace tr as structure; * with div structure it should be just a matter of first-child */ tr + tr > .navbox-abovebelow, tr + tr > .navbox-group, tr + tr > .navbox-image, tr + tr > .navbox-list { border-top: 2px solid #fdfdfd; /* Must match background color */ } .navbox-title { background-color: #ccf; /* Level 1 color */ color:inherit; } .navbox-abovebelow, .navbox-group, .navbox-subgroup .navbox-title { background-color: #ddf; /* Level 2 color */ color:inherit; } .navbox-subgroup .navbox-group, .navbox-subgroup .navbox-abovebelow { background-color: #e6e6ff; /* Level 3 color */ color:inherit; } .navbox-even { background-color: #f7f7f7; color:inherit; } .navbox-odd { background-color: transparent; color:inherit; } /* TODO: figure out how to remove reliance on td as structure */ .navbox .hlist td dl, .navbox .hlist td ol, .navbox .hlist td ul, .navbox td.hlist dl, .navbox td.hlist ol, .navbox td.hlist ul { padding: 0.125em 0; } .navbox .navbar { display: block; font-size: 100%; } .navbox-title .navbar { /* @noflip */ float: left; /* @noflip */ text-align: left; /* @noflip */ margin-right: 0.5em; } /** T367463 */ body.skin--responsive .navbox-image img { max-width: none !important; } @media print { body.ns-0 .navbox { display: none !important; } } ku94g873nj9xaasowc6yies69ls74c5 Tempilet:Navbox 10 1040 9723 2008-08-29T15:52:23Z meta>Cirt 0 trying this out - from [[w:Template:Navbox]] 9723 wikitext text/x-wiki <!-- Please do not edit without discussion first as this is a VERY complex template. -->{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=</div>|none=|#default=<table class="navbox" cellspacing="0" <!-- -->style="{{{bodystyle|}}};{{{style|}}}"><tr><td style="padding:2px;">}}<!-- --><table cellspacing="0" class="nowraplinks {{#if:{{{title|}}}|{{#switch:{{{state|}}}|plain|off=|<!-- -->#default=collapsible {{#if:{{{state|}}}|{{{state|}}}|autocollapse}}}}}} {{#switch:{{{border|{{{1|}}}}}}|<!-- -->subgroup|child|none=navbox-subgroup" style="width:100%;{{{bodystyle|}}};{{{style|}}}|<!-- -->#default=" style="width:100%;background:transparent;color:inherit}};{{{innerstyle|}}};"><!-- ---Title and Navbar--- -->{{#if:{{{title|}}}|<tr>{{#if:{{{titlegroup|}}}|<!-- --><td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{titlegroupstyle|}}}">{{{titlegroup|}}}</td><!-- --><th style="border-left:2px solid #fdfdfd;width:100%;|<th style="}}{{{basestyle|}}};{{{titlestyle|}}}" <!-- -->colspan={{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}{{#if:{{{titlegroup|}}}|-1}}}} <!-- -->class="navbox-title"><!-- -->{{#if:{{#switch:{{{navbar|}}}|plain|off=1}}<!-- -->{{#if:{{{name|}}}||{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=1}}}}|<!-- -->{{#ifeq:{{{navbar|}}}|off|{{#ifeq:{{{state|}}}|plain|<div style="float:right;width:6em;">&nbsp;</div>}}|<!-- -->{{#ifeq:{{{state|}}}|plain||<div style="float:left; width:6em;text-align:left;">&nbsp;</div>}}}}|<!-- --><div style="float:left; width:6em;text-align:left;"><!-- -->{{Tnavbar|{{{name}}}|fontstyle={{{basestyle|}}};{{{titlestyle|}}};border:none;|mini=1}}<!-- --></div>{{#ifeq:{{{state|}}}|plain|<div style="float:right;width:6em;">&nbsp;</div>}}}}<!-- --><span style="font-size:{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=100|#default=110}}%;"><!-- -->{{{title}}}</span></th></tr>}}<!-- ---Above--- -->{{#if:{{{above|}}}|<!-- -->{{#if:{{{title|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow" style="{{{basestyle|}}};{{{abovestyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}">{{{above}}}</td></tr>}}<!-- ---Body--- ---First group/list and images--- -->{{#if:{{{list1|}}}|{{#if:{{{title|}}}{{{above|}}}|<tr style="height:2px;"><td></td></tr>}}<tr><!-- -->{{#if:{{{imageleft|}}}|<!-- --><td style="width:0%;padding:0px 2px 0px 0px;{{{imageleftstyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><!-- -->{{{imageleft|}}}</td>}}<!-- -->{{#if:{{{group1|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group1style|}}}"><!-- -->{{{group1}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list1style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{list1padding|{{{listpadding|0em 0.25em}}}}}}">}}{{{list1|}}}{{#if:{{{list1|}}}|</div></td><!-- -->{{#if:{{{image|}}}|<!-- --><td style="width:0%;padding:0px 0px 0px 2px;{{{imagestyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><!-- -->{{{image|}}}</td>}}<!-- --></tr>}}<!-- ---Remaining groups/lists--- -->{{#if:{{{list2|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group2|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group2style|}}}"><!-- -->{{{group2}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list2style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">}}{{{list2|}}}{{#if:{{{list2|}}}|</div></td></tr>}}<!-- -->{{#if:{{{list3|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group3|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group3style|}}}"><!-- -->{{{group3}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list3style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">}}{{{list3|}}}{{#if:{{{list3|}}}|</div></td></tr>}}<!-- -->{{#if:{{{list4|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group4|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group4style|}}}"><!-- -->{{{group4}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list4style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">}}{{{list4|}}}{{#if:{{{list4|}}}|</div></td></tr>}}<!-- -->{{#if:{{{list5|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group5|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group5style|}}}"><!-- -->{{{group5}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list5style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">}}{{{list5|}}}{{#if:{{{list5|}}}|</div></td></tr>}}<!-- -->{{#if:{{{list6|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group6|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group6style|}}}"><!-- -->{{{group6}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list6style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list6|}}}</div></td></tr>}}<!-- -->{{#if:{{{list7|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group7|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group7style|}}}"><!-- -->{{{group7}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list7style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list7|}}}</div></td></tr>}}<!-- -->{{#if:{{{list8|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group8|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group8style|}}}"><!-- -->{{{group8}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list8style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list8|}}}</div></td></tr>}}<!-- -->{{#if:{{{list9|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group9|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group9style|}}}"><!-- -->{{{group9}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list9style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list9|}}}</div></td></tr>}}<!-- -->{{#if:{{{list10|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group10|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group10style|}}}"><!-- -->{{{group10}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list10style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list10|}}}</div></td></tr>}}<!-- -->{{#if:{{{list11|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group11|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group11style|}}}"><!-- -->{{{group11}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list11style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list11|}}}</div></td></tr>}}<!-- -->{{#if:{{{list12|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group12|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group12style|}}}"><!-- -->{{{group12}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list12style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list12|}}}</div></td></tr>}}<!-- -->{{#if:{{{list13|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group13|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group13style|}}}"><!-- -->{{{group13}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list13style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list13|}}}</div></td></tr>}}<!-- -->{{#if:{{{list14|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group14|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group14style|}}}"><!-- -->{{{group14}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list14style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list14|}}}</div></td></tr>}}<!-- -->{{#if:{{{list15|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group15|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group15style|}}}"><!-- -->{{{group15}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list15style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list15|}}}</div></td></tr>}}<!-- -->{{#if:{{{list16|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group16|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group16style|}}}"><!-- -->{{{group16}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list16style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list16|}}}</div></td></tr>}}<!-- -->{{#if:{{{list17|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group17|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group17style|}}}"><!-- -->{{{group17}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list17style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list17|}}}</div></td></tr>}}<!-- -->{{#if:{{{list18|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group18|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group18style|}}}"><!-- -->{{{group18}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list18style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list18|}}}</div></td></tr>}}<!-- -->{{#if:{{{list19|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group19|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group19style|}}}"><!-- -->{{{group19}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list19style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list19|}}}</div></td></tr>}}<!-- -->{{#if:{{{list20|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group20|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group20style|}}}"><!-- -->{{{group20}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list20style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list20|}}}</div></td></tr>}}<!-- ---Below--- -->{{#if:{{{below|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}{{{list3|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow" style="{{{basestyle|}}};{{{belowstyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}">{{{below}}}</td></tr>}}<!-- --></table>{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=<div>|none=|#default=</td></tr></table>}}<!-- --><noinclude> 4njvcphhbo11b1ylzb1ww5ceerze5pg 9724 9723 2008-08-29T16:05:11Z meta>Cbrown1023 0 Protected "[[Template:Navbox]]": Requested by [[User:Cirt|Cirt]]: "because the code is very very complex and it is going to be used in lots of places" [edit=autoconfirmed:move=sysop] 9723 wikitext text/x-wiki <!-- Please do not edit without discussion first as this is a VERY complex template. -->{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=</div>|none=|#default=<table class="navbox" cellspacing="0" <!-- -->style="{{{bodystyle|}}};{{{style|}}}"><tr><td style="padding:2px;">}}<!-- --><table cellspacing="0" class="nowraplinks {{#if:{{{title|}}}|{{#switch:{{{state|}}}|plain|off=|<!-- -->#default=collapsible {{#if:{{{state|}}}|{{{state|}}}|autocollapse}}}}}} {{#switch:{{{border|{{{1|}}}}}}|<!-- -->subgroup|child|none=navbox-subgroup" style="width:100%;{{{bodystyle|}}};{{{style|}}}|<!-- -->#default=" style="width:100%;background:transparent;color:inherit}};{{{innerstyle|}}};"><!-- ---Title and Navbar--- -->{{#if:{{{title|}}}|<tr>{{#if:{{{titlegroup|}}}|<!-- --><td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{titlegroupstyle|}}}">{{{titlegroup|}}}</td><!-- --><th style="border-left:2px solid #fdfdfd;width:100%;|<th style="}}{{{basestyle|}}};{{{titlestyle|}}}" <!-- -->colspan={{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}{{#if:{{{titlegroup|}}}|-1}}}} <!-- -->class="navbox-title"><!-- -->{{#if:{{#switch:{{{navbar|}}}|plain|off=1}}<!-- -->{{#if:{{{name|}}}||{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=1}}}}|<!-- -->{{#ifeq:{{{navbar|}}}|off|{{#ifeq:{{{state|}}}|plain|<div style="float:right;width:6em;">&nbsp;</div>}}|<!-- -->{{#ifeq:{{{state|}}}|plain||<div style="float:left; width:6em;text-align:left;">&nbsp;</div>}}}}|<!-- --><div style="float:left; width:6em;text-align:left;"><!-- -->{{Tnavbar|{{{name}}}|fontstyle={{{basestyle|}}};{{{titlestyle|}}};border:none;|mini=1}}<!-- --></div>{{#ifeq:{{{state|}}}|plain|<div style="float:right;width:6em;">&nbsp;</div>}}}}<!-- --><span style="font-size:{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=100|#default=110}}%;"><!-- -->{{{title}}}</span></th></tr>}}<!-- ---Above--- -->{{#if:{{{above|}}}|<!-- -->{{#if:{{{title|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow" style="{{{basestyle|}}};{{{abovestyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}">{{{above}}}</td></tr>}}<!-- ---Body--- ---First group/list and images--- -->{{#if:{{{list1|}}}|{{#if:{{{title|}}}{{{above|}}}|<tr style="height:2px;"><td></td></tr>}}<tr><!-- -->{{#if:{{{imageleft|}}}|<!-- --><td style="width:0%;padding:0px 2px 0px 0px;{{{imageleftstyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><!-- -->{{{imageleft|}}}</td>}}<!-- -->{{#if:{{{group1|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group1style|}}}"><!-- -->{{{group1}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list1style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{list1padding|{{{listpadding|0em 0.25em}}}}}}">}}{{{list1|}}}{{#if:{{{list1|}}}|</div></td><!-- -->{{#if:{{{image|}}}|<!-- --><td style="width:0%;padding:0px 0px 0px 2px;{{{imagestyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><!-- -->{{{image|}}}</td>}}<!-- --></tr>}}<!-- ---Remaining groups/lists--- -->{{#if:{{{list2|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group2|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group2style|}}}"><!-- -->{{{group2}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list2style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">}}{{{list2|}}}{{#if:{{{list2|}}}|</div></td></tr>}}<!-- -->{{#if:{{{list3|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group3|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group3style|}}}"><!-- -->{{{group3}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list3style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">}}{{{list3|}}}{{#if:{{{list3|}}}|</div></td></tr>}}<!-- -->{{#if:{{{list4|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group4|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group4style|}}}"><!-- -->{{{group4}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list4style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">}}{{{list4|}}}{{#if:{{{list4|}}}|</div></td></tr>}}<!-- -->{{#if:{{{list5|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group5|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group5style|}}}"><!-- -->{{{group5}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list5style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">}}{{{list5|}}}{{#if:{{{list5|}}}|</div></td></tr>}}<!-- -->{{#if:{{{list6|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group6|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group6style|}}}"><!-- -->{{{group6}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list6style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list6|}}}</div></td></tr>}}<!-- -->{{#if:{{{list7|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group7|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group7style|}}}"><!-- -->{{{group7}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list7style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list7|}}}</div></td></tr>}}<!-- -->{{#if:{{{list8|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group8|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group8style|}}}"><!-- -->{{{group8}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list8style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list8|}}}</div></td></tr>}}<!-- -->{{#if:{{{list9|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group9|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group9style|}}}"><!-- -->{{{group9}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list9style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list9|}}}</div></td></tr>}}<!-- -->{{#if:{{{list10|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group10|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group10style|}}}"><!-- -->{{{group10}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list10style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list10|}}}</div></td></tr>}}<!-- -->{{#if:{{{list11|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group11|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group11style|}}}"><!-- -->{{{group11}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list11style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list11|}}}</div></td></tr>}}<!-- -->{{#if:{{{list12|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group12|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group12style|}}}"><!-- -->{{{group12}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list12style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list12|}}}</div></td></tr>}}<!-- -->{{#if:{{{list13|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group13|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group13style|}}}"><!-- -->{{{group13}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list13style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list13|}}}</div></td></tr>}}<!-- -->{{#if:{{{list14|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group14|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group14style|}}}"><!-- -->{{{group14}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list14style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list14|}}}</div></td></tr>}}<!-- -->{{#if:{{{list15|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group15|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group15style|}}}"><!-- -->{{{group15}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list15style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list15|}}}</div></td></tr>}}<!-- -->{{#if:{{{list16|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group16|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group16style|}}}"><!-- -->{{{group16}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list16style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list16|}}}</div></td></tr>}}<!-- -->{{#if:{{{list17|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group17|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group17style|}}}"><!-- -->{{{group17}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list17style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list17|}}}</div></td></tr>}}<!-- -->{{#if:{{{list18|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group18|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group18style|}}}"><!-- -->{{{group18}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list18style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list18|}}}</div></td></tr>}}<!-- -->{{#if:{{{list19|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group19|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group19style|}}}"><!-- -->{{{group19}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list19style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list19|}}}</div></td></tr>}}<!-- -->{{#if:{{{list20|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group20|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group20style|}}}"><!-- -->{{{group20}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list20style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list20|}}}</div></td></tr>}}<!-- ---Below--- -->{{#if:{{{below|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}{{{list3|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow" style="{{{basestyle|}}};{{{belowstyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}">{{{below}}}</td></tr>}}<!-- --></table>{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=<div>|none=|#default=</td></tr></table>}}<!-- --><noinclude> 4njvcphhbo11b1ylzb1ww5ceerze5pg 9725 9724 2009-05-21T16:40:17Z meta>Frank Schulenburg 0 9725 wikitext text/x-wiki <!-- Please do not edit without discussion first as this is a VERY complex template. -->{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=</div>|none=|#default=<table class="navbox" cellspacing="0" <!-- -->style="{{{bodystyle|}}};{{{style|}}}"><tr><td style="padding:2px;">}}<!-- --><table cellspacing="0" class="nowraplinks {{#if:{{{title|}}}|{{#switch:{{{state|}}}|plain|off=|<!-- -->#default=collapsible {{#if:{{{state|}}}|{{{state|}}}|autocollapse}}}}}} {{#switch:{{{border|{{{1|}}}}}}|<!-- -->subgroup|child|none=navbox-subgroup" style="width:100%;{{{bodystyle|}}};{{{style|}}}|<!-- -->#default=" style="width:100%;background:transparent;color:inherit}};{{{innerstyle|}}};"><!-- ---Title and Navbar--- -->{{#if:{{{title|}}}|<tr>{{#if:{{{titlegroup|}}}|<!-- --><td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{titlegroupstyle|}}}">{{{titlegroup|}}}</td><!-- --><th style="border-left:2px solid #fdfdfd;width:100%;|<th style="}}{{{basestyle|}}};{{{titlestyle|}}}" <!-- -->colspan={{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}{{#if:{{{titlegroup|}}}|-1}}}} <!-- -->class="navbox-title"><!-- -->{{#if:{{#switch:{{{navbar|}}}|plain|off=1}}<!-- -->{{#if:{{{name|}}}||{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=1}}}}|<!-- -->{{#ifeq:{{{navbar|}}}|off|{{#ifeq:{{{state|}}}|plain|<div style="float:right;width:6em;">&nbsp;</div>}}|<!-- -->{{#ifeq:{{{state|}}}|plain||<div style="float:left; width:6em;text-align:left;">&nbsp;</div>}}}}|<!-- --><div style="float:left; width:6em;text-align:left;"><!-- -->{{Tnavbar|{{{name}}}|fontstyle={{{basestyle|}}};{{{titlestyle|}}};border:none;|mini=1}}<!-- --></div>{{#ifeq:{{{state|}}}|plain|<div style="float:right;width:6em;">&nbsp;</div>}}}}<!-- --><span style="font-size:{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=100|#default=110}}%;"><!-- -->{{{title}}}</span></th></tr>}}<!-- ---Above--- -->{{#if:{{{above|}}}|<!-- -->{{#if:{{{title|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow" style="{{{basestyle|}}};{{{abovestyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}">{{{above}}}</td></tr>}}<!-- ---Body--- ---First group/list and images--- -->{{#if:{{{list1|}}}|{{#if:{{{title|}}}{{{above|}}}|<tr style="height:2px;"><td></td></tr>}}<tr><!-- -->{{#if:{{{imageleft|}}}|<!-- --><td style="width:0%;padding:0px 2px 0px 0px;{{{imageleftstyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><!-- -->{{{imageleft|}}}</td>}}<!-- -->{{#if:{{{group1|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group1style|}}}"><!-- -->{{{group1}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list1style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{list1padding|{{{listpadding|0em 0.25em}}}}}}">}}{{{list1|}}}{{#if:{{{list1|}}}|</div></td><!-- -->{{#if:{{{image|}}}|<!-- --><td style="width:0%;padding:0px 0px 0px 2px;{{{imagestyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><!-- -->{{{image|}}}</td>}}<!-- --></tr>}}<!-- ---Remaining groups/lists--- -->{{#if:{{{list2|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group2|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group2style|}}}"><!-- -->{{{group2}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list2style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">}}{{{list2|}}}{{#if:{{{list2|}}}|</div></td></tr>}}<!-- -->{{#if:{{{list3|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group3|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group3style|}}}"><!-- -->{{{group3}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list3style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">}}{{{list3|}}}{{#if:{{{list3|}}}|</div></td></tr>}}<!-- -->{{#if:{{{list4|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group4|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group4style|}}}"><!-- -->{{{group4}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list4style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">}}{{{list4|}}}{{#if:{{{list4|}}}|</div></td></tr>}}<!-- -->{{#if:{{{list5|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group5|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group5style|}}}"><!-- -->{{{group5}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list5style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">}}{{{list5|}}}{{#if:{{{list5|}}}|</div></td></tr>}}<!-- -->{{#if:{{{list6|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group6|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group6style|}}}"><!-- -->{{{group6}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list6style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list6|}}}</div></td></tr>}}<!-- -->{{#if:{{{list7|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group7|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group7style|}}}"><!-- -->{{{group7}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list7style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list7|}}}</div></td></tr>}}<!-- -->{{#if:{{{list8|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group8|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group8style|}}}"><!-- -->{{{group8}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list8style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list8|}}}</div></td></tr>}}<!-- -->{{#if:{{{list9|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group9|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group9style|}}}"><!-- -->{{{group9}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list9style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list9|}}}</div></td></tr>}}<!-- -->{{#if:{{{list10|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group10|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group10style|}}}"><!-- -->{{{group10}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list10style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list10|}}}</div></td></tr>}}<!-- -->{{#if:{{{list11|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group11|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group11style|}}}"><!-- -->{{{group11}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list11style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list11|}}}</div></td></tr>}}<!-- -->{{#if:{{{list12|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group12|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group12style|}}}"><!-- -->{{{group12}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list12style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list12|}}}</div></td></tr>}}<!-- -->{{#if:{{{list13|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group13|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group13style|}}}"><!-- -->{{{group13}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list13style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list13|}}}</div></td></tr>}}<!-- -->{{#if:{{{list14|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group14|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group14style|}}}"><!-- -->{{{group14}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list14style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list14|}}}</div></td></tr>}}<!-- -->{{#if:{{{list15|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group15|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group15style|}}}"><!-- -->{{{group15}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list15style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list15|}}}</div></td></tr>}}<!-- -->{{#if:{{{list16|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group16|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group16style|}}}"><!-- -->{{{group16}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list16style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list16|}}}</div></td></tr>}}<!-- -->{{#if:{{{list17|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group17|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group17style|}}}"><!-- -->{{{group17}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list17style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list17|}}}</div></td></tr>}}<!-- -->{{#if:{{{list18|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group18|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group18style|}}}"><!-- -->{{{group18}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list18style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list18|}}}</div></td></tr>}}<!-- -->{{#if:{{{list19|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group19|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group19style|}}}"><!-- -->{{{group19}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list19style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list19|}}}</div></td></tr>}}<!-- -->{{#if:{{{list20|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group20|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group20style|}}}"><!-- -->{{{group20}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list20style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list20|}}}</div></td></tr>}}<!-- ---Below--- -->{{#if:{{{below|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}{{{list3|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow" style="{{{basestyle|}}};{{{belowstyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}">{{{below}}}</td></tr>}}<!-- --></table>{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=<div>|none=|#default=</td></tr></table>}}<!-- --><noinclude>[[Category:Navbox (navigational) templates]]</noinclude> ligebri1b6yies2ih4yqkbh2lsc0wzh 9726 9725 2012-03-13T16:24:11Z meta>Beria 0 testing 9726 wikitext text/x-wiki <!-- Please do not edit without discussion first as this is a VERY complex template. -->{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=</div>|none=|#default=<table cellspacing="0" <!-- -->class="navbox" style="border-spacing:0;{{{bodystyle|}}};{{{style|}}}"><tr><td style="padding:2px;">}}<!-- --><table cellspacing="0" class="nowraplinks {{{bodyclass|}}} {{#if:{{{title|}}}|{{#switch:{{{state|}}}|<!-- -->plain|off=|#default=collapsible {{#if:{{{state|}}}|{{{state}}}|autocollapse}}}}}} {{#switch:{{{border|{{{1|}}}}}}|<!-- -->subgroup|child|none=navbox-subgroup" style="border-spacing:0;{{{bodystyle|}}};{{{style|}}}|<!-- -->#default=navbox-inner" style="border-spacing:0;background:transparent;color:inherit}};{{{innerstyle|}}};"><!-- ---Title and Navbar--- -->{{#if:{{{title|}}}|<tr>{{#if:{{{titlegroup|}}}|<!-- --><th scope="row" class="navbox-group {{{titlegroupclass|}}}" <!-- -->style="{{{basestyle|}}};{{{groupstyle|}}};{{{titlegroupstyle|}}}"><!-- -->{{{titlegroup|}}}</th><th scope="col" style="border-left:2px solid #fdfdfd;width:100%;|<!-- --><th scope="col" style="}}{{{basestyle|}}};{{{titlestyle|}}}" class="navbox-title" <!-- -->colspan={{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}{{#if:{{{titlegroup|}}}|-1}}}}><!-- -->{{#if:{{#switch:{{{navbar|}}}|plain|off=1}}<!-- -->{{#if:{{{name|}}}||{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=1}}}}|<!-- -->{{#ifeq:{{{navbar|}}}|off|{{#ifeq:{{{state|}}}|plain|<span style="float:right;width:6em;">&nbsp;</span>}}|<!-- -->{{#ifeq:{{{state|}}}|plain||<span style="float:left;width:6em;">&nbsp;</span>}}}}|<!-- -->{{#if:{{{name|}}}|{{Navbar|{{{name}}}|mini=1|<!-- -->fontstyle={{{basestyle|}}};{{{titlestyle|}}};background:none transparent;border:none;}}|<!-- --><span class="error" style="float:left;white-space:nowrap;">Error: No name provided</span>}}<!-- -->{{#ifeq:{{{state|}}}|plain|<span style="float:right;width:6em;">&nbsp;</span>}}}}<!-- --><div class="{{{titleclass|}}}" style="font-size:110%;"> {{{title}}}</div></th></tr>}}<!-- ---Above--- -->{{#if:{{{above|}}}|<!-- -->{{#if:{{{title|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow {{{aboveclass|}}}" style="{{{basestyle|}}};{{{abovestyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}"><div> {{{above}}}</div></td></tr>}}<!-- ---Body--- ---First group/list and images--- -->{{#if:{{{list1|}}}|{{#if:{{{title|}}}{{{above|}}}|<tr style="height:2px;"><td></td></tr>}}<tr><!-- -->{{#if:{{{imageleft|}}}|<!-- --><td class="navbox-image {{{imageclass|}}}" style="width:0%;padding:0px 2px 0px 0px;{{{imageleftstyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><div> {{{imageleft}}}</div></td>}}<!-- -->{{#if:{{{group1|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group1style|}}}"><!-- -->{{{group1}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list1style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{list1padding|{{{listpadding|0em 0.25em}}}}}}"> {{{list1}}}</div></td><!-- -->{{#if:{{{image|}}}|<!-- --><td class="navbox-image {{{imageclass|}}}" style="width:0%;padding:0px 0px 0px 2px;{{{imagestyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><div> {{{image}}}</div></td>}}<!-- --></tr>}}<!-- ---Remaining groups/lists--- -->{{#if:{{{list2|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group2|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group2style|}}}"><!-- -->{{{group2}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list2style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list2}}}</div></td></tr>}}<!-- -->{{#if:{{{list3|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group3|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group3style|}}}"><!-- -->{{{group3}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list3style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list3}}}</div></td></tr>}}<!-- -->{{#if:{{{list4|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group4|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group4style|}}}"><!-- -->{{{group4}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list4style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list4}}}</div></td></tr>}}<!-- -->{{#if:{{{list5|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group5|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group5style|}}}"><!-- -->{{{group5}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list5style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list5}}}</div></td></tr>}}<!-- -->{{#if:{{{list6|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group6|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group6style|}}}"><!-- -->{{{group6}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list6style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list6}}}</div></td></tr>}}<!-- -->{{#if:{{{list7|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group7|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group7style|}}}"><!-- -->{{{group7}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list7style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list7}}}</div></td></tr>}}<!-- -->{{#if:{{{list8|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group8|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group8style|}}}"><!-- -->{{{group8}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list8style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list8}}}</div></td></tr>}}<!-- -->{{#if:{{{list9|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group9|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group9style|}}}"><!-- -->{{{group9}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list9style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list9}}}</div></td></tr>}}<!-- -->{{#if:{{{list10|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group10|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group10style|}}}"><!-- -->{{{group10}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list10style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list10}}}</div></td></tr>}}<!-- -->{{#if:{{{list11|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group11|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group11style|}}}"><!-- -->{{{group11}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list11style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list11}}}</div></td></tr>}}<!-- -->{{#if:{{{list12|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group12|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group12style|}}}"><!-- -->{{{group12}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list12style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list12}}}</div></td></tr>}}<!-- -->{{#if:{{{list13|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group13|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group13style|}}}"><!-- -->{{{group13}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list13style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list13}}}</div></td></tr>}}<!-- -->{{#if:{{{list14|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group14|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group14style|}}}"><!-- -->{{{group14}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list14style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list14}}}</div></td></tr>}}<!-- -->{{#if:{{{list15|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group15|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group15style|}}}"><!-- -->{{{group15}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list15style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list15}}}</div></td></tr>}}<!-- -->{{#if:{{{list16|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group16|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group16style|}}}"><!-- -->{{{group16}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list16style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list16}}}</div></td></tr>}}<!-- -->{{#if:{{{list17|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group17|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group17style|}}}"><!-- -->{{{group17}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list17style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list17}}}</div></td></tr>}}<!-- -->{{#if:{{{list18|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group18|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group18style|}}}"><!-- -->{{{group18}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list18style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list18}}}</div></td></tr>}}<!-- -->{{#if:{{{list19|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group19|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group19style|}}}"><!-- -->{{{group19}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list19style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list19}}}</div></td></tr>}}<!-- -->{{#if:{{{list20|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group20|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group20style|}}}"><!-- -->{{{group20}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list20style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list20}}}</div></td></tr>}}<!-- ---Below--- -->{{#if:{{{below|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}{{{list3|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow {{{belowclass|}}}" style="{{{basestyle|}}};{{{belowstyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}"><div> {{{below}}}</div></td></tr>}}<!-- --></table>{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=<div>|none=|#default=</td></tr></table>}}<!-- -->{{#ifeq:{{NAMESPACE}}|{{ns:10}}|{{#ifeq:{{{border|{{{1|}}}}}}|child||{{#switch:{{lc:{{SUBPAGENAME}}}} |sandbox |testcases = |#default = {{#switch:{{{bodyclass|}}} |hlist |hlist vcard |vcard hlist = |#default = {{#switch:{{{listclass|}}} |hlist |hlist vcard |vcard hlist = |#default = [[Category:Navigational boxes without horizontal lists]] }} }} }} }}}}<!-- -->{{#ifeq:{{NAMESPACE}}|{{ns:10}}|{{#switch:{{lc:{{SUBPAGENAME}}}} |sandbox |testcases = |#default = {{#switch:{{{liststyle|}}} |line-height:1.4em; |line-height:1.5em; |padding:0.25em 0; line-height:1.4em; = [[Category:Navigational boxes with custom list spacing]] |#default = }} }}}}<noinclude>[[Category:Navbox (navigational) templates]]</noinclude> gvru93qne0ohkwnhbqg2vap5ow5rip6 9727 9726 2012-03-13T16:25:07Z meta>Beria 0 9727 wikitext text/x-wiki <!-- Please do not edit without discussion first as this is a VERY complex template. -->{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=</div>|none=|#default=<table cellspacing="0" class="navbox" style="border-spacing:0;{{{bodystyle|}}};{{{style|}}}"><tr><td style="padding:2px;">}}<!-- --><table cellspacing="0" class="nowraplinks {{{bodyclass|}}} {{#if:{{{title|}}}|{{#switch:{{{state|}}}|plain|off=|#default=collapsible {{#if:{{{state|}}}|{{{state}}}|autocollapse}}}}}} {{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=navbox-subgroup" style="border-spacing:0;{{{bodystyle|}}};{{{style|}}}|#default=navbox-inner" style="border-spacing:0;background:transparent;color:inherit}};{{{innerstyle|}}};"><!-- ---Title and Navbar--- -->{{#if:{{{title|}}}|<tr>{{#if:{{{titlegroup|}}}|<!-- --><th scope="row" class="navbox-group {{{titlegroupclass|}}}" <!-- -->style="{{{basestyle|}}};{{{groupstyle|}}};{{{titlegroupstyle|}}}"><!-- -->{{{titlegroup|}}}</th><th scope="col" style="border-left:2px solid #fdfdfd;width:100%;|<!-- --><th scope="col" style="}}{{{basestyle|}}};{{{titlestyle|}}}" class="navbox-title" <!-- -->colspan={{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}{{#if:{{{titlegroup|}}}|-1}}}}><!-- -->{{#if:{{#switch:{{{navbar|}}}|plain|off=1}}<!-- -->{{#if:{{{name|}}}||{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=1}}}}|<!-- -->{{#ifeq:{{{navbar|}}}|off|{{#ifeq:{{{state|}}}|plain|<span style="float:right;width:6em;">&nbsp;</span>}}|<!-- -->{{#ifeq:{{{state|}}}|plain||<span style="float:left;width:6em;">&nbsp;</span>}}}}|<!-- -->{{#if:{{{name|}}}|{{Navbar|{{{name}}}|mini=1|<!-- -->fontstyle={{{basestyle|}}};{{{titlestyle|}}};background:none transparent;border:none;}}|<!-- --><span class="error" style="float:left;white-space:nowrap;">Error: No name provided</span>}}<!-- -->{{#ifeq:{{{state|}}}|plain|<span style="float:right;width:6em;">&nbsp;</span>}}}}<!-- --><div class="{{{titleclass|}}}" style="font-size:110%;"> {{{title}}}</div></th></tr>}}<!-- ---Above--- -->{{#if:{{{above|}}}|<!-- -->{{#if:{{{title|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow {{{aboveclass|}}}" style="{{{basestyle|}}};{{{abovestyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}"><div> {{{above}}}</div></td></tr>}}<!-- ---Body--- ---First group/list and images--- -->{{#if:{{{list1|}}}|{{#if:{{{title|}}}{{{above|}}}|<tr style="height:2px;"><td></td></tr>}}<tr><!-- -->{{#if:{{{imageleft|}}}|<!-- --><td class="navbox-image {{{imageclass|}}}" style="width:0%;padding:0px 2px 0px 0px;{{{imageleftstyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><div> {{{imageleft}}}</div></td>}}<!-- -->{{#if:{{{group1|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group1style|}}}"><!-- -->{{{group1}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list1style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{list1padding|{{{listpadding|0em 0.25em}}}}}}"> {{{list1}}}</div></td><!-- -->{{#if:{{{image|}}}|<!-- --><td class="navbox-image {{{imageclass|}}}" style="width:0%;padding:0px 0px 0px 2px;{{{imagestyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><div> {{{image}}}</div></td>}}<!-- --></tr>}}<!-- ---Remaining groups/lists--- -->{{#if:{{{list2|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group2|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group2style|}}}"><!-- -->{{{group2}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list2style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list2}}}</div></td></tr>}}<!-- -->{{#if:{{{list3|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group3|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group3style|}}}"><!-- -->{{{group3}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list3style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list3}}}</div></td></tr>}}<!-- -->{{#if:{{{list4|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group4|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group4style|}}}"><!-- -->{{{group4}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list4style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list4}}}</div></td></tr>}}<!-- -->{{#if:{{{list5|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group5|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group5style|}}}"><!-- -->{{{group5}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list5style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list5}}}</div></td></tr>}}<!-- -->{{#if:{{{list6|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group6|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group6style|}}}"><!-- -->{{{group6}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list6style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list6}}}</div></td></tr>}}<!-- -->{{#if:{{{list7|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group7|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group7style|}}}"><!-- -->{{{group7}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list7style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list7}}}</div></td></tr>}}<!-- -->{{#if:{{{list8|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group8|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group8style|}}}"><!-- -->{{{group8}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list8style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list8}}}</div></td></tr>}}<!-- -->{{#if:{{{list9|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group9|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group9style|}}}"><!-- -->{{{group9}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list9style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list9}}}</div></td></tr>}}<!-- -->{{#if:{{{list10|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group10|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group10style|}}}"><!-- -->{{{group10}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list10style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list10}}}</div></td></tr>}}<!-- -->{{#if:{{{list11|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group11|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group11style|}}}"><!-- -->{{{group11}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list11style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list11}}}</div></td></tr>}}<!-- -->{{#if:{{{list12|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group12|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group12style|}}}"><!-- -->{{{group12}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list12style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list12}}}</div></td></tr>}}<!-- -->{{#if:{{{list13|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group13|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group13style|}}}"><!-- -->{{{group13}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list13style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list13}}}</div></td></tr>}}<!-- -->{{#if:{{{list14|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group14|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group14style|}}}"><!-- -->{{{group14}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list14style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list14}}}</div></td></tr>}}<!-- -->{{#if:{{{list15|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group15|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group15style|}}}"><!-- -->{{{group15}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list15style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list15}}}</div></td></tr>}}<!-- -->{{#if:{{{list16|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group16|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group16style|}}}"><!-- -->{{{group16}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list16style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list16}}}</div></td></tr>}}<!-- -->{{#if:{{{list17|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group17|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group17style|}}}"><!-- -->{{{group17}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list17style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list17}}}</div></td></tr>}}<!-- -->{{#if:{{{list18|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group18|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group18style|}}}"><!-- -->{{{group18}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list18style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list18}}}</div></td></tr>}}<!-- -->{{#if:{{{list19|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group19|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group19style|}}}"><!-- -->{{{group19}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list19style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list19}}}</div></td></tr>}}<!-- -->{{#if:{{{list20|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group20|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group20style|}}}"><!-- -->{{{group20}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list20style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list20}}}</div></td></tr>}}<!-- ---Below--- -->{{#if:{{{below|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}{{{list3|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow {{{belowclass|}}}" style="{{{basestyle|}}};{{{belowstyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}"><div> {{{below}}}</div></td></tr>}}<!-- --></table>{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=<div>|none=|#default=</td></tr></table>}}<!-- -->{{#ifeq:{{NAMESPACE}}|{{ns:10}}|{{#ifeq:{{{border|{{{1|}}}}}}|child||{{#switch:{{lc:{{SUBPAGENAME}}}} |sandbox |testcases = |#default = {{#switch:{{{bodyclass|}}} |hlist |hlist vcard |vcard hlist = |#default = {{#switch:{{{listclass|}}} |hlist |hlist vcard |vcard hlist = |#default = }} }} }} }}}}<!-- -->{{#ifeq:{{NAMESPACE}}|{{ns:10}}|{{#switch:{{lc:{{SUBPAGENAME}}}} |sandbox |testcases = |#default = {{#switch:{{{liststyle|}}} |line-height:1.4em; |line-height:1.5em; |padding:0.25em 0; line-height:1.4em; = [[Category:Navigational boxes with custom list spacing]] |#default = }} }}}}<noinclude>[[Category:Navbox (navigational) templates]]</noinclude> c0qrbrxxkqfbhwt2hhsicejijpoidsl 9728 9727 2012-03-13T16:32:45Z meta>Beria 0 Reverted changes by [[Special:Contributions/Beria|Beria]] ([[User talk:Beria|talk]]) to last version by Frank Schulenburg 9728 wikitext text/x-wiki <!-- Please do not edit without discussion first as this is a VERY complex template. -->{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=</div>|none=|#default=<table class="navbox" cellspacing="0" <!-- -->style="{{{bodystyle|}}};{{{style|}}}"><tr><td style="padding:2px;">}}<!-- --><table cellspacing="0" class="nowraplinks {{#if:{{{title|}}}|{{#switch:{{{state|}}}|plain|off=|<!-- -->#default=collapsible {{#if:{{{state|}}}|{{{state|}}}|autocollapse}}}}}} {{#switch:{{{border|{{{1|}}}}}}|<!-- -->subgroup|child|none=navbox-subgroup" style="width:100%;{{{bodystyle|}}};{{{style|}}}|<!-- -->#default=" style="width:100%;background:transparent;color:inherit}};{{{innerstyle|}}};"><!-- ---Title and Navbar--- -->{{#if:{{{title|}}}|<tr>{{#if:{{{titlegroup|}}}|<!-- --><td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{titlegroupstyle|}}}">{{{titlegroup|}}}</td><!-- --><th style="border-left:2px solid #fdfdfd;width:100%;|<th style="}}{{{basestyle|}}};{{{titlestyle|}}}" <!-- -->colspan={{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}{{#if:{{{titlegroup|}}}|-1}}}} <!-- -->class="navbox-title"><!-- -->{{#if:{{#switch:{{{navbar|}}}|plain|off=1}}<!-- -->{{#if:{{{name|}}}||{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=1}}}}|<!-- -->{{#ifeq:{{{navbar|}}}|off|{{#ifeq:{{{state|}}}|plain|<div style="float:right;width:6em;">&nbsp;</div>}}|<!-- -->{{#ifeq:{{{state|}}}|plain||<div style="float:left; width:6em;text-align:left;">&nbsp;</div>}}}}|<!-- --><div style="float:left; width:6em;text-align:left;"><!-- -->{{Tnavbar|{{{name}}}|fontstyle={{{basestyle|}}};{{{titlestyle|}}};border:none;|mini=1}}<!-- --></div>{{#ifeq:{{{state|}}}|plain|<div style="float:right;width:6em;">&nbsp;</div>}}}}<!-- --><span style="font-size:{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=100|#default=110}}%;"><!-- -->{{{title}}}</span></th></tr>}}<!-- ---Above--- -->{{#if:{{{above|}}}|<!-- -->{{#if:{{{title|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow" style="{{{basestyle|}}};{{{abovestyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}">{{{above}}}</td></tr>}}<!-- ---Body--- ---First group/list and images--- -->{{#if:{{{list1|}}}|{{#if:{{{title|}}}{{{above|}}}|<tr style="height:2px;"><td></td></tr>}}<tr><!-- -->{{#if:{{{imageleft|}}}|<!-- --><td style="width:0%;padding:0px 2px 0px 0px;{{{imageleftstyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><!-- -->{{{imageleft|}}}</td>}}<!-- -->{{#if:{{{group1|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group1style|}}}"><!-- -->{{{group1}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list1style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{list1padding|{{{listpadding|0em 0.25em}}}}}}">}}{{{list1|}}}{{#if:{{{list1|}}}|</div></td><!-- -->{{#if:{{{image|}}}|<!-- --><td style="width:0%;padding:0px 0px 0px 2px;{{{imagestyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><!-- -->{{{image|}}}</td>}}<!-- --></tr>}}<!-- ---Remaining groups/lists--- -->{{#if:{{{list2|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group2|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group2style|}}}"><!-- -->{{{group2}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list2style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">}}{{{list2|}}}{{#if:{{{list2|}}}|</div></td></tr>}}<!-- -->{{#if:{{{list3|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group3|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group3style|}}}"><!-- -->{{{group3}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list3style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">}}{{{list3|}}}{{#if:{{{list3|}}}|</div></td></tr>}}<!-- -->{{#if:{{{list4|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group4|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group4style|}}}"><!-- -->{{{group4}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list4style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">}}{{{list4|}}}{{#if:{{{list4|}}}|</div></td></tr>}}<!-- -->{{#if:{{{list5|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group5|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group5style|}}}"><!-- -->{{{group5}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list5style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">}}{{{list5|}}}{{#if:{{{list5|}}}|</div></td></tr>}}<!-- -->{{#if:{{{list6|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group6|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group6style|}}}"><!-- -->{{{group6}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list6style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list6|}}}</div></td></tr>}}<!-- -->{{#if:{{{list7|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group7|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group7style|}}}"><!-- -->{{{group7}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list7style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list7|}}}</div></td></tr>}}<!-- -->{{#if:{{{list8|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group8|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group8style|}}}"><!-- -->{{{group8}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list8style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list8|}}}</div></td></tr>}}<!-- -->{{#if:{{{list9|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group9|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group9style|}}}"><!-- -->{{{group9}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list9style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list9|}}}</div></td></tr>}}<!-- -->{{#if:{{{list10|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group10|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group10style|}}}"><!-- -->{{{group10}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list10style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list10|}}}</div></td></tr>}}<!-- -->{{#if:{{{list11|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group11|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group11style|}}}"><!-- -->{{{group11}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list11style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list11|}}}</div></td></tr>}}<!-- -->{{#if:{{{list12|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group12|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group12style|}}}"><!-- -->{{{group12}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list12style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list12|}}}</div></td></tr>}}<!-- -->{{#if:{{{list13|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group13|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group13style|}}}"><!-- -->{{{group13}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list13style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list13|}}}</div></td></tr>}}<!-- -->{{#if:{{{list14|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group14|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group14style|}}}"><!-- -->{{{group14}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list14style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list14|}}}</div></td></tr>}}<!-- -->{{#if:{{{list15|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group15|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group15style|}}}"><!-- -->{{{group15}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list15style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list15|}}}</div></td></tr>}}<!-- -->{{#if:{{{list16|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group16|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group16style|}}}"><!-- -->{{{group16}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list16style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list16|}}}</div></td></tr>}}<!-- -->{{#if:{{{list17|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group17|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group17style|}}}"><!-- -->{{{group17}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list17style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list17|}}}</div></td></tr>}}<!-- -->{{#if:{{{list18|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group18|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group18style|}}}"><!-- -->{{{group18}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list18style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list18|}}}</div></td></tr>}}<!-- -->{{#if:{{{list19|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group19|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group19style|}}}"><!-- -->{{{group19}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list19style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list19|}}}</div></td></tr>}}<!-- -->{{#if:{{{list20|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group20|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group20style|}}}"><!-- -->{{{group20}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list20style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list20|}}}</div></td></tr>}}<!-- ---Below--- -->{{#if:{{{below|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}{{{list3|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow" style="{{{basestyle|}}};{{{belowstyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}">{{{below}}}</td></tr>}}<!-- --></table>{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=<div>|none=|#default=</td></tr></table>}}<!-- --><noinclude>[[Category:Navbox (navigational) templates]]</noinclude> ligebri1b6yies2ih4yqkbh2lsc0wzh 9729 9728 2013-05-13T16:37:55Z meta>Frietjes 0 trying new Lua version 9729 wikitext text/x-wiki {{#invoke: Navbox | navbox }}<noinclude>{{documentation}}<!-- Add categories and interwikis to the /doc sub-page --></noinclude> lxoimlqslukeym1vcyobh3pyhtcmwci 9730 9729 2013-05-13T16:45:03Z meta>Frietjes 0 Undo revision 5482176 by [[Special:Contributions/Frietjes|Frietjes]] ([[User talk:Frietjes|talk]]) revert for now 9730 wikitext text/x-wiki <!-- Please do not edit without discussion first as this is a VERY complex template. -->{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=</div>|none=|#default=<table class="navbox" cellspacing="0" <!-- -->style="{{{bodystyle|}}};{{{style|}}}"><tr><td style="padding:2px;">}}<!-- --><table cellspacing="0" class="nowraplinks {{#if:{{{title|}}}|{{#switch:{{{state|}}}|plain|off=|<!-- -->#default=collapsible {{#if:{{{state|}}}|{{{state|}}}|autocollapse}}}}}} {{#switch:{{{border|{{{1|}}}}}}|<!-- -->subgroup|child|none=navbox-subgroup" style="width:100%;{{{bodystyle|}}};{{{style|}}}|<!-- -->#default=" style="width:100%;background:transparent;color:inherit}};{{{innerstyle|}}};"><!-- ---Title and Navbar--- -->{{#if:{{{title|}}}|<tr>{{#if:{{{titlegroup|}}}|<!-- --><td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{titlegroupstyle|}}}">{{{titlegroup|}}}</td><!-- --><th style="border-left:2px solid #fdfdfd;width:100%;|<th style="}}{{{basestyle|}}};{{{titlestyle|}}}" <!-- -->colspan={{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}{{#if:{{{titlegroup|}}}|-1}}}} <!-- -->class="navbox-title"><!-- -->{{#if:{{#switch:{{{navbar|}}}|plain|off=1}}<!-- -->{{#if:{{{name|}}}||{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=1}}}}|<!-- -->{{#ifeq:{{{navbar|}}}|off|{{#ifeq:{{{state|}}}|plain|<div style="float:right;width:6em;">&nbsp;</div>}}|<!-- -->{{#ifeq:{{{state|}}}|plain||<div style="float:left; width:6em;text-align:left;">&nbsp;</div>}}}}|<!-- --><div style="float:left; width:6em;text-align:left;"><!-- -->{{Tnavbar|{{{name}}}|fontstyle={{{basestyle|}}};{{{titlestyle|}}};border:none;|mini=1}}<!-- --></div>{{#ifeq:{{{state|}}}|plain|<div style="float:right;width:6em;">&nbsp;</div>}}}}<!-- --><span style="font-size:{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=100|#default=110}}%;"><!-- -->{{{title}}}</span></th></tr>}}<!-- ---Above--- -->{{#if:{{{above|}}}|<!-- -->{{#if:{{{title|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow" style="{{{basestyle|}}};{{{abovestyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}">{{{above}}}</td></tr>}}<!-- ---Body--- ---First group/list and images--- -->{{#if:{{{list1|}}}|{{#if:{{{title|}}}{{{above|}}}|<tr style="height:2px;"><td></td></tr>}}<tr><!-- -->{{#if:{{{imageleft|}}}|<!-- --><td style="width:0%;padding:0px 2px 0px 0px;{{{imageleftstyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><!-- -->{{{imageleft|}}}</td>}}<!-- -->{{#if:{{{group1|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group1style|}}}"><!-- -->{{{group1}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list1style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{list1padding|{{{listpadding|0em 0.25em}}}}}}">}}{{{list1|}}}{{#if:{{{list1|}}}|</div></td><!-- -->{{#if:{{{image|}}}|<!-- --><td style="width:0%;padding:0px 0px 0px 2px;{{{imagestyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><!-- -->{{{image|}}}</td>}}<!-- --></tr>}}<!-- ---Remaining groups/lists--- -->{{#if:{{{list2|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group2|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group2style|}}}"><!-- -->{{{group2}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list2style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">}}{{{list2|}}}{{#if:{{{list2|}}}|</div></td></tr>}}<!-- -->{{#if:{{{list3|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group3|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group3style|}}}"><!-- -->{{{group3}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list3style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">}}{{{list3|}}}{{#if:{{{list3|}}}|</div></td></tr>}}<!-- -->{{#if:{{{list4|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group4|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group4style|}}}"><!-- -->{{{group4}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list4style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">}}{{{list4|}}}{{#if:{{{list4|}}}|</div></td></tr>}}<!-- -->{{#if:{{{list5|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group5|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group5style|}}}"><!-- -->{{{group5}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list5style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">}}{{{list5|}}}{{#if:{{{list5|}}}|</div></td></tr>}}<!-- -->{{#if:{{{list6|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group6|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group6style|}}}"><!-- -->{{{group6}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list6style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list6|}}}</div></td></tr>}}<!-- -->{{#if:{{{list7|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group7|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group7style|}}}"><!-- -->{{{group7}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list7style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list7|}}}</div></td></tr>}}<!-- -->{{#if:{{{list8|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group8|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group8style|}}}"><!-- -->{{{group8}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list8style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list8|}}}</div></td></tr>}}<!-- -->{{#if:{{{list9|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group9|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group9style|}}}"><!-- -->{{{group9}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list9style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list9|}}}</div></td></tr>}}<!-- -->{{#if:{{{list10|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group10|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group10style|}}}"><!-- -->{{{group10}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list10style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list10|}}}</div></td></tr>}}<!-- -->{{#if:{{{list11|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group11|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group11style|}}}"><!-- -->{{{group11}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list11style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list11|}}}</div></td></tr>}}<!-- -->{{#if:{{{list12|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group12|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group12style|}}}"><!-- -->{{{group12}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list12style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list12|}}}</div></td></tr>}}<!-- -->{{#if:{{{list13|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group13|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group13style|}}}"><!-- -->{{{group13}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list13style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list13|}}}</div></td></tr>}}<!-- -->{{#if:{{{list14|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group14|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group14style|}}}"><!-- -->{{{group14}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list14style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list14|}}}</div></td></tr>}}<!-- -->{{#if:{{{list15|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group15|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group15style|}}}"><!-- -->{{{group15}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list15style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list15|}}}</div></td></tr>}}<!-- -->{{#if:{{{list16|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group16|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group16style|}}}"><!-- -->{{{group16}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list16style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list16|}}}</div></td></tr>}}<!-- -->{{#if:{{{list17|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group17|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group17style|}}}"><!-- -->{{{group17}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list17style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list17|}}}</div></td></tr>}}<!-- -->{{#if:{{{list18|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group18|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group18style|}}}"><!-- -->{{{group18}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list18style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list18|}}}</div></td></tr>}}<!-- -->{{#if:{{{list19|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group19|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group19style|}}}"><!-- -->{{{group19}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list19style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list19|}}}</div></td></tr>}}<!-- -->{{#if:{{{list20|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group20|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group20style|}}}"><!-- -->{{{group20}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list20style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list20|}}}</div></td></tr>}}<!-- ---Below--- -->{{#if:{{{below|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}{{{list3|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow" style="{{{basestyle|}}};{{{belowstyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}">{{{below}}}</td></tr>}}<!-- --></table>{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=<div>|none=|#default=</td></tr></table>}}<!-- --><noinclude>[[Category:Navbox (navigational) templates]]</noinclude> ligebri1b6yies2ih4yqkbh2lsc0wzh 9731 9730 2013-05-14T20:35:37Z meta>Frietjes 0 trying a new LUA version imported from [[:en:Template:Navbox]] 9731 wikitext text/x-wiki {{#invoke: Navbox | navbox }}<noinclude>[[Category:Navbox (navigational) templates]]</noinclude> ko5mzo7ms3kk4q8nr7fbcv3xml4yq54 9732 9731 2014-01-25T08:35:26Z meta>Verdy p 0 9732 wikitext text/x-wiki {{#invoke: Navbox | navbox }}<noinclude>{{documentation}}</noinclude> r559d18z5ouc3wiwuekakf5ihlqt7ws 9733 9031 2021-08-23T18:00:44Z meta>MusikBot II 0 Changed protection settings for "[[Template:Navbox]]": High-risk template or module ([[User:MusikBot II/TemplateProtector|more info]]) ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) 9733 wikitext text/x-wiki {{#invoke: Navbox | navbox }}<noinclude>{{documentation}}</noinclude> r559d18z5ouc3wiwuekakf5ihlqt7ws 9734 2004-09-18T14:47:15Z w>Anthony 0 9734 wikitext text/x-wiki {| align="center" cellpadding="2" border="2" |- | width="30%" align="center" | Preceded by:<br>'''{{{1}}}''' | width="40%" align="center" | '''{{{2}}}''' | width="30%" align="center" | Succeeded by:<br>'''{{{3}}}''' |} 7rewwzqgyk8tfhrjvazh6h89yan0z82 9735 9734 2004-09-18T14:56:27Z w>Anthony 0 9735 wikitext text/x-wiki #REDIRECT: [[Template:Succession]] cu6u7f05n0x7yinucvnkq0zl4o7ikky 9736 9735 2006-10-24T07:18:51Z w>Luna Santin 0 redirecting to [[Template:NavigationBox]] 9736 wikitext text/x-wiki #REDIRECT: [[Template:NavigationBox]] 6ilnq23tk62pjhc38om65w024skzyqp 9737 9736 2007-08-04T06:03:56Z w>CapitalR 0 [[WP:AES|←]]Redirected page to [[Template:Navbox generic]] 9737 wikitext text/x-wiki #REDIRECT: [[Template:Navbox generic]] tlg9wjf069c3a37at4o19c0z8njvjos 9738 9737 2007-08-11T05:44:56Z w>CapitalR 0 9738 wikitext text/x-wiki {{Navbox generic |name = {{{name|}}} |state = {{{state|}}} |title = {{{title|}}} |image = {{{image|}}} |bodystyle = |style = |titlestyle = {{{titlestyle|}}} |titlegroupstyle = background:#ccccff; {{{titlegroupstyle|}}} |imagestyle = |abovestyle = background:#ddddff; text-align:center; {{{abovestyle|}}} |belowstyle = background:#ddddff; text-align:center; {{{belowstyle|}}} |groupstyle = background:#ddddff; text-align:right; vertical-align:top; {{{groupstyle|}}} |liststyle = width:100%; text-align:{{#if:{{{group1|}}}{{{group2|}}}|left|center}}; {{{liststyle|}}} |oddstyle = |evenstyle = background:#eee; |above = {{{above|}}} |below = {{{below|}}} |group1 = {{{group1|}}} |list1 = {{{list1|}}} }}<noinclude>{{{{FULLPAGENAME}}/doc}} <!-- Add cats and interwikis to the /doc subpage, not here! --> </noinclude> 2lobg9as5hr4i71j4kjv5rmknks67uc 9739 9738 2007-08-11T05:47:07Z w>CapitalR 0 9739 wikitext text/x-wiki {{Navbox generic |name = {{{name|Navbox}}} |state = {{{state|}}} |title = {{{title|}}} |image = {{{image|}}} |bodystyle = |style = |titlestyle = {{{titlestyle|}}} |titlegroupstyle = background:#ccccff; {{{titlegroupstyle|}}} |imagestyle = |abovestyle = background:#ddddff; text-align:center; {{{abovestyle|}}} |belowstyle = background:#ddddff; text-align:center; {{{belowstyle|}}} |groupstyle = background:#ddddff; text-align:right; vertical-align:top; {{{groupstyle|}}} |liststyle = width:100%; text-align:{{#if:{{{group1|}}}{{{group2|}}}|left|center}}; {{{liststyle|}}} |oddstyle = |evenstyle = background:#eee; |above = {{{above|}}} |below = {{{below|}}} |group1 = {{{group1|}}} |list1 = {{{list1|}}} }}<noinclude>{{{{FULLPAGENAME}}/doc}} <!-- Add cats and interwikis to the /doc subpage, not here! --> </noinclude> nnaf7udha9zf5bk6lja8n57m0wujmc0 9740 9739 2007-08-11T06:34:58Z w>CapitalR 0 9740 wikitext text/x-wiki {{Navbox generic |name = {{{name|Navbox}}} |navbox = {{{navbox|}}} |state = {{{state|}}} |title = {{{title|}}} |image = {{{image|}}} |bodystyle = {{{bodystyle|}}} |titlestyle = {{{titlestyle|}}} |abovestyle = background:#ddddff; text-align:center; {{{abovestyle|}}} |belowstyle = background:#ddddff; text-align:center; {{{belowstyle|}}} |groupstyle = background:#ddddff; text-align:right; vertical-align:top; {{{groupstyle|}}} |liststyle = text-align:{{#if:{{{group1|}}}{{{group2|}}}{{{group3|}}}{{{group4|}}}{{{group5|}}}{{{group6|}}}{{{group7|}}}{{{group8|}}}{{{group9|}}}{{{group10|}}}{{{group11|}}}{{{group12|}}}{{{group13|}}}{{{group14|}}}{{{group15|}}}{{{group16|}}}{{{group17|}}}{{{group18|}}}{{{group19|}}}{{{group20|}}}|left|center}}; {{{liststyle|}}} |oddstyle = |evenstyle = background:#eee; |above = {{{above|}}} |below = {{{below|}}} |group1 = {{{group1|}}} |list1 = {{{list1|}}} |group2 = {{{group2|}}} |list2 = {{{list2|}}} |group3 = {{{group3|}}} |list3 = {{{list3|}}} |group4 = {{{group4|}}} |list4 = {{{list4|}}} |group5 = {{{group5|}}} |list5 = {{{list5|}}} |group6 = {{{group6|}}} |list6 = {{{list6|}}} |group7 = {{{group7|}}} |list7 = {{{list7|}}} |group8 = {{{group8|}}} |list8 = {{{list8|}}} |group9 = {{{group9|}}} |list9 = {{{list9|}}} |group10 = {{{group10|}}} |list10 = {{{list10|}}} |group11 = {{{group11|}}} |list11 = {{{list11|}}} |group12 = {{{group12|}}} |list12 = {{{list12|}}} |group13 = {{{group13|}}} |list13 = {{{list13|}}} |group14 = {{{group14|}}} |list14 = {{{list14|}}} |group15 = {{{group15|}}} |list15 = {{{list15|}}} |group16 = {{{group16|}}} |list16 = {{{list16|}}} |group17 = {{{group17|}}} |list17 = {{{list17|}}} |group18 = {{{group18|}}} |list18 = {{{list18|}}} |group19 = {{{group19|}}} |list19 = {{{list19|}}} |group20 = {{{group20|}}} |list20 = {{{list20|}}} }}<noinclude>{{{{FULLPAGENAME}}/doc}} <!-- Add cats and interwikis to the /doc subpage, not here! --> </noinclude> 6ro16s223jsyffu1ta0horv9k2g9298 9741 9740 2007-08-11T06:41:58Z w>CapitalR 0 9741 wikitext text/x-wiki <!-- Please do not modify without discussion first! -->{{Navbox generic |name = {{{name|Navbox}}} |navbar = {{{navbar|}}} |state = {{{state|}}} |title = {{{title|}}} |image = {{{image|}}} |bodystyle = {{{bodystyle|}}} |titlestyle = {{{titlestyle|}}} |abovestyle = background:#ddddff; text-align:center; {{{abovestyle|}}} |belowstyle = background:#ddddff; text-align:center; {{{belowstyle|}}} |groupstyle = background:#ddddff; text-align:right; vertical-align:top; {{{groupstyle|}}} |liststyle = text-align:{{#if:{{{group1|}}}{{{group2|}}}{{{group3|}}}{{{group4|}}}{{{group5|}}}{{{group6|}}}{{{group7|}}}{{{group8|}}}{{{group9|}}}{{{group10|}}}{{{group11|}}}{{{group12|}}}{{{group13|}}}{{{group14|}}}{{{group15|}}}{{{group16|}}}{{{group17|}}}{{{group18|}}}{{{group19|}}}{{{group20|}}}|left|center}}; {{{liststyle|}}} |oddstyle = <!--Nothing--> |evenstyle = background:#eee; |above = {{{above|}}} |below = {{{below|}}} |group1 = {{{group1|}}} |list1 = {{{list1|}}} |group2 = {{{group2|}}} |list2 = {{{list2|}}} |group3 = {{{group3|}}} |list3 = {{{list3|}}} |group4 = {{{group4|}}} |list4 = {{{list4|}}} |group5 = {{{group5|}}} |list5 = {{{list5|}}} |group6 = {{{group6|}}} |list6 = {{{list6|}}} |group7 = {{{group7|}}} |list7 = {{{list7|}}} |group8 = {{{group8|}}} |list8 = {{{list8|}}} |group9 = {{{group9|}}} |list9 = {{{list9|}}} |group10 = {{{group10|}}} |list10 = {{{list10|}}} |group11 = {{{group11|}}} |list11 = {{{list11|}}} |group12 = {{{group12|}}} |list12 = {{{list12|}}} |group13 = {{{group13|}}} |list13 = {{{list13|}}} |group14 = {{{group14|}}} |list14 = {{{list14|}}} |group15 = {{{group15|}}} |list15 = {{{list15|}}} |group16 = {{{group16|}}} |list16 = {{{list16|}}} |group17 = {{{group17|}}} |list17 = {{{list17|}}} |group18 = {{{group18|}}} |list18 = {{{list18|}}} |group19 = {{{group19|}}} |list19 = {{{list19|}}} |group20 = {{{group20|}}} |list20 = {{{list20|}}} }}<noinclude>{{{{FULLPAGENAME}}/doc}}</noinclude> egaat4g93v04po0ej98jbauga5xrj65 9742 9741 2007-08-13T01:01:12Z w>CapitalR 0 9742 wikitext text/x-wiki <!-- Please do not modify without discussion first! -->{{Navbox generic |name = {{{name|Navbox}}} |navbar = {{{navbar|}}} |state = {{{state|}}} |title = {{{title|}}} |image = {{{image|}}} |bodystyle = {{{bodystyle|}}} |titlestyle = {{{titlestyle|}}} |abovestyle = background:#ddddff; text-align:center; {{{abovestyle|}}} |belowstyle = background:#ddddff; text-align:center; {{{belowstyle|}}} |groupstyle = background:#ddddff; text-align:right; vertical-align:top; {{{groupstyle|}}} |liststyle = text-align:{{#if:{{{group1|}}}{{{group2|}}}{{{group3|}}}{{{group4|}}}{{{group5|}}}{{{group6|}}}{{{group7|}}}{{{group8|}}}{{{group9|}}}{{{group10|}}}{{{group11|}}}{{{group12|}}}{{{group13|}}}{{{group14|}}}{{{group15|}}}{{{group16|}}}{{{group17|}}}{{{group18|}}}{{{group19|}}}{{{group20|}}}|left|center; font-size:95%}}; {{{liststyle|}}} |oddstyle = <!--Nothing--> |evenstyle = background:#eee; |above = {{{above|}}} |below = {{{below|}}} |group1 = {{{group1|}}} |list1 = {{{list1|}}} |group2 = {{{group2|}}} |list2 = {{{list2|}}} |group3 = {{{group3|}}} |list3 = {{{list3|}}} |group4 = {{{group4|}}} |list4 = {{{list4|}}} |group5 = {{{group5|}}} |list5 = {{{list5|}}} |group6 = {{{group6|}}} |list6 = {{{list6|}}} |group7 = {{{group7|}}} |list7 = {{{list7|}}} |group8 = {{{group8|}}} |list8 = {{{list8|}}} |group9 = {{{group9|}}} |list9 = {{{list9|}}} |group10 = {{{group10|}}} |list10 = {{{list10|}}} |group11 = {{{group11|}}} |list11 = {{{list11|}}} |group12 = {{{group12|}}} |list12 = {{{list12|}}} |group13 = {{{group13|}}} |list13 = {{{list13|}}} |group14 = {{{group14|}}} |list14 = {{{list14|}}} |group15 = {{{group15|}}} |list15 = {{{list15|}}} |group16 = {{{group16|}}} |list16 = {{{list16|}}} |group17 = {{{group17|}}} |list17 = {{{list17|}}} |group18 = {{{group18|}}} |list18 = {{{list18|}}} |group19 = {{{group19|}}} |list19 = {{{list19|}}} |group20 = {{{group20|}}} |list20 = {{{list20|}}} }}<noinclude>{{{{FULLPAGENAME}}/doc}}</noinclude> ktrq23mc2aao2oetscawkff67y7rblq 9743 9742 2007-08-13T13:28:11Z w>CapitalR 0 9743 wikitext text/x-wiki <!-- Please do not modify without discussion first! -->{{Navbox generic |name = {{{name|Navbox}}} |navbar = {{{navbar|}}} |state = {{{state|}}} |title = {{{title|}}} |image = {{{image|}}} |bodystyle = {{{bodystyle|}}} |titlestyle = {{{titlestyle|}}} |abovestyle = background:#ddddff; text-align:center; {{{abovestyle|}}} |belowstyle = background:#ddddff; text-align:center; {{{belowstyle|}}} |groupstyle = background:#ddddff; text-align:right; vertical-align:top; {{{groupstyle|}}} |liststyle = text-align:{{#if:{{{group1|}}}{{{group2|}}}{{{group3|}}}{{{group4|}}}{{{group5|}}}{{{group6|}}}{{{group7|}}}{{{group8|}}}{{{group9|}}}{{{group10|}}}{{{group11|}}}{{{group12|}}}{{{group13|}}}{{{group14|}}}{{{group15|}}}{{{group16|}}}{{{group17|}}}{{{group18|}}}{{{group19|}}}{{{group20|}}}|left|center; font-size:95%}}; {{{liststyle|}}} |oddstyle = <!--Nothing--> |evenstyle = background:#f5f5f5; |above = {{{above|}}} |below = {{{below|}}} |group1 = {{{group1|}}} |list1 = {{{list1|}}} |group2 = {{{group2|}}} |list2 = {{{list2|}}} |group3 = {{{group3|}}} |list3 = {{{list3|}}} |group4 = {{{group4|}}} |list4 = {{{list4|}}} |group5 = {{{group5|}}} |list5 = {{{list5|}}} |group6 = {{{group6|}}} |list6 = {{{list6|}}} |group7 = {{{group7|}}} |list7 = {{{list7|}}} |group8 = {{{group8|}}} |list8 = {{{list8|}}} |group9 = {{{group9|}}} |list9 = {{{list9|}}} |group10 = {{{group10|}}} |list10 = {{{list10|}}} |group11 = {{{group11|}}} |list11 = {{{list11|}}} |group12 = {{{group12|}}} |list12 = {{{list12|}}} |group13 = {{{group13|}}} |list13 = {{{list13|}}} |group14 = {{{group14|}}} |list14 = {{{list14|}}} |group15 = {{{group15|}}} |list15 = {{{list15|}}} |group16 = {{{group16|}}} |list16 = {{{list16|}}} |group17 = {{{group17|}}} |list17 = {{{list17|}}} |group18 = {{{group18|}}} |list18 = {{{list18|}}} |group19 = {{{group19|}}} |list19 = {{{list19|}}} |group20 = {{{group20|}}} |list20 = {{{list20|}}} }}<noinclude>{{{{FULLPAGENAME}}/doc}}</noinclude> rwyzjl7j588sj3c1apissnsstiks86j 9744 9743 2007-08-13T13:31:42Z w>CapitalR 0 9744 wikitext text/x-wiki <!-- Please do not modify without discussion first! -->{{Navbox generic |name = {{{name|Navbox}}} |navbar = {{{navbar|}}} |state = {{{state|}}} |title = {{{title|}}} |image = {{{image|}}} |bodystyle = {{{bodystyle|}}} |titlestyle = {{{titlestyle|}}} |abovestyle = background:#ddddff; text-align:center; {{{abovestyle|}}} |belowstyle = background:#ddddff; text-align:center; {{{belowstyle|}}} |groupstyle = background:#ddddff; text-align:right; vertical-align:top; {{{groupstyle|}}} |liststyle = text-align:{{#if:{{{group1|}}}{{{group2|}}}{{{group3|}}}{{{group4|}}}{{{group5|}}}{{{group6|}}}{{{group7|}}}{{{group8|}}}{{{group9|}}}{{{group10|}}}{{{group11|}}}{{{group12|}}}{{{group13|}}}{{{group14|}}}{{{group15|}}}{{{group16|}}}{{{group17|}}}{{{group18|}}}{{{group19|}}}{{{group20|}}}|left|center; font-size:95%}}; {{{liststyle|}}} |oddstyle = {{#if:{{{group1|}}}{{{group2|}}}{{{group3|}}}{{{group4|}}}{{{group5|}}}{{{group6|}}}{{{group7|}}}{{{group8|}}}{{{group9|}}}{{{group10|}}}{{{group11|}}}{{{group12|}}}{{{group13|}}}{{{group14|}}}{{{group15|}}}{{{group16|}}}{{{group17|}}}{{{group18|}}}{{{group19|}}}{{{group20|}}}| background:white;}} |evenstyle = background:#f5f5f5; |above = {{{above|}}} |below = {{{below|}}} |group1 = {{{group1|}}} |list1 = {{{list1|}}} |group2 = {{{group2|}}} |list2 = {{{list2|}}} |group3 = {{{group3|}}} |list3 = {{{list3|}}} |group4 = {{{group4|}}} |list4 = {{{list4|}}} |group5 = {{{group5|}}} |list5 = {{{list5|}}} |group6 = {{{group6|}}} |list6 = {{{list6|}}} |group7 = {{{group7|}}} |list7 = {{{list7|}}} |group8 = {{{group8|}}} |list8 = {{{list8|}}} |group9 = {{{group9|}}} |list9 = {{{list9|}}} |group10 = {{{group10|}}} |list10 = {{{list10|}}} |group11 = {{{group11|}}} |list11 = {{{list11|}}} |group12 = {{{group12|}}} |list12 = {{{list12|}}} |group13 = {{{group13|}}} |list13 = {{{list13|}}} |group14 = {{{group14|}}} |list14 = {{{list14|}}} |group15 = {{{group15|}}} |list15 = {{{list15|}}} |group16 = {{{group16|}}} |list16 = {{{list16|}}} |group17 = {{{group17|}}} |list17 = {{{list17|}}} |group18 = {{{group18|}}} |list18 = {{{list18|}}} |group19 = {{{group19|}}} |list19 = {{{list19|}}} |group20 = {{{group20|}}} |list20 = {{{list20|}}} }}<noinclude>{{{{FULLPAGENAME}}/doc}}</noinclude> rueg8nc9j1yzmx2sx3snc620796rysy 9745 9744 2007-08-13T13:32:55Z w>CapitalR 0 9745 wikitext text/x-wiki <!-- Please do not modify without discussion first! -->{{Navbox generic |name = {{{name|Navbox}}} |navbar = {{{navbar|}}} |state = {{{state|}}} |title = {{{title|}}} |image = {{{image|}}} |bodystyle = {{#if:{{{group1|}}}{{{group2|}}}{{{group3|}}}{{{group4|}}}{{{group5|}}}{{{group6|}}}{{{group7|}}}{{{group8|}}}{{{group9|}}}{{{group10|}}}{{{group11|}}}{{{group12|}}}{{{group13|}}}{{{group14|}}}{{{group15|}}}{{{group16|}}}{{{group17|}}}{{{group18|}}}{{{group19|}}}{{{group20|}}}| background:white;}}{{{bodystyle|}}} |titlestyle = {{{titlestyle|}}} |abovestyle = background:#ddddff; text-align:center; {{{abovestyle|}}} |belowstyle = background:#ddddff; text-align:center; {{{belowstyle|}}} |groupstyle = background:#ddddff; text-align:right; vertical-align:top; {{{groupstyle|}}} |liststyle = text-align:{{#if:{{{group1|}}}{{{group2|}}}{{{group3|}}}{{{group4|}}}{{{group5|}}}{{{group6|}}}{{{group7|}}}{{{group8|}}}{{{group9|}}}{{{group10|}}}{{{group11|}}}{{{group12|}}}{{{group13|}}}{{{group14|}}}{{{group15|}}}{{{group16|}}}{{{group17|}}}{{{group18|}}}{{{group19|}}}{{{group20|}}}|left|center; font-size:95%}}; {{{liststyle|}}} |oddstyle = |evenstyle = background:#f5f5f5; |above = {{{above|}}} |below = {{{below|}}} |group1 = {{{group1|}}} |list1 = {{{list1|}}} |group2 = {{{group2|}}} |list2 = {{{list2|}}} |group3 = {{{group3|}}} |list3 = {{{list3|}}} |group4 = {{{group4|}}} |list4 = {{{list4|}}} |group5 = {{{group5|}}} |list5 = {{{list5|}}} |group6 = {{{group6|}}} |list6 = {{{list6|}}} |group7 = {{{group7|}}} |list7 = {{{list7|}}} |group8 = {{{group8|}}} |list8 = {{{list8|}}} |group9 = {{{group9|}}} |list9 = {{{list9|}}} |group10 = {{{group10|}}} |list10 = {{{list10|}}} |group11 = {{{group11|}}} |list11 = {{{list11|}}} |group12 = {{{group12|}}} |list12 = {{{list12|}}} |group13 = {{{group13|}}} |list13 = {{{list13|}}} |group14 = {{{group14|}}} |list14 = {{{list14|}}} |group15 = {{{group15|}}} |list15 = {{{list15|}}} |group16 = {{{group16|}}} |list16 = {{{list16|}}} |group17 = {{{group17|}}} |list17 = {{{list17|}}} |group18 = {{{group18|}}} |list18 = {{{list18|}}} |group19 = {{{group19|}}} |list19 = {{{list19|}}} |group20 = {{{group20|}}} |list20 = {{{list20|}}} }}<noinclude>{{{{FULLPAGENAME}}/doc}}</noinclude> 8stzihwumh7kr77fq7m0zh8yykncaey 9746 9745 2007-08-13T13:34:28Z w>CapitalR 0 9746 wikitext text/x-wiki <!-- Please do not modify without discussion first! -->{{Navbox generic |name = {{{name|Navbox}}} |navbar = {{{navbar|}}} |state = {{{state|}}} |title = {{{title|}}} |image = {{{image|}}} |bodystyle = {{#if:{{{group1|}}}{{{group2|}}}{{{group3|}}}{{{group4|}}}{{{group5|}}}{{{group6|}}}{{{group7|}}}{{{group8|}}}{{{group9|}}}{{{group10|}}}{{{group11|}}}{{{group12|}}}{{{group13|}}}{{{group14|}}}{{{group15|}}}{{{group16|}}}{{{group17|}}}{{{group18|}}}{{{group19|}}}{{{group20|}}}| background:white;}}{{{bodystyle|}}} |titlestyle = {{{titlestyle|}}} |abovestyle = background:#ddddff; text-align:center; {{{abovestyle|}}} |belowstyle = background:#ddddff; text-align:center; {{{belowstyle|}}} |groupstyle = background:#ddddff; text-align:right; vertical-align:top; {{{groupstyle|}}} |liststyle = text-align:{{#if:{{{group1|}}}{{{group2|}}}{{{group3|}}}{{{group4|}}}{{{group5|}}}{{{group6|}}}{{{group7|}}}{{{group8|}}}{{{group9|}}}{{{group10|}}}{{{group11|}}}{{{group12|}}}{{{group13|}}}{{{group14|}}}{{{group15|}}}{{{group16|}}}{{{group17|}}}{{{group18|}}}{{{group19|}}}{{{group20|}}}|left|center; font-size:95%}}; {{{liststyle|}}} |oddstyle = |evenstyle = background:#f7f7f7; |above = {{{above|}}} |below = {{{below|}}} |group1 = {{{group1|}}} |list1 = {{{list1|}}} |group2 = {{{group2|}}} |list2 = {{{list2|}}} |group3 = {{{group3|}}} |list3 = {{{list3|}}} |group4 = {{{group4|}}} |list4 = {{{list4|}}} |group5 = {{{group5|}}} |list5 = {{{list5|}}} |group6 = {{{group6|}}} |list6 = {{{list6|}}} |group7 = {{{group7|}}} |list7 = {{{list7|}}} |group8 = {{{group8|}}} |list8 = {{{list8|}}} |group9 = {{{group9|}}} |list9 = {{{list9|}}} |group10 = {{{group10|}}} |list10 = {{{list10|}}} |group11 = {{{group11|}}} |list11 = {{{list11|}}} |group12 = {{{group12|}}} |list12 = {{{list12|}}} |group13 = {{{group13|}}} |list13 = {{{list13|}}} |group14 = {{{group14|}}} |list14 = {{{list14|}}} |group15 = {{{group15|}}} |list15 = {{{list15|}}} |group16 = {{{group16|}}} |list16 = {{{list16|}}} |group17 = {{{group17|}}} |list17 = {{{list17|}}} |group18 = {{{group18|}}} |list18 = {{{list18|}}} |group19 = {{{group19|}}} |list19 = {{{list19|}}} |group20 = {{{group20|}}} |list20 = {{{list20|}}} }}<noinclude>{{{{FULLPAGENAME}}/doc}}</noinclude> ol32gtlek43n8qz1p1czxenc6ebbrcr 9747 9746 2007-08-13T13:56:21Z w>CapitalR 0 9747 wikitext text/x-wiki <!-- Please do not modify without discussion first! -->{{Navbox generic |name = {{{name|Navbox}}} |navbar = {{{navbar|}}} |state = {{{state|}}} |title = {{{title|}}} |image = {{{image|}}} |bodystyle = {{#if:{{{group1|}}}{{{group2|}}}{{{group3|}}}{{{group4|}}}{{{group5|}}}{{{group6|}}}{{{group7|}}}{{{group8|}}}{{{group9|}}}{{{group10|}}}{{{group11|}}}{{{group12|}}}{{{group13|}}}{{{group14|}}}{{{group15|}}}{{{group16|}}}{{{group17|}}}{{{group18|}}}{{{group19|}}}{{{group20|}}}| background:white;}}{{{bodystyle|}}} |titlestyle = {{{titlestyle|}}} |abovestyle = background:#ddddff; text-align:center; {{{abovestyle|}}} |belowstyle = background:#ddddff; text-align:center; {{{belowstyle|}}} |groupstyle = background:#ddddff; text-align:right; vertical-align:top; {{{groupstyle|}}} |liststyle = text-align:{{#if:{{{group1|}}}{{{group2|}}}{{{group3|}}}{{{group4|}}}{{{group5|}}}{{{group6|}}}{{{group7|}}}{{{group8|}}}{{{group9|}}}{{{group10|}}}{{{group11|}}}{{{group12|}}}{{{group13|}}}{{{group14|}}}{{{group15|}}}{{{group16|}}}{{{group17|}}}{{{group18|}}}{{{group19|}}}{{{group20|}}}|left|center; font-size:95%}}; {{{liststyle|}}} |oddstyle = |evenstyle = background:#f9f9f9; |above = {{{above|}}} |below = {{{below|}}} |group1 = {{{group1|}}} |list1 = {{{list1|}}} |group2 = {{{group2|}}} |list2 = {{{list2|}}} |group3 = {{{group3|}}} |list3 = {{{list3|}}} |group4 = {{{group4|}}} |list4 = {{{list4|}}} |group5 = {{{group5|}}} |list5 = {{{list5|}}} |group6 = {{{group6|}}} |list6 = {{{list6|}}} |group7 = {{{group7|}}} |list7 = {{{list7|}}} |group8 = {{{group8|}}} |list8 = {{{list8|}}} |group9 = {{{group9|}}} |list9 = {{{list9|}}} |group10 = {{{group10|}}} |list10 = {{{list10|}}} |group11 = {{{group11|}}} |list11 = {{{list11|}}} |group12 = {{{group12|}}} |list12 = {{{list12|}}} |group13 = {{{group13|}}} |list13 = {{{list13|}}} |group14 = {{{group14|}}} |list14 = {{{list14|}}} |group15 = {{{group15|}}} |list15 = {{{list15|}}} |group16 = {{{group16|}}} |list16 = {{{list16|}}} |group17 = {{{group17|}}} |list17 = {{{list17|}}} |group18 = {{{group18|}}} |list18 = {{{list18|}}} |group19 = {{{group19|}}} |list19 = {{{list19|}}} |group20 = {{{group20|}}} |list20 = {{{list20|}}} }}<noinclude>{{{{FULLPAGENAME}}/doc}}</noinclude> iighrb6yyw0yv1v4w4aarsrn1zp4rgk 9748 9747 2007-08-13T17:40:29Z w>CapitalR 0 9748 wikitext text/x-wiki <!-- Please do not modify without discussion first! -->{{Navbox generic |name = {{{name|Navbox}}} |navbar = {{{navbar|}}} |state = {{{state|autocollapse}}} |title = {{{title|}}} |image = {{{image|}}} |bodystyle = {{#if:{{{group1|}}}{{{group2|}}}{{{group3|}}}{{{group4|}}}{{{group5|}}}{{{group6|}}}{{{group7|}}}{{{group8|}}}{{{group9|}}}{{{group10|}}}{{{group11|}}}{{{group12|}}}{{{group13|}}}{{{group14|}}}{{{group15|}}}{{{group16|}}}{{{group17|}}}{{{group18|}}}{{{group19|}}}{{{group20|}}}| background:white;}}{{{bodystyle|}}} |titlestyle = {{{titlestyle|}}} |abovestyle = background:#ddddff; text-align:center; {{{abovestyle|}}} |belowstyle = background:#ddddff; text-align:center; {{{belowstyle|}}} |groupstyle = background:#ddddff; text-align:right; vertical-align:top; {{{groupstyle|}}} |liststyle = text-align:{{#if:{{{group1|}}}{{{group2|}}}{{{group3|}}}{{{group4|}}}{{{group5|}}}{{{group6|}}}{{{group7|}}}{{{group8|}}}{{{group9|}}}{{{group10|}}}{{{group11|}}}{{{group12|}}}{{{group13|}}}{{{group14|}}}{{{group15|}}}{{{group16|}}}{{{group17|}}}{{{group18|}}}{{{group19|}}}{{{group20|}}}|left|center; font-size:95%}}; {{{liststyle|}}} |oddstyle = |evenstyle = background:#f9f9f9; |above = {{{above|}}} |below = {{{below|}}} |group1 = {{{group1|}}} |list1 = {{{list1|}}} |group2 = {{{group2|}}} |list2 = {{{list2|}}} |group3 = {{{group3|}}} |list3 = {{{list3|}}} |group4 = {{{group4|}}} |list4 = {{{list4|}}} |group5 = {{{group5|}}} |list5 = {{{list5|}}} |group6 = {{{group6|}}} |list6 = {{{list6|}}} |group7 = {{{group7|}}} |list7 = {{{list7|}}} |group8 = {{{group8|}}} |list8 = {{{list8|}}} |group9 = {{{group9|}}} |list9 = {{{list9|}}} |group10 = {{{group10|}}} |list10 = {{{list10|}}} |group11 = {{{group11|}}} |list11 = {{{list11|}}} |group12 = {{{group12|}}} |list12 = {{{list12|}}} |group13 = {{{group13|}}} |list13 = {{{list13|}}} |group14 = {{{group14|}}} |list14 = {{{list14|}}} |group15 = {{{group15|}}} |list15 = {{{list15|}}} |group16 = {{{group16|}}} |list16 = {{{list16|}}} |group17 = {{{group17|}}} |list17 = {{{list17|}}} |group18 = {{{group18|}}} |list18 = {{{list18|}}} |group19 = {{{group19|}}} |list19 = {{{list19|}}} |group20 = {{{group20|}}} |list20 = {{{list20|}}} }}<noinclude>{{{{FULLPAGENAME}}/doc}}</noinclude> 1xqt2pq5tvqrqfpykjl3l9nfpk0kro9 9749 9748 2007-08-13T18:45:31Z w>CapitalR 0 9749 wikitext text/x-wiki <!-- Please do not modify without discussion first! -->{{Navbox generic |name = {{{name|Navbox}}} |navbar = {{{navbar|}}} |state = {{{state|autocollapse}}} |title = {{{title|}}} |image = {{{image|}}} |bodystyle = {{#if:{{{group1|}}}{{{group2|}}}{{{group3|}}}{{{group4|}}}{{{group5|}}}{{{group6|}}}{{{group7|}}}{{{group8|}}}{{{group9|}}}{{{group10|}}}{{{group11|}}}{{{group12|}}}{{{group13|}}}{{{group14|}}}{{{group15|}}}{{{group16|}}}{{{group17|}}}{{{group18|}}}{{{group19|}}}{{{group20|}}}| background:white;}}{{{bodystyle|}}} |titlestyle = {{{titlestyle|}}} |abovestyle = background:#ddddff; text-align:center; {{{abovestyle|}}} |belowstyle = background:#ddddff; text-align:center; {{{belowstyle|}}} |groupstyle = background:#ddddff; text-align:right; vertical-align:top; {{{groupstyle|}}} |liststyle = text-align:{{#if:{{{group1|}}}{{{group2|}}}{{{group3|}}}{{{group4|}}}{{{group5|}}}{{{group6|}}}{{{group7|}}}{{{group8|}}}{{{group9|}}}{{{group10|}}}{{{group11|}}}{{{group12|}}}{{{group13|}}}{{{group14|}}}{{{group15|}}}{{{group16|}}}{{{group17|}}}{{{group18|}}}{{{group19|}}}{{{group20|}}}|left|center}}; font-size:95%;{{{liststyle|}}} |oddstyle = |evenstyle = background:#f9f9f9; |above = {{{above|}}} |below = {{{below|}}} |group1 = {{{group1|}}} |list1 = {{{list1|}}} |group2 = {{{group2|}}} |list2 = {{{list2|}}} |group3 = {{{group3|}}} |list3 = {{{list3|}}} |group4 = {{{group4|}}} |list4 = {{{list4|}}} |group5 = {{{group5|}}} |list5 = {{{list5|}}} |group6 = {{{group6|}}} |list6 = {{{list6|}}} |group7 = {{{group7|}}} |list7 = {{{list7|}}} |group8 = {{{group8|}}} |list8 = {{{list8|}}} |group9 = {{{group9|}}} |list9 = {{{list9|}}} |group10 = {{{group10|}}} |list10 = {{{list10|}}} |group11 = {{{group11|}}} |list11 = {{{list11|}}} |group12 = {{{group12|}}} |list12 = {{{list12|}}} |group13 = {{{group13|}}} |list13 = {{{list13|}}} |group14 = {{{group14|}}} |list14 = {{{list14|}}} |group15 = {{{group15|}}} |list15 = {{{list15|}}} |group16 = {{{group16|}}} |list16 = {{{list16|}}} |group17 = {{{group17|}}} |list17 = {{{list17|}}} |group18 = {{{group18|}}} |list18 = {{{list18|}}} |group19 = {{{group19|}}} |list19 = {{{list19|}}} |group20 = {{{group20|}}} |list20 = {{{list20|}}} }}<noinclude>{{{{FULLPAGENAME}}/doc}}</noinclude> dczj0te5r3s4qvfx43oyefn0w6d9zdz 9750 9749 2007-08-14T04:55:51Z w>CapitalR 0 9750 wikitext text/x-wiki <!-- This template is waiting for changes to be made to {{Navbox generic}}, which it will soon transclude instead of {{User:CapitalR/Test}}. This should be fixed within a matter of days (today being 8/14/2007). Please refrain from changing to Navbox generic at this time, as it will cause problems in some browsers. -->{{User:CapitalR/Test |name = {{{name|Navbox}}} |navbar = {{{navbar|}}} |state = {{{state|autocollapse}}} |title = {{{title|}}} |image = {{{image|}}} |bodystyle = {{#if:{{{group1|}}}{{{group2|}}}{{{group3|}}}{{{group4|}}}{{{group5|}}}{{{group6|}}}{{{group7|}}}{{{group8|}}}{{{group9|}}}{{{group10|}}}{{{group11|}}}{{{group12|}}}{{{group13|}}}{{{group14|}}}{{{group15|}}}{{{group16|}}}{{{group17|}}}{{{group18|}}}{{{group19|}}}{{{group20|}}}| background:white;}}{{{bodystyle|}}} |titlestyle = {{{titlestyle|}}} |abovestyle = background:#ddddff; text-align:center; {{{abovestyle|}}} |belowstyle = background:#ddddff; text-align:center; {{{belowstyle|}}} |groupstyle = background:#ddddff; text-align:right; vertical-align:top; {{{groupstyle|}}} |liststyle = text-align:{{#if:{{{group1|}}}{{{group2|}}}{{{group3|}}}{{{group4|}}}{{{group5|}}}{{{group6|}}}{{{group7|}}}{{{group8|}}}{{{group9|}}}{{{group10|}}}{{{group11|}}}{{{group12|}}}{{{group13|}}}{{{group14|}}}{{{group15|}}}{{{group16|}}}{{{group17|}}}{{{group18|}}}{{{group19|}}}{{{group20|}}}|left|center}}; font-size:95%;{{{liststyle|}}} |oddstyle = |evenstyle = background:#f9f9f9; |above = {{{above|}}} |below = {{{below|}}} |group1 = {{{group1|}}} |list1 = {{{list1|}}} |group2 = {{{group2|}}} |list2 = {{{list2|}}} |group3 = {{{group3|}}} |list3 = {{{list3|}}} |group4 = {{{group4|}}} |list4 = {{{list4|}}} |group5 = {{{group5|}}} |list5 = {{{list5|}}} |group6 = {{{group6|}}} |list6 = {{{list6|}}} |group7 = {{{group7|}}} |list7 = {{{list7|}}} |group8 = {{{group8|}}} |list8 = {{{list8|}}} |group9 = {{{group9|}}} |list9 = {{{list9|}}} |group10 = {{{group10|}}} |list10 = {{{list10|}}} |group11 = {{{group11|}}} |list11 = {{{list11|}}} |group12 = {{{group12|}}} |list12 = {{{list12|}}} |group13 = {{{group13|}}} |list13 = {{{list13|}}} |group14 = {{{group14|}}} |list14 = {{{list14|}}} |group15 = {{{group15|}}} |list15 = {{{list15|}}} |group16 = {{{group16|}}} |list16 = {{{list16|}}} |group17 = {{{group17|}}} |list17 = {{{list17|}}} |group18 = {{{group18|}}} |list18 = {{{list18|}}} |group19 = {{{group19|}}} |list19 = {{{list19|}}} |group20 = {{{group20|}}} |list20 = {{{list20|}}} }}<noinclude>{{{{FULLPAGENAME}}/doc}}</noinclude> q6bs0mqjic7j1okof3b7dlahkkjt8p5 9751 9750 2007-08-15T01:57:51Z w>CapitalR 0 Major upgrade 9751 wikitext text/x-wiki <!-- Please do not edit without discussion first as this is a VERY complex template. -->{{User:CapitalR/Test2/core |name = {{{name<noinclude>|{{FULLPAGENAME}}</noinclude>}}} |navbar = {{{navbar|}}} |state = {{{state|autocollapse}}} |title = {{{title|}}} |image = {{{image|}}} |imageleft = {{{imageleft|}}} |imagespan = {{#expr:{{#if:{{{list1|}}}|1|0}} +{{#if:{{{list2|}}}|1|0}} +{{#if:{{{list3|}}}|1|0}} +{{#if:{{{list4|}}}|1|0}} +{{#if:{{{list5|}}}|1|0}} +{{#if:{{{list6|}}}|1|0}} +{{#if:{{{list7|}}}|1|0}} +{{#if:{{{list8|}}}|1|0}} +{{#if:{{{list9|}}}|1|0}} +{{#if:{{{list10|}}}|1|0}} +{{#if:{{{list11|}}}|1|0}} +{{#if:{{{list12|}}}|1|0}} +{{#if:{{{list13|}}}|1|0}} +{{#if:{{{list14|}}}|1|0}} +{{#if:{{{list15|}}}|1|0}} +{{#if:{{{list16|}}}|1|0}} +{{#if:{{{list17|}}}|1|0}} +{{#if:{{{list18|}}}|1|0}} +{{#if:{{{list19|}}}|1|0}} +{{#if:{{{list20|}}}|1|0}}}} |span = {{#if:{{{group1|}}}{{{group2|}}}{{{group3|}}}{{{group4|}}}{{{group5|}}}{{{group6|}}}{{{group7|}}}{{{group8|}}}{{{group9|}}}{{{group10|}}}{{{group11|}}}{{{group12|}}}{{{group13|}}}{{{group14|}}}{{{group15|}}}{{{group16|}}}{{{group17|}}}{{{group18|}}}{{{group19|}}}{{{group20|}}}{{{imageleft|}}}|{{#if:{{{image|}}}|3|2}}|{{#if:{{{image|}}}|2|1}}}} |nogroups = {{#if:{{{group1|}}}{{{group2|}}}{{{group3|}}}{{{group4|}}}{{{group5|}}}{{{group6|}}}{{{group7|}}}{{{group8|}}}{{{group9|}}}{{{group10|}}}{{{group11|}}}{{{group12|}}}{{{group13|}}}{{{group14|}}}{{{group15|}}}{{{group16|}}}{{{group17|}}}{{{group18|}}}{{{group19|}}}{{{group20|}}}|false|true}} |bodystyle = {{{style|}}}{{{bodystyle|}}} |titlestyle = {{{titlestyle|}}} |abovestyle = background:#ddddff;{{{abovestyle|}}} |belowstyle = background:#ddddff;{{{belowstyle|}}} |above = {{{above|}}} |below = {{{below|}}} |gs = white-space:nowrap;background:#ddddff;text-align:right;vertical-align:top;{{{groupstyle|}}} |ls = width:100%;font-size:95%;text-align:{{#if:{{{group1|}}}{{{group2|}}}{{{group3|}}}{{{group4|}}}{{{group5|}}}{{{group6|}}}{{{group7|}}}{{{group8|}}}{{{group9|}}}{{{group10|}}}{{{group11|}}}{{{group12|}}}{{{group13|}}}{{{group14|}}}{{{group15|}}}{{{group16|}}}{{{group17|}}}{{{group18|}}}{{{group19|}}}{{{group20|}}}|left|center}};{{{liststyle|}}} |os = {{{oddstyle|}}} |es = background:#f7f7f7;{{{evenstyle|}}} |g1 = {{{group1|}}} |g2 = {{{group2|}}} |g3 = {{{group3|}}} |g4 = {{{group4|}}} |g5 = {{{group5|}}} |g6 = {{{group6|}}} |g7 = {{{group7|}}} |g8 = {{{group8|}}} |g9 = {{{group9|}}} |g10 = {{{group10|}}} |g11 = {{{group11|}}} |g12 = {{{group12|}}} |g13 = {{{group13|}}} |g14 = {{{group14|}}} |g15 = {{{group15|}}} |g16 = {{{group16|}}} |g17 = {{{group17|}}} |g18 = {{{group18|}}} |g19 = {{{group19|}}} |g20 = {{{group20|}}} |l1 = {{{list1|}}} |l2 = {{{list2|}}} |l3 = {{{list3|}}} |l4 = {{{list4|}}} |l5 = {{{list5|}}} |l6 = {{{list6|}}} |l7 = {{{list7|}}} |l8 = {{{list8|}}} |l9 = {{{list9|}}} |l10 = {{{list10|}}} |l11 = {{{list11|}}} |l12 = {{{list12|}}} |l13 = {{{list13|}}} |l14 = {{{list14|}}} |l15 = {{{list15|}}} |l16 = {{{list16|}}} |l17 = {{{list17|}}} |l18 = {{{list18|}}} |l19 = {{{list19|}}} |l20 = {{{list20|}}} }}<noinclude>{{{{FULLPAGENAME}}/doc}}</noinclude> ojlq7pzoessb1vz8jxtcqe61aj9umxe 9752 9751 2007-08-15T02:05:26Z w>CapitalR 0 9752 wikitext text/x-wiki <!-- Please do not edit without discussion first as this is a VERY complex template. -->{{Navbox/core |name = {{{name<noinclude>|{{FULLPAGENAME}}</noinclude>}}} |navbar = {{{navbar|}}} |state = {{{state|autocollapse}}} |title = {{{title|}}} |image = {{{image|}}} |imageleft = {{{imageleft|}}} |imagespan = {{#expr:{{#if:{{{list1|}}}|1|0}} +{{#if:{{{list2|}}}|1|0}} +{{#if:{{{list3|}}}|1|0}} +{{#if:{{{list4|}}}|1|0}} +{{#if:{{{list5|}}}|1|0}} +{{#if:{{{list6|}}}|1|0}} +{{#if:{{{list7|}}}|1|0}} +{{#if:{{{list8|}}}|1|0}} +{{#if:{{{list9|}}}|1|0}} +{{#if:{{{list10|}}}|1|0}} +{{#if:{{{list11|}}}|1|0}} +{{#if:{{{list12|}}}|1|0}} +{{#if:{{{list13|}}}|1|0}} +{{#if:{{{list14|}}}|1|0}} +{{#if:{{{list15|}}}|1|0}} +{{#if:{{{list16|}}}|1|0}} +{{#if:{{{list17|}}}|1|0}} +{{#if:{{{list18|}}}|1|0}} +{{#if:{{{list19|}}}|1|0}} +{{#if:{{{list20|}}}|1|0}}}} |span = {{#if:{{{group1|}}}{{{group2|}}}{{{group3|}}}{{{group4|}}}{{{group5|}}}{{{group6|}}}{{{group7|}}}{{{group8|}}}{{{group9|}}}{{{group10|}}}{{{group11|}}}{{{group12|}}}{{{group13|}}}{{{group14|}}}{{{group15|}}}{{{group16|}}}{{{group17|}}}{{{group18|}}}{{{group19|}}}{{{group20|}}}{{{imageleft|}}}|{{#if:{{{image|}}}|3|2}}|{{#if:{{{image|}}}|2|1}}}} |nogroups = {{#if:{{{group1|}}}{{{group2|}}}{{{group3|}}}{{{group4|}}}{{{group5|}}}{{{group6|}}}{{{group7|}}}{{{group8|}}}{{{group9|}}}{{{group10|}}}{{{group11|}}}{{{group12|}}}{{{group13|}}}{{{group14|}}}{{{group15|}}}{{{group16|}}}{{{group17|}}}{{{group18|}}}{{{group19|}}}{{{group20|}}}|false|true}} |bodystyle = {{{style|}}}{{{bodystyle|}}} |titlestyle = {{{titlestyle|}}} |abovestyle = background:#ddddff;{{{abovestyle|}}} |belowstyle = background:#ddddff;{{{belowstyle|}}} |above = {{{above|}}} |below = {{{below|}}} |gs = white-space:nowrap;background:#ddddff;text-align:right;vertical-align:top;{{{groupstyle|}}} |ls = width:100%;font-size:95%;text-align:{{#if:{{{group1|}}}{{{group2|}}}{{{group3|}}}{{{group4|}}}{{{group5|}}}{{{group6|}}}{{{group7|}}}{{{group8|}}}{{{group9|}}}{{{group10|}}}{{{group11|}}}{{{group12|}}}{{{group13|}}}{{{group14|}}}{{{group15|}}}{{{group16|}}}{{{group17|}}}{{{group18|}}}{{{group19|}}}{{{group20|}}}|left|center}};{{{liststyle|}}} |os = {{{oddstyle|}}} |es = background:#f7f7f7;{{{evenstyle|}}} |g1 = {{{group1|}}} |g2 = {{{group2|}}} |g3 = {{{group3|}}} |g4 = {{{group4|}}} |g5 = {{{group5|}}} |g6 = {{{group6|}}} |g7 = {{{group7|}}} |g8 = {{{group8|}}} |g9 = {{{group9|}}} |g10 = {{{group10|}}} |g11 = {{{group11|}}} |g12 = {{{group12|}}} |g13 = {{{group13|}}} |g14 = {{{group14|}}} |g15 = {{{group15|}}} |g16 = {{{group16|}}} |g17 = {{{group17|}}} |g18 = {{{group18|}}} |g19 = {{{group19|}}} |g20 = {{{group20|}}} |l1 = {{{list1|}}} |l2 = {{{list2|}}} |l3 = {{{list3|}}} |l4 = {{{list4|}}} |l5 = {{{list5|}}} |l6 = {{{list6|}}} |l7 = {{{list7|}}} |l8 = {{{list8|}}} |l9 = {{{list9|}}} |l10 = {{{list10|}}} |l11 = {{{list11|}}} |l12 = {{{list12|}}} |l13 = {{{list13|}}} |l14 = {{{list14|}}} |l15 = {{{list15|}}} |l16 = {{{list16|}}} |l17 = {{{list17|}}} |l18 = {{{list18|}}} |l19 = {{{list19|}}} |l20 = {{{list20|}}} }}<noinclude>{{{{FULLPAGENAME}}/doc}}</noinclude> dqtspm0ni38n2bnsbohp7ex6ptacybg 9753 9752 2007-08-15T05:01:43Z w>CapitalR 0 9753 wikitext text/x-wiki <!-- Please do not edit without discussion first as this is a VERY complex template. -->{{Navbox/core |name = {{{name<noinclude>|{{FULLPAGENAME}}</noinclude>}}} |navbar = {{{navbar|}}} |state = {{{state|autocollapse}}} |title = {{{title|}}} |image = {{{image|}}} |imageleft = {{{imageleft|}}} |imagespan = {{#expr:{{#if:{{{list1|}}}|1|0}} +{{#if:{{{list2|}}}|1|0}} +{{#if:{{{list3|}}}|1|0}} +{{#if:{{{list4|}}}|1|0}} +{{#if:{{{list5|}}}|1|0}} +{{#if:{{{list6|}}}|1|0}} +{{#if:{{{list7|}}}|1|0}} +{{#if:{{{list8|}}}|1|0}} +{{#if:{{{list9|}}}|1|0}} +{{#if:{{{list10|}}}|1|0}} +{{#if:{{{list11|}}}|1|0}} +{{#if:{{{list12|}}}|1|0}} +{{#if:{{{list13|}}}|1|0}} +{{#if:{{{list14|}}}|1|0}} +{{#if:{{{list15|}}}|1|0}} +{{#if:{{{list16|}}}|1|0}} +{{#if:{{{list17|}}}|1|0}} +{{#if:{{{list18|}}}|1|0}} +{{#if:{{{list19|}}}|1|0}} +{{#if:{{{list20|}}}|1|0}}}} |span = {{#if:{{{group1|}}}{{{group2|}}}{{{group3|}}}{{{group4|}}}{{{group5|}}}{{{group6|}}}{{{group7|}}}{{{group8|}}}{{{group9|}}}{{{group10|}}}{{{group11|}}}{{{group12|}}}{{{group13|}}}{{{group14|}}}{{{group15|}}}{{{group16|}}}{{{group17|}}}{{{group18|}}}{{{group19|}}}{{{group20|}}}{{{imageleft|}}}|{{#if:{{{image|}}}|3|2}}|{{#if:{{{image|}}}|2|1}}}} |nogroups = {{#if:{{{group1|}}}{{{group2|}}}{{{group3|}}}{{{group4|}}}{{{group5|}}}{{{group6|}}}{{{group7|}}}{{{group8|}}}{{{group9|}}}{{{group10|}}}{{{group11|}}}{{{group12|}}}{{{group13|}}}{{{group14|}}}{{{group15|}}}{{{group16|}}}{{{group17|}}}{{{group18|}}}{{{group19|}}}{{{group20|}}}|false|true}} |bodystyle = {{{style|}}}{{{bodystyle|}}} |titlestyle = {{{titlestyle|}}} |abovestyle = background:#ddddff;{{{abovestyle|}}} |belowstyle = background:#ddddff;{{{belowstyle|}}} |above = {{{above|}}} |below = {{{below|}}} |gs = white-space:nowrap;background:#ddddff;text-align:right;vertical-align:top;{{{groupstyle|}}} |os = width:100%;font-size:95%;{{{liststyle|}}}{{{oddstyle|}}} |es = width:100%;font-size:95%;background:#f7f7f7;{{{liststyle|}}}{{{evenstyle|}}} |g1 = {{{group1|}}} |g2 = {{{group2|}}} |g3 = {{{group3|}}} |g4 = {{{group4|}}} |g5 = {{{group5|}}} |g6 = {{{group6|}}} |g7 = {{{group7|}}} |g8 = {{{group8|}}} |g9 = {{{group9|}}} |g10 = {{{group10|}}} |g11 = {{{group11|}}} |g12 = {{{group12|}}} |g13 = {{{group13|}}} |g14 = {{{group14|}}} |g15 = {{{group15|}}} |g16 = {{{group16|}}} |g17 = {{{group17|}}} |g18 = {{{group18|}}} |g19 = {{{group19|}}} |g20 = {{{group20|}}} |l1 = {{{list1|}}} |l2 = {{{list2|}}} |l3 = {{{list3|}}} |l4 = {{{list4|}}} |l5 = {{{list5|}}} |l6 = {{{list6|}}} |l7 = {{{list7|}}} |l8 = {{{list8|}}} |l9 = {{{list9|}}} |l10 = {{{list10|}}} |l11 = {{{list11|}}} |l12 = {{{list12|}}} |l13 = {{{list13|}}} |l14 = {{{list14|}}} |l15 = {{{list15|}}} |l16 = {{{list16|}}} |l17 = {{{list17|}}} |l18 = {{{list18|}}} |l19 = {{{list19|}}} |l20 = {{{list20|}}} }}<noinclude>{{{{FULLPAGENAME}}/doc}}</noinclude> 0uchjfwgw9pmws1galxfhldl4al9p6q 9754 9753 2007-08-16T06:48:12Z w>BenB4 0 make compatible with {{Navigation}} and {{Dynamic navigation box}} 9754 wikitext text/x-wiki <!-- Please do not edit without discussion first as this is a VERY complex template. -->{{Navbox/core |name = {{{name<noinclude>|{{FULLPAGENAME}}</noinclude>}}} |navbar = {{{navbar|}}} |state = {{{state|autocollapse}}} |title = {{{title|}}} |image = {{{image|}}} |imageleft = {{{imageleft|}}} |imagespan = {{#expr:{{#if:{{{body|}}}{{{list1|}}}|1|0}} +{{#if:{{{list2|}}}|1|0}} +{{#if:{{{list3|}}}|1|0}} +{{#if:{{{list4|}}}|1|0}} +{{#if:{{{list5|}}}|1|0}} +{{#if:{{{list6|}}}|1|0}} +{{#if:{{{list7|}}}|1|0}} +{{#if:{{{list8|}}}|1|0}} +{{#if:{{{list9|}}}|1|0}} +{{#if:{{{list10|}}}|1|0}} +{{#if:{{{list11|}}}|1|0}} +{{#if:{{{list12|}}}|1|0}} +{{#if:{{{list13|}}}|1|0}} +{{#if:{{{list14|}}}|1|0}} +{{#if:{{{list15|}}}|1|0}} +{{#if:{{{list16|}}}|1|0}} +{{#if:{{{list17|}}}|1|0}} +{{#if:{{{list18|}}}|1|0}} +{{#if:{{{list19|}}}|1|0}} +{{#if:{{{list20|}}}|1|0}}}} |span = {{#if:{{{group1|}}}{{{group2|}}}{{{group3|}}}{{{group4|}}}{{{group5|}}}{{{group6|}}}{{{group7|}}}{{{group8|}}}{{{group9|}}}{{{group10|}}}{{{group11|}}}{{{group12|}}}{{{group13|}}}{{{group14|}}}{{{group15|}}}{{{group16|}}}{{{group17|}}}{{{group18|}}}{{{group19|}}}{{{group20|}}}{{{imageleft|}}}|{{#if:{{{image|}}}|3|2}}|{{#if:{{{image|}}}|2|1}}}} |nogroups = {{#if:{{{group1|}}}{{{group2|}}}{{{group3|}}}{{{group4|}}}{{{group5|}}}{{{group6|}}}{{{group7|}}}{{{group8|}}}{{{group9|}}}{{{group10|}}}{{{group11|}}}{{{group12|}}}{{{group13|}}}{{{group14|}}}{{{group15|}}}{{{group16|}}}{{{group17|}}}{{{group18|}}}{{{group19|}}}{{{group20|}}}|false|true}} |bodystyle = {{{style|}}}{{{bodystyle|}}} |titlestyle = {{{titlestyle|}}} |abovestyle = background:#ddddff;{{{abovestyle|}}} |belowstyle = background:#ddddff;{{{belowstyle|}}} |above = {{{above|}}} |below = {{{below|}}} |gs = white-space:nowrap;background:#ddddff;text-align:right;vertical-align:top;{{{groupstyle|}}} |os = width:100%;font-size:95%;{{{liststyle|}}}{{{oddstyle|}}} |es = width:100%;font-size:95%;background:#f7f7f7;{{{liststyle|}}}{{{evenstyle|}}} |g1 = {{{group1|}}} |g2 = {{{group2|}}} |g3 = {{{group3|}}} |g4 = {{{group4|}}} |g5 = {{{group5|}}} |g6 = {{{group6|}}} |g7 = {{{group7|}}} |g8 = {{{group8|}}} |g9 = {{{group9|}}} |g10 = {{{group10|}}} |g11 = {{{group11|}}} |g12 = {{{group12|}}} |g13 = {{{group13|}}} |g14 = {{{group14|}}} |g15 = {{{group15|}}} |g16 = {{{group16|}}} |g17 = {{{group17|}}} |g18 = {{{group18|}}} |g19 = {{{group19|}}} |g20 = {{{group20|}}} |l1 = {{{body|}}}{{{list1|}}} |l2 = {{{list2|}}} |l3 = {{{list3|}}} |l4 = {{{list4|}}} |l5 = {{{list5|}}} |l6 = {{{list6|}}} |l7 = {{{list7|}}} |l8 = {{{list8|}}} |l9 = {{{list9|}}} |l10 = {{{list10|}}} |l11 = {{{list11|}}} |l12 = {{{list12|}}} |l13 = {{{list13|}}} |l14 = {{{list14|}}} |l15 = {{{list15|}}} |l16 = {{{list16|}}} |l17 = {{{list17|}}} |l18 = {{{list18|}}} |l19 = {{{list19|}}} |l20 = {{{list20|}}} }}<noinclude>{{{{FULLPAGENAME}}/doc}}</noinclude> cwahbc0a2n9j9ems98h4vqqyv0we9ll 9755 9754 2007-08-18T07:13:16Z w>Alison 0 +prot 9755 wikitext text/x-wiki <!-- Please do not edit without discussion first as this is a VERY complex template. -->{{Navbox/core |name = {{{name<noinclude>|{{FULLPAGENAME}}</noinclude>}}} |navbar = {{{navbar|}}} |state = {{{state|autocollapse}}} |title = {{{title|}}} |image = {{{image|}}} |imageleft = {{{imageleft|}}} |imagespan = {{#expr:{{#if:{{{body|}}}{{{list1|}}}|1|0}} +{{#if:{{{list2|}}}|1|0}} +{{#if:{{{list3|}}}|1|0}} +{{#if:{{{list4|}}}|1|0}} +{{#if:{{{list5|}}}|1|0}} +{{#if:{{{list6|}}}|1|0}} +{{#if:{{{list7|}}}|1|0}} +{{#if:{{{list8|}}}|1|0}} +{{#if:{{{list9|}}}|1|0}} +{{#if:{{{list10|}}}|1|0}} +{{#if:{{{list11|}}}|1|0}} +{{#if:{{{list12|}}}|1|0}} +{{#if:{{{list13|}}}|1|0}} +{{#if:{{{list14|}}}|1|0}} +{{#if:{{{list15|}}}|1|0}} +{{#if:{{{list16|}}}|1|0}} +{{#if:{{{list17|}}}|1|0}} +{{#if:{{{list18|}}}|1|0}} +{{#if:{{{list19|}}}|1|0}} +{{#if:{{{list20|}}}|1|0}}}} |span = {{#if:{{{group1|}}}{{{group2|}}}{{{group3|}}}{{{group4|}}}{{{group5|}}}{{{group6|}}}{{{group7|}}}{{{group8|}}}{{{group9|}}}{{{group10|}}}{{{group11|}}}{{{group12|}}}{{{group13|}}}{{{group14|}}}{{{group15|}}}{{{group16|}}}{{{group17|}}}{{{group18|}}}{{{group19|}}}{{{group20|}}}{{{imageleft|}}}|{{#if:{{{image|}}}|3|2}}|{{#if:{{{image|}}}|2|1}}}} |nogroups = {{#if:{{{group1|}}}{{{group2|}}}{{{group3|}}}{{{group4|}}}{{{group5|}}}{{{group6|}}}{{{group7|}}}{{{group8|}}}{{{group9|}}}{{{group10|}}}{{{group11|}}}{{{group12|}}}{{{group13|}}}{{{group14|}}}{{{group15|}}}{{{group16|}}}{{{group17|}}}{{{group18|}}}{{{group19|}}}{{{group20|}}}|false|true}} |bodystyle = {{{style|}}}{{{bodystyle|}}} |titlestyle = {{{titlestyle|}}} |abovestyle = background:#ddddff;{{{abovestyle|}}} |belowstyle = background:#ddddff;{{{belowstyle|}}} |above = {{{above|}}} |below = {{{below|}}} |gs = white-space:nowrap;background:#ddddff;text-align:right;vertical-align:top;{{{groupstyle|}}} |os = width:100%;font-size:95%;{{{liststyle|}}}{{{oddstyle|}}} |es = width:100%;font-size:95%;background:#f7f7f7;{{{liststyle|}}}{{{evenstyle|}}} |g1 = {{{group1|}}} |g2 = {{{group2|}}} |g3 = {{{group3|}}} |g4 = {{{group4|}}} |g5 = {{{group5|}}} |g6 = {{{group6|}}} |g7 = {{{group7|}}} |g8 = {{{group8|}}} |g9 = {{{group9|}}} |g10 = {{{group10|}}} |g11 = {{{group11|}}} |g12 = {{{group12|}}} |g13 = {{{group13|}}} |g14 = {{{group14|}}} |g15 = {{{group15|}}} |g16 = {{{group16|}}} |g17 = {{{group17|}}} |g18 = {{{group18|}}} |g19 = {{{group19|}}} |g20 = {{{group20|}}} |l1 = {{{body|}}}{{{list1|}}} |l2 = {{{list2|}}} |l3 = {{{list3|}}} |l4 = {{{list4|}}} |l5 = {{{list5|}}} |l6 = {{{list6|}}} |l7 = {{{list7|}}} |l8 = {{{list8|}}} |l9 = {{{list9|}}} |l10 = {{{list10|}}} |l11 = {{{list11|}}} |l12 = {{{list12|}}} |l13 = {{{list13|}}} |l14 = {{{list14|}}} |l15 = {{{list15|}}} |l16 = {{{list16|}}} |l17 = {{{list17|}}} |l18 = {{{list18|}}} |l19 = {{{list19|}}} |l20 = {{{list20|}}} }}<noinclude> {{protected template}} {{{{FULLPAGENAME}}/doc}}</noinclude> 06t5jmo36hy088uu6emjhgkkimsvt4h 9756 9755 2007-08-18T07:13:48Z w>Alison 0 Protected Template:Navbox: High risk template / requested at [[WP:RPP]] [edit=sysop:move=sysop] 9755 wikitext text/x-wiki <!-- Please do not edit without discussion first as this is a VERY complex template. -->{{Navbox/core |name = {{{name<noinclude>|{{FULLPAGENAME}}</noinclude>}}} |navbar = {{{navbar|}}} |state = {{{state|autocollapse}}} |title = {{{title|}}} |image = {{{image|}}} |imageleft = {{{imageleft|}}} |imagespan = {{#expr:{{#if:{{{body|}}}{{{list1|}}}|1|0}} +{{#if:{{{list2|}}}|1|0}} +{{#if:{{{list3|}}}|1|0}} +{{#if:{{{list4|}}}|1|0}} +{{#if:{{{list5|}}}|1|0}} +{{#if:{{{list6|}}}|1|0}} +{{#if:{{{list7|}}}|1|0}} +{{#if:{{{list8|}}}|1|0}} +{{#if:{{{list9|}}}|1|0}} +{{#if:{{{list10|}}}|1|0}} +{{#if:{{{list11|}}}|1|0}} +{{#if:{{{list12|}}}|1|0}} +{{#if:{{{list13|}}}|1|0}} +{{#if:{{{list14|}}}|1|0}} +{{#if:{{{list15|}}}|1|0}} +{{#if:{{{list16|}}}|1|0}} +{{#if:{{{list17|}}}|1|0}} +{{#if:{{{list18|}}}|1|0}} +{{#if:{{{list19|}}}|1|0}} +{{#if:{{{list20|}}}|1|0}}}} |span = {{#if:{{{group1|}}}{{{group2|}}}{{{group3|}}}{{{group4|}}}{{{group5|}}}{{{group6|}}}{{{group7|}}}{{{group8|}}}{{{group9|}}}{{{group10|}}}{{{group11|}}}{{{group12|}}}{{{group13|}}}{{{group14|}}}{{{group15|}}}{{{group16|}}}{{{group17|}}}{{{group18|}}}{{{group19|}}}{{{group20|}}}{{{imageleft|}}}|{{#if:{{{image|}}}|3|2}}|{{#if:{{{image|}}}|2|1}}}} |nogroups = {{#if:{{{group1|}}}{{{group2|}}}{{{group3|}}}{{{group4|}}}{{{group5|}}}{{{group6|}}}{{{group7|}}}{{{group8|}}}{{{group9|}}}{{{group10|}}}{{{group11|}}}{{{group12|}}}{{{group13|}}}{{{group14|}}}{{{group15|}}}{{{group16|}}}{{{group17|}}}{{{group18|}}}{{{group19|}}}{{{group20|}}}|false|true}} |bodystyle = {{{style|}}}{{{bodystyle|}}} |titlestyle = {{{titlestyle|}}} |abovestyle = background:#ddddff;{{{abovestyle|}}} |belowstyle = background:#ddddff;{{{belowstyle|}}} |above = {{{above|}}} |below = {{{below|}}} |gs = white-space:nowrap;background:#ddddff;text-align:right;vertical-align:top;{{{groupstyle|}}} |os = width:100%;font-size:95%;{{{liststyle|}}}{{{oddstyle|}}} |es = width:100%;font-size:95%;background:#f7f7f7;{{{liststyle|}}}{{{evenstyle|}}} |g1 = {{{group1|}}} |g2 = {{{group2|}}} |g3 = {{{group3|}}} |g4 = {{{group4|}}} |g5 = {{{group5|}}} |g6 = {{{group6|}}} |g7 = {{{group7|}}} |g8 = {{{group8|}}} |g9 = {{{group9|}}} |g10 = {{{group10|}}} |g11 = {{{group11|}}} |g12 = {{{group12|}}} |g13 = {{{group13|}}} |g14 = {{{group14|}}} |g15 = {{{group15|}}} |g16 = {{{group16|}}} |g17 = {{{group17|}}} |g18 = {{{group18|}}} |g19 = {{{group19|}}} |g20 = {{{group20|}}} |l1 = {{{body|}}}{{{list1|}}} |l2 = {{{list2|}}} |l3 = {{{list3|}}} |l4 = {{{list4|}}} |l5 = {{{list5|}}} |l6 = {{{list6|}}} |l7 = {{{list7|}}} |l8 = {{{list8|}}} |l9 = {{{list9|}}} |l10 = {{{list10|}}} |l11 = {{{list11|}}} |l12 = {{{list12|}}} |l13 = {{{list13|}}} |l14 = {{{list14|}}} |l15 = {{{list15|}}} |l16 = {{{list16|}}} |l17 = {{{list17|}}} |l18 = {{{list18|}}} |l19 = {{{list19|}}} |l20 = {{{list20|}}} }}<noinclude> {{protected template}} {{{{FULLPAGENAME}}/doc}}</noinclude> 06t5jmo36hy088uu6emjhgkkimsvt4h 9757 9756 2007-08-19T15:53:50Z w>MZMcBride 0 made change per talk request 9757 wikitext text/x-wiki <!-- Please do not edit without discussion first as this is a VERY complex template. -->{{Navbox/core |name = {{{name<noinclude>|{{FULLPAGENAME}}</noinclude>}}} |navbar = {{{navbar|}}} |state = {{{state|autocollapse}}} |title = {{{title|}}} |image = {{{image|}}} |imageleft = {{{imageleft|}}} |imagespan = {{#expr:{{#if:{{{body|}}}{{{list1|}}}|1|0}} +{{#if:{{{list2|}}}|1|0}} +{{#if:{{{list3|}}}|1|0}} +{{#if:{{{list4|}}}|1|0}} +{{#if:{{{list5|}}}|1|0}} +{{#if:{{{list6|}}}|1|0}} +{{#if:{{{list7|}}}|1|0}} +{{#if:{{{list8|}}}|1|0}} +{{#if:{{{list9|}}}|1|0}} +{{#if:{{{list10|}}}|1|0}} +{{#if:{{{list11|}}}|1|0}} +{{#if:{{{list12|}}}|1|0}} +{{#if:{{{list13|}}}|1|0}} +{{#if:{{{list14|}}}|1|0}} +{{#if:{{{list15|}}}|1|0}} +{{#if:{{{list16|}}}|1|0}} +{{#if:{{{list17|}}}|1|0}} +{{#if:{{{list18|}}}|1|0}} +{{#if:{{{list19|}}}|1|0}} +{{#if:{{{list20|}}}|1|0}}}} |span = {{#if:{{{group1|}}}{{{group2|}}}{{{group3|}}}{{{group4|}}}{{{group5|}}}{{{group6|}}}{{{group7|}}}{{{group8|}}}{{{group9|}}}{{{group10|}}}{{{group11|}}}{{{group12|}}}{{{group13|}}}{{{group14|}}}{{{group15|}}}{{{group16|}}}{{{group17|}}}{{{group18|}}}{{{group19|}}}{{{group20|}}}{{{imageleft|}}}|{{#if:{{{image|}}}|3|2}}|{{#if:{{{image|}}}|2|1}}}} |nogroups = {{#if:{{{group1|}}}{{{group2|}}}{{{group3|}}}{{{group4|}}}{{{group5|}}}{{{group6|}}}{{{group7|}}}{{{group8|}}}{{{group9|}}}{{{group10|}}}{{{group11|}}}{{{group12|}}}{{{group13|}}}{{{group14|}}}{{{group15|}}}{{{group16|}}}{{{group17|}}}{{{group18|}}}{{{group19|}}}{{{group20|}}}|false|true}} |bodystyle = {{{style|}}}{{{bodystyle|}}} |titlestyle = {{{titlestyle|}}} |abovestyle = background:#ddddff;{{{abovestyle|}}} |belowstyle = background:#ddddff;{{{belowstyle|}}} |above = {{{above|}}} |below = {{{below|}}} |gs = white-space:nowrap;background:#ddddff;text-align:right;vertical-align:top;{{{groupstyle|}}} |os = width:100%;font-size:95%;{{{liststyle|}}}{{{oddstyle|}}} |es = width:100%;font-size:95%;background:#f7f7f7;{{{liststyle|}}}{{{evenstyle|}}} |g1 = {{{group1|}}} |g2 = {{{group2|}}} |g3 = {{{group3|}}} |g4 = {{{group4|}}} |g5 = {{{group5|}}} |g6 = {{{group6|}}} |g7 = {{{group7|}}} |g8 = {{{group8|}}} |g9 = {{{group9|}}} |g10 = {{{group10|}}} |g11 = {{{group11|}}} |g12 = {{{group12|}}} |g13 = {{{group13|}}} |g14 = {{{group14|}}} |g15 = {{{group15|}}} |g16 = {{{group16|}}} |g17 = {{{group17|}}} |g18 = {{{group18|}}} |g19 = {{{group19|}}} |g20 = {{{group20|}}} |l1 = {{{body|}}}{{{list1|}}}{{{category|}}} |l2 = {{{list2|}}} |l3 = {{{list3|}}} |l4 = {{{list4|}}} |l5 = {{{list5|}}} |l6 = {{{list6|}}} |l7 = {{{list7|}}} |l8 = {{{list8|}}} |l9 = {{{list9|}}} |l10 = {{{list10|}}} |l11 = {{{list11|}}} |l12 = {{{list12|}}} |l13 = {{{list13|}}} |l14 = {{{list14|}}} |l15 = {{{list15|}}} |l16 = {{{list16|}}} |l17 = {{{list17|}}} |l18 = {{{list18|}}} |l19 = {{{list19|}}} |l20 = {{{list20|}}} }}<noinclude> {{protected template}} {{{{FULLPAGENAME}}/doc}}</noinclude> e3infp9t579wtcoi0l2olv8a66jit8p 9758 9757 2007-08-20T03:59:55Z w>MZMcBride 0 made change per talk request 9758 wikitext text/x-wiki <!-- Please do not edit without discussion first as this is a VERY complex template. -->{{Navbox/core |name = {{{name<noinclude>|{{FULLPAGENAME}}</noinclude>}}} |navbar = {{{navbar|}}} |state = {{{state|autocollapse}}} |title = {{{title|}}} |image = {{{image|}}} |imageleft = {{{imageleft|}}} |imagespan = {{#expr:{{#if:{{{body|}}}{{{list1|}}}|1|0}} +{{#if:{{{list2|}}}|1|0}} +{{#if:{{{list3|}}}|1|0}} +{{#if:{{{list4|}}}|1|0}} +{{#if:{{{list5|}}}|1|0}} +{{#if:{{{list6|}}}|1|0}} +{{#if:{{{list7|}}}|1|0}} +{{#if:{{{list8|}}}|1|0}} +{{#if:{{{list9|}}}|1|0}} +{{#if:{{{list10|}}}|1|0}} +{{#if:{{{list11|}}}|1|0}} +{{#if:{{{list12|}}}|1|0}} +{{#if:{{{list13|}}}|1|0}} +{{#if:{{{list14|}}}|1|0}} +{{#if:{{{list15|}}}|1|0}} +{{#if:{{{list16|}}}|1|0}} +{{#if:{{{list17|}}}|1|0}} +{{#if:{{{list18|}}}|1|0}} +{{#if:{{{list19|}}}|1|0}} +{{#if:{{{list20|}}}|1|0}}}} |span = {{#if:{{{group1|}}}{{{group2|}}}{{{group3|}}}{{{group4|}}}{{{group5|}}}{{{group6|}}}{{{group7|}}}{{{group8|}}}{{{group9|}}}{{{group10|}}}{{{group11|}}}{{{group12|}}}{{{group13|}}}{{{group14|}}}{{{group15|}}}{{{group16|}}}{{{group17|}}}{{{group18|}}}{{{group19|}}}{{{group20|}}}{{{imageleft|}}}|{{#if:{{{image|}}}|3|2}}|{{#if:{{{image|}}}|2|1}}}} |nogroups = {{#if:{{{group1|}}}{{{group2|}}}{{{group3|}}}{{{group4|}}}{{{group5|}}}{{{group6|}}}{{{group7|}}}{{{group8|}}}{{{group9|}}}{{{group10|}}}{{{group11|}}}{{{group12|}}}{{{group13|}}}{{{group14|}}}{{{group15|}}}{{{group16|}}}{{{group17|}}}{{{group18|}}}{{{group19|}}}{{{group20|}}}|false|true}} |bodystyle = {{{style|}}}{{{bodystyle|}}} |titlestyle = {{{titlestyle|}}} |abovestyle = background:#ddddff;{{{abovestyle|}}} |belowstyle = background:#ddddff;{{{belowstyle|}}} |above = {{{above|}}} |below = {{{below|}}} |gs = white-space:nowrap;background:#ddddff;text-align:right;vertical-align:top;{{{groupstyle|}}} |os = width:100%;font-size:95%;{{{liststyle|}}}{{{oddstyle|}}} |es = width:100%;font-size:95%;background:#f7f7f7;{{{liststyle|}}}{{{evenstyle|}}} |g1 = {{{group1|}}} |g2 = {{{group2|}}} |g3 = {{{group3|}}} |g4 = {{{group4|}}} |g5 = {{{group5|}}} |g6 = {{{group6|}}} |g7 = {{{group7|}}} |g8 = {{{group8|}}} |g9 = {{{group9|}}} |g10 = {{{group10|}}} |g11 = {{{group11|}}} |g12 = {{{group12|}}} |g13 = {{{group13|}}} |g14 = {{{group14|}}} |g15 = {{{group15|}}} |g16 = {{{group16|}}} |g17 = {{{group17|}}} |g18 = {{{group18|}}} |g19 = {{{group19|}}} |g20 = {{{group20|}}} |l1 = {{{body|}}}{{{list1|}}}{{{category|}}} |l2 = {{{list2|}}} |l3 = {{{list3|}}} |l4 = {{{list4|}}} |l5 = {{{list5|}}} |l6 = {{{list6|}}} |l7 = {{{list7|}}} |l8 = {{{list8|}}} |l9 = {{{list9|}}} |l10 = {{{list10|}}} |l11 = {{{list11|}}} |l12 = {{{list12|}}} |l13 = {{{list13|}}} |l14 = {{{list14|}}} |l15 = {{{list15|}}} |l16 = {{{list16|}}} |l17 = {{{list17|}}} |l18 = {{{list18|}}} |l19 = {{{list19|}}} |l20 = {{{list20|}}} }}<noinclude> {{pp-template|small=yes}} {{template doc}} <!-- Add categories and interwikis to the /doc subpage, not here! --> </noinclude> rwwh5sqt4vtd0n78on11o60t3hqp9og 9759 9758 2007-09-02T23:59:51Z w>Kirill Lokshin 0 Per talk page 9759 wikitext text/x-wiki <!-- Please do not edit without discussion first as this is a VERY complex template. -->{{Navbox/core |name = {{{name<noinclude>|{{FULLPAGENAME}}</noinclude>}}} |navbar = {{{navbar|}}} |state = {{{state|autocollapse}}} |title = {{{title|}}} |image = {{{image|}}} |imageleft = {{{imageleft|}}} |imagespan = {{#expr:{{#if:{{{body|}}}{{{list1|}}}|1|0}} +{{#if:{{{list2|}}}|1|0}} +{{#if:{{{list3|}}}|1|0}} +{{#if:{{{list4|}}}|1|0}} +{{#if:{{{list5|}}}|1|0}} +{{#if:{{{list6|}}}|1|0}} +{{#if:{{{list7|}}}|1|0}} +{{#if:{{{list8|}}}|1|0}} +{{#if:{{{list9|}}}|1|0}} +{{#if:{{{list10|}}}|1|0}} +{{#if:{{{list11|}}}|1|0}} +{{#if:{{{list12|}}}|1|0}} +{{#if:{{{list13|}}}|1|0}} +{{#if:{{{list14|}}}|1|0}} +{{#if:{{{list15|}}}|1|0}} +{{#if:{{{list16|}}}|1|0}} +{{#if:{{{list17|}}}|1|0}} +{{#if:{{{list18|}}}|1|0}} +{{#if:{{{list19|}}}|1|0}} +{{#if:{{{list20|}}}|1|0}}}} |span = {{#if:{{{group1|}}}{{{group2|}}}{{{group3|}}}{{{group4|}}}{{{group5|}}}{{{group6|}}}{{{group7|}}}{{{group8|}}}{{{group9|}}}{{{group10|}}}{{{group11|}}}{{{group12|}}}{{{group13|}}}{{{group14|}}}{{{group15|}}}{{{group16|}}}{{{group17|}}}{{{group18|}}}{{{group19|}}}{{{group20|}}}{{{imageleft|}}}|{{#if:{{{image|}}}|3|2}}|{{#if:{{{image|}}}|2|1}}}} |nogroups = {{#if:{{{group1|}}}{{{group2|}}}{{{group3|}}}{{{group4|}}}{{{group5|}}}{{{group6|}}}{{{group7|}}}{{{group8|}}}{{{group9|}}}{{{group10|}}}{{{group11|}}}{{{group12|}}}{{{group13|}}}{{{group14|}}}{{{group15|}}}{{{group16|}}}{{{group17|}}}{{{group18|}}}{{{group19|}}}{{{group20|}}}|false|true}} |bodystyle = {{{style|}}}{{{bodystyle|}}} |titlestyle = {{{titlestyle|}}} |abovestyle = background:#ddddff;{{{abovestyle|}}} |belowstyle = background:#ddddff;{{{belowstyle|}}} |above = {{{above|}}} |below = {{{below|}}} |gs = white-space:nowrap;background:#ddddff;text-align:right;{{{groupstyle|}}} |os = width:100%;font-size:95%;{{{liststyle|}}}{{{oddstyle|}}} |es = width:100%;font-size:95%;background:#f7f7f7;{{{liststyle|}}}{{{evenstyle|}}} |g1 = {{{group1|}}} |g2 = {{{group2|}}} |g3 = {{{group3|}}} |g4 = {{{group4|}}} |g5 = {{{group5|}}} |g6 = {{{group6|}}} |g7 = {{{group7|}}} |g8 = {{{group8|}}} |g9 = {{{group9|}}} |g10 = {{{group10|}}} |g11 = {{{group11|}}} |g12 = {{{group12|}}} |g13 = {{{group13|}}} |g14 = {{{group14|}}} |g15 = {{{group15|}}} |g16 = {{{group16|}}} |g17 = {{{group17|}}} |g18 = {{{group18|}}} |g19 = {{{group19|}}} |g20 = {{{group20|}}} |l1 = {{{body|}}}{{{list1|}}}{{{category|}}} |l2 = {{{list2|}}} |l3 = {{{list3|}}} |l4 = {{{list4|}}} |l5 = {{{list5|}}} |l6 = {{{list6|}}} |l7 = {{{list7|}}} |l8 = {{{list8|}}} |l9 = {{{list9|}}} |l10 = {{{list10|}}} |l11 = {{{list11|}}} |l12 = {{{list12|}}} |l13 = {{{list13|}}} |l14 = {{{list14|}}} |l15 = {{{list15|}}} |l16 = {{{list16|}}} |l17 = {{{list17|}}} |l18 = {{{list18|}}} |l19 = {{{list19|}}} |l20 = {{{list20|}}} }}<noinclude> {{pp-template|small=yes}} {{template doc}} <!-- Add categories and interwikis to the /doc subpage, not here! --> </noinclude> ny5chgcym8d36irx1pcb1zcx3su1u2v 9760 9759 2007-10-02T02:46:06Z w>Pathoschild 0 {{documentation}} 9760 wikitext text/x-wiki <!-- Please do not edit without discussion first as this is a VERY complex template. -->{{Navbox/core |name = {{{name<noinclude>|{{FULLPAGENAME}}</noinclude>}}} |navbar = {{{navbar|}}} |state = {{{state|autocollapse}}} |title = {{{title|}}} |image = {{{image|}}} |imageleft = {{{imageleft|}}} |imagespan = {{#expr:{{#if:{{{body|}}}{{{list1|}}}|1|0}} +{{#if:{{{list2|}}}|1|0}} +{{#if:{{{list3|}}}|1|0}} +{{#if:{{{list4|}}}|1|0}} +{{#if:{{{list5|}}}|1|0}} +{{#if:{{{list6|}}}|1|0}} +{{#if:{{{list7|}}}|1|0}} +{{#if:{{{list8|}}}|1|0}} +{{#if:{{{list9|}}}|1|0}} +{{#if:{{{list10|}}}|1|0}} +{{#if:{{{list11|}}}|1|0}} +{{#if:{{{list12|}}}|1|0}} +{{#if:{{{list13|}}}|1|0}} +{{#if:{{{list14|}}}|1|0}} +{{#if:{{{list15|}}}|1|0}} +{{#if:{{{list16|}}}|1|0}} +{{#if:{{{list17|}}}|1|0}} +{{#if:{{{list18|}}}|1|0}} +{{#if:{{{list19|}}}|1|0}} +{{#if:{{{list20|}}}|1|0}}}} |span = {{#if:{{{group1|}}}{{{group2|}}}{{{group3|}}}{{{group4|}}}{{{group5|}}}{{{group6|}}}{{{group7|}}}{{{group8|}}}{{{group9|}}}{{{group10|}}}{{{group11|}}}{{{group12|}}}{{{group13|}}}{{{group14|}}}{{{group15|}}}{{{group16|}}}{{{group17|}}}{{{group18|}}}{{{group19|}}}{{{group20|}}}{{{imageleft|}}}|{{#if:{{{image|}}}|3|2}}|{{#if:{{{image|}}}|2|1}}}} |nogroups = {{#if:{{{group1|}}}{{{group2|}}}{{{group3|}}}{{{group4|}}}{{{group5|}}}{{{group6|}}}{{{group7|}}}{{{group8|}}}{{{group9|}}}{{{group10|}}}{{{group11|}}}{{{group12|}}}{{{group13|}}}{{{group14|}}}{{{group15|}}}{{{group16|}}}{{{group17|}}}{{{group18|}}}{{{group19|}}}{{{group20|}}}|false|true}} |bodystyle = {{{style|}}}{{{bodystyle|}}} |titlestyle = {{{titlestyle|}}} |abovestyle = background:#ddddff;{{{abovestyle|}}} |belowstyle = background:#ddddff;{{{belowstyle|}}} |above = {{{above|}}} |below = {{{below|}}} |gs = white-space:nowrap;background:#ddddff;text-align:right;{{{groupstyle|}}} |os = width:100%;font-size:95%;{{{liststyle|}}}{{{oddstyle|}}} |es = width:100%;font-size:95%;background:#f7f7f7;{{{liststyle|}}}{{{evenstyle|}}} |g1 = {{{group1|}}} |g2 = {{{group2|}}} |g3 = {{{group3|}}} |g4 = {{{group4|}}} |g5 = {{{group5|}}} |g6 = {{{group6|}}} |g7 = {{{group7|}}} |g8 = {{{group8|}}} |g9 = {{{group9|}}} |g10 = {{{group10|}}} |g11 = {{{group11|}}} |g12 = {{{group12|}}} |g13 = {{{group13|}}} |g14 = {{{group14|}}} |g15 = {{{group15|}}} |g16 = {{{group16|}}} |g17 = {{{group17|}}} |g18 = {{{group18|}}} |g19 = {{{group19|}}} |g20 = {{{group20|}}} |l1 = {{{body|}}}{{{list1|}}}{{{category|}}} |l2 = {{{list2|}}} |l3 = {{{list3|}}} |l4 = {{{list4|}}} |l5 = {{{list5|}}} |l6 = {{{list6|}}} |l7 = {{{list7|}}} |l8 = {{{list8|}}} |l9 = {{{list9|}}} |l10 = {{{list10|}}} |l11 = {{{list11|}}} |l12 = {{{list12|}}} |l13 = {{{list13|}}} |l14 = {{{list14|}}} |l15 = {{{list15|}}} |l16 = {{{list16|}}} |l17 = {{{list17|}}} |l18 = {{{list18|}}} |l19 = {{{list19|}}} |l20 = {{{list20|}}} }}<noinclude> {{pp-template|small=yes}} {{documentation}} <!-- Add categories and interwikis to the /doc subpage, not here! --> </noinclude> 19kg0fp9tr447mf4j5sn8r9dasaw3p2 9761 9760 2007-10-24T10:12:05Z w>Violetriga 0 try to implement VDE colour parameter 9761 wikitext text/x-wiki <!-- Please do not edit without discussion first as this is a VERY complex template. -->{{Navbox/core |name = {{{name<noinclude>|{{FULLPAGENAME}}</noinclude>}}} |navbar = {{{navbar|}}} |state = {{{state|autocollapse}}} |title = {{{title|}}} |image = {{{image|}}} |imageleft = {{{imageleft|}}} |imagespan = {{#expr:{{#if:{{{body|}}}{{{list1|}}}|1|0}} +{{#if:{{{list2|}}}|1|0}} +{{#if:{{{list3|}}}|1|0}} +{{#if:{{{list4|}}}|1|0}} +{{#if:{{{list5|}}}|1|0}} +{{#if:{{{list6|}}}|1|0}} +{{#if:{{{list7|}}}|1|0}} +{{#if:{{{list8|}}}|1|0}} +{{#if:{{{list9|}}}|1|0}} +{{#if:{{{list10|}}}|1|0}} +{{#if:{{{list11|}}}|1|0}} +{{#if:{{{list12|}}}|1|0}} +{{#if:{{{list13|}}}|1|0}} +{{#if:{{{list14|}}}|1|0}} +{{#if:{{{list15|}}}|1|0}} +{{#if:{{{list16|}}}|1|0}} +{{#if:{{{list17|}}}|1|0}} +{{#if:{{{list18|}}}|1|0}} +{{#if:{{{list19|}}}|1|0}} +{{#if:{{{list20|}}}|1|0}}}} |span = {{#if:{{{group1|}}}{{{group2|}}}{{{group3|}}}{{{group4|}}}{{{group5|}}}{{{group6|}}}{{{group7|}}}{{{group8|}}}{{{group9|}}}{{{group10|}}}{{{group11|}}}{{{group12|}}}{{{group13|}}}{{{group14|}}}{{{group15|}}}{{{group16|}}}{{{group17|}}}{{{group18|}}}{{{group19|}}}{{{group20|}}}{{{imageleft|}}}|{{#if:{{{image|}}}|3|2}}|{{#if:{{{image|}}}|2|1}}}} |nogroups = {{#if:{{{group1|}}}{{{group2|}}}{{{group3|}}}{{{group4|}}}{{{group5|}}}{{{group6|}}}{{{group7|}}}{{{group8|}}}{{{group9|}}}{{{group10|}}}{{{group11|}}}{{{group12|}}}{{{group13|}}}{{{group14|}}}{{{group15|}}}{{{group16|}}}{{{group17|}}}{{{group18|}}}{{{group19|}}}{{{group20|}}}|false|true}} |VDEcolor = {{{VDEcolor|}}} |bodystyle = {{{style|}}}{{{bodystyle|}}} |titlestyle = {{{titlestyle|}}} |abovestyle = background:#ddddff;{{{abovestyle|}}} |belowstyle = background:#ddddff;{{{belowstyle|}}} |above = {{{above|}}} |below = {{{below|}}} |gs = white-space:nowrap;background:#ddddff;text-align:right;{{{groupstyle|}}} |os = width:100%;font-size:95%;{{{liststyle|}}}{{{oddstyle|}}} |es = width:100%;font-size:95%;background:#f7f7f7;{{{liststyle|}}}{{{evenstyle|}}} |g1 = {{{group1|}}} |g2 = {{{group2|}}} |g3 = {{{group3|}}} |g4 = {{{group4|}}} |g5 = {{{group5|}}} |g6 = {{{group6|}}} |g7 = {{{group7|}}} |g8 = {{{group8|}}} |g9 = {{{group9|}}} |g10 = {{{group10|}}} |g11 = {{{group11|}}} |g12 = {{{group12|}}} |g13 = {{{group13|}}} |g14 = {{{group14|}}} |g15 = {{{group15|}}} |g16 = {{{group16|}}} |g17 = {{{group17|}}} |g18 = {{{group18|}}} |g19 = {{{group19|}}} |g20 = {{{group20|}}} |l1 = {{{body|}}}{{{list1|}}}{{{category|}}} |l2 = {{{list2|}}} |l3 = {{{list3|}}} |l4 = {{{list4|}}} |l5 = {{{list5|}}} |l6 = {{{list6|}}} |l7 = {{{list7|}}} |l8 = {{{list8|}}} |l9 = {{{list9|}}} |l10 = {{{list10|}}} |l11 = {{{list11|}}} |l12 = {{{list12|}}} |l13 = {{{list13|}}} |l14 = {{{list14|}}} |l15 = {{{list15|}}} |l16 = {{{list16|}}} |l17 = {{{list17|}}} |l18 = {{{list18|}}} |l19 = {{{list19|}}} |l20 = {{{list20|}}} }}<noinclude> {{pp-template|small=yes}} {{documentation}} <!-- Add categories and interwikis to the /doc subpage, not here! --> </noinclude> 8rpidd8dp7feve9tlrmlbogxvrlnzq6 9762 9761 2007-11-05T17:22:36Z w>Edokter 0 Removing VDEcolor parameter; titlestyle now works on VDE links. 9762 wikitext text/x-wiki <!-- Please do not edit without discussion first as this is a VERY complex template. -->{{Navbox/core |name = {{{name<noinclude>|{{FULLPAGENAME}}</noinclude>}}} |navbar = {{{navbar|}}} |state = {{{state|autocollapse}}} |title = {{{title|}}} |image = {{{image|}}} |imageleft = {{{imageleft|}}} |imagespan = {{#expr:{{#if:{{{body|}}}{{{list1|}}}|1|0}} +{{#if:{{{list2|}}}|1|0}} +{{#if:{{{list3|}}}|1|0}} +{{#if:{{{list4|}}}|1|0}} +{{#if:{{{list5|}}}|1|0}} +{{#if:{{{list6|}}}|1|0}} +{{#if:{{{list7|}}}|1|0}} +{{#if:{{{list8|}}}|1|0}} +{{#if:{{{list9|}}}|1|0}} +{{#if:{{{list10|}}}|1|0}} +{{#if:{{{list11|}}}|1|0}} +{{#if:{{{list12|}}}|1|0}} +{{#if:{{{list13|}}}|1|0}} +{{#if:{{{list14|}}}|1|0}} +{{#if:{{{list15|}}}|1|0}} +{{#if:{{{list16|}}}|1|0}} +{{#if:{{{list17|}}}|1|0}} +{{#if:{{{list18|}}}|1|0}} +{{#if:{{{list19|}}}|1|0}} +{{#if:{{{list20|}}}|1|0}}}} |span = {{#if:{{{group1|}}}{{{group2|}}}{{{group3|}}}{{{group4|}}}{{{group5|}}}{{{group6|}}}{{{group7|}}}{{{group8|}}}{{{group9|}}}{{{group10|}}}{{{group11|}}}{{{group12|}}}{{{group13|}}}{{{group14|}}}{{{group15|}}}{{{group16|}}}{{{group17|}}}{{{group18|}}}{{{group19|}}}{{{group20|}}}{{{imageleft|}}}|{{#if:{{{image|}}}|3|2}}|{{#if:{{{image|}}}|2|1}}}} |nogroups = {{#if:{{{group1|}}}{{{group2|}}}{{{group3|}}}{{{group4|}}}{{{group5|}}}{{{group6|}}}{{{group7|}}}{{{group8|}}}{{{group9|}}}{{{group10|}}}{{{group11|}}}{{{group12|}}}{{{group13|}}}{{{group14|}}}{{{group15|}}}{{{group16|}}}{{{group17|}}}{{{group18|}}}{{{group19|}}}{{{group20|}}}|false|true}} |bodystyle = {{{style|}}}{{{bodystyle|}}} |titlestyle = {{{titlestyle|}}} |abovestyle = background:#ddddff;{{{abovestyle|}}} |belowstyle = background:#ddddff;{{{belowstyle|}}} |above = {{{above|}}} |below = {{{below|}}} |gs = white-space:nowrap;background:#ddddff;text-align:right;{{{groupstyle|}}} |os = width:100%;font-size:95%;{{{liststyle|}}}{{{oddstyle|}}} |es = width:100%;font-size:95%;background:#f7f7f7;{{{liststyle|}}}{{{evenstyle|}}} |g1 = {{{group1|}}} |g2 = {{{group2|}}} |g3 = {{{group3|}}} |g4 = {{{group4|}}} |g5 = {{{group5|}}} |g6 = {{{group6|}}} |g7 = {{{group7|}}} |g8 = {{{group8|}}} |g9 = {{{group9|}}} |g10 = {{{group10|}}} |g11 = {{{group11|}}} |g12 = {{{group12|}}} |g13 = {{{group13|}}} |g14 = {{{group14|}}} |g15 = {{{group15|}}} |g16 = {{{group16|}}} |g17 = {{{group17|}}} |g18 = {{{group18|}}} |g19 = {{{group19|}}} |g20 = {{{group20|}}} |l1 = {{{body|}}}{{{list1|}}}{{{category|}}} |l2 = {{{list2|}}} |l3 = {{{list3|}}} |l4 = {{{list4|}}} |l5 = {{{list5|}}} |l6 = {{{list6|}}} |l7 = {{{list7|}}} |l8 = {{{list8|}}} |l9 = {{{list9|}}} |l10 = {{{list10|}}} |l11 = {{{list11|}}} |l12 = {{{list12|}}} |l13 = {{{list13|}}} |l14 = {{{list14|}}} |l15 = {{{list15|}}} |l16 = {{{list16|}}} |l17 = {{{list17|}}} |l18 = {{{list18|}}} |l19 = {{{list19|}}} |l20 = {{{list20|}}} }}<noinclude> {{pp-template|small=yes}} {{documentation}} <!-- Add categories and interwikis to the /doc subpage, not here! --> </noinclude> 19kg0fp9tr447mf4j5sn8r9dasaw3p2 9763 9762 2008-04-17T14:34:49Z w>Edokter 0 Removing font-size in os= and es=; decrapated (and possibly interfering) with new .navbox class in [[Common.css]] 9763 wikitext text/x-wiki <!-- Please do not edit without discussion first as this is a VERY complex template. -->{{Navbox/core |name = {{{name<noinclude>|{{FULLPAGENAME}}</noinclude>}}} |navbar = {{{navbar|}}} |state = {{{state|autocollapse}}} |title = {{{title|}}} |image = {{{image|}}} |imageleft = {{{imageleft|}}} |imagespan = {{#expr:{{#if:{{{body|}}}{{{list1|}}}|1|0}} +{{#if:{{{list2|}}}|1|0}} +{{#if:{{{list3|}}}|1|0}} +{{#if:{{{list4|}}}|1|0}} +{{#if:{{{list5|}}}|1|0}} +{{#if:{{{list6|}}}|1|0}} +{{#if:{{{list7|}}}|1|0}} +{{#if:{{{list8|}}}|1|0}} +{{#if:{{{list9|}}}|1|0}} +{{#if:{{{list10|}}}|1|0}} +{{#if:{{{list11|}}}|1|0}} +{{#if:{{{list12|}}}|1|0}} +{{#if:{{{list13|}}}|1|0}} +{{#if:{{{list14|}}}|1|0}} +{{#if:{{{list15|}}}|1|0}} +{{#if:{{{list16|}}}|1|0}} +{{#if:{{{list17|}}}|1|0}} +{{#if:{{{list18|}}}|1|0}} +{{#if:{{{list19|}}}|1|0}} +{{#if:{{{list20|}}}|1|0}}}} |span = {{#if:{{{group1|}}}{{{group2|}}}{{{group3|}}}{{{group4|}}}{{{group5|}}}{{{group6|}}}{{{group7|}}}{{{group8|}}}{{{group9|}}}{{{group10|}}}{{{group11|}}}{{{group12|}}}{{{group13|}}}{{{group14|}}}{{{group15|}}}{{{group16|}}}{{{group17|}}}{{{group18|}}}{{{group19|}}}{{{group20|}}}{{{imageleft|}}}|{{#if:{{{image|}}}|3|2}}|{{#if:{{{image|}}}|2|1}}}} |nogroups = {{#if:{{{group1|}}}{{{group2|}}}{{{group3|}}}{{{group4|}}}{{{group5|}}}{{{group6|}}}{{{group7|}}}{{{group8|}}}{{{group9|}}}{{{group10|}}}{{{group11|}}}{{{group12|}}}{{{group13|}}}{{{group14|}}}{{{group15|}}}{{{group16|}}}{{{group17|}}}{{{group18|}}}{{{group19|}}}{{{group20|}}}|false|true}} |bodystyle = {{{style|}}}{{{bodystyle|}}} |titlestyle = {{{titlestyle|}}} |abovestyle = background:#ddddff;{{{abovestyle|}}} |belowstyle = background:#ddddff;{{{belowstyle|}}} |above = {{{above|}}} |below = {{{below|}}} |gs = white-space:nowrap;background:#ddddff;text-align:right;{{{groupstyle|}}} |os = width:100%;{{{liststyle|}}}{{{oddstyle|}}} |es = width:100%;background:#f7f7f7;{{{liststyle|}}}{{{evenstyle|}}} |g1 = {{{group1|}}} |g2 = {{{group2|}}} |g3 = {{{group3|}}} |g4 = {{{group4|}}} |g5 = {{{group5|}}} |g6 = {{{group6|}}} |g7 = {{{group7|}}} |g8 = {{{group8|}}} |g9 = {{{group9|}}} |g10 = {{{group10|}}} |g11 = {{{group11|}}} |g12 = {{{group12|}}} |g13 = {{{group13|}}} |g14 = {{{group14|}}} |g15 = {{{group15|}}} |g16 = {{{group16|}}} |g17 = {{{group17|}}} |g18 = {{{group18|}}} |g19 = {{{group19|}}} |g20 = {{{group20|}}} |l1 = {{{body|}}}{{{list1|}}}{{{category|}}} |l2 = {{{list2|}}} |l3 = {{{list3|}}} |l4 = {{{list4|}}} |l5 = {{{list5|}}} |l6 = {{{list6|}}} |l7 = {{{list7|}}} |l8 = {{{list8|}}} |l9 = {{{list9|}}} |l10 = {{{list10|}}} |l11 = {{{list11|}}} |l12 = {{{list12|}}} |l13 = {{{list13|}}} |l14 = {{{list14|}}} |l15 = {{{list15|}}} |l16 = {{{list16|}}} |l17 = {{{list17|}}} |l18 = {{{list18|}}} |l19 = {{{list19|}}} |l20 = {{{list20|}}} }}<noinclude> {{pp-template|small=yes}} {{documentation}} <!-- Add categories and interwikis to the /doc subpage, not here! --> </noinclude> te2lgbclw426gikzhd2gf6yvcxaez07 9764 9763 2008-05-02T02:47:56Z w>CapitalR 0 Major upgrade to new internal code 9764 wikitext text/x-wiki <!-- Please do not edit without discussion first as this is a VERY complex template. -->{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=</div>|none=|#default=<table class="navbox" cellspacing="0" <!-- -->style="{{{bodystyle|}}};{{{style|}}}"><tr><td style="padding:2px;">}}<!-- --><table cellspacing="0" class="nowraplinks {{#if:{{{title|}}}|{{#switch:{{{state|}}}|plain|off=|<!-- -->#default=collapsible {{#if:{{{state|}}}|{{{state|}}}|autocollapse}}}}}} {{#switch:{{{border|{{{1|}}}}}}|<!-- -->subgroup|child|none=navbox-subgroup" style="width:100%;{{{bodystyle|}}};{{{style|}}}|<!-- -->#default=" style="width:100%;background:transparent;color:inherit}};{{{innerstyle|}}};"><!-- ---Title and Navbar--- -->{{#if:{{{title|}}}|<tr>{{#if:{{{titlegroup|}}}|<!-- --><td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{titlegroupstyle|}}}">{{{titlegroup|}}}</td><!-- --><th style="border-left:2px solid #fdfdfd;width:100%;|<th style="}}{{{basestyle|}}};{{{titlestyle|}}}" <!-- -->colspan={{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}{{#if:{{{titlegroup|}}}|-1}}}} <!-- -->class="navbox-title"><!-- -->{{#if:{{#switch:{{{navbar|}}}|plain|off=1}}<!-- -->{{#if:{{{name|}}}||{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=1}}}}|<!-- -->{{#ifeq:{{{navbar|}}}|off|{{#ifeq:{{{state|}}}|plain|<div style="float:right;width:6em;">&nbsp;</div>}}|<!-- -->{{#ifeq:{{{state|}}}|plain||<div style="float:left; width:6em;text-align:left;">&nbsp;</div>}}}}|<!-- --><div style="float:left; width:6em;text-align:left;"><!-- -->{{Tnavbar|{{{name}}}|fontstyle={{{basestyle|}}};{{{titlestyle|}}};border:none;|mini=1}}<!-- --></div>{{#ifeq:{{{state|}}}|plain|<div style="float:right;width:6em;">&nbsp;</div>}}}}<!-- --><span style="font-size:{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=100|#default=110}}%;"><!-- -->{{{title}}}</span></th></tr>}}<!-- ---Above--- -->{{#if:{{{above|}}}|<!-- -->{{#if:{{{title|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow" style="{{{basestyle|}}};{{{abovestyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}">{{{above}}}</td></tr>}}<!-- ---Body--- ---First group/list and images--- -->{{#if:{{{list1|}}}|{{#if:{{{title|}}}{{{above|}}}|<tr style="height:2px;"><td></td></tr>}}<tr><!-- -->{{#if:{{{imageleft|}}}|<!-- --><td style="width:0%;padding:0px 2px 0px 0px;{{{imageleftstyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><!-- -->{{{imageleft|}}}</td>}}<!-- -->{{#if:{{{group1|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group1style|}}}"><!-- -->{{{group1}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list1style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{list1padding|{{{listpadding|0em 0.25em}}}}}}">}}{{{list1|}}}{{#if:{{{list1|}}}|</div></td><!-- -->{{#if:{{{image|}}}|<!-- --><td style="width:0%;padding:0px 0px 0px 2px;{{{imagestyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><!-- -->{{{image|}}}</td>}}<!-- --></tr>}}<!-- ---Remaining groups/lists--- -->{{#if:{{{list2|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group2|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group2style|}}}"><!-- -->{{{group2}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list2style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">}}{{{list2|}}}{{#if:{{{list2|}}}|</div></td></tr>}}<!-- -->{{#if:{{{list3|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group3|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group3style|}}}"><!-- -->{{{group3}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list3style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">}}{{{list3|}}}{{#if:{{{list3|}}}|</div></td></tr>}}<!-- -->{{#if:{{{list4|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group4|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group4style|}}}"><!-- -->{{{group4}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list4style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">}}{{{list4|}}}{{#if:{{{list4|}}}|</div></td></tr>}}<!-- -->{{#if:{{{list5|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group5|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group5style|}}}"><!-- -->{{{group5}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list5style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">}}{{{list5|}}}{{#if:{{{list5|}}}|</div></td></tr>}}<!-- -->{{#if:{{{list6|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group6|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group6style|}}}"><!-- -->{{{group6}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list6style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list6|}}}</div></td></tr>}}<!-- -->{{#if:{{{list7|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group7|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group7style|}}}"><!-- -->{{{group7}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list7style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list7|}}}</div></td></tr>}}<!-- -->{{#if:{{{list8|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group8|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group8style|}}}"><!-- -->{{{group8}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list8style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list8|}}}</div></td></tr>}}<!-- -->{{#if:{{{list9|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group9|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group9style|}}}"><!-- -->{{{group9}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list9style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list9|}}}</div></td></tr>}}<!-- -->{{#if:{{{list10|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group10|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group10style|}}}"><!-- -->{{{group10}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list10style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list10|}}}</div></td></tr>}}<!-- -->{{#if:{{{list11|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group11|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group11style|}}}"><!-- -->{{{group11}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list11style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list11|}}}</div></td></tr>}}<!-- -->{{#if:{{{list12|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group12|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group12style|}}}"><!-- -->{{{group12}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list12style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list12|}}}</div></td></tr>}}<!-- -->{{#if:{{{list13|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group13|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group13style|}}}"><!-- -->{{{group13}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list13style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list13|}}}</div></td></tr>}}<!-- -->{{#if:{{{list14|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group14|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group14style|}}}"><!-- -->{{{group14}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list14style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list14|}}}</div></td></tr>}}<!-- -->{{#if:{{{list15|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group15|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group15style|}}}"><!-- -->{{{group15}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list15style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list15|}}}</div></td></tr>}}<!-- -->{{#if:{{{list16|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group16|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group16style|}}}"><!-- -->{{{group16}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list16style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list16|}}}</div></td></tr>}}<!-- -->{{#if:{{{list17|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group17|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group17style|}}}"><!-- -->{{{group17}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list17style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list17|}}}</div></td></tr>}}<!-- -->{{#if:{{{list18|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group18|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group18style|}}}"><!-- -->{{{group18}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list18style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list18|}}}</div></td></tr>}}<!-- -->{{#if:{{{list19|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group19|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group19style|}}}"><!-- -->{{{group19}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list19style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list19|}}}</div></td></tr>}}<!-- -->{{#if:{{{list20|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group20|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group20style|}}}"><!-- -->{{{group20}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list20style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list20|}}}</div></td></tr>}}<!-- ---Below--- -->{{#if:{{{below|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}{{{list3|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow" style="{{{basestyle|}}};{{{belowstyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}">{{{below}}}</td></tr>}}<!-- --></table>{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=<div>|none=|#default=</td></tr></table>}}<!-- --><noinclude> {{pp-template|small=yes}} {{documentation}} <!-- Add categories and interwikis to the /doc subpage, not here! --> </noinclude> gp8bq4tnuzna8yr8rmvvxl70lq34yxb 9765 9724 2009-02-22T14:17:32Z w>Edokter 0 Remove redundant code: closing "#if:{{{lintN}}}..." in list 1-5; {{{list1padding}}} parameter; redundant pipes. 9765 wikitext text/x-wiki <!-- Please do not edit without discussion first as this is a VERY complex template. -->{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=</div>|none=|#default=<table class="navbox" cellspacing="0" <!-- -->style="{{{bodystyle|}}};{{{style|}}}"><tr><td style="padding:2px;">}}<!-- --><table cellspacing="0" class="nowraplinks {{#if:{{{title|}}}|{{#switch:{{{state|}}}|plain|off=|<!-- -->#default=collapsible {{#if:{{{state|}}}|{{{state}}}|autocollapse}}}}}} {{#switch:{{{border|{{{1|}}}}}}|<!-- -->subgroup|child|none=navbox-subgroup" style="width:100%;{{{bodystyle|}}};{{{style|}}}|<!-- -->#default=" style="width:100%;background:transparent;color:inherit}};{{{innerstyle|}}};"><!-- ---Title and Navbar--- -->{{#if:{{{title|}}}|<tr>{{#if:{{{titlegroup|}}}|<!-- --><td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{titlegroupstyle|}}}">{{{titlegroup|}}}</td><!-- --><th style="border-left:2px solid #fdfdfd;width:100%;|<th style="}}{{{basestyle|}}};{{{titlestyle|}}}" <!-- -->colspan={{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}{{#if:{{{titlegroup|}}}|-1}}}} <!-- -->class="navbox-title"><!-- -->{{#if:{{#switch:{{{navbar|}}}|plain|off=1}}<!-- -->{{#if:{{{name|}}}||{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=1}}}}|<!-- -->{{#ifeq:{{{navbar|}}}|off|{{#ifeq:{{{state|}}}|plain|<div style="float:right;width:6em;">&nbsp;</div>}}|<!-- -->{{#ifeq:{{{state|}}}|plain||<div style="float:left; width:6em;text-align:left;">&nbsp;</div>}}}}|<!-- --><div style="float:left; width:6em;text-align:left;"><!-- -->{{Tnavbar|{{{name}}}|fontstyle={{{basestyle|}}};{{{titlestyle|}}};border:none;|mini=1}}<!-- --></div>{{#ifeq:{{{state|}}}|plain|<div style="float:right;width:6em;">&nbsp;</div>}}}}<!-- --><span style="font-size:{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=100|#default=110}}%;"><!-- -->{{{title}}}</span></th></tr>}}<!-- ---Above--- -->{{#if:{{{above|}}}|<!-- -->{{#if:{{{title|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow" style="{{{basestyle|}}};{{{abovestyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}">{{{above}}}</td></tr>}}<!-- ---Body--- ---First group/list and images--- -->{{#if:{{{list1|}}}|{{#if:{{{title|}}}{{{above|}}}|<tr style="height:2px;"><td></td></tr>}}<tr><!-- -->{{#if:{{{imageleft|}}}|<!-- --><td style="width:0%;padding:0px 2px 0px 0px;{{{imageleftstyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><!-- -->{{{imageleft}}}</td>}}<!-- -->{{#if:{{{group1|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group1style|}}}"><!-- -->{{{group1}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list1style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list1}}}</div></td><!-- -->{{#if:{{{image|}}}|<!-- --><td style="width:0%;padding:0px 0px 0px 2px;{{{imagestyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><!-- -->{{{image}}}</td>}}<!-- --></tr>}}<!-- ---Remaining groups/lists--- -->{{#if:{{{list2|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group2|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group2style|}}}"><!-- -->{{{group2}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list2style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list2}}}</div></td></tr>}}<!-- -->{{#if:{{{list3|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group3|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group3style|}}}"><!-- -->{{{group3}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list3style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list3}}}</div></td></tr>}}<!-- -->{{#if:{{{list4|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group4|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group4style|}}}"><!-- -->{{{group4}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list4style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list4}}}</div></td></tr>}}<!-- -->{{#if:{{{list5|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group5|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group5style|}}}"><!-- -->{{{group5}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list5style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list5}}}</div></td></tr>}}<!-- -->{{#if:{{{list6|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group6|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group6style|}}}"><!-- -->{{{group6}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list6style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list6}}}</div></td></tr>}}<!-- -->{{#if:{{{list7|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group7|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group7style|}}}"><!-- -->{{{group7}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list7style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list7}}}</div></td></tr>}}<!-- -->{{#if:{{{list8|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group8|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group8style|}}}"><!-- -->{{{group8}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list8style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list8}}}</div></td></tr>}}<!-- -->{{#if:{{{list9|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group9|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group9style|}}}"><!-- -->{{{group9}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list9style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list9}}}</div></td></tr>}}<!-- -->{{#if:{{{list10|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group10|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group10style|}}}"><!-- -->{{{group10}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list10style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list10}}}</div></td></tr>}}<!-- -->{{#if:{{{list11|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group11|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group11style|}}}"><!-- -->{{{group11}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list11style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list11}}}</div></td></tr>}}<!-- -->{{#if:{{{list12|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group12|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group12style|}}}"><!-- -->{{{group12}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list12style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list12}}}</div></td></tr>}}<!-- -->{{#if:{{{list13|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group13|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group13style|}}}"><!-- -->{{{group13}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list13style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list13}}}</div></td></tr>}}<!-- -->{{#if:{{{list14|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group14|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group14style|}}}"><!-- -->{{{group14}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list14style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list14}}}</div></td></tr>}}<!-- -->{{#if:{{{list15|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group15|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group15style|}}}"><!-- -->{{{group15}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list15style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list15}}}</div></td></tr>}}<!-- -->{{#if:{{{list16|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group16|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group16style|}}}"><!-- -->{{{group16}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list16style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list16}}}</div></td></tr>}}<!-- -->{{#if:{{{list17|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group17|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group17style|}}}"><!-- -->{{{group17}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list17style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list17}}}</div></td></tr>}}<!-- -->{{#if:{{{list18|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group18|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group18style|}}}"><!-- -->{{{group18}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list18style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list18}}}</div></td></tr>}}<!-- -->{{#if:{{{list19|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group19|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group19style|}}}"><!-- -->{{{group19}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list19style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list19}}}</div></td></tr>}}<!-- -->{{#if:{{{list20|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group20|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group20style|}}}"><!-- -->{{{group20}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list20style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list20}}}</div></td></tr>}}<!-- ---Below--- -->{{#if:{{{below|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}{{{list3|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow" style="{{{basestyle|}}};{{{belowstyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}">{{{below}}}</td></tr>}}<!-- --></table>{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=<div>|none=|#default=</td></tr></table>}}<!-- --><noinclude> {{pp-template|small=yes}} {{documentation}} <!-- Add categories and interwikis to the /doc subpage, not here! --> </noinclude> dk584ba8t6sbwrtl6xbtyjv0mma0roe 9766 9765 2009-03-01T11:12:13Z w>CapitalR 0 Reverting; unfortunately, the edit had adverse effects on a number of Navbox with columns and Navbox with collapsible groups templates. The extra code does serve a specific purpose. 9766 wikitext text/x-wiki <!-- Please do not edit without discussion first as this is a VERY complex template. -->{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=</div>|none=|#default=<table class="navbox" cellspacing="0" <!-- -->style="{{{bodystyle|}}};{{{style|}}}"><tr><td style="padding:2px;">}}<!-- --><table cellspacing="0" class="nowraplinks {{#if:{{{title|}}}|{{#switch:{{{state|}}}|plain|off=|<!-- -->#default=collapsible {{#if:{{{state|}}}|{{{state|}}}|autocollapse}}}}}} {{#switch:{{{border|{{{1|}}}}}}|<!-- -->subgroup|child|none=navbox-subgroup" style="width:100%;{{{bodystyle|}}};{{{style|}}}|<!-- -->#default=" style="width:100%;background:transparent;color:inherit}};{{{innerstyle|}}};"><!-- ---Title and Navbar--- -->{{#if:{{{title|}}}|<tr>{{#if:{{{titlegroup|}}}|<!-- --><td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{titlegroupstyle|}}}">{{{titlegroup|}}}</td><!-- --><th style="border-left:2px solid #fdfdfd;width:100%;|<th style="}}{{{basestyle|}}};{{{titlestyle|}}}" <!-- -->colspan={{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}{{#if:{{{titlegroup|}}}|-1}}}} <!-- -->class="navbox-title"><!-- -->{{#if:{{#switch:{{{navbar|}}}|plain|off=1}}<!-- -->{{#if:{{{name|}}}||{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=1}}}}|<!-- -->{{#ifeq:{{{navbar|}}}|off|{{#ifeq:{{{state|}}}|plain|<div style="float:right;width:6em;">&nbsp;</div>}}|<!-- -->{{#ifeq:{{{state|}}}|plain||<div style="float:left; width:6em;text-align:left;">&nbsp;</div>}}}}|<!-- --><div style="float:left; width:6em;text-align:left;"><!-- -->{{Tnavbar|{{{name}}}|fontstyle={{{basestyle|}}};{{{titlestyle|}}};border:none;|mini=1}}<!-- --></div>{{#ifeq:{{{state|}}}|plain|<div style="float:right;width:6em;">&nbsp;</div>}}}}<!-- --><span style="font-size:{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=100|#default=110}}%;"><!-- -->{{{title}}}</span></th></tr>}}<!-- ---Above--- -->{{#if:{{{above|}}}|<!-- -->{{#if:{{{title|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow" style="{{{basestyle|}}};{{{abovestyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}">{{{above}}}</td></tr>}}<!-- ---Body--- ---First group/list and images--- -->{{#if:{{{list1|}}}|{{#if:{{{title|}}}{{{above|}}}|<tr style="height:2px;"><td></td></tr>}}<tr><!-- -->{{#if:{{{imageleft|}}}|<!-- --><td style="width:0%;padding:0px 2px 0px 0px;{{{imageleftstyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><!-- -->{{{imageleft|}}}</td>}}<!-- -->{{#if:{{{group1|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group1style|}}}"><!-- -->{{{group1}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list1style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{list1padding|{{{listpadding|0em 0.25em}}}}}}">}}{{{list1|}}}{{#if:{{{list1|}}}|</div></td><!-- -->{{#if:{{{image|}}}|<!-- --><td style="width:0%;padding:0px 0px 0px 2px;{{{imagestyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><!-- -->{{{image|}}}</td>}}<!-- --></tr>}}<!-- ---Remaining groups/lists--- -->{{#if:{{{list2|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group2|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group2style|}}}"><!-- -->{{{group2}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list2style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">}}{{{list2|}}}{{#if:{{{list2|}}}|</div></td></tr>}}<!-- -->{{#if:{{{list3|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group3|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group3style|}}}"><!-- -->{{{group3}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list3style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">}}{{{list3|}}}{{#if:{{{list3|}}}|</div></td></tr>}}<!-- -->{{#if:{{{list4|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group4|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group4style|}}}"><!-- -->{{{group4}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list4style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">}}{{{list4|}}}{{#if:{{{list4|}}}|</div></td></tr>}}<!-- -->{{#if:{{{list5|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group5|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group5style|}}}"><!-- -->{{{group5}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list5style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">}}{{{list5|}}}{{#if:{{{list5|}}}|</div></td></tr>}}<!-- -->{{#if:{{{list6|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group6|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group6style|}}}"><!-- -->{{{group6}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list6style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list6|}}}</div></td></tr>}}<!-- -->{{#if:{{{list7|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group7|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group7style|}}}"><!-- -->{{{group7}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list7style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list7|}}}</div></td></tr>}}<!-- -->{{#if:{{{list8|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group8|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group8style|}}}"><!-- -->{{{group8}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list8style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list8|}}}</div></td></tr>}}<!-- -->{{#if:{{{list9|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group9|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group9style|}}}"><!-- -->{{{group9}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list9style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list9|}}}</div></td></tr>}}<!-- -->{{#if:{{{list10|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group10|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group10style|}}}"><!-- -->{{{group10}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list10style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list10|}}}</div></td></tr>}}<!-- -->{{#if:{{{list11|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group11|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group11style|}}}"><!-- -->{{{group11}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list11style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list11|}}}</div></td></tr>}}<!-- -->{{#if:{{{list12|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group12|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group12style|}}}"><!-- -->{{{group12}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list12style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list12|}}}</div></td></tr>}}<!-- -->{{#if:{{{list13|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group13|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group13style|}}}"><!-- -->{{{group13}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list13style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list13|}}}</div></td></tr>}}<!-- -->{{#if:{{{list14|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group14|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group14style|}}}"><!-- -->{{{group14}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list14style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list14|}}}</div></td></tr>}}<!-- -->{{#if:{{{list15|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group15|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group15style|}}}"><!-- -->{{{group15}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list15style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list15|}}}</div></td></tr>}}<!-- -->{{#if:{{{list16|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group16|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group16style|}}}"><!-- -->{{{group16}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list16style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list16|}}}</div></td></tr>}}<!-- -->{{#if:{{{list17|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group17|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group17style|}}}"><!-- -->{{{group17}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list17style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list17|}}}</div></td></tr>}}<!-- -->{{#if:{{{list18|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group18|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group18style|}}}"><!-- -->{{{group18}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list18style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list18|}}}</div></td></tr>}}<!-- -->{{#if:{{{list19|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group19|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group19style|}}}"><!-- -->{{{group19}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list19style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list19|}}}</div></td></tr>}}<!-- -->{{#if:{{{list20|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group20|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group20style|}}}"><!-- -->{{{group20}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list20style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list20|}}}</div></td></tr>}}<!-- ---Below--- -->{{#if:{{{below|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}{{{list3|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow" style="{{{basestyle|}}};{{{belowstyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}">{{{below}}}</td></tr>}}<!-- --></table>{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=<div>|none=|#default=</td></tr></table>}}<!-- --><noinclude> {{pp-template|small=yes}} {{documentation}} <!-- Add categories and interwikis to the /doc subpage, not here! --> </noinclude> gp8bq4tnuzna8yr8rmvvxl70lq34yxb 9767 9766 2009-03-02T00:00:20Z w>Edokter 0 Reinstating fixes, except removal of {{{list1padding}}}, which is required by {{Navbox with columns}}. Tested in sandbox. 9767 wikitext text/x-wiki <!-- Please do not edit without discussion first as this is a VERY complex template. -->{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=</div>|none=|#default=<table class="navbox" cellspacing="0" <!-- -->style="{{{bodystyle|}}};{{{style|}}}"><tr><td style="padding:2px;">}}<!-- --><table cellspacing="0" class="nowraplinks {{#if:{{{title|}}}|{{#switch:{{{state|}}}|plain|off=|<!-- -->#default=collapsible {{#if:{{{state|}}}|{{{state}}}|autocollapse}}}}}} {{#switch:{{{border|{{{1|}}}}}}|<!-- -->subgroup|child|none=navbox-subgroup" style="width:100%;{{{bodystyle|}}};{{{style|}}}|<!-- -->#default=" style="width:100%;background:transparent;color:inherit}};{{{innerstyle|}}};"><!-- ---Title and Navbar--- -->{{#if:{{{title|}}}|<tr>{{#if:{{{titlegroup|}}}|<!-- --><td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{titlegroupstyle|}}}">{{{titlegroup|}}}</td><!-- --><th style="border-left:2px solid #fdfdfd;width:100%;|<th style="}}{{{basestyle|}}};{{{titlestyle|}}}" <!-- -->colspan={{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}{{#if:{{{titlegroup|}}}|-1}}}} <!-- -->class="navbox-title"><!-- -->{{#if:{{#switch:{{{navbar|}}}|plain|off=1}}<!-- -->{{#if:{{{name|}}}||{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=1}}}}|<!-- -->{{#ifeq:{{{navbar|}}}|off|{{#ifeq:{{{state|}}}|plain|<div style="float:right;width:6em;">&nbsp;</div>}}|<!-- -->{{#ifeq:{{{state|}}}|plain||<div style="float:left; width:6em;text-align:left;">&nbsp;</div>}}}}|<!-- --><div style="float:left; width:6em;text-align:left;"><!-- -->{{Tnavbar|{{{name}}}|fontstyle={{{basestyle|}}};{{{titlestyle|}}};border:none;|mini=1}}<!-- --></div>{{#ifeq:{{{state|}}}|plain|<div style="float:right;width:6em;">&nbsp;</div>}}}}<!-- --><span style="font-size:{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=100|#default=110}}%;"><!-- -->{{{title}}}</span></th></tr>}}<!-- ---Above--- -->{{#if:{{{above|}}}|<!-- -->{{#if:{{{title|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow" style="{{{basestyle|}}};{{{abovestyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}">{{{above}}}</td></tr>}}<!-- ---Body--- ---First group/list and images--- -->{{#if:{{{list1|}}}|{{#if:{{{title|}}}{{{above|}}}|<tr style="height:2px;"><td></td></tr>}}<tr><!-- -->{{#if:{{{imageleft|}}}|<!-- --><td style="width:0%;padding:0px 2px 0px 0px;{{{imageleftstyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><!-- -->{{{imageleft}}}</td>}}<!-- -->{{#if:{{{group1|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group1style|}}}"><!-- -->{{{group1}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list1style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{list1padding|{{{listpadding|0em 0.25em}}}}}}">{{{list1}}}</div></td><!-- -->{{#if:{{{image|}}}|<!-- --><td style="width:0%;padding:0px 0px 0px 2px;{{{imagestyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><!-- -->{{{image}}}</td>}}<!-- --></tr>}}<!-- ---Remaining groups/lists--- -->{{#if:{{{list2|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group2|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group2style|}}}"><!-- -->{{{group2}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list2style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list2}}}</div></td></tr>}}<!-- -->{{#if:{{{list3|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group3|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group3style|}}}"><!-- -->{{{group3}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list3style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list3}}}</div></td></tr>}}<!-- -->{{#if:{{{list4|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group4|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group4style|}}}"><!-- -->{{{group4}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list4style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list4}}}</div></td></tr>}}<!-- -->{{#if:{{{list5|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group5|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group5style|}}}"><!-- -->{{{group5}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list5style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list5}}}</div></td></tr>}}<!-- -->{{#if:{{{list6|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group6|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group6style|}}}"><!-- -->{{{group6}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list6style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list6}}}</div></td></tr>}}<!-- -->{{#if:{{{list7|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group7|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group7style|}}}"><!-- -->{{{group7}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list7style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list7}}}</div></td></tr>}}<!-- -->{{#if:{{{list8|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group8|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group8style|}}}"><!-- -->{{{group8}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list8style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list8}}}</div></td></tr>}}<!-- -->{{#if:{{{list9|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group9|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group9style|}}}"><!-- -->{{{group9}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list9style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list9}}}</div></td></tr>}}<!-- -->{{#if:{{{list10|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group10|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group10style|}}}"><!-- -->{{{group10}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list10style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list10}}}</div></td></tr>}}<!-- -->{{#if:{{{list11|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group11|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group11style|}}}"><!-- -->{{{group11}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list11style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list11}}}</div></td></tr>}}<!-- -->{{#if:{{{list12|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group12|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group12style|}}}"><!-- -->{{{group12}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list12style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list12}}}</div></td></tr>}}<!-- -->{{#if:{{{list13|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group13|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group13style|}}}"><!-- -->{{{group13}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list13style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list13}}}</div></td></tr>}}<!-- -->{{#if:{{{list14|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group14|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group14style|}}}"><!-- -->{{{group14}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list14style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list14}}}</div></td></tr>}}<!-- -->{{#if:{{{list15|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group15|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group15style|}}}"><!-- -->{{{group15}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list15style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list15}}}</div></td></tr>}}<!-- -->{{#if:{{{list16|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group16|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group16style|}}}"><!-- -->{{{group16}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list16style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list16}}}</div></td></tr>}}<!-- -->{{#if:{{{list17|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group17|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group17style|}}}"><!-- -->{{{group17}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list17style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list17}}}</div></td></tr>}}<!-- -->{{#if:{{{list18|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group18|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group18style|}}}"><!-- -->{{{group18}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list18style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list18}}}</div></td></tr>}}<!-- -->{{#if:{{{list19|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group19|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group19style|}}}"><!-- -->{{{group19}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list19style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list19}}}</div></td></tr>}}<!-- -->{{#if:{{{list20|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group20|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group20style|}}}"><!-- -->{{{group20}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list20style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list20}}}</div></td></tr>}}<!-- ---Below--- -->{{#if:{{{below|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}{{{list3|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow" style="{{{basestyle|}}};{{{belowstyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}">{{{below}}}</td></tr>}}<!-- --></table>{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=<div>|none=|#default=</td></tr></table>}}<!-- --><noinclude> {{pp-template|small=yes}} {{documentation}} <!-- Add categories and interwikis to the /doc subpage, not here! --> </noinclude> p1hf2533fshyfqrq68k7xrxh82uokks 9768 9767 2009-03-03T17:33:55Z w>Happy-melon 0 update parameter in {{tnavbar}} call 9768 wikitext text/x-wiki <!-- Please do not edit without discussion first as this is a VERY complex template. -->{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=</div>|none=|#default=<table class="navbox" cellspacing="0" <!-- -->style="{{{bodystyle|}}};{{{style|}}}"><tr><td style="padding:2px;">}}<!-- --><table cellspacing="0" class="nowraplinks {{#if:{{{title|}}}|{{#switch:{{{state|}}}|plain|off=|<!-- -->#default=collapsible {{#if:{{{state|}}}|{{{state}}}|autocollapse}}}}}} {{#switch:{{{border|{{{1|}}}}}}|<!-- -->subgroup|child|none=navbox-subgroup" style="width:100%;{{{bodystyle|}}};{{{style|}}}|<!-- -->#default=" style="width:100%;background:transparent;color:inherit}};{{{innerstyle|}}};"><!-- ---Title and Navbar--- -->{{#if:{{{title|}}}|<tr>{{#if:{{{titlegroup|}}}|<!-- --><td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{titlegroupstyle|}}}">{{{titlegroup|}}}</td><!-- --><th style="border-left:2px solid #fdfdfd;width:100%;|<th style="}}{{{basestyle|}}};{{{titlestyle|}}}" <!-- -->colspan={{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}{{#if:{{{titlegroup|}}}|-1}}}} <!-- -->class="navbox-title"><!-- -->{{#if:{{#switch:{{{navbar|}}}|plain|off=1}}<!-- -->{{#if:{{{name|}}}||{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=1}}}}|<!-- -->{{#ifeq:{{{navbar|}}}|off|{{#ifeq:{{{state|}}}|plain|<div style="float:right;width:6em;">&nbsp;</div>}}|<!-- -->{{#ifeq:{{{state|}}}|plain||<div style="float:left; width:6em;text-align:left;">&nbsp;</div>}}}}|<!-- --><div style="float:left; width:6em;text-align:left;"><!-- -->{{Tnavbar|{{{name}}}|style={{{basestyle|}}};{{{titlestyle|}}};border:none;|mini=1}}<!-- --></div>{{#ifeq:{{{state|}}}|plain|<div style="float:right;width:6em;">&nbsp;</div>}}}}<!-- --><span style="font-size:{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=100|#default=110}}%;"><!-- -->{{{title}}}</span></th></tr>}}<!-- ---Above--- -->{{#if:{{{above|}}}|<!-- -->{{#if:{{{title|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow" style="{{{basestyle|}}};{{{abovestyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}">{{{above}}}</td></tr>}}<!-- ---Body--- ---First group/list and images--- -->{{#if:{{{list1|}}}|{{#if:{{{title|}}}{{{above|}}}|<tr style="height:2px;"><td></td></tr>}}<tr><!-- -->{{#if:{{{imageleft|}}}|<!-- --><td style="width:0%;padding:0px 2px 0px 0px;{{{imageleftstyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><!-- -->{{{imageleft}}}</td>}}<!-- -->{{#if:{{{group1|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group1style|}}}"><!-- -->{{{group1}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list1style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{list1padding|{{{listpadding|0em 0.25em}}}}}}">{{{list1}}}</div></td><!-- -->{{#if:{{{image|}}}|<!-- --><td style="width:0%;padding:0px 0px 0px 2px;{{{imagestyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><!-- -->{{{image}}}</td>}}<!-- --></tr>}}<!-- ---Remaining groups/lists--- -->{{#if:{{{list2|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group2|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group2style|}}}"><!-- -->{{{group2}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list2style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list2}}}</div></td></tr>}}<!-- -->{{#if:{{{list3|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group3|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group3style|}}}"><!-- -->{{{group3}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list3style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list3}}}</div></td></tr>}}<!-- -->{{#if:{{{list4|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group4|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group4style|}}}"><!-- -->{{{group4}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list4style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list4}}}</div></td></tr>}}<!-- -->{{#if:{{{list5|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group5|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group5style|}}}"><!-- -->{{{group5}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list5style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list5}}}</div></td></tr>}}<!-- -->{{#if:{{{list6|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group6|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group6style|}}}"><!-- -->{{{group6}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list6style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list6}}}</div></td></tr>}}<!-- -->{{#if:{{{list7|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group7|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group7style|}}}"><!-- -->{{{group7}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list7style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list7}}}</div></td></tr>}}<!-- -->{{#if:{{{list8|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group8|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group8style|}}}"><!-- -->{{{group8}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list8style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list8}}}</div></td></tr>}}<!-- -->{{#if:{{{list9|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group9|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group9style|}}}"><!-- -->{{{group9}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list9style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list9}}}</div></td></tr>}}<!-- -->{{#if:{{{list10|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group10|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group10style|}}}"><!-- -->{{{group10}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list10style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list10}}}</div></td></tr>}}<!-- -->{{#if:{{{list11|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group11|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group11style|}}}"><!-- -->{{{group11}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list11style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list11}}}</div></td></tr>}}<!-- -->{{#if:{{{list12|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group12|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group12style|}}}"><!-- -->{{{group12}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list12style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list12}}}</div></td></tr>}}<!-- -->{{#if:{{{list13|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group13|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group13style|}}}"><!-- -->{{{group13}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list13style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list13}}}</div></td></tr>}}<!-- -->{{#if:{{{list14|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group14|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group14style|}}}"><!-- -->{{{group14}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list14style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list14}}}</div></td></tr>}}<!-- -->{{#if:{{{list15|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group15|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group15style|}}}"><!-- -->{{{group15}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list15style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list15}}}</div></td></tr>}}<!-- -->{{#if:{{{list16|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group16|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group16style|}}}"><!-- -->{{{group16}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list16style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list16}}}</div></td></tr>}}<!-- -->{{#if:{{{list17|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group17|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group17style|}}}"><!-- -->{{{group17}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list17style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list17}}}</div></td></tr>}}<!-- -->{{#if:{{{list18|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group18|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group18style|}}}"><!-- -->{{{group18}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list18style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list18}}}</div></td></tr>}}<!-- -->{{#if:{{{list19|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group19|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group19style|}}}"><!-- -->{{{group19}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list19style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list19}}}</div></td></tr>}}<!-- -->{{#if:{{{list20|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group20|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group20style|}}}"><!-- -->{{{group20}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list20style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list20}}}</div></td></tr>}}<!-- ---Below--- -->{{#if:{{{below|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}{{{list3|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow" style="{{{basestyle|}}};{{{belowstyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}">{{{below}}}</td></tr>}}<!-- --></table>{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=<div>|none=|#default=</td></tr></table>}}<!-- --><noinclude> {{pp-template|small=yes}} {{documentation}} <!-- Add categories and interwikis to the /doc subpage, not here! --> </noinclude> 6ree73m86z42c9p56gtrv7gllzpbode 9769 9768 2009-03-03T19:58:20Z w>Edokter 0 Revert, as Tnavbar has been reverted. Sorry about the job queue exploding. 9769 wikitext text/x-wiki <!-- Please do not edit without discussion first as this is a VERY complex template. -->{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=</div>|none=|#default=<table class="navbox" cellspacing="0" <!-- -->style="{{{bodystyle|}}};{{{style|}}}"><tr><td style="padding:2px;">}}<!-- --><table cellspacing="0" class="nowraplinks {{#if:{{{title|}}}|{{#switch:{{{state|}}}|plain|off=|<!-- -->#default=collapsible {{#if:{{{state|}}}|{{{state}}}|autocollapse}}}}}} {{#switch:{{{border|{{{1|}}}}}}|<!-- -->subgroup|child|none=navbox-subgroup" style="width:100%;{{{bodystyle|}}};{{{style|}}}|<!-- -->#default=" style="width:100%;background:transparent;color:inherit}};{{{innerstyle|}}};"><!-- ---Title and Navbar--- -->{{#if:{{{title|}}}|<tr>{{#if:{{{titlegroup|}}}|<!-- --><td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{titlegroupstyle|}}}">{{{titlegroup|}}}</td><!-- --><th style="border-left:2px solid #fdfdfd;width:100%;|<th style="}}{{{basestyle|}}};{{{titlestyle|}}}" <!-- -->colspan={{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}{{#if:{{{titlegroup|}}}|-1}}}} <!-- -->class="navbox-title"><!-- -->{{#if:{{#switch:{{{navbar|}}}|plain|off=1}}<!-- -->{{#if:{{{name|}}}||{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=1}}}}|<!-- -->{{#ifeq:{{{navbar|}}}|off|{{#ifeq:{{{state|}}}|plain|<div style="float:right;width:6em;">&nbsp;</div>}}|<!-- -->{{#ifeq:{{{state|}}}|plain||<div style="float:left; width:6em;text-align:left;">&nbsp;</div>}}}}|<!-- --><div style="float:left; width:6em;text-align:left;"><!-- -->{{Tnavbar|{{{name}}}|fontstyle={{{basestyle|}}};{{{titlestyle|}}};border:none;|mini=1}}<!-- --></div>{{#ifeq:{{{state|}}}|plain|<div style="float:right;width:6em;">&nbsp;</div>}}}}<!-- --><span style="font-size:{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=100|#default=110}}%;"><!-- -->{{{title}}}</span></th></tr>}}<!-- ---Above--- -->{{#if:{{{above|}}}|<!-- -->{{#if:{{{title|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow" style="{{{basestyle|}}};{{{abovestyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}">{{{above}}}</td></tr>}}<!-- ---Body--- ---First group/list and images--- -->{{#if:{{{list1|}}}|{{#if:{{{title|}}}{{{above|}}}|<tr style="height:2px;"><td></td></tr>}}<tr><!-- -->{{#if:{{{imageleft|}}}|<!-- --><td style="width:0%;padding:0px 2px 0px 0px;{{{imageleftstyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><!-- -->{{{imageleft}}}</td>}}<!-- -->{{#if:{{{group1|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group1style|}}}"><!-- -->{{{group1}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list1style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{list1padding|{{{listpadding|0em 0.25em}}}}}}">{{{list1}}}</div></td><!-- -->{{#if:{{{image|}}}|<!-- --><td style="width:0%;padding:0px 0px 0px 2px;{{{imagestyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><!-- -->{{{image}}}</td>}}<!-- --></tr>}}<!-- ---Remaining groups/lists--- -->{{#if:{{{list2|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group2|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group2style|}}}"><!-- -->{{{group2}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list2style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list2}}}</div></td></tr>}}<!-- -->{{#if:{{{list3|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group3|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group3style|}}}"><!-- -->{{{group3}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list3style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list3}}}</div></td></tr>}}<!-- -->{{#if:{{{list4|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group4|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group4style|}}}"><!-- -->{{{group4}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list4style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list4}}}</div></td></tr>}}<!-- -->{{#if:{{{list5|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group5|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group5style|}}}"><!-- -->{{{group5}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list5style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list5}}}</div></td></tr>}}<!-- -->{{#if:{{{list6|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group6|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group6style|}}}"><!-- -->{{{group6}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list6style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list6}}}</div></td></tr>}}<!-- -->{{#if:{{{list7|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group7|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group7style|}}}"><!-- -->{{{group7}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list7style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list7}}}</div></td></tr>}}<!-- -->{{#if:{{{list8|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group8|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group8style|}}}"><!-- -->{{{group8}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list8style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list8}}}</div></td></tr>}}<!-- -->{{#if:{{{list9|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group9|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group9style|}}}"><!-- -->{{{group9}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list9style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list9}}}</div></td></tr>}}<!-- -->{{#if:{{{list10|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group10|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group10style|}}}"><!-- -->{{{group10}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list10style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list10}}}</div></td></tr>}}<!-- -->{{#if:{{{list11|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group11|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group11style|}}}"><!-- -->{{{group11}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list11style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list11}}}</div></td></tr>}}<!-- -->{{#if:{{{list12|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group12|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group12style|}}}"><!-- -->{{{group12}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list12style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list12}}}</div></td></tr>}}<!-- -->{{#if:{{{list13|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group13|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group13style|}}}"><!-- -->{{{group13}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list13style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list13}}}</div></td></tr>}}<!-- -->{{#if:{{{list14|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group14|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group14style|}}}"><!-- -->{{{group14}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list14style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list14}}}</div></td></tr>}}<!-- -->{{#if:{{{list15|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group15|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group15style|}}}"><!-- -->{{{group15}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list15style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list15}}}</div></td></tr>}}<!-- -->{{#if:{{{list16|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group16|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group16style|}}}"><!-- -->{{{group16}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list16style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list16}}}</div></td></tr>}}<!-- -->{{#if:{{{list17|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group17|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group17style|}}}"><!-- -->{{{group17}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list17style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list17}}}</div></td></tr>}}<!-- -->{{#if:{{{list18|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group18|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group18style|}}}"><!-- -->{{{group18}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list18style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list18}}}</div></td></tr>}}<!-- -->{{#if:{{{list19|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group19|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group19style|}}}"><!-- -->{{{group19}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list19style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list19}}}</div></td></tr>}}<!-- -->{{#if:{{{list20|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group20|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group20style|}}}"><!-- -->{{{group20}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list20style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list20}}}</div></td></tr>}}<!-- ---Below--- -->{{#if:{{{below|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}{{{list3|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow" style="{{{basestyle|}}};{{{belowstyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}">{{{below}}}</td></tr>}}<!-- --></table>{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=<div>|none=|#default=</td></tr></table>}}<!-- --><noinclude> {{pp-template|small=yes}} {{documentation}} <!-- Add categories and interwikis to the /doc subpage, not here! --> </noinclude> p1hf2533fshyfqrq68k7xrxh82uokks 9770 9769 2009-04-21T19:56:55Z w>Happy-melon 0 expand redirect 9770 wikitext text/x-wiki <!-- Please do not edit without discussion first as this is a VERY complex template. -->{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=</div>|none=|#default=<table class="navbox" cellspacing="0" <!-- -->style="{{{bodystyle|}}};{{{style|}}}"><tr><td style="padding:2px;">}}<!-- --><table cellspacing="0" class="nowraplinks {{#if:{{{title|}}}|{{#switch:{{{state|}}}|plain|off=|<!-- -->#default=collapsible {{#if:{{{state|}}}|{{{state}}}|autocollapse}}}}}} {{#switch:{{{border|{{{1|}}}}}}|<!-- -->subgroup|child|none=navbox-subgroup" style="width:100%;{{{bodystyle|}}};{{{style|}}}|<!-- -->#default=" style="width:100%;background:transparent;color:inherit}};{{{innerstyle|}}};"><!-- ---Title and Navbar--- -->{{#if:{{{title|}}}|<tr>{{#if:{{{titlegroup|}}}|<!-- --><td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{titlegroupstyle|}}}">{{{titlegroup|}}}</td><!-- --><th style="border-left:2px solid #fdfdfd;width:100%;|<th style="}}{{{basestyle|}}};{{{titlestyle|}}}" <!-- -->colspan={{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}{{#if:{{{titlegroup|}}}|-1}}}} <!-- -->class="navbox-title"><!-- -->{{#if:{{#switch:{{{navbar|}}}|plain|off=1}}<!-- -->{{#if:{{{name|}}}||{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=1}}}}|<!-- -->{{#ifeq:{{{navbar|}}}|off|{{#ifeq:{{{state|}}}|plain|<div style="float:right;width:6em;">&nbsp;</div>}}|<!-- -->{{#ifeq:{{{state|}}}|plain||<div style="float:left; width:6em;text-align:left;">&nbsp;</div>}}}}|<!-- --><div style="float:left; width:6em;text-align:left;"><!-- -->{{navbar|{{{name}}}|fontstyle={{{basestyle|}}};{{{titlestyle|}}};border:none;|mini=1}}<!-- --></div>{{#ifeq:{{{state|}}}|plain|<div style="float:right;width:6em;">&nbsp;</div>}}}}<!-- --><span style="font-size:{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=100|#default=110}}%;"><!-- -->{{{title}}}</span></th></tr>}}<!-- ---Above--- -->{{#if:{{{above|}}}|<!-- -->{{#if:{{{title|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow" style="{{{basestyle|}}};{{{abovestyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}">{{{above}}}</td></tr>}}<!-- ---Body--- ---First group/list and images--- -->{{#if:{{{list1|}}}|{{#if:{{{title|}}}{{{above|}}}|<tr style="height:2px;"><td></td></tr>}}<tr><!-- -->{{#if:{{{imageleft|}}}|<!-- --><td style="width:0%;padding:0px 2px 0px 0px;{{{imageleftstyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><!-- -->{{{imageleft}}}</td>}}<!-- -->{{#if:{{{group1|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group1style|}}}"><!-- -->{{{group1}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list1style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{list1padding|{{{listpadding|0em 0.25em}}}}}}">{{{list1}}}</div></td><!-- -->{{#if:{{{image|}}}|<!-- --><td style="width:0%;padding:0px 0px 0px 2px;{{{imagestyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><!-- -->{{{image}}}</td>}}<!-- --></tr>}}<!-- ---Remaining groups/lists--- -->{{#if:{{{list2|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group2|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group2style|}}}"><!-- -->{{{group2}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list2style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list2}}}</div></td></tr>}}<!-- -->{{#if:{{{list3|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group3|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group3style|}}}"><!-- -->{{{group3}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list3style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list3}}}</div></td></tr>}}<!-- -->{{#if:{{{list4|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group4|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group4style|}}}"><!-- -->{{{group4}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list4style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list4}}}</div></td></tr>}}<!-- -->{{#if:{{{list5|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group5|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group5style|}}}"><!-- -->{{{group5}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list5style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list5}}}</div></td></tr>}}<!-- -->{{#if:{{{list6|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group6|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group6style|}}}"><!-- -->{{{group6}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list6style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list6}}}</div></td></tr>}}<!-- -->{{#if:{{{list7|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group7|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group7style|}}}"><!-- -->{{{group7}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list7style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list7}}}</div></td></tr>}}<!-- -->{{#if:{{{list8|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group8|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group8style|}}}"><!-- -->{{{group8}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list8style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list8}}}</div></td></tr>}}<!-- -->{{#if:{{{list9|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group9|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group9style|}}}"><!-- -->{{{group9}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list9style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list9}}}</div></td></tr>}}<!-- -->{{#if:{{{list10|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group10|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group10style|}}}"><!-- -->{{{group10}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list10style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list10}}}</div></td></tr>}}<!-- -->{{#if:{{{list11|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group11|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group11style|}}}"><!-- -->{{{group11}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list11style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list11}}}</div></td></tr>}}<!-- -->{{#if:{{{list12|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group12|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group12style|}}}"><!-- -->{{{group12}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list12style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list12}}}</div></td></tr>}}<!-- -->{{#if:{{{list13|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group13|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group13style|}}}"><!-- -->{{{group13}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list13style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list13}}}</div></td></tr>}}<!-- -->{{#if:{{{list14|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group14|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group14style|}}}"><!-- -->{{{group14}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list14style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list14}}}</div></td></tr>}}<!-- -->{{#if:{{{list15|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group15|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group15style|}}}"><!-- -->{{{group15}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list15style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list15}}}</div></td></tr>}}<!-- -->{{#if:{{{list16|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group16|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group16style|}}}"><!-- -->{{{group16}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list16style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list16}}}</div></td></tr>}}<!-- -->{{#if:{{{list17|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group17|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group17style|}}}"><!-- -->{{{group17}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list17style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list17}}}</div></td></tr>}}<!-- -->{{#if:{{{list18|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group18|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group18style|}}}"><!-- -->{{{group18}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list18style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list18}}}</div></td></tr>}}<!-- -->{{#if:{{{list19|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group19|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group19style|}}}"><!-- -->{{{group19}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list19style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list19}}}</div></td></tr>}}<!-- -->{{#if:{{{list20|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group20|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group20style|}}}"><!-- -->{{{group20}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list20style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list20}}}</div></td></tr>}}<!-- ---Below--- -->{{#if:{{{below|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}{{{list3|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow" style="{{{basestyle|}}};{{{belowstyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}">{{{below}}}</td></tr>}}<!-- --></table>{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=<div>|none=|#default=</td></tr></table>}}<!-- --><noinclude> {{pp-template|small=yes}} {{documentation}} <!-- Add categories and interwikis to the /doc subpage, not here! --> </noinclude> k7q4ohsq4ta9gdlah1nwqtn2j3990hi 9771 9770 2009-05-02T17:38:27Z w>Edokter 0 Removing duplicate (from Common.css) color declarations for border-left of navbox-list cells with groups. Tested in IE and Firefox. 9771 wikitext text/x-wiki <!-- Please do not edit without discussion first as this is a VERY complex template. -->{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=</div>|none=|#default=<table class="navbox" cellspacing="0" <!-- -->style="{{{bodystyle|}}};{{{style|}}}"><tr><td style="padding:2px;">}}<!-- --><table cellspacing="0" class="nowraplinks {{#if:{{{title|}}}|{{#switch:{{{state|}}}|plain|off=|<!-- -->#default=collapsible {{#if:{{{state|}}}|{{{state}}}|autocollapse}}}}}} {{#switch:{{{border|{{{1|}}}}}}|<!-- -->subgroup|child|none=navbox-subgroup" style="width:100%;{{{bodystyle|}}};{{{style|}}}|<!-- -->#default=" style="width:100%;background:transparent;color:inherit}};{{{innerstyle|}}};"><!-- ---Title and Navbar--- -->{{#if:{{{title|}}}|<tr>{{#if:{{{titlegroup|}}}|<!-- --><td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{titlegroupstyle|}}}">{{{titlegroup|}}}</td><!-- --><th style="border-left:2px solid #fdfdfd;width:100%;|<th style="}}{{{basestyle|}}};{{{titlestyle|}}}" <!-- -->colspan={{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}{{#if:{{{titlegroup|}}}|-1}}}} <!-- -->class="navbox-title"><!-- -->{{#if:{{#switch:{{{Navbar|}}}|plain|off=1}}<!-- -->{{#if:{{{name|}}}||{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=1}}}}|<!-- -->{{#ifeq:{{{navbar|}}}|off|{{#ifeq:{{{state|}}}|plain|<div style="float:right;width:6em;">&nbsp;</div>}}|<!-- -->{{#ifeq:{{{state|}}}|plain||<div style="float:left; width:6em;text-align:left;">&nbsp;</div>}}}}|<!-- --><div style="float:left; width:6em;text-align:left;"><!-- -->{{Navbar|{{{name}}}|fontstyle={{{basestyle|}}};{{{titlestyle|}}};border:none;|mini=1}}<!-- --></div>{{#ifeq:{{{state|}}}|plain|<div style="float:right;width:6em;">&nbsp;</div>}}}}<!-- --><span style="font-size:{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=100|#default=110}}%;"><!-- -->{{{title}}}</span></th></tr>}}<!-- ---Above--- -->{{#if:{{{above|}}}|<!-- -->{{#if:{{{title|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow" style="{{{basestyle|}}};{{{abovestyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}">{{{above}}}</td></tr>}}<!-- ---Body--- ---First group/list and images--- -->{{#if:{{{list1|}}}|{{#if:{{{title|}}}{{{above|}}}|<tr style="height:2px;"><td></td></tr>}}<tr><!-- -->{{#if:{{{imageleft|}}}|<!-- --><td style="width:0%;padding:0px 2px 0px 0px;{{{imageleftstyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><!-- -->{{{imageleft}}}</td>}}<!-- -->{{#if:{{{group1|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group1style|}}}"><!-- -->{{{group1}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list1style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{list1padding|{{{listpadding|0em 0.25em}}}}}}">{{{list1}}}</div></td><!-- -->{{#if:{{{image|}}}|<!-- --><td style="width:0%;padding:0px 0px 0px 2px;{{{imagestyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><!-- -->{{{image}}}</td>}}<!-- --></tr>}}<!-- ---Remaining groups/lists--- -->{{#if:{{{list2|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group2|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group2style|}}}"><!-- -->{{{group2}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list2style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list2}}}</div></td></tr>}}<!-- -->{{#if:{{{list3|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group3|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group3style|}}}"><!-- -->{{{group3}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list3style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list3}}}</div></td></tr>}}<!-- -->{{#if:{{{list4|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group4|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group4style|}}}"><!-- -->{{{group4}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list4style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list4}}}</div></td></tr>}}<!-- -->{{#if:{{{list5|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group5|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group5style|}}}"><!-- -->{{{group5}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list5style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list5}}}</div></td></tr>}}<!-- -->{{#if:{{{list6|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group6|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group6style|}}}"><!-- -->{{{group6}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list6style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list6}}}</div></td></tr>}}<!-- -->{{#if:{{{list7|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group7|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group7style|}}}"><!-- -->{{{group7}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list7style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list7}}}</div></td></tr>}}<!-- -->{{#if:{{{list8|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group8|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group8style|}}}"><!-- -->{{{group8}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list8style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list8}}}</div></td></tr>}}<!-- -->{{#if:{{{list9|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group9|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group9style|}}}"><!-- -->{{{group9}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list9style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list9}}}</div></td></tr>}}<!-- -->{{#if:{{{list10|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group10|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group10style|}}}"><!-- -->{{{group10}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list10style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list10}}}</div></td></tr>}}<!-- -->{{#if:{{{list11|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group11|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group11style|}}}"><!-- -->{{{group11}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list11style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list11}}}</div></td></tr>}}<!-- -->{{#if:{{{list12|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group12|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group12style|}}}"><!-- -->{{{group12}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list12style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list12}}}</div></td></tr>}}<!-- -->{{#if:{{{list13|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group13|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group13style|}}}"><!-- -->{{{group13}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list13style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list13}}}</div></td></tr>}}<!-- -->{{#if:{{{list14|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group14|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group14style|}}}"><!-- -->{{{group14}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list14style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list14}}}</div></td></tr>}}<!-- -->{{#if:{{{list15|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group15|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group15style|}}}"><!-- -->{{{group15}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list15style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list15}}}</div></td></tr>}}<!-- -->{{#if:{{{list16|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group16|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group16style|}}}"><!-- -->{{{group16}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list16style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list16}}}</div></td></tr>}}<!-- -->{{#if:{{{list17|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group17|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group17style|}}}"><!-- -->{{{group17}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list17style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list17}}}</div></td></tr>}}<!-- -->{{#if:{{{list18|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group18|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group18style|}}}"><!-- -->{{{group18}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list18style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list18}}}</div></td></tr>}}<!-- -->{{#if:{{{list19|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group19|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group19style|}}}"><!-- -->{{{group19}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list19style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list19}}}</div></td></tr>}}<!-- -->{{#if:{{{list20|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group20|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group20style|}}}"><!-- -->{{{group20}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list20style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list20}}}</div></td></tr>}}<!-- ---Below--- -->{{#if:{{{below|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}{{{list3|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow" style="{{{basestyle|}}};{{{belowstyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}">{{{below}}}</td></tr>}}<!-- --></table>{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=<div>|none=|#default=</td></tr></table>}}<!-- --><noinclude> {{pp-template|small=yes}} {{documentation}} <!-- Add categories and interwikis to the /doc subpage, not here! --> </noinclude> bmdi6heer6pu20qio2513oh1zxdcp89 9772 9771 2009-05-02T19:45:44Z w>TheDJ 0 try to fix navbar option. 9772 wikitext text/x-wiki <!-- Please do not edit without discussion first as this is a VERY complex template. -->{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=</div>|none=|#default=<table class="navbox" cellspacing="0" <!-- -->style="{{{bodystyle|}}};{{{style|}}}"><tr><td style="padding:2px;">}}<!-- --><table cellspacing="0" class="nowraplinks {{#if:{{{title|}}}|{{#switch:{{{state|}}}|plain|off=|<!-- -->#default=collapsible {{#if:{{{state|}}}|{{{state}}}|autocollapse}}}}}} {{#switch:{{{border|{{{1|}}}}}}|<!-- -->subgroup|child|none=navbox-subgroup" style="width:100%;{{{bodystyle|}}};{{{style|}}}|<!-- -->#default=" style="width:100%;background:transparent;color:inherit}};{{{innerstyle|}}};"><!-- ---Title and Navbar--- -->{{#if:{{{title|}}}|<tr>{{#if:{{{titlegroup|}}}|<!-- --><td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{titlegroupstyle|}}}">{{{titlegroup|}}}</td><!-- --><th style="border-left:2px solid #fdfdfd;width:100%;|<th style="}}{{{basestyle|}}};{{{titlestyle|}}}" <!-- -->colspan={{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}{{#if:{{{titlegroup|}}}|-1}}}} <!-- -->class="navbox-title"><!-- -->{{#if:{{#switch:{{{navbar|}}}|plain|off=1}}<!-- -->{{#if:{{{name|}}}||{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=1}}}}|<!-- -->{{#ifeq:{{{navbar|}}}|off|{{#ifeq:{{{state|}}}|plain|<div style="float:right;width:6em;">&nbsp;</div>}}|<!-- -->{{#ifeq:{{{state|}}}|plain||<div style="float:left; width:6em;text-align:left;">&nbsp;</div>}}}}|<!-- --><div style="float:left; width:6em;text-align:left;"><!-- -->{{Navbar|{{{name}}}|fontstyle={{{basestyle|}}};{{{titlestyle|}}};border:none;|mini=1}}<!-- --></div>{{#ifeq:{{{state|}}}|plain|<div style="float:right;width:6em;">&nbsp;</div>}}}}<!-- --><span style="font-size:{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=100|#default=110}}%;"><!-- -->{{{title}}}</span></th></tr>}}<!-- ---Above--- -->{{#if:{{{above|}}}|<!-- -->{{#if:{{{title|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow" style="{{{basestyle|}}};{{{abovestyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}">{{{above}}}</td></tr>}}<!-- ---Body--- ---First group/list and images--- -->{{#if:{{{list1|}}}|{{#if:{{{title|}}}{{{above|}}}|<tr style="height:2px;"><td></td></tr>}}<tr><!-- -->{{#if:{{{imageleft|}}}|<!-- --><td style="width:0%;padding:0px 2px 0px 0px;{{{imageleftstyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><!-- -->{{{imageleft}}}</td>}}<!-- -->{{#if:{{{group1|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group1style|}}}"><!-- -->{{{group1}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list1style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{list1padding|{{{listpadding|0em 0.25em}}}}}}">{{{list1}}}</div></td><!-- -->{{#if:{{{image|}}}|<!-- --><td style="width:0%;padding:0px 0px 0px 2px;{{{imagestyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><!-- -->{{{image}}}</td>}}<!-- --></tr>}}<!-- ---Remaining groups/lists--- -->{{#if:{{{list2|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group2|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group2style|}}}"><!-- -->{{{group2}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list2style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list2}}}</div></td></tr>}}<!-- -->{{#if:{{{list3|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group3|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group3style|}}}"><!-- -->{{{group3}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list3style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list3}}}</div></td></tr>}}<!-- -->{{#if:{{{list4|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group4|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group4style|}}}"><!-- -->{{{group4}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list4style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list4}}}</div></td></tr>}}<!-- -->{{#if:{{{list5|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group5|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group5style|}}}"><!-- -->{{{group5}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list5style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list5}}}</div></td></tr>}}<!-- -->{{#if:{{{list6|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group6|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group6style|}}}"><!-- -->{{{group6}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list6style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list6}}}</div></td></tr>}}<!-- -->{{#if:{{{list7|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group7|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group7style|}}}"><!-- -->{{{group7}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list7style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list7}}}</div></td></tr>}}<!-- -->{{#if:{{{list8|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group8|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group8style|}}}"><!-- -->{{{group8}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list8style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list8}}}</div></td></tr>}}<!-- -->{{#if:{{{list9|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group9|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group9style|}}}"><!-- -->{{{group9}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list9style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list9}}}</div></td></tr>}}<!-- -->{{#if:{{{list10|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group10|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group10style|}}}"><!-- -->{{{group10}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list10style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list10}}}</div></td></tr>}}<!-- -->{{#if:{{{list11|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group11|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group11style|}}}"><!-- -->{{{group11}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list11style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list11}}}</div></td></tr>}}<!-- -->{{#if:{{{list12|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group12|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group12style|}}}"><!-- -->{{{group12}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list12style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list12}}}</div></td></tr>}}<!-- -->{{#if:{{{list13|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group13|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group13style|}}}"><!-- -->{{{group13}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list13style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list13}}}</div></td></tr>}}<!-- -->{{#if:{{{list14|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group14|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group14style|}}}"><!-- -->{{{group14}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list14style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list14}}}</div></td></tr>}}<!-- -->{{#if:{{{list15|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group15|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group15style|}}}"><!-- -->{{{group15}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list15style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list15}}}</div></td></tr>}}<!-- -->{{#if:{{{list16|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group16|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group16style|}}}"><!-- -->{{{group16}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list16style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list16}}}</div></td></tr>}}<!-- -->{{#if:{{{list17|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group17|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group17style|}}}"><!-- -->{{{group17}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list17style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list17}}}</div></td></tr>}}<!-- -->{{#if:{{{list18|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group18|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group18style|}}}"><!-- -->{{{group18}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list18style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list18}}}</div></td></tr>}}<!-- -->{{#if:{{{list19|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group19|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group19style|}}}"><!-- -->{{{group19}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list19style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list19}}}</div></td></tr>}}<!-- -->{{#if:{{{list20|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group20|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group20style|}}}"><!-- -->{{{group20}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list20style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list20}}}</div></td></tr>}}<!-- ---Below--- -->{{#if:{{{below|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}{{{list3|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow" style="{{{basestyle|}}};{{{belowstyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}">{{{below}}}</td></tr>}}<!-- --></table>{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=<div>|none=|#default=</td></tr></table>}}<!-- --><noinclude> {{pp-template|small=yes}} {{documentation}} <!-- Add categories and interwikis to the /doc subpage, not here! --> </noinclude> ceda0do1jdv1hlpfm7iq7r7nl6gnyeb 9773 9725 2009-07-30T09:51:54Z w>MSGJ 0 add titleclass and bodyclass parameters, per request on talk page 9773 wikitext text/x-wiki <!-- Please do not edit without discussion first as this is a VERY complex template. -->{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=</div>|none=|#default=<table class="navbox {{{bodyclass|}}}" cellspacing="0" <!-- -->style="{{{bodystyle|}}};{{{style|}}}"><tr><td style="padding:2px;">}}<!-- --><table cellspacing="0" class="nowraplinks {{#if:{{{title|}}}|{{#switch:{{{state|}}}|plain|off=|<!-- -->#default=collapsible {{#if:{{{state|}}}|{{{state}}}|autocollapse}}}}}} {{#switch:{{{border|{{{1|}}}}}}|<!-- -->subgroup|child|none=navbox-subgroup" style="width:100%;{{{bodystyle|}}};{{{style|}}}|<!-- -->#default=" style="width:100%;background:transparent;color:inherit}};{{{innerstyle|}}};"><!-- ---Title and Navbar--- -->{{#if:{{{title|}}}|<tr>{{#if:{{{titlegroup|}}}|<!-- --><td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{titlegroupstyle|}}}">{{{titlegroup|}}}</td><!-- --><th style="border-left:2px solid #fdfdfd;width:100%;|<th style="}}{{{basestyle|}}};{{{titlestyle|}}}" <!-- -->colspan={{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}{{#if:{{{titlegroup|}}}|-1}}}} <!-- -->class="navbox-title"><!-- -->{{#if:{{#switch:{{{navbar|}}}|plain|off=1}}<!-- -->{{#if:{{{name|}}}||{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=1}}}}|<!-- -->{{#ifeq:{{{navbar|}}}|off|{{#ifeq:{{{state|}}}|plain|<div style="float:right;width:6em;">&nbsp;</div>}}|<!-- -->{{#ifeq:{{{state|}}}|plain||<div style="float:left; width:6em;text-align:left;">&nbsp;</div>}}}}|<!-- --><div style="float:left; width:6em;text-align:left;"><!-- -->{{Navbar|{{{name}}}|fontstyle={{{basestyle|}}};{{{titlestyle|}}};border:none;|mini=1}}<!-- --></div>{{#ifeq:{{{state|}}}|plain|<div style="float:right;width:6em;">&nbsp;</div>}}}}<!-- --><span class="{{{titleclass|}}}" style="font-size:{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=100|#default=110}}%;"><!-- -->{{{title}}}</span></th></tr>}}<!-- ---Above--- -->{{#if:{{{above|}}}|<!-- -->{{#if:{{{title|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow" style="{{{basestyle|}}};{{{abovestyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}">{{{above}}}</td></tr>}}<!-- ---Body--- ---First group/list and images--- -->{{#if:{{{list1|}}}|{{#if:{{{title|}}}{{{above|}}}|<tr style="height:2px;"><td></td></tr>}}<tr><!-- -->{{#if:{{{imageleft|}}}|<!-- --><td style="width:0%;padding:0px 2px 0px 0px;{{{imageleftstyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><!-- -->{{{imageleft}}}</td>}}<!-- -->{{#if:{{{group1|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group1style|}}}"><!-- -->{{{group1}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list1style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{list1padding|{{{listpadding|0em 0.25em}}}}}}">{{{list1}}}</div></td><!-- -->{{#if:{{{image|}}}|<!-- --><td style="width:0%;padding:0px 0px 0px 2px;{{{imagestyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><!-- -->{{{image}}}</td>}}<!-- --></tr>}}<!-- ---Remaining groups/lists--- -->{{#if:{{{list2|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group2|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group2style|}}}"><!-- -->{{{group2}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list2style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list2}}}</div></td></tr>}}<!-- -->{{#if:{{{list3|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group3|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group3style|}}}"><!-- -->{{{group3}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list3style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list3}}}</div></td></tr>}}<!-- -->{{#if:{{{list4|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group4|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group4style|}}}"><!-- -->{{{group4}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list4style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list4}}}</div></td></tr>}}<!-- -->{{#if:{{{list5|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group5|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group5style|}}}"><!-- -->{{{group5}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list5style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list5}}}</div></td></tr>}}<!-- -->{{#if:{{{list6|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group6|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group6style|}}}"><!-- -->{{{group6}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list6style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list6}}}</div></td></tr>}}<!-- -->{{#if:{{{list7|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group7|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group7style|}}}"><!-- -->{{{group7}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list7style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list7}}}</div></td></tr>}}<!-- -->{{#if:{{{list8|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group8|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group8style|}}}"><!-- -->{{{group8}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list8style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list8}}}</div></td></tr>}}<!-- -->{{#if:{{{list9|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group9|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group9style|}}}"><!-- -->{{{group9}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list9style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list9}}}</div></td></tr>}}<!-- -->{{#if:{{{list10|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group10|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group10style|}}}"><!-- -->{{{group10}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list10style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list10}}}</div></td></tr>}}<!-- -->{{#if:{{{list11|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group11|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group11style|}}}"><!-- -->{{{group11}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list11style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list11}}}</div></td></tr>}}<!-- -->{{#if:{{{list12|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group12|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group12style|}}}"><!-- -->{{{group12}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list12style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list12}}}</div></td></tr>}}<!-- -->{{#if:{{{list13|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group13|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group13style|}}}"><!-- -->{{{group13}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list13style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list13}}}</div></td></tr>}}<!-- -->{{#if:{{{list14|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group14|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group14style|}}}"><!-- -->{{{group14}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list14style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list14}}}</div></td></tr>}}<!-- -->{{#if:{{{list15|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group15|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group15style|}}}"><!-- -->{{{group15}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list15style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list15}}}</div></td></tr>}}<!-- -->{{#if:{{{list16|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group16|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group16style|}}}"><!-- -->{{{group16}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list16style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list16}}}</div></td></tr>}}<!-- -->{{#if:{{{list17|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group17|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group17style|}}}"><!-- -->{{{group17}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list17style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list17}}}</div></td></tr>}}<!-- -->{{#if:{{{list18|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group18|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group18style|}}}"><!-- -->{{{group18}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list18style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list18}}}</div></td></tr>}}<!-- -->{{#if:{{{list19|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group19|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group19style|}}}"><!-- -->{{{group19}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list19style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list19}}}</div></td></tr>}}<!-- -->{{#if:{{{list20|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group20|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group20style|}}}"><!-- -->{{{group20}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list20style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list20}}}</div></td></tr>}}<!-- ---Below--- -->{{#if:{{{below|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}{{{list3|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow" style="{{{basestyle|}}};{{{belowstyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}">{{{below}}}</td></tr>}}<!-- --></table>{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=<div>|none=|#default=</td></tr></table>}}<!-- --><noinclude> {{pp-template|small=yes}} {{documentation}} <!-- Add categories and interwikis to the /doc subpage, not here! --> </noinclude> qqn85orwa26e35dgqjutye13k43ng22 9774 9773 2009-11-06T08:53:04Z w>MZMcBride 0 to kill the <span> / <span /> hack 9774 wikitext text/x-wiki <!-- Please do not edit without discussion first as this is a VERY complex template. -->{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=</div>|none=|#default=<table class="navbox {{{bodyclass|}}}" cellspacing="0" <!-- -->style="{{{bodystyle|}}};{{{style|}}}"><tr><td style="padding:2px;">}}<!-- --><table cellspacing="0" class="nowraplinks {{#if:{{{title|}}}|{{#switch:{{{state|}}}|plain|off=|<!-- -->#default=collapsible {{#if:{{{state|}}}|{{{state}}}|autocollapse}}}}}} {{#switch:{{{border|{{{1|}}}}}}|<!-- -->subgroup|child|none=navbox-subgroup" style="width:100%;{{{bodystyle|}}};{{{style|}}}|<!-- -->#default=" style="width:100%;background:transparent;color:inherit}};{{{innerstyle|}}};"><!-- ---Title and Navbar--- -->{{#if:{{{title|}}}|<tr>{{#if:{{{titlegroup|}}}|<!-- --><td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{titlegroupstyle|}}}">{{{titlegroup|}}}</td><!-- --><th style="border-left:2px solid #fdfdfd;width:100%;|<th style="}}{{{basestyle|}}};{{{titlestyle|}}}" <!-- -->colspan={{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}{{#if:{{{titlegroup|}}}|-1}}}} <!-- -->class="navbox-title"><!-- -->{{#if:{{#switch:{{{navbar|}}}|plain|off=1}}<!-- -->{{#if:{{{name|}}}||{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=1}}}}|<!-- -->{{#ifeq:{{{navbar|}}}|off|{{#ifeq:{{{state|}}}|plain|<div style="float:right;width:6em;">&nbsp;</div>}}|<!-- -->{{#ifeq:{{{state|}}}|plain||<div style="float:left; width:6em;text-align:left;">&nbsp;</div>}}}}|<!-- --><div style="float:left; width:6em;text-align:left;"><!-- -->{{Navbar|{{{name}}}|fontstyle={{{basestyle|}}};{{{titlestyle|}}};border:none;|mini=1}}<!-- --></div>{{#ifeq:{{{state|}}}|plain|<div style="float:right;width:6em;">&nbsp;</div>}}}}<!-- --><span class="{{{titleclass|}}}" style="font-size:{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=100|#default=110}}%;"><!-- -->{{{title}}}</span></th></tr>}}<!-- ---Above--- -->{{#if:{{{above|}}}|<!-- -->{{#if:{{{title|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow" style="{{{basestyle|}}};{{{abovestyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}">{{{above}}}</td></tr>}}<!-- ---Body--- ---First group/list and images--- -->{{#if:{{{list1|}}}|{{#if:{{{title|}}}{{{above|}}}|<tr style="height:2px;"><td></td></tr>}}<tr><!-- -->{{#if:{{{imageleft|}}}|<!-- --><td style="width:0%;padding:0px 2px 0px 0px;{{{imageleftstyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><!-- -->{{{imageleft}}}</td>}}<!-- -->{{#if:{{{group1|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group1style|}}}"><!-- -->{{{group1}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list1style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{list1padding|{{{listpadding|0em 0.25em}}}}}}"> {{{list1}}} </div></td><!-- -->{{#if:{{{image|}}}|<!-- --><td style="width:0%;padding:0px 0px 0px 2px;{{{imagestyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><!-- -->{{{image}}}</td>}}<!-- --></tr>}}<!-- ---Remaining groups/lists--- -->{{#if:{{{list2|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group2|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group2style|}}}"><!-- -->{{{group2}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list2style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list2}}}</div></td></tr>}}<!-- -->{{#if:{{{list3|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group3|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group3style|}}}"><!-- -->{{{group3}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list3style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list3}}}</div></td></tr>}}<!-- -->{{#if:{{{list4|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group4|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group4style|}}}"><!-- -->{{{group4}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list4style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list4}}}</div></td></tr>}}<!-- -->{{#if:{{{list5|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group5|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group5style|}}}"><!-- -->{{{group5}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list5style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list5}}}</div></td></tr>}}<!-- -->{{#if:{{{list6|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group6|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group6style|}}}"><!-- -->{{{group6}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list6style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list6}}}</div></td></tr>}}<!-- -->{{#if:{{{list7|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group7|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group7style|}}}"><!-- -->{{{group7}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list7style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list7}}}</div></td></tr>}}<!-- -->{{#if:{{{list8|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group8|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group8style|}}}"><!-- -->{{{group8}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list8style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list8}}}</div></td></tr>}}<!-- -->{{#if:{{{list9|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group9|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group9style|}}}"><!-- -->{{{group9}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list9style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list9}}}</div></td></tr>}}<!-- -->{{#if:{{{list10|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group10|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group10style|}}}"><!-- -->{{{group10}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list10style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list10}}}</div></td></tr>}}<!-- -->{{#if:{{{list11|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group11|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group11style|}}}"><!-- -->{{{group11}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list11style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list11}}}</div></td></tr>}}<!-- -->{{#if:{{{list12|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group12|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group12style|}}}"><!-- -->{{{group12}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list12style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list12}}}</div></td></tr>}}<!-- -->{{#if:{{{list13|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group13|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group13style|}}}"><!-- -->{{{group13}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list13style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list13}}}</div></td></tr>}}<!-- -->{{#if:{{{list14|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group14|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group14style|}}}"><!-- -->{{{group14}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list14style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list14}}}</div></td></tr>}}<!-- -->{{#if:{{{list15|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group15|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group15style|}}}"><!-- -->{{{group15}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list15style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list15}}}</div></td></tr>}}<!-- -->{{#if:{{{list16|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group16|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group16style|}}}"><!-- -->{{{group16}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list16style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list16}}}</div></td></tr>}}<!-- -->{{#if:{{{list17|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group17|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group17style|}}}"><!-- -->{{{group17}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list17style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list17}}}</div></td></tr>}}<!-- -->{{#if:{{{list18|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group18|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group18style|}}}"><!-- -->{{{group18}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list18style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list18}}}</div></td></tr>}}<!-- -->{{#if:{{{list19|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group19|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group19style|}}}"><!-- -->{{{group19}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list19style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list19}}}</div></td></tr>}}<!-- -->{{#if:{{{list20|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group20|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group20style|}}}"><!-- -->{{{group20}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list20style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list20}}}</div></td></tr>}}<!-- ---Below--- -->{{#if:{{{below|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}{{{list3|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow" style="{{{basestyle|}}};{{{belowstyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}">{{{below}}}</td></tr>}}<!-- --></table>{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=<div>|none=|#default=</td></tr></table>}}<!-- --><noinclude> {{pp-template|small=yes}} {{documentation}} <!-- Add categories and interwikis to the /doc subpage, not here! --> </noinclude> ipyb8lypi332m6nrgem1pocme35e5rx 9775 9774 2009-11-11T02:31:03Z w>Edokter 0 [[WP:UNDO|Undid]] revision 324244092 by [[Special:Contributions/MZMcBride|MZMcBride]] ([[User talk:MZMcBride|talk]]) Causes height problems in list1 9775 wikitext text/x-wiki <!-- Please do not edit without discussion first as this is a VERY complex template. -->{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=</div>|none=|#default=<table class="navbox {{{bodyclass|}}}" cellspacing="0" <!-- -->style="{{{bodystyle|}}};{{{style|}}}"><tr><td style="padding:2px;">}}<!-- --><table cellspacing="0" class="nowraplinks {{#if:{{{title|}}}|{{#switch:{{{state|}}}|plain|off=|<!-- -->#default=collapsible {{#if:{{{state|}}}|{{{state}}}|autocollapse}}}}}} {{#switch:{{{border|{{{1|}}}}}}|<!-- -->subgroup|child|none=navbox-subgroup" style="width:100%;{{{bodystyle|}}};{{{style|}}}|<!-- -->#default=" style="width:100%;background:transparent;color:inherit}};{{{innerstyle|}}};"><!-- ---Title and Navbar--- -->{{#if:{{{title|}}}|<tr>{{#if:{{{titlegroup|}}}|<!-- --><td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{titlegroupstyle|}}}">{{{titlegroup|}}}</td><!-- --><th style="border-left:2px solid #fdfdfd;width:100%;|<th style="}}{{{basestyle|}}};{{{titlestyle|}}}" <!-- -->colspan={{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}{{#if:{{{titlegroup|}}}|-1}}}} <!-- -->class="navbox-title"><!-- -->{{#if:{{#switch:{{{navbar|}}}|plain|off=1}}<!-- -->{{#if:{{{name|}}}||{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=1}}}}|<!-- -->{{#ifeq:{{{navbar|}}}|off|{{#ifeq:{{{state|}}}|plain|<div style="float:right;width:6em;">&nbsp;</div>}}|<!-- -->{{#ifeq:{{{state|}}}|plain||<div style="float:left; width:6em;text-align:left;">&nbsp;</div>}}}}|<!-- --><div style="float:left; width:6em;text-align:left;"><!-- -->{{Navbar|{{{name}}}|fontstyle={{{basestyle|}}};{{{titlestyle|}}};border:none;|mini=1}}<!-- --></div>{{#ifeq:{{{state|}}}|plain|<div style="float:right;width:6em;">&nbsp;</div>}}}}<!-- --><span class="{{{titleclass|}}}" style="font-size:{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=100|#default=110}}%;"><!-- -->{{{title}}}</span></th></tr>}}<!-- ---Above--- -->{{#if:{{{above|}}}|<!-- -->{{#if:{{{title|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow" style="{{{basestyle|}}};{{{abovestyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}">{{{above}}}</td></tr>}}<!-- ---Body--- ---First group/list and images--- -->{{#if:{{{list1|}}}|{{#if:{{{title|}}}{{{above|}}}|<tr style="height:2px;"><td></td></tr>}}<tr><!-- -->{{#if:{{{imageleft|}}}|<!-- --><td style="width:0%;padding:0px 2px 0px 0px;{{{imageleftstyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><!-- -->{{{imageleft}}}</td>}}<!-- -->{{#if:{{{group1|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group1style|}}}"><!-- -->{{{group1}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list1style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{list1padding|{{{listpadding|0em 0.25em}}}}}}">{{{list1}}}</div></td><!-- -->{{#if:{{{image|}}}|<!-- --><td style="width:0%;padding:0px 0px 0px 2px;{{{imagestyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><!-- -->{{{image}}}</td>}}<!-- --></tr>}}<!-- ---Remaining groups/lists--- -->{{#if:{{{list2|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group2|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group2style|}}}"><!-- -->{{{group2}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list2style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list2}}}</div></td></tr>}}<!-- -->{{#if:{{{list3|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group3|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group3style|}}}"><!-- -->{{{group3}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list3style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list3}}}</div></td></tr>}}<!-- -->{{#if:{{{list4|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group4|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group4style|}}}"><!-- -->{{{group4}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list4style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list4}}}</div></td></tr>}}<!-- -->{{#if:{{{list5|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group5|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group5style|}}}"><!-- -->{{{group5}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list5style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list5}}}</div></td></tr>}}<!-- -->{{#if:{{{list6|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group6|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group6style|}}}"><!-- -->{{{group6}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list6style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list6}}}</div></td></tr>}}<!-- -->{{#if:{{{list7|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group7|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group7style|}}}"><!-- -->{{{group7}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list7style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list7}}}</div></td></tr>}}<!-- -->{{#if:{{{list8|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group8|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group8style|}}}"><!-- -->{{{group8}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list8style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list8}}}</div></td></tr>}}<!-- -->{{#if:{{{list9|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group9|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group9style|}}}"><!-- -->{{{group9}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list9style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list9}}}</div></td></tr>}}<!-- -->{{#if:{{{list10|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group10|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group10style|}}}"><!-- -->{{{group10}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list10style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list10}}}</div></td></tr>}}<!-- -->{{#if:{{{list11|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group11|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group11style|}}}"><!-- -->{{{group11}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list11style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list11}}}</div></td></tr>}}<!-- -->{{#if:{{{list12|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group12|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group12style|}}}"><!-- -->{{{group12}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list12style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list12}}}</div></td></tr>}}<!-- -->{{#if:{{{list13|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group13|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group13style|}}}"><!-- -->{{{group13}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list13style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list13}}}</div></td></tr>}}<!-- -->{{#if:{{{list14|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group14|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group14style|}}}"><!-- -->{{{group14}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list14style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list14}}}</div></td></tr>}}<!-- -->{{#if:{{{list15|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group15|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group15style|}}}"><!-- -->{{{group15}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list15style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list15}}}</div></td></tr>}}<!-- -->{{#if:{{{list16|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group16|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group16style|}}}"><!-- -->{{{group16}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list16style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list16}}}</div></td></tr>}}<!-- -->{{#if:{{{list17|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group17|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group17style|}}}"><!-- -->{{{group17}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list17style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list17}}}</div></td></tr>}}<!-- -->{{#if:{{{list18|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group18|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group18style|}}}"><!-- -->{{{group18}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list18style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list18}}}</div></td></tr>}}<!-- -->{{#if:{{{list19|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group19|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group19style|}}}"><!-- -->{{{group19}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list19style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list19}}}</div></td></tr>}}<!-- -->{{#if:{{{list20|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group20|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group20style|}}}"><!-- -->{{{group20}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list20style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list20}}}</div></td></tr>}}<!-- ---Below--- -->{{#if:{{{below|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}{{{list3|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow" style="{{{basestyle|}}};{{{belowstyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}">{{{below}}}</td></tr>}}<!-- --></table>{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=<div>|none=|#default=</td></tr></table>}}<!-- --><noinclude> {{pp-template|small=yes}} {{documentation}} <!-- Add categories and interwikis to the /doc subpage, not here! --> </noinclude> qqn85orwa26e35dgqjutye13k43ng22 9776 9775 2009-11-11T21:53:13Z w>Edokter 0 Restoring MZMcBride's fix (sans the trailing linebreak), applying to all lists. 9776 wikitext text/x-wiki <!-- Please do not edit without discussion first as this is a VERY complex template. -->{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=</div>|none=|#default=<table class="navbox {{{bodyclass|}}}" cellspacing="0" <!-- -->style="{{{bodystyle|}}};{{{style|}}}"><tr><td style="padding:2px;">}}<!-- --><table cellspacing="0" class="nowraplinks {{#if:{{{title|}}}|{{#switch:{{{state|}}}|plain|off=|<!-- -->#default=collapsible {{#if:{{{state|}}}|{{{state}}}|autocollapse}}}}}} {{#switch:{{{border|{{{1|}}}}}}|<!-- -->subgroup|child|none=navbox-subgroup" style="width:100%;{{{bodystyle|}}};{{{style|}}}|<!-- -->#default=" style="width:100%;background:transparent;color:inherit}};{{{innerstyle|}}};"><!-- ---Title and Navbar--- -->{{#if:{{{title|}}}|<tr>{{#if:{{{titlegroup|}}}|<!-- --><td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{titlegroupstyle|}}}">{{{titlegroup|}}}</td><!-- --><th style="border-left:2px solid #fdfdfd;width:100%;|<th style="}}{{{basestyle|}}};{{{titlestyle|}}}" <!-- -->colspan={{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}{{#if:{{{titlegroup|}}}|-1}}}} <!-- -->class="navbox-title"><!-- -->{{#if:{{#switch:{{{navbar|}}}|plain|off=1}}<!-- -->{{#if:{{{name|}}}||{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=1}}}}|<!-- -->{{#ifeq:{{{navbar|}}}|off|{{#ifeq:{{{state|}}}|plain|<div style="float:right;width:6em;">&nbsp;</div>}}|<!-- -->{{#ifeq:{{{state|}}}|plain||<div style="float:left; width:6em;text-align:left;">&nbsp;</div>}}}}|<!-- --><div style="float:left; width:6em;text-align:left;"><!-- -->{{Navbar|{{{name}}}|fontstyle={{{basestyle|}}};{{{titlestyle|}}};border:none;|mini=1}}<!-- --></div>{{#ifeq:{{{state|}}}|plain|<div style="float:right;width:6em;">&nbsp;</div>}}}}<!-- --><span class="{{{titleclass|}}}" style="font-size:{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=100|#default=110}}%;"><!-- -->{{{title}}}</span></th></tr>}}<!-- ---Above--- -->{{#if:{{{above|}}}|<!-- -->{{#if:{{{title|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow" style="{{{basestyle|}}};{{{abovestyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}">{{{above}}}</td></tr>}}<!-- ---Body--- ---First group/list and images--- -->{{#if:{{{list1|}}}|{{#if:{{{title|}}}{{{above|}}}|<tr style="height:2px;"><td></td></tr>}}<tr><!-- -->{{#if:{{{imageleft|}}}|<!-- --><td style="width:0%;padding:0px 2px 0px 0px;{{{imageleftstyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><!-- -->{{{imageleft}}}</td>}}<!-- -->{{#if:{{{group1|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group1style|}}}"><!-- -->{{{group1}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list1style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{list1padding|{{{listpadding|0em 0.25em}}}}}}"> {{{list1}}}</div></td><!-- -->{{#if:{{{image|}}}|<!-- --><td style="width:0%;padding:0px 0px 0px 2px;{{{imagestyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><!-- -->{{{image}}}</td>}}<!-- --></tr>}}<!-- ---Remaining groups/lists--- -->{{#if:{{{list2|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group2|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group2style|}}}"><!-- -->{{{group2}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list2style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list2}}}</div></td></tr>}}<!-- -->{{#if:{{{list3|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group3|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group3style|}}}"><!-- -->{{{group3}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list3style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list3}}}</div></td></tr>}}<!-- -->{{#if:{{{list4|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group4|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group4style|}}}"><!-- -->{{{group4}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list4style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list4}}}</div></td></tr>}}<!-- -->{{#if:{{{list5|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group5|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group5style|}}}"><!-- -->{{{group5}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list5style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list5}}}</div></td></tr>}}<!-- -->{{#if:{{{list6|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group6|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group6style|}}}"><!-- -->{{{group6}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list6style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list6}}}</div></td></tr>}}<!-- -->{{#if:{{{list7|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group7|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group7style|}}}"><!-- -->{{{group7}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list7style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list7}}}</div></td></tr>}}<!-- -->{{#if:{{{list8|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group8|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group8style|}}}"><!-- -->{{{group8}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list8style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list8}}}</div></td></tr>}}<!-- -->{{#if:{{{list9|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group9|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group9style|}}}"><!-- -->{{{group9}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list9style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list9}}}</div></td></tr>}}<!-- -->{{#if:{{{list10|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group10|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group10style|}}}"><!-- -->{{{group10}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list10style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list10}}}</div></td></tr>}}<!-- -->{{#if:{{{list11|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group11|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group11style|}}}"><!-- -->{{{group11}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list11style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list11}}}</div></td></tr>}}<!-- -->{{#if:{{{list12|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group12|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group12style|}}}"><!-- -->{{{group12}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list12style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list12}}}</div></td></tr>}}<!-- -->{{#if:{{{list13|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group13|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group13style|}}}"><!-- -->{{{group13}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list13style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list13}}}</div></td></tr>}}<!-- -->{{#if:{{{list14|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group14|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group14style|}}}"><!-- -->{{{group14}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list14style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list14}}}</div></td></tr>}}<!-- -->{{#if:{{{list15|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group15|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group15style|}}}"><!-- -->{{{group15}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list15style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list15}}}</div></td></tr>}}<!-- -->{{#if:{{{list16|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group16|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group16style|}}}"><!-- -->{{{group16}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list16style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list16}}}</div></td></tr>}}<!-- -->{{#if:{{{list17|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group17|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group17style|}}}"><!-- -->{{{group17}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list17style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list17}}}</div></td></tr>}}<!-- -->{{#if:{{{list18|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group18|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group18style|}}}"><!-- -->{{{group18}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list18style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list18}}}</div></td></tr>}}<!-- -->{{#if:{{{list19|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group19|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group19style|}}}"><!-- -->{{{group19}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list19style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list19}}}</div></td></tr>}}<!-- -->{{#if:{{{list20|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group20|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{group20style|}}}"><!-- -->{{{group20}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list20style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list20}}}</div></td></tr>}}<!-- ---Below--- -->{{#if:{{{below|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}{{{list3|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow" style="{{{basestyle|}}};{{{belowstyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}">{{{below}}}</td></tr>}}<!-- --></table>{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=<div>|none=|#default=</td></tr></table>}}<!-- --><noinclude> {{pp-template|small=yes}} {{documentation}} <!-- Add categories and interwikis to the /doc subpage, not here! --> </noinclude> rzk73swpiwylmxba3c1jye11tvl9a90 9777 9776 2010-08-31T18:05:24Z w>WOSlinker 0 add groupwidth parameter 9777 wikitext text/x-wiki <!-- Please do not edit without discussion first as this is a VERY complex template. -->{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=</div>|none=|#default=<table class="navbox {{{bodyclass|}}}" cellspacing="0" <!-- -->style="{{{bodystyle|}}};{{{style|}}}"><tr><td style="padding:2px;">}}<!-- --><table cellspacing="0" class="nowraplinks {{#if:{{{title|}}}|{{#switch:{{{state|}}}|plain|off=|<!-- -->#default=collapsible {{#if:{{{state|}}}|{{{state}}}|autocollapse}}}}}} {{#switch:{{{border|{{{1|}}}}}}|<!-- -->subgroup|child|none=navbox-subgroup" style="width:100%;{{{bodystyle|}}};{{{style|}}}|<!-- -->#default=" style="width:100%;background:transparent;color:inherit}};{{{innerstyle|}}};"><!-- ---Title and Navbar--- -->{{#if:{{{title|}}}|<tr>{{#if:{{{titlegroup|}}}|<!-- --><td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{titlegroupstyle|}}}">{{{titlegroup|}}}</td><!-- --><th style="border-left:2px solid #fdfdfd;width:100%;|<th style="}}{{{basestyle|}}};{{{titlestyle|}}}" <!-- -->colspan={{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}{{#if:{{{titlegroup|}}}|-1}}}} <!-- -->class="navbox-title"><!-- -->{{#if:{{#switch:{{{navbar|}}}|plain|off=1}}<!-- -->{{#if:{{{name|}}}||{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=1}}}}|<!-- -->{{#ifeq:{{{navbar|}}}|off|{{#ifeq:{{{state|}}}|plain|<div style="float:right;width:6em;">&nbsp;</div>}}|<!-- -->{{#ifeq:{{{state|}}}|plain||<div style="float:left; width:6em;text-align:left;">&nbsp;</div>}}}}|<!-- --><div style="float:left; width:6em;text-align:left;"><!-- -->{{Navbar|{{{name}}}|fontstyle={{{basestyle|}}};{{{titlestyle|}}};border:none;|mini=1}}<!-- --></div>{{#ifeq:{{{state|}}}|plain|<div style="float:right;width:6em;">&nbsp;</div>}}}}<!-- --><span class="{{{titleclass|}}}" style="font-size:{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=100|#default=110}}%;"><!-- -->{{{title}}}</span></th></tr>}}<!-- ---Above--- -->{{#if:{{{above|}}}|<!-- -->{{#if:{{{title|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow" style="{{{basestyle|}}};{{{abovestyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}">{{{above}}}</td></tr>}}<!-- ---Body--- ---First group/list and images--- -->{{#if:{{{list1|}}}|{{#if:{{{title|}}}{{{above|}}}|<tr style="height:2px;"><td></td></tr>}}<tr><!-- -->{{#if:{{{imageleft|}}}|<!-- --><td style="width:0%;padding:0px 2px 0px 0px;{{{imageleftstyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><!-- -->{{{imageleft}}}</td>}}<!-- -->{{#if:{{{group1|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth|}}};}}{{{groupstyle|}}};{{{group1style|}}}"><!-- -->{{{group1}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list1style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{list1padding|{{{listpadding|0em 0.25em}}}}}}"> {{{list1}}}</div></td><!-- -->{{#if:{{{image|}}}|<!-- --><td style="width:0%;padding:0px 0px 0px 2px;{{{imagestyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><!-- -->{{{image}}}</td>}}<!-- --></tr>}}<!-- ---Remaining groups/lists--- -->{{#if:{{{list2|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group2|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth|}}};}}{{{groupstyle|}}};{{{group2style|}}}"><!-- -->{{{group2}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list2style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list2}}}</div></td></tr>}}<!-- -->{{#if:{{{list3|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group3|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth|}}};}}{{{groupstyle|}}};{{{group3style|}}}"><!-- -->{{{group3}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list3style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list3}}}</div></td></tr>}}<!-- -->{{#if:{{{list4|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group4|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth|}}};}}{{{groupstyle|}}};{{{group4style|}}}"><!-- -->{{{group4}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list4style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list4}}}</div></td></tr>}}<!-- -->{{#if:{{{list5|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group5|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth|}}};}}{{{groupstyle|}}};{{{group5style|}}}"><!-- -->{{{group5}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list5style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list5}}}</div></td></tr>}}<!-- -->{{#if:{{{list6|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group6|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth|}}};}}{{{groupstyle|}}};{{{group6style|}}}"><!-- -->{{{group6}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list6style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list6}}}</div></td></tr>}}<!-- -->{{#if:{{{list7|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group7|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth|}}};}}{{{groupstyle|}}};{{{group7style|}}}"><!-- -->{{{group7}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list7style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list7}}}</div></td></tr>}}<!-- -->{{#if:{{{list8|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group8|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth|}}};}}{{{groupstyle|}}};{{{group8style|}}}"><!-- -->{{{group8}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list8style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list8}}}</div></td></tr>}}<!-- -->{{#if:{{{list9|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group9|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth|}}};}}{{{groupstyle|}}};{{{group9style|}}}"><!-- -->{{{group9}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list9style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list9}}}</div></td></tr>}}<!-- -->{{#if:{{{list10|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group10|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth|}}};}}{{{groupstyle|}}};{{{group10style|}}}"><!-- -->{{{group10}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list10style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list10}}}</div></td></tr>}}<!-- -->{{#if:{{{list11|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group11|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth|}}};}}{{{groupstyle|}}};{{{group11style|}}}"><!-- -->{{{group11}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list11style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list11}}}</div></td></tr>}}<!-- -->{{#if:{{{list12|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group12|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth|}}};}}{{{groupstyle|}}};{{{group12style|}}}"><!-- -->{{{group12}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list12style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list12}}}</div></td></tr>}}<!-- -->{{#if:{{{list13|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group13|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth|}}};}}{{{groupstyle|}}};{{{group13style|}}}"><!-- -->{{{group13}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list13style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list13}}}</div></td></tr>}}<!-- -->{{#if:{{{list14|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group14|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth|}}};}}{{{groupstyle|}}};{{{group14style|}}}"><!-- -->{{{group14}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list14style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list14}}}</div></td></tr>}}<!-- -->{{#if:{{{list15|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group15|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth|}}};}}{{{groupstyle|}}};{{{group15style|}}}"><!-- -->{{{group15}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list15style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list15}}}</div></td></tr>}}<!-- -->{{#if:{{{list16|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group16|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth|}}};}}{{{groupstyle|}}};{{{group16style|}}}"><!-- -->{{{group16}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list16style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list16}}}</div></td></tr>}}<!-- -->{{#if:{{{list17|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group17|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth|}}};}}{{{groupstyle|}}};{{{group17style|}}}"><!-- -->{{{group17}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list17style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list17}}}</div></td></tr>}}<!-- -->{{#if:{{{list18|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group18|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth|}}};}}{{{groupstyle|}}};{{{group18style|}}}"><!-- -->{{{group18}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list18style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list18}}}</div></td></tr>}}<!-- -->{{#if:{{{list19|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group19|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth|}}};}}{{{groupstyle|}}};{{{group19style|}}}"><!-- -->{{{group19}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list19style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list19}}}</div></td></tr>}}<!-- -->{{#if:{{{list20|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group20|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth|}}};}}{{{groupstyle|}}};{{{group20style|}}}"><!-- -->{{{group20}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list20style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list20}}}</div></td></tr>}}<!-- ---Below--- -->{{#if:{{{below|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}{{{list3|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow" style="{{{basestyle|}}};{{{belowstyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}">{{{below}}}</td></tr>}}<!-- --></table>{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=<div>|none=|#default=</td></tr></table>}}<!-- --><noinclude> {{pp-template|small=yes}} {{documentation}} <!-- Add categories and interwikis to the /doc subpage, not here! --> </noinclude> 87dlusqowqg5lt1zku1ar24cgot6rq6 9778 9777 2010-08-31T20:11:22Z w>Edokter 0 Remove duplicate variable defaults/evaluations. 9778 wikitext text/x-wiki <!-- Please do not edit without discussion first as this is a VERY complex template. -->{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=</div>|none=|#default=<table class="navbox {{{bodyclass|}}}" cellspacing="0" <!-- -->style="{{{bodystyle|}}};{{{style|}}}"><tr><td style="padding:2px;">}}<!-- --><table cellspacing="0" class="nowraplinks {{#if:{{{title|}}}|{{#switch:{{{state|}}}|plain|off=|<!-- -->#default=collapsible {{#if:{{{state|}}}|{{{state}}}|autocollapse}}}}}} {{#switch:{{{border|{{{1|}}}}}}|<!-- -->subgroup|child|none=navbox-subgroup" style="width:100%;{{{bodystyle|}}};{{{style|}}}|<!-- -->#default=" style="width:100%;background:transparent;color:inherit}};{{{innerstyle|}}};"><!-- ---Title and Navbar--- -->{{#if:{{{title|}}}|<tr>{{#if:{{{titlegroup|}}}|<!-- --><td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{titlegroupstyle|}}}">{{{titlegroup|}}}</td><!-- --><th style="border-left:2px solid #fdfdfd;width:100%;|<th style="}}{{{basestyle|}}};{{{titlestyle|}}}" <!-- -->colspan={{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}{{#if:{{{titlegroup|}}}|-1}}}} <!-- -->class="navbox-title"><!-- -->{{#if:{{#switch:{{{navbar|}}}|plain|off=1}}<!-- -->{{#if:{{{name|}}}||{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=1}}}}|<!-- -->{{#ifeq:{{{navbar|}}}|off|{{#ifeq:{{{state|}}}|plain|<div style="float:right;width:6em;">&nbsp;</div>}}|<!-- -->{{#ifeq:{{{state|}}}|plain||<div style="float:left; width:6em;text-align:left;">&nbsp;</div>}}}}|<!-- --><div style="float:left; width:6em;text-align:left;"><!-- -->{{Navbar|{{{name}}}|fontstyle={{{basestyle|}}};{{{titlestyle|}}};border:none;|mini=1}}<!-- --></div>{{#ifeq:{{{state|}}}|plain|<div style="float:right;width:6em;">&nbsp;</div>}}}}<!-- --><span class="{{{titleclass|}}}" style="font-size:{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=100|#default=110}}%;"><!-- -->{{{title}}}</span></th></tr>}}<!-- ---Above--- -->{{#if:{{{above|}}}|<!-- -->{{#if:{{{title|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow" style="{{{basestyle|}}};{{{abovestyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}">{{{above}}}</td></tr>}}<!-- ---Body--- ---First group/list and images--- -->{{#if:{{{list1|}}}|{{#if:{{{title|}}}{{{above|}}}|<tr style="height:2px;"><td></td></tr>}}<tr><!-- -->{{#if:{{{imageleft|}}}|<!-- --><td style="width:0%;padding:0px 2px 0px 0px;{{{imageleftstyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><!-- -->{{{imageleft}}}</td>}}<!-- -->{{#if:{{{group1|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group1style|}}}"><!-- -->{{{group1}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list1style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{list1padding|{{{listpadding|0em 0.25em}}}}}}"> {{{list1}}}</div></td><!-- -->{{#if:{{{image|}}}|<!-- --><td style="width:0%;padding:0px 0px 0px 2px;{{{imagestyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><!-- -->{{{image}}}</td>}}<!-- --></tr>}}<!-- ---Remaining groups/lists--- -->{{#if:{{{list2|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group2|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group2style|}}}"><!-- -->{{{group2}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list2style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list2}}}</div></td></tr>}}<!-- -->{{#if:{{{list3|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group3|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group3style|}}}"><!-- -->{{{group3}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list3style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list3}}}</div></td></tr>}}<!-- -->{{#if:{{{list4|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group4|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group4style|}}}"><!-- -->{{{group4}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list4style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list4}}}</div></td></tr>}}<!-- -->{{#if:{{{list5|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group5|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group5style|}}}"><!-- -->{{{group5}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list5style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list5}}}</div></td></tr>}}<!-- -->{{#if:{{{list6|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group6|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group6style|}}}"><!-- -->{{{group6}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list6style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list6}}}</div></td></tr>}}<!-- -->{{#if:{{{list7|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group7|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group7style|}}}"><!-- -->{{{group7}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list7style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list7}}}</div></td></tr>}}<!-- -->{{#if:{{{list8|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group8|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group8style|}}}"><!-- -->{{{group8}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list8style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list8}}}</div></td></tr>}}<!-- -->{{#if:{{{list9|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group9|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group9style|}}}"><!-- -->{{{group9}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list9style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list9}}}</div></td></tr>}}<!-- -->{{#if:{{{list10|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group10|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group10style|}}}"><!-- -->{{{group10}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list10style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list10}}}</div></td></tr>}}<!-- -->{{#if:{{{list11|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group11|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group11style|}}}"><!-- -->{{{group11}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list11style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list11}}}</div></td></tr>}}<!-- -->{{#if:{{{list12|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group12|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group12style|}}}"><!-- -->{{{group12}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list12style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list12}}}</div></td></tr>}}<!-- -->{{#if:{{{list13|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group13|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group13style|}}}"><!-- -->{{{group13}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list13style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list13}}}</div></td></tr>}}<!-- -->{{#if:{{{list14|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group14|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group14style|}}}"><!-- -->{{{group14}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list14style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list14}}}</div></td></tr>}}<!-- -->{{#if:{{{list15|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group15|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group15style|}}}"><!-- -->{{{group15}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list15style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list15}}}</div></td></tr>}}<!-- -->{{#if:{{{list16|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group16|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group16style|}}}"><!-- -->{{{group16}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list16style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list16}}}</div></td></tr>}}<!-- -->{{#if:{{{list17|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group17|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group17style|}}}"><!-- -->{{{group17}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list17style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list17}}}</div></td></tr>}}<!-- -->{{#if:{{{list18|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group18|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group18style|}}}"><!-- -->{{{group18}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list18style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list18}}}</div></td></tr>}}<!-- -->{{#if:{{{list19|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group19|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group19style|}}}"><!-- -->{{{group19}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list19style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list19}}}</div></td></tr>}}<!-- -->{{#if:{{{list20|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group20|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group20style|}}}"><!-- -->{{{group20}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list20style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list20}}}</div></td></tr>}}<!-- ---Below--- -->{{#if:{{{below|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}{{{list3|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow" style="{{{basestyle|}}};{{{belowstyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}">{{{below}}}</td></tr>}}<!-- --></table>{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=<div>|none=|#default=</td></tr></table>}}<!-- --><noinclude> {{pp-template|small=yes}} {{documentation}} <!-- Add categories and interwikis to the /doc subpage, not here! --> </noinclude> dv9ec4601qex5jhr6xykhxx0b9e3ghx 9779 9778 2010-10-02T18:51:35Z w>WOSlinker 0 remove {{pp-template}} 9779 wikitext text/x-wiki <!-- Please do not edit without discussion first as this is a VERY complex template. -->{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=</div>|none=|#default=<table class="navbox {{{bodyclass|}}}" cellspacing="0" <!-- -->style="{{{bodystyle|}}};{{{style|}}}"><tr><td style="padding:2px;">}}<!-- --><table cellspacing="0" class="nowraplinks {{#if:{{{title|}}}|{{#switch:{{{state|}}}|plain|off=|<!-- -->#default=collapsible {{#if:{{{state|}}}|{{{state}}}|autocollapse}}}}}} {{#switch:{{{border|{{{1|}}}}}}|<!-- -->subgroup|child|none=navbox-subgroup" style="width:100%;{{{bodystyle|}}};{{{style|}}}|<!-- -->#default=" style="width:100%;background:transparent;color:inherit}};{{{innerstyle|}}};"><!-- ---Title and Navbar--- -->{{#if:{{{title|}}}|<tr>{{#if:{{{titlegroup|}}}|<!-- --><td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{titlegroupstyle|}}}">{{{titlegroup|}}}</td><!-- --><th style="border-left:2px solid #fdfdfd;width:100%;|<th style="}}{{{basestyle|}}};{{{titlestyle|}}}" <!-- -->colspan={{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}{{#if:{{{titlegroup|}}}|-1}}}} <!-- -->class="navbox-title"><!-- -->{{#if:{{#switch:{{{navbar|}}}|plain|off=1}}<!-- -->{{#if:{{{name|}}}||{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=1}}}}|<!-- -->{{#ifeq:{{{navbar|}}}|off|{{#ifeq:{{{state|}}}|plain|<div style="float:right;width:6em;">&nbsp;</div>}}|<!-- -->{{#ifeq:{{{state|}}}|plain||<div style="float:left; width:6em;text-align:left;">&nbsp;</div>}}}}|<!-- --><div style="float:left; width:6em;text-align:left;"><!-- -->{{Navbar|{{{name}}}|fontstyle={{{basestyle|}}};{{{titlestyle|}}};border:none;|mini=1}}<!-- --></div>{{#ifeq:{{{state|}}}|plain|<div style="float:right;width:6em;">&nbsp;</div>}}}}<!-- --><span class="{{{titleclass|}}}" style="font-size:{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=100|#default=110}}%;"><!-- -->{{{title}}}</span></th></tr>}}<!-- ---Above--- -->{{#if:{{{above|}}}|<!-- -->{{#if:{{{title|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow" style="{{{basestyle|}}};{{{abovestyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}">{{{above}}}</td></tr>}}<!-- ---Body--- ---First group/list and images--- -->{{#if:{{{list1|}}}|{{#if:{{{title|}}}{{{above|}}}|<tr style="height:2px;"><td></td></tr>}}<tr><!-- -->{{#if:{{{imageleft|}}}|<!-- --><td style="width:0%;padding:0px 2px 0px 0px;{{{imageleftstyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><!-- -->{{{imageleft}}}</td>}}<!-- -->{{#if:{{{group1|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group1style|}}}"><!-- -->{{{group1}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list1style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{list1padding|{{{listpadding|0em 0.25em}}}}}}"> {{{list1}}}</div></td><!-- -->{{#if:{{{image|}}}|<!-- --><td style="width:0%;padding:0px 0px 0px 2px;{{{imagestyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><!-- -->{{{image}}}</td>}}<!-- --></tr>}}<!-- ---Remaining groups/lists--- -->{{#if:{{{list2|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group2|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group2style|}}}"><!-- -->{{{group2}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list2style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list2}}}</div></td></tr>}}<!-- -->{{#if:{{{list3|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group3|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group3style|}}}"><!-- -->{{{group3}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list3style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list3}}}</div></td></tr>}}<!-- -->{{#if:{{{list4|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group4|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group4style|}}}"><!-- -->{{{group4}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list4style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list4}}}</div></td></tr>}}<!-- -->{{#if:{{{list5|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group5|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group5style|}}}"><!-- -->{{{group5}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list5style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list5}}}</div></td></tr>}}<!-- -->{{#if:{{{list6|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group6|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group6style|}}}"><!-- -->{{{group6}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list6style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list6}}}</div></td></tr>}}<!-- -->{{#if:{{{list7|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group7|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group7style|}}}"><!-- -->{{{group7}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list7style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list7}}}</div></td></tr>}}<!-- -->{{#if:{{{list8|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group8|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group8style|}}}"><!-- -->{{{group8}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list8style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list8}}}</div></td></tr>}}<!-- -->{{#if:{{{list9|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group9|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group9style|}}}"><!-- -->{{{group9}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list9style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list9}}}</div></td></tr>}}<!-- -->{{#if:{{{list10|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group10|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group10style|}}}"><!-- -->{{{group10}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list10style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list10}}}</div></td></tr>}}<!-- -->{{#if:{{{list11|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group11|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group11style|}}}"><!-- -->{{{group11}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list11style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list11}}}</div></td></tr>}}<!-- -->{{#if:{{{list12|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group12|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group12style|}}}"><!-- -->{{{group12}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list12style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list12}}}</div></td></tr>}}<!-- -->{{#if:{{{list13|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group13|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group13style|}}}"><!-- -->{{{group13}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list13style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list13}}}</div></td></tr>}}<!-- -->{{#if:{{{list14|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group14|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group14style|}}}"><!-- -->{{{group14}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list14style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list14}}}</div></td></tr>}}<!-- -->{{#if:{{{list15|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group15|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group15style|}}}"><!-- -->{{{group15}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list15style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list15}}}</div></td></tr>}}<!-- -->{{#if:{{{list16|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group16|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group16style|}}}"><!-- -->{{{group16}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list16style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list16}}}</div></td></tr>}}<!-- -->{{#if:{{{list17|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group17|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group17style|}}}"><!-- -->{{{group17}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list17style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list17}}}</div></td></tr>}}<!-- -->{{#if:{{{list18|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group18|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group18style|}}}"><!-- -->{{{group18}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list18style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list18}}}</div></td></tr>}}<!-- -->{{#if:{{{list19|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group19|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group19style|}}}"><!-- -->{{{group19}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list19style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list19}}}</div></td></tr>}}<!-- -->{{#if:{{{list20|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group20|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group20style|}}}"><!-- -->{{{group20}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list20style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list20}}}</div></td></tr>}}<!-- ---Below--- -->{{#if:{{{below|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}{{{list3|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow" style="{{{basestyle|}}};{{{belowstyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}">{{{below}}}</td></tr>}}<!-- --></table>{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=<div>|none=|#default=</td></tr></table>}}<!-- --><noinclude> {{documentation}} <!-- Add categories and interwikis to the /doc subpage, not here! --> </noinclude> lvdp3i0h93nrd4q26ixmke65c5bj9mt 9780 9779 2011-01-07T00:05:13Z w>Edokter 0 Update from sandbox: new code for navbar. 9780 wikitext text/x-wiki <!-- Please do not edit without discussion first as this is a VERY complex template. -->{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=</div>|none=|#default=<table class="navbox {{{bodyclass|}}}" cellspacing="0" <!-- -->style="{{{bodystyle|}}};{{{style|}}}"><tr><td style="padding:2px;">}}<!-- --><table cellspacing="0" class="nowraplinks {{#if:{{{title|}}}|{{#switch:{{{state|}}}|plain|off=|<!-- -->#default=collapsible {{#if:{{{state|}}}|{{{state}}}|autocollapse}}}}}} {{#switch:{{{border|{{{1|}}}}}}|<!-- -->subgroup|child|none=navbox-subgroup" style="width:100%;{{{bodystyle|}}};{{{style|}}}|<!-- -->#default=" style="width:100%;background:transparent;color:inherit}};{{{innerstyle|}}};"><!-- ---Title and Navbar--- -->{{#if:{{{title|}}}|<tr>{{#if:{{{titlegroup|}}}|<!-- --><td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{titlegroupstyle|}}}">{{{titlegroup|}}}</td><!-- --><th style="border-left:2px solid #fdfdfd;width:100%;|<th style="}}{{{basestyle|}}};{{{titlestyle|}}}" <!-- -->colspan={{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}{{#if:{{{titlegroup|}}}|-1}}}} <!-- -->class="navbox-title"><!-- -->{{#if:{{#switch:{{{navbar|}}}|plain|off=1}}<!-- -->{{#if:{{{name|}}}||{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=1}}}}|<!-- -->{{#ifeq:{{{navbar|}}}|off|{{#ifeq:{{{state|}}}|plain|<span style="float:right;width:6em;">&nbsp;</span>}}|<!-- -->{{#ifeq:{{{state|}}}|plain||<span style="float:left;width:6em;">&nbsp;</span>}}}}|<!-- --><span style="float:left;width:6em;text-align:left;">{{#if:{{{name|}}}|<!-- -->{{Navbar|{{{name}}}|mini=1|fontstyle={{{basestyle|}}};{{{titlestyle|}}};<!-- -->background:none transparent;border:none;font-size:100%;}}|<!-- --><span class="error" style="white-space:nowrap;">Error: No name provided</span>}}</span><!-- -->{{#ifeq:{{{state|}}}|plain|<span style="float:right;width:6em;">&nbsp;</span>}}}}<!-- --><span class="{{{titleclass|}}}" style="font-size:{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=100|#default=110}}%;"><!-- -->{{{title}}}</span></th></tr>}}<!-- ---Above--- -->{{#if:{{{above|}}}|<!-- -->{{#if:{{{title|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow" style="{{{basestyle|}}};{{{abovestyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}">{{{above}}}</td></tr>}}<!-- ---Body--- ---First group/list and images--- -->{{#if:{{{list1|}}}|{{#if:{{{title|}}}{{{above|}}}|<tr style="height:2px;"><td></td></tr>}}<tr><!-- -->{{#if:{{{imageleft|}}}|<!-- --><td style="width:0%;padding:0px 2px 0px 0px;{{{imageleftstyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><!-- -->{{{imageleft}}}</td>}}<!-- -->{{#if:{{{group1|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group1style|}}}"><!-- -->{{{group1}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list1style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{list1padding|{{{listpadding|0em 0.25em}}}}}}"> {{{list1}}}</div></td><!-- -->{{#if:{{{image|}}}|<!-- --><td style="width:0%;padding:0px 0px 0px 2px;{{{imagestyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><!-- -->{{{image}}}</td>}}<!-- --></tr>}}<!-- ---Remaining groups/lists--- -->{{#if:{{{list2|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group2|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group2style|}}}"><!-- -->{{{group2}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list2style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list2}}}</div></td></tr>}}<!-- -->{{#if:{{{list3|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group3|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group3style|}}}"><!-- -->{{{group3}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list3style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list3}}}</div></td></tr>}}<!-- -->{{#if:{{{list4|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group4|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group4style|}}}"><!-- -->{{{group4}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list4style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list4}}}</div></td></tr>}}<!-- -->{{#if:{{{list5|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group5|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group5style|}}}"><!-- -->{{{group5}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list5style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list5}}}</div></td></tr>}}<!-- -->{{#if:{{{list6|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group6|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group6style|}}}"><!-- -->{{{group6}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list6style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list6}}}</div></td></tr>}}<!-- -->{{#if:{{{list7|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group7|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group7style|}}}"><!-- -->{{{group7}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list7style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list7}}}</div></td></tr>}}<!-- -->{{#if:{{{list8|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group8|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group8style|}}}"><!-- -->{{{group8}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list8style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list8}}}</div></td></tr>}}<!-- -->{{#if:{{{list9|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group9|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group9style|}}}"><!-- -->{{{group9}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list9style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list9}}}</div></td></tr>}}<!-- -->{{#if:{{{list10|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group10|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group10style|}}}"><!-- -->{{{group10}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list10style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list10}}}</div></td></tr>}}<!-- -->{{#if:{{{list11|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group11|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group11style|}}}"><!-- -->{{{group11}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list11style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list11}}}</div></td></tr>}}<!-- -->{{#if:{{{list12|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group12|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group12style|}}}"><!-- -->{{{group12}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list12style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list12}}}</div></td></tr>}}<!-- -->{{#if:{{{list13|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group13|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group13style|}}}"><!-- -->{{{group13}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list13style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list13}}}</div></td></tr>}}<!-- -->{{#if:{{{list14|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group14|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group14style|}}}"><!-- -->{{{group14}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list14style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list14}}}</div></td></tr>}}<!-- -->{{#if:{{{list15|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group15|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group15style|}}}"><!-- -->{{{group15}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list15style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list15}}}</div></td></tr>}}<!-- -->{{#if:{{{list16|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group16|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group16style|}}}"><!-- -->{{{group16}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list16style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list16}}}</div></td></tr>}}<!-- -->{{#if:{{{list17|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group17|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group17style|}}}"><!-- -->{{{group17}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list17style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list17}}}</div></td></tr>}}<!-- -->{{#if:{{{list18|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group18|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group18style|}}}"><!-- -->{{{group18}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list18style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list18}}}</div></td></tr>}}<!-- -->{{#if:{{{list19|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group19|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group19style|}}}"><!-- -->{{{group19}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list19style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list19}}}</div></td></tr>}}<!-- -->{{#if:{{{list20|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group20|}}}|<td class="navbox-group" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group20style|}}}"><!-- -->{{{group20}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list20style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list20}}}</div></td></tr>}}<!-- ---Below--- -->{{#if:{{{below|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}{{{list3|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow" style="{{{basestyle|}}};{{{belowstyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}">{{{below}}}</td></tr>}}<!-- --></table>{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=<div>|none=|#default=</td></tr></table>}}<!-- --><noinclude> {{documentation}} <!-- Add categories and interwikis to the /doc subpage, not here! --> </noinclude> hbcpkecr7q8wpjh9f5utltrujy0ap0v 9781 9780 2011-06-25T21:25:08Z w>Plastikspork 0 Add more classes, since we already have several 9781 wikitext text/x-wiki <!-- Please do not edit without discussion first as this is a VERY complex template. -->{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=</div>|none=|#default=<table class="navbox {{{bodyclass|}}}" cellspacing="0" <!-- -->style="{{{bodystyle|}}};{{{style|}}}"><tr><td style="padding:2px;">}}<!-- --><table cellspacing="0" class="nowraplinks {{#if:{{{title|}}}|{{#switch:{{{state|}}}|plain|off=|<!-- -->#default=collapsible {{#if:{{{state|}}}|{{{state}}}|autocollapse}}}}}} {{#switch:{{{border|{{{1|}}}}}}|<!-- -->subgroup|child|none=navbox-subgroup" style="width:100%;{{{bodystyle|}}};{{{style|}}}|<!-- -->#default=" style="width:100%;background:transparent;color:inherit}};{{{innerstyle|}}};"><!-- ---Title and Navbar--- -->{{#if:{{{title|}}}|<tr>{{#if:{{{titlegroup|}}}|<!-- --><td class="navbox-group {{{titlegroupclass|}}}" style="{{{basestyle|}}};{{{groupstyle|}}};{{{titlegroupstyle|}}}">{{{titlegroup|}}}</td><!-- --><th style="border-left:2px solid #fdfdfd;width:100%;|<th style="}}{{{basestyle|}}};{{{titlestyle|}}}" <!-- -->colspan={{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}{{#if:{{{titlegroup|}}}|-1}}}} <!-- -->class="navbox-title"><!-- -->{{#if:{{#switch:{{{navbar|}}}|plain|off=1}}<!-- -->{{#if:{{{name|}}}||{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=1}}}}|<!-- -->{{#ifeq:{{{navbar|}}}|off|{{#ifeq:{{{state|}}}|plain|<span style="float:right;width:6em;">&nbsp;</span>}}|<!-- -->{{#ifeq:{{{state|}}}|plain||<span style="float:left;width:6em;">&nbsp;</span>}}}}|<!-- --><span style="float:left;width:6em;text-align:left;">{{#if:{{{name|}}}|<!-- -->{{Navbar|{{{name}}}|mini=1|fontstyle={{{basestyle|}}};{{{titlestyle|}}};<!-- -->background:none transparent;border:none;font-size:100%;}}|<!-- --><span class="error" style="white-space:nowrap;">Error: No name provided</span>}}</span><!-- -->{{#ifeq:{{{state|}}}|plain|<span style="float:right;width:6em;">&nbsp;</span>}}}}<!-- --><span class="{{{titleclass|}}}" style="font-size:{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=100|#default=110}}%;"><!-- -->{{{title}}}</span></th></tr>}}<!-- ---Above--- -->{{#if:{{{above|}}}|<!-- -->{{#if:{{{title|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow" style="{{{basestyle|}}};{{{abovestyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}">{{{above}}}</td></tr>}}<!-- ---Body--- ---First group/list and images--- -->{{#if:{{{list1|}}}|{{#if:{{{title|}}}{{{above|}}}|<tr style="height:2px;"><td></td></tr>}}<tr><!-- -->{{#if:{{{imageleft|}}}|<!-- --><td style="width:0%;padding:0px 2px 0px 0px;{{{imageleftstyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><!-- -->{{{imageleft}}}</td>}}<!-- -->{{#if:{{{group1|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group1style|}}}"><!-- -->{{{group1}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list1style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{list1padding|{{{listpadding|0em 0.25em}}}}}}"> {{{list1}}}</div></td><!-- -->{{#if:{{{image|}}}|<!-- --><td style="width:0%;padding:0px 0px 0px 2px;{{{imagestyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><!-- -->{{{image}}}</td>}}<!-- --></tr>}}<!-- ---Remaining groups/lists--- -->{{#if:{{{list2|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group2|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group2style|}}}"><!-- -->{{{group2}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list2style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list2}}}</div></td></tr>}}<!-- -->{{#if:{{{list3|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group3|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group3style|}}}"><!-- -->{{{group3}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list3style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list3}}}</div></td></tr>}}<!-- -->{{#if:{{{list4|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group4|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group4style|}}}"><!-- -->{{{group4}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list4style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list4}}}</div></td></tr>}}<!-- -->{{#if:{{{list5|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group5|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group5style|}}}"><!-- -->{{{group5}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list5style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list5}}}</div></td></tr>}}<!-- -->{{#if:{{{list6|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group6|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group6style|}}}"><!-- -->{{{group6}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list6style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list6}}}</div></td></tr>}}<!-- -->{{#if:{{{list7|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group7|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group7style|}}}"><!-- -->{{{group7}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list7style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list7}}}</div></td></tr>}}<!-- -->{{#if:{{{list8|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group8|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group8style|}}}"><!-- -->{{{group8}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list8style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list8}}}</div></td></tr>}}<!-- -->{{#if:{{{list9|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group9|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group9style|}}}"><!-- -->{{{group9}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list9style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list9}}}</div></td></tr>}}<!-- -->{{#if:{{{list10|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group10|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group10style|}}}"><!-- -->{{{group10}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list10style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list10}}}</div></td></tr>}}<!-- -->{{#if:{{{list11|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group11|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group11style|}}}"><!-- -->{{{group11}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list11style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list11}}}</div></td></tr>}}<!-- -->{{#if:{{{list12|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group12|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group12style|}}}"><!-- -->{{{group12}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list12style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list12}}}</div></td></tr>}}<!-- -->{{#if:{{{list13|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group13|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group13style|}}}"><!-- -->{{{group13}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list13style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list13}}}</div></td></tr>}}<!-- -->{{#if:{{{list14|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group14|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group14style|}}}"><!-- -->{{{group14}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list14style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list14}}}</div></td></tr>}}<!-- -->{{#if:{{{list15|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group15|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group15style|}}}"><!-- -->{{{group15}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list15style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list15}}}</div></td></tr>}}<!-- -->{{#if:{{{list16|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group16|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group16style|}}}"><!-- -->{{{group16}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list16style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list16}}}</div></td></tr>}}<!-- -->{{#if:{{{list17|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group17|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group17style|}}}"><!-- -->{{{group17}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list17style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list17}}}</div></td></tr>}}<!-- -->{{#if:{{{list18|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group18|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group18style|}}}"><!-- -->{{{group18}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list18style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list18}}}</div></td></tr>}}<!-- -->{{#if:{{{list19|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group19|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group19style|}}}"><!-- -->{{{group19}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list19style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list19}}}</div></td></tr>}}<!-- -->{{#if:{{{list20|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group20|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group20style|}}}"><!-- -->{{{group20}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list20style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list20}}}</div></td></tr>}}<!-- ---Below--- -->{{#if:{{{below|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}{{{list3|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow {{{belowclass|}}}" style="{{{basestyle|}}};{{{belowstyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}">{{{below}}}</td></tr>}}<!-- --></table>{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=<div>|none=|#default=</td></tr></table>}}<!-- --><noinclude> {{documentation}} <!-- Add categories and interwikis to the /doc subpage, not here! --> </noinclude> iv2ap5gqaefpxrr2b528zebzhdk9i5h 9782 9781 2011-11-10T08:59:13Z w>Edokter 0 Add {{{listclass|}}} 9782 wikitext text/x-wiki <!-- Please do not edit without discussion first as this is a VERY complex template. -->{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=</div>|none=|#default=<table class="navbox {{{bodyclass|}}}" cellspacing="0" <!-- -->style="{{{bodystyle|}}};{{{style|}}}"><tr><td style="padding:2px;">}}<!-- --><table cellspacing="0" class="nowraplinks {{#if:{{{title|}}}|{{#switch:{{{state|}}}|plain|off=|<!-- -->#default=collapsible {{#if:{{{state|}}}|{{{state}}}|autocollapse}}}}}} {{#switch:{{{border|{{{1|}}}}}}|<!-- -->subgroup|child|none=navbox-subgroup" style="width:100%;{{{bodystyle|}}};{{{style|}}}|<!-- -->#default=" style="width:100%;background:transparent;color:inherit}};{{{innerstyle|}}};"><!-- ---Title and Navbar--- -->{{#if:{{{title|}}}|<tr>{{#if:{{{titlegroup|}}}|<!-- --><td class="navbox-group {{{titlegroupclass|}}}" style="{{{basestyle|}}};{{{groupstyle|}}};{{{titlegroupstyle|}}}">{{{titlegroup|}}}</td><!-- --><th style="border-left:2px solid #fdfdfd;width:100%;|<th style="}}{{{basestyle|}}};{{{titlestyle|}}}" <!-- -->colspan={{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}{{#if:{{{titlegroup|}}}|-1}}}} <!-- -->class="navbox-title"><!-- -->{{#if:{{#switch:{{{navbar|}}}|plain|off=1}}<!-- -->{{#if:{{{name|}}}||{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=1}}}}|<!-- -->{{#ifeq:{{{navbar|}}}|off|{{#ifeq:{{{state|}}}|plain|<span style="float:right;width:6em;">&nbsp;</span>}}|<!-- -->{{#ifeq:{{{state|}}}|plain||<span style="float:left;width:6em;">&nbsp;</span>}}}}|<!-- --><span style="float:left;width:6em;text-align:left;">{{#if:{{{name|}}}|<!-- -->{{Navbar|{{{name}}}|mini=1|fontstyle={{{basestyle|}}};{{{titlestyle|}}};<!-- -->background:none transparent;border:none;font-size:100%;}}|<!-- --><span class="error" style="white-space:nowrap;">Error: No name provided</span>}}</span><!-- -->{{#ifeq:{{{state|}}}|plain|<span style="float:right;width:6em;">&nbsp;</span>}}}}<!-- --><span class="{{{titleclass|}}}" style="font-size:{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=100|#default=110}}%;"><!-- -->{{{title}}}</span></th></tr>}}<!-- ---Above--- -->{{#if:{{{above|}}}|<!-- -->{{#if:{{{title|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow" style="{{{basestyle|}}};{{{abovestyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}">{{{above}}}</td></tr>}}<!-- ---Body--- ---First group/list and images--- -->{{#if:{{{list1|}}}|{{#if:{{{title|}}}{{{above|}}}|<tr style="height:2px;"><td></td></tr>}}<tr><!-- -->{{#if:{{{imageleft|}}}|<!-- --><td style="width:0%;padding:0px 2px 0px 0px;{{{imageleftstyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><!-- -->{{{imageleft}}}</td>}}<!-- -->{{#if:{{{group1|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group1style|}}}"><!-- -->{{{group1}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list1style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{list1padding|{{{listpadding|0em 0.25em}}}}}}"> {{{list1}}}</div></td><!-- -->{{#if:{{{image|}}}|<!-- --><td style="width:0%;padding:0px 0px 0px 2px;{{{imagestyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><!-- -->{{{image}}}</td>}}<!-- --></tr>}}<!-- ---Remaining groups/lists--- -->{{#if:{{{list2|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group2|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group2style|}}}"><!-- -->{{{group2}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list2style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list2}}}</div></td></tr>}}<!-- -->{{#if:{{{list3|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group3|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group3style|}}}"><!-- -->{{{group3}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list3style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list3}}}</div></td></tr>}}<!-- -->{{#if:{{{list4|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group4|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group4style|}}}"><!-- -->{{{group4}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list4style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list4}}}</div></td></tr>}}<!-- -->{{#if:{{{list5|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group5|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group5style|}}}"><!-- -->{{{group5}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list5style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list5}}}</div></td></tr>}}<!-- -->{{#if:{{{list6|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group6|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group6style|}}}"><!-- -->{{{group6}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list6style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list6}}}</div></td></tr>}}<!-- -->{{#if:{{{list7|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group7|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group7style|}}}"><!-- -->{{{group7}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list7style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list7}}}</div></td></tr>}}<!-- -->{{#if:{{{list8|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group8|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group8style|}}}"><!-- -->{{{group8}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list8style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list8}}}</div></td></tr>}}<!-- -->{{#if:{{{list9|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group9|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group9style|}}}"><!-- -->{{{group9}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list9style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list9}}}</div></td></tr>}}<!-- -->{{#if:{{{list10|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group10|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group10style|}}}"><!-- -->{{{group10}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list10style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list10}}}</div></td></tr>}}<!-- -->{{#if:{{{list11|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group11|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group11style|}}}"><!-- -->{{{group11}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list11style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list11}}}</div></td></tr>}}<!-- -->{{#if:{{{list12|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group12|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group12style|}}}"><!-- -->{{{group12}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list12style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list12}}}</div></td></tr>}}<!-- -->{{#if:{{{list13|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group13|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group13style|}}}"><!-- -->{{{group13}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list13style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list13}}}</div></td></tr>}}<!-- -->{{#if:{{{list14|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group14|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group14style|}}}"><!-- -->{{{group14}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list14style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list14}}}</div></td></tr>}}<!-- -->{{#if:{{{list15|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group15|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group15style|}}}"><!-- -->{{{group15}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list15style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list15}}}</div></td></tr>}}<!-- -->{{#if:{{{list16|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group16|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group16style|}}}"><!-- -->{{{group16}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list16style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list16}}}</div></td></tr>}}<!-- -->{{#if:{{{list17|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group17|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group17style|}}}"><!-- -->{{{group17}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list17style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list17}}}</div></td></tr>}}<!-- -->{{#if:{{{list18|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group18|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group18style|}}}"><!-- -->{{{group18}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list18style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list18}}}</div></td></tr>}}<!-- -->{{#if:{{{list19|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group19|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group19style|}}}"><!-- -->{{{group19}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list19style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list19}}}</div></td></tr>}}<!-- -->{{#if:{{{list20|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group20|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group20style|}}}"><!-- -->{{{group20}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list20style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list20}}}</div></td></tr>}}<!-- ---Below--- -->{{#if:{{{below|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}{{{list3|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow {{{belowclass|}}}" style="{{{basestyle|}}};{{{belowstyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}">{{{below}}}</td></tr>}}<!-- --></table>{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=<div>|none=|#default=</td></tr></table>}}<!-- --><noinclude> {{documentation}} <!-- Add categories and interwikis to the /doc subpage, not here! --> </noinclude> oj02bolmx3j0he1ww6bd66cuxedpxmb 9783 9782 2011-11-10T13:18:04Z w>Edokter 0 Make above and below start on new line 9783 wikitext text/x-wiki <!-- Please do not edit without discussion first as this is a VERY complex template. -->{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=</div>|none=|#default=<table class="navbox {{{bodyclass|}}}" cellspacing="0" <!-- -->style="{{{bodystyle|}}};{{{style|}}}"><tr><td style="padding:2px;">}}<!-- --><table cellspacing="0" class="nowraplinks {{#if:{{{title|}}}|{{#switch:{{{state|}}}|plain|off=|<!-- -->#default=collapsible {{#if:{{{state|}}}|{{{state}}}|autocollapse}}}}}} {{#switch:{{{border|{{{1|}}}}}}|<!-- -->subgroup|child|none=navbox-subgroup" style="width:100%;{{{bodystyle|}}};{{{style|}}}|<!-- -->#default=" style="width:100%;background:transparent;color:inherit}};{{{innerstyle|}}};"><!-- ---Title and Navbar--- -->{{#if:{{{title|}}}|<tr>{{#if:{{{titlegroup|}}}|<!-- --><td class="navbox-group {{{titlegroupclass|}}}" style="{{{basestyle|}}};{{{groupstyle|}}};{{{titlegroupstyle|}}}">{{{titlegroup|}}}</td><!-- --><th style="border-left:2px solid #fdfdfd;width:100%;|<th style="}}{{{basestyle|}}};{{{titlestyle|}}}" <!-- -->colspan={{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}{{#if:{{{titlegroup|}}}|-1}}}} <!-- -->class="navbox-title"><!-- -->{{#if:{{#switch:{{{navbar|}}}|plain|off=1}}<!-- -->{{#if:{{{name|}}}||{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=1}}}}|<!-- -->{{#ifeq:{{{navbar|}}}|off|{{#ifeq:{{{state|}}}|plain|<span style="float:right;width:6em;">&nbsp;</span>}}|<!-- -->{{#ifeq:{{{state|}}}|plain||<span style="float:left;width:6em;">&nbsp;</span>}}}}|<!-- --><span style="float:left;width:6em;text-align:left;">{{#if:{{{name|}}}|<!-- -->{{Navbar|{{{name}}}|mini=1|fontstyle={{{basestyle|}}};{{{titlestyle|}}};<!-- -->background:none transparent;border:none;font-size:100%;}}|<!-- --><span class="error" style="white-space:nowrap;">Error: No name provided</span>}}</span><!-- -->{{#ifeq:{{{state|}}}|plain|<span style="float:right;width:6em;">&nbsp;</span>}}}}<!-- --><span class="{{{titleclass|}}}" style="font-size:{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=100|#default=110}}%;"><!-- -->{{{title}}}</span></th></tr>}}<!-- ---Above--- -->{{#if:{{{above|}}}|<!-- -->{{#if:{{{title|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow" style="{{{basestyle|}}};{{{abovestyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}"><!-- -->{{{above}}}</td></tr>}}<!-- ---Body--- ---First group/list and images--- -->{{#if:{{{list1|}}}|{{#if:{{{title|}}}{{{above|}}}|<tr style="height:2px;"><td></td></tr>}}<tr><!-- -->{{#if:{{{imageleft|}}}|<!-- --><td style="width:0%;padding:0px 2px 0px 0px;{{{imageleftstyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><!-- -->{{{imageleft}}}</td>}}<!-- -->{{#if:{{{group1|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group1style|}}}"><!-- -->{{{group1}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list1style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{list1padding|{{{listpadding|0em 0.25em}}}}}}"> {{{list1}}}</div></td><!-- -->{{#if:{{{image|}}}|<!-- --><td style="width:0%;padding:0px 0px 0px 2px;{{{imagestyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><!-- -->{{{image}}}</td>}}<!-- --></tr>}}<!-- ---Remaining groups/lists--- -->{{#if:{{{list2|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group2|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group2style|}}}"><!-- -->{{{group2}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list2style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list2}}}</div></td></tr>}}<!-- -->{{#if:{{{list3|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group3|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group3style|}}}"><!-- -->{{{group3}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list3style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list3}}}</div></td></tr>}}<!-- -->{{#if:{{{list4|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group4|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group4style|}}}"><!-- -->{{{group4}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list4style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list4}}}</div></td></tr>}}<!-- -->{{#if:{{{list5|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group5|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group5style|}}}"><!-- -->{{{group5}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list5style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list5}}}</div></td></tr>}}<!-- -->{{#if:{{{list6|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group6|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group6style|}}}"><!-- -->{{{group6}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list6style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list6}}}</div></td></tr>}}<!-- -->{{#if:{{{list7|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group7|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group7style|}}}"><!-- -->{{{group7}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list7style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list7}}}</div></td></tr>}}<!-- -->{{#if:{{{list8|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group8|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group8style|}}}"><!-- -->{{{group8}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list8style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list8}}}</div></td></tr>}}<!-- -->{{#if:{{{list9|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group9|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group9style|}}}"><!-- -->{{{group9}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list9style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list9}}}</div></td></tr>}}<!-- -->{{#if:{{{list10|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group10|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group10style|}}}"><!-- -->{{{group10}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list10style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list10}}}</div></td></tr>}}<!-- -->{{#if:{{{list11|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group11|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group11style|}}}"><!-- -->{{{group11}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list11style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list11}}}</div></td></tr>}}<!-- -->{{#if:{{{list12|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group12|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group12style|}}}"><!-- -->{{{group12}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list12style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list12}}}</div></td></tr>}}<!-- -->{{#if:{{{list13|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group13|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group13style|}}}"><!-- -->{{{group13}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list13style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list13}}}</div></td></tr>}}<!-- -->{{#if:{{{list14|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group14|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group14style|}}}"><!-- -->{{{group14}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list14style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list14}}}</div></td></tr>}}<!-- -->{{#if:{{{list15|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group15|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group15style|}}}"><!-- -->{{{group15}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list15style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list15}}}</div></td></tr>}}<!-- -->{{#if:{{{list16|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group16|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group16style|}}}"><!-- -->{{{group16}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list16style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list16}}}</div></td></tr>}}<!-- -->{{#if:{{{list17|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group17|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group17style|}}}"><!-- -->{{{group17}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list17style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list17}}}</div></td></tr>}}<!-- -->{{#if:{{{list18|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group18|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group18style|}}}"><!-- -->{{{group18}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list18style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list18}}}</div></td></tr>}}<!-- -->{{#if:{{{list19|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group19|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group19style|}}}"><!-- -->{{{group19}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list19style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list19}}}</div></td></tr>}}<!-- -->{{#if:{{{list20|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group20|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group20style|}}}"><!-- -->{{{group20}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list20style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list20}}}</div></td></tr>}}<!-- ---Below--- -->{{#if:{{{below|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}{{{list3|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow {{{belowclass|}}}" style="{{{basestyle|}}};{{{belowstyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}"><!-- -->{{{below}}}</td></tr>}}<!-- --></table>{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=<div>|none=|#default=</td></tr></table>}}<!-- --><noinclude> {{documentation}} <!-- Add categories and interwikis to the /doc subpage, not here! --> </noinclude> 5rz256mj0nvqwzhlha8tdqedky6grj7 9784 9783 2011-11-10T13:20:13Z w>Edokter 0 +{{{aboveclass}}} 9784 wikitext text/x-wiki <!-- Please do not edit without discussion first as this is a VERY complex template. -->{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=</div>|none=|#default=<table class="navbox {{{bodyclass|}}}" cellspacing="0" <!-- -->style="{{{bodystyle|}}};{{{style|}}}"><tr><td style="padding:2px;">}}<!-- --><table cellspacing="0" class="nowraplinks {{#if:{{{title|}}}|{{#switch:{{{state|}}}|plain|off=|<!-- -->#default=collapsible {{#if:{{{state|}}}|{{{state}}}|autocollapse}}}}}} {{#switch:{{{border|{{{1|}}}}}}|<!-- -->subgroup|child|none=navbox-subgroup" style="width:100%;{{{bodystyle|}}};{{{style|}}}|<!-- -->#default=" style="width:100%;background:transparent;color:inherit}};{{{innerstyle|}}};"><!-- ---Title and Navbar--- -->{{#if:{{{title|}}}|<tr>{{#if:{{{titlegroup|}}}|<!-- --><td class="navbox-group {{{titlegroupclass|}}}" style="{{{basestyle|}}};{{{groupstyle|}}};{{{titlegroupstyle|}}}">{{{titlegroup|}}}</td><!-- --><th style="border-left:2px solid #fdfdfd;width:100%;|<th style="}}{{{basestyle|}}};{{{titlestyle|}}}" <!-- -->colspan={{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}{{#if:{{{titlegroup|}}}|-1}}}} <!-- -->class="navbox-title"><!-- -->{{#if:{{#switch:{{{navbar|}}}|plain|off=1}}<!-- -->{{#if:{{{name|}}}||{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=1}}}}|<!-- -->{{#ifeq:{{{navbar|}}}|off|{{#ifeq:{{{state|}}}|plain|<span style="float:right;width:6em;">&nbsp;</span>}}|<!-- -->{{#ifeq:{{{state|}}}|plain||<span style="float:left;width:6em;">&nbsp;</span>}}}}|<!-- --><span style="float:left;width:6em;text-align:left;">{{#if:{{{name|}}}|<!-- -->{{Navbar|{{{name}}}|mini=1|fontstyle={{{basestyle|}}};{{{titlestyle|}}};<!-- -->background:none transparent;border:none;font-size:100%;}}|<!-- --><span class="error" style="white-space:nowrap;">Error: No name provided</span>}}</span><!-- -->{{#ifeq:{{{state|}}}|plain|<span style="float:right;width:6em;">&nbsp;</span>}}}}<!-- --><span class="{{{titleclass|}}}" style="font-size:{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=100|#default=110}}%;"><!-- -->{{{title}}}</span></th></tr>}}<!-- ---Above--- -->{{#if:{{{above|}}}|<!-- -->{{#if:{{{title|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow {{{aboveclass|}}}" style="{{{basestyle|}}};{{{abovestyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}"><!-- -->{{{above}}}</td></tr>}}<!-- ---Body--- ---First group/list and images--- -->{{#if:{{{list1|}}}|{{#if:{{{title|}}}{{{above|}}}|<tr style="height:2px;"><td></td></tr>}}<tr><!-- -->{{#if:{{{imageleft|}}}|<!-- --><td style="width:0%;padding:0px 2px 0px 0px;{{{imageleftstyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><!-- -->{{{imageleft}}}</td>}}<!-- -->{{#if:{{{group1|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group1style|}}}"><!-- -->{{{group1}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list1style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{list1padding|{{{listpadding|0em 0.25em}}}}}}"> {{{list1}}}</div></td><!-- -->{{#if:{{{image|}}}|<!-- --><td style="width:0%;padding:0px 0px 0px 2px;{{{imagestyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><!-- -->{{{image}}}</td>}}<!-- --></tr>}}<!-- ---Remaining groups/lists--- -->{{#if:{{{list2|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group2|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group2style|}}}"><!-- -->{{{group2}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list2style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list2}}}</div></td></tr>}}<!-- -->{{#if:{{{list3|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group3|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group3style|}}}"><!-- -->{{{group3}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list3style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list3}}}</div></td></tr>}}<!-- -->{{#if:{{{list4|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group4|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group4style|}}}"><!-- -->{{{group4}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list4style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list4}}}</div></td></tr>}}<!-- -->{{#if:{{{list5|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group5|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group5style|}}}"><!-- -->{{{group5}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list5style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list5}}}</div></td></tr>}}<!-- -->{{#if:{{{list6|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group6|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group6style|}}}"><!-- -->{{{group6}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list6style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list6}}}</div></td></tr>}}<!-- -->{{#if:{{{list7|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group7|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group7style|}}}"><!-- -->{{{group7}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list7style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list7}}}</div></td></tr>}}<!-- -->{{#if:{{{list8|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group8|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group8style|}}}"><!-- -->{{{group8}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list8style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list8}}}</div></td></tr>}}<!-- -->{{#if:{{{list9|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group9|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group9style|}}}"><!-- -->{{{group9}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list9style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list9}}}</div></td></tr>}}<!-- -->{{#if:{{{list10|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group10|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group10style|}}}"><!-- -->{{{group10}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list10style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list10}}}</div></td></tr>}}<!-- -->{{#if:{{{list11|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group11|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group11style|}}}"><!-- -->{{{group11}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list11style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list11}}}</div></td></tr>}}<!-- -->{{#if:{{{list12|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group12|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group12style|}}}"><!-- -->{{{group12}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list12style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list12}}}</div></td></tr>}}<!-- -->{{#if:{{{list13|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group13|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group13style|}}}"><!-- -->{{{group13}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list13style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list13}}}</div></td></tr>}}<!-- -->{{#if:{{{list14|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group14|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group14style|}}}"><!-- -->{{{group14}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list14style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list14}}}</div></td></tr>}}<!-- -->{{#if:{{{list15|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group15|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group15style|}}}"><!-- -->{{{group15}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list15style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list15}}}</div></td></tr>}}<!-- -->{{#if:{{{list16|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group16|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group16style|}}}"><!-- -->{{{group16}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list16style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list16}}}</div></td></tr>}}<!-- -->{{#if:{{{list17|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group17|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group17style|}}}"><!-- -->{{{group17}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list17style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list17}}}</div></td></tr>}}<!-- -->{{#if:{{{list18|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group18|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group18style|}}}"><!-- -->{{{group18}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list18style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list18}}}</div></td></tr>}}<!-- -->{{#if:{{{list19|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group19|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group19style|}}}"><!-- -->{{{group19}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list19style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list19}}}</div></td></tr>}}<!-- -->{{#if:{{{list20|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group20|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group20style|}}}"><!-- -->{{{group20}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list20style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list20}}}</div></td></tr>}}<!-- ---Below--- -->{{#if:{{{below|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}{{{list3|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow {{{belowclass|}}}" style="{{{basestyle|}}};{{{belowstyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}"><!-- -->{{{below}}}</td></tr>}}<!-- --></table>{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=<div>|none=|#default=</td></tr></table>}}<!-- --><noinclude> {{documentation}} <!-- Add categories and interwikis to the /doc subpage, not here! --> </noinclude> aiz8cxkcty0u8csr8cwnyc3lkrsbtx8 9785 9784 2011-11-10T13:29:59Z w>Edokter 0 What works in an edit window, does not work here; removing comment marks before title, below and after. 9785 wikitext text/x-wiki <!-- Please do not edit without discussion first as this is a VERY complex template. -->{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=</div>|none=|#default=<table class="navbox {{{bodyclass|}}}" cellspacing="0" <!-- -->style="{{{bodystyle|}}};{{{style|}}}"><tr><td style="padding:2px;">}}<!-- --><table cellspacing="0" class="nowraplinks {{#if:{{{title|}}}|{{#switch:{{{state|}}}|plain|off=|<!-- -->#default=collapsible {{#if:{{{state|}}}|{{{state}}}|autocollapse}}}}}} {{#switch:{{{border|{{{1|}}}}}}|<!-- -->subgroup|child|none=navbox-subgroup" style="width:100%;{{{bodystyle|}}};{{{style|}}}|<!-- -->#default=" style="width:100%;background:transparent;color:inherit}};{{{innerstyle|}}};"><!-- ---Title and Navbar--- -->{{#if:{{{title|}}}|<tr>{{#if:{{{titlegroup|}}}|<!-- --><td class="navbox-group {{{titlegroupclass|}}}" style="{{{basestyle|}}};{{{groupstyle|}}};{{{titlegroupstyle|}}}">{{{titlegroup|}}}</td><!-- --><th style="border-left:2px solid #fdfdfd;width:100%;|<th style="}}{{{basestyle|}}};{{{titlestyle|}}}" <!-- -->colspan={{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}{{#if:{{{titlegroup|}}}|-1}}}} <!-- -->class="navbox-title"><!-- -->{{#if:{{#switch:{{{navbar|}}}|plain|off=1}}<!-- -->{{#if:{{{name|}}}||{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=1}}}}|<!-- -->{{#ifeq:{{{navbar|}}}|off|{{#ifeq:{{{state|}}}|plain|<span style="float:right;width:6em;">&nbsp;</span>}}|<!-- -->{{#ifeq:{{{state|}}}|plain||<span style="float:left;width:6em;">&nbsp;</span>}}}}|<!-- --><span style="float:left;width:6em;text-align:left;">{{#if:{{{name|}}}|<!-- -->{{Navbar|{{{name}}}|mini=1|fontstyle={{{basestyle|}}};{{{titlestyle|}}};<!-- -->background:none transparent;border:none;font-size:100%;}}|<!-- --><span class="error" style="white-space:nowrap;">Error: No name provided</span>}}</span><!-- -->{{#ifeq:{{{state|}}}|plain|<span style="float:right;width:6em;">&nbsp;</span>}}}}<!-- --><span class="{{{titleclass|}}}" style="font-size:{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=100|#default=110}}%;"> {{{title}}}</span></th></tr>}}<!-- ---Above--- -->{{#if:{{{above|}}}|<!-- -->{{#if:{{{title|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow {{{aboveclass|}}}" style="{{{basestyle|}}};{{{abovestyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}"> {{{above}}}</td></tr>}}<!-- ---Body--- ---First group/list and images--- -->{{#if:{{{list1|}}}|{{#if:{{{title|}}}{{{above|}}}|<tr style="height:2px;"><td></td></tr>}}<tr><!-- -->{{#if:{{{imageleft|}}}|<!-- --><td style="width:0%;padding:0px 2px 0px 0px;{{{imageleftstyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><!-- -->{{{imageleft}}}</td>}}<!-- -->{{#if:{{{group1|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group1style|}}}"><!-- -->{{{group1}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list1style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{list1padding|{{{listpadding|0em 0.25em}}}}}}"> {{{list1}}}</div></td><!-- -->{{#if:{{{image|}}}|<!-- --><td style="width:0%;padding:0px 0px 0px 2px;{{{imagestyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><!-- -->{{{image}}}</td>}}<!-- --></tr>}}<!-- ---Remaining groups/lists--- -->{{#if:{{{list2|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group2|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group2style|}}}"><!-- -->{{{group2}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list2style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list2}}}</div></td></tr>}}<!-- -->{{#if:{{{list3|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group3|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group3style|}}}"><!-- -->{{{group3}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list3style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list3}}}</div></td></tr>}}<!-- -->{{#if:{{{list4|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group4|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group4style|}}}"><!-- -->{{{group4}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list4style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list4}}}</div></td></tr>}}<!-- -->{{#if:{{{list5|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group5|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group5style|}}}"><!-- -->{{{group5}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list5style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list5}}}</div></td></tr>}}<!-- -->{{#if:{{{list6|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group6|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group6style|}}}"><!-- -->{{{group6}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list6style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list6}}}</div></td></tr>}}<!-- -->{{#if:{{{list7|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group7|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group7style|}}}"><!-- -->{{{group7}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list7style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list7}}}</div></td></tr>}}<!-- -->{{#if:{{{list8|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group8|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group8style|}}}"><!-- -->{{{group8}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list8style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list8}}}</div></td></tr>}}<!-- -->{{#if:{{{list9|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group9|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group9style|}}}"><!-- -->{{{group9}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list9style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list9}}}</div></td></tr>}}<!-- -->{{#if:{{{list10|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group10|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group10style|}}}"><!-- -->{{{group10}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list10style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list10}}}</div></td></tr>}}<!-- -->{{#if:{{{list11|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group11|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group11style|}}}"><!-- -->{{{group11}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list11style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list11}}}</div></td></tr>}}<!-- -->{{#if:{{{list12|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group12|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group12style|}}}"><!-- -->{{{group12}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list12style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list12}}}</div></td></tr>}}<!-- -->{{#if:{{{list13|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group13|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group13style|}}}"><!-- -->{{{group13}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list13style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list13}}}</div></td></tr>}}<!-- -->{{#if:{{{list14|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group14|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group14style|}}}"><!-- -->{{{group14}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list14style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list14}}}</div></td></tr>}}<!-- -->{{#if:{{{list15|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group15|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group15style|}}}"><!-- -->{{{group15}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list15style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list15}}}</div></td></tr>}}<!-- -->{{#if:{{{list16|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group16|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group16style|}}}"><!-- -->{{{group16}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list16style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list16}}}</div></td></tr>}}<!-- -->{{#if:{{{list17|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group17|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group17style|}}}"><!-- -->{{{group17}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list17style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list17}}}</div></td></tr>}}<!-- -->{{#if:{{{list18|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group18|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group18style|}}}"><!-- -->{{{group18}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list18style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list18}}}</div></td></tr>}}<!-- -->{{#if:{{{list19|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group19|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group19style|}}}"><!-- -->{{{group19}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list19style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list19}}}</div></td></tr>}}<!-- -->{{#if:{{{list20|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group20|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group20style|}}}"><!-- -->{{{group20}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list20style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list20}}}</div></td></tr>}}<!-- ---Below--- -->{{#if:{{{below|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}{{{list3|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow {{{belowclass|}}}" style="{{{basestyle|}}};{{{belowstyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}"> {{{below}}}</td></tr>}}<!-- --></table>{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=<div>|none=|#default=</td></tr></table>}}<!-- --><noinclude> {{documentation}} <!-- Add categories and interwikis to the /doc subpage, not here! --> </noinclude> hxc3ez2iao8xcngdq62k7is7wecykec 9786 9785 2011-11-11T11:22:59Z w>Edokter 0 Move {{{bodyclass}}} to inner table 9786 wikitext text/x-wiki <!-- Please do not edit without discussion first as this is a VERY complex template. -->{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=</div>|none=|#default=<table class="navbox" cellspacing="0" <!-- -->style="{{{bodystyle|}}};{{{style|}}}"><tr><td style="padding:2px;">}}<!-- --><table cellspacing="0" class="nowraplinks {{{bodyclass|}}} {{#if:{{{title|}}}|{{#switch:{{{state|}}}|plain|off=|<!-- -->#default=collapsible {{#if:{{{state|}}}|{{{state}}}|autocollapse}}}}}} {{#switch:{{{border|{{{1|}}}}}}|<!-- -->subgroup|child|none=navbox-subgroup" style="width:100%;{{{bodystyle|}}};{{{style|}}}|<!-- -->#default=" style="width:100%;background:transparent;color:inherit}};{{{innerstyle|}}};"><!-- ---Title and Navbar--- -->{{#if:{{{title|}}}|<tr>{{#if:{{{titlegroup|}}}|<!-- --><td class="navbox-group {{{titlegroupclass|}}}" style="{{{basestyle|}}};{{{groupstyle|}}};{{{titlegroupstyle|}}}">{{{titlegroup|}}}</td><!-- --><th style="border-left:2px solid #fdfdfd;width:100%;|<th style="}}{{{basestyle|}}};{{{titlestyle|}}}" <!-- -->colspan={{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}{{#if:{{{titlegroup|}}}|-1}}}} <!-- -->class="navbox-title"><!-- -->{{#if:{{#switch:{{{navbar|}}}|plain|off=1}}<!-- -->{{#if:{{{name|}}}||{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=1}}}}|<!-- -->{{#ifeq:{{{navbar|}}}|off|{{#ifeq:{{{state|}}}|plain|<span style="float:right;width:6em;">&nbsp;</span>}}|<!-- -->{{#ifeq:{{{state|}}}|plain||<span style="float:left;width:6em;">&nbsp;</span>}}}}|<!-- --><span style="float:left;width:6em;text-align:left;">{{#if:{{{name|}}}|<!-- -->{{Navbar|{{{name}}}|mini=1|fontstyle={{{basestyle|}}};{{{titlestyle|}}};<!-- -->background:none transparent;border:none;font-size:100%;}}|<!-- --><span class="error" style="white-space:nowrap;">Error: No name provided</span>}}</span><!-- -->{{#ifeq:{{{state|}}}|plain|<span style="float:right;width:6em;">&nbsp;</span>}}}}<!-- --><span class="{{{titleclass|}}}" style="font-size:{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=100|#default=110}}%;"> {{{title}}}</span></th></tr>}}<!-- ---Above--- -->{{#if:{{{above|}}}|<!-- -->{{#if:{{{title|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow {{{aboveclass|}}}" style="{{{basestyle|}}};{{{abovestyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}"> {{{above}}}</td></tr>}}<!-- ---Body--- ---First group/list and images--- -->{{#if:{{{list1|}}}|{{#if:{{{title|}}}{{{above|}}}|<tr style="height:2px;"><td></td></tr>}}<tr><!-- -->{{#if:{{{imageleft|}}}|<!-- --><td style="width:0%;padding:0px 2px 0px 0px;{{{imageleftstyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><!-- -->{{{imageleft}}}</td>}}<!-- -->{{#if:{{{group1|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group1style|}}}"><!-- -->{{{group1}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list1style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{list1padding|{{{listpadding|0em 0.25em}}}}}}"> {{{list1}}}</div></td><!-- -->{{#if:{{{image|}}}|<!-- --><td style="width:0%;padding:0px 0px 0px 2px;{{{imagestyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><!-- -->{{{image}}}</td>}}<!-- --></tr>}}<!-- ---Remaining groups/lists--- -->{{#if:{{{list2|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group2|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group2style|}}}"><!-- -->{{{group2}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list2style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list2}}}</div></td></tr>}}<!-- -->{{#if:{{{list3|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group3|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group3style|}}}"><!-- -->{{{group3}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list3style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list3}}}</div></td></tr>}}<!-- -->{{#if:{{{list4|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group4|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group4style|}}}"><!-- -->{{{group4}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list4style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list4}}}</div></td></tr>}}<!-- -->{{#if:{{{list5|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group5|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group5style|}}}"><!-- -->{{{group5}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list5style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list5}}}</div></td></tr>}}<!-- -->{{#if:{{{list6|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group6|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group6style|}}}"><!-- -->{{{group6}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list6style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list6}}}</div></td></tr>}}<!-- -->{{#if:{{{list7|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group7|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group7style|}}}"><!-- -->{{{group7}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list7style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list7}}}</div></td></tr>}}<!-- -->{{#if:{{{list8|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group8|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group8style|}}}"><!-- -->{{{group8}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list8style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list8}}}</div></td></tr>}}<!-- -->{{#if:{{{list9|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group9|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group9style|}}}"><!-- -->{{{group9}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list9style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list9}}}</div></td></tr>}}<!-- -->{{#if:{{{list10|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group10|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group10style|}}}"><!-- -->{{{group10}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list10style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list10}}}</div></td></tr>}}<!-- -->{{#if:{{{list11|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group11|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group11style|}}}"><!-- -->{{{group11}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list11style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list11}}}</div></td></tr>}}<!-- -->{{#if:{{{list12|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group12|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group12style|}}}"><!-- -->{{{group12}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list12style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list12}}}</div></td></tr>}}<!-- -->{{#if:{{{list13|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group13|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group13style|}}}"><!-- -->{{{group13}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list13style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list13}}}</div></td></tr>}}<!-- -->{{#if:{{{list14|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group14|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group14style|}}}"><!-- -->{{{group14}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list14style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list14}}}</div></td></tr>}}<!-- -->{{#if:{{{list15|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group15|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group15style|}}}"><!-- -->{{{group15}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list15style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list15}}}</div></td></tr>}}<!-- -->{{#if:{{{list16|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group16|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group16style|}}}"><!-- -->{{{group16}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list16style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list16}}}</div></td></tr>}}<!-- -->{{#if:{{{list17|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group17|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group17style|}}}"><!-- -->{{{group17}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list17style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list17}}}</div></td></tr>}}<!-- -->{{#if:{{{list18|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group18|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group18style|}}}"><!-- -->{{{group18}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list18style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list18}}}</div></td></tr>}}<!-- -->{{#if:{{{list19|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group19|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group19style|}}}"><!-- -->{{{group19}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list19style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list19}}}</div></td></tr>}}<!-- -->{{#if:{{{list20|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group20|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group20style|}}}"><!-- -->{{{group20}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list20style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list20}}}</div></td></tr>}}<!-- ---Below--- -->{{#if:{{{below|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}{{{list3|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow {{{belowclass|}}}" style="{{{basestyle|}}};{{{belowstyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}"> {{{below}}}</td></tr>}}<!-- --></table>{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=<div>|none=|#default=</td></tr></table>}}<!-- --><noinclude> {{documentation}} <!-- Add categories and interwikis to the /doc subpage, not here! --> </noinclude> jihpp3h16i5gzwyx1j8yo1273fsgita 9787 9786 2011-11-13T19:08:00Z w>Edokter 0 no longer needed 9787 wikitext text/x-wiki <!-- Please do not edit without discussion first as this is a VERY complex template. -->{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=</div>|none=|#default=<table class="navbox" cellspacing="0" <!-- -->style="{{{bodystyle|}}};{{{style|}}}"><tr><td style="padding:2px;">}}<!-- --><table cellspacing="0" class="nowraplinks {{{bodyclass|}}} {{#if:{{{title|}}}|{{#switch:{{{state|}}}|plain|off=|<!-- -->#default=collapsible {{#if:{{{state|}}}|{{{state}}}|autocollapse}}}}}} {{#switch:{{{border|{{{1|}}}}}}|<!-- -->subgroup|child|none=navbox-subgroup" style="width:100%;{{{bodystyle|}}};{{{style|}}}|<!-- -->#default=" style="width:100%;background:transparent;color:inherit}};{{{innerstyle|}}};"><!-- ---Title and Navbar--- -->{{#if:{{{title|}}}|<tr>{{#if:{{{titlegroup|}}}|<!-- --><td class="navbox-group {{{titlegroupclass|}}}" style="{{{basestyle|}}};{{{groupstyle|}}};{{{titlegroupstyle|}}}">{{{titlegroup|}}}</td><!-- --><th style="border-left:2px solid #fdfdfd;width:100%;|<th style="}}{{{basestyle|}}};{{{titlestyle|}}}" <!-- -->colspan={{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}{{#if:{{{titlegroup|}}}|-1}}}} <!-- -->class="navbox-title"><!-- -->{{#if:{{#switch:{{{navbar|}}}|plain|off=1}}<!-- -->{{#if:{{{name|}}}||{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=1}}}}|<!-- -->{{#ifeq:{{{navbar|}}}|off|{{#ifeq:{{{state|}}}|plain|<span style="float:right;width:6em;">&nbsp;</span>}}|<!-- -->{{#ifeq:{{{state|}}}|plain||<span style="float:left;width:6em;">&nbsp;</span>}}}}|<!-- --><span style="float:left;width:6em;text-align:left;">{{#if:{{{name|}}}|<!-- -->{{Navbar|{{{name}}}|mini=1|fontstyle={{{basestyle|}}};{{{titlestyle|}}};<!-- -->background:none transparent;border:none;font-size:100%;}}|<!-- --><span class="error" style="white-space:nowrap;">Error: No name provided</span>}}</span><!-- -->{{#ifeq:{{{state|}}}|plain|<span style="float:right;width:6em;">&nbsp;</span>}}}}<!-- --><span class="{{{titleclass|}}}" style="font-size:110%;"> {{{title}}}</span></th></tr>}}<!-- ---Above--- -->{{#if:{{{above|}}}|<!-- -->{{#if:{{{title|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow {{{aboveclass|}}}" style="{{{basestyle|}}};{{{abovestyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}"> {{{above}}}</td></tr>}}<!-- ---Body--- ---First group/list and images--- -->{{#if:{{{list1|}}}|{{#if:{{{title|}}}{{{above|}}}|<tr style="height:2px;"><td></td></tr>}}<tr><!-- -->{{#if:{{{imageleft|}}}|<!-- --><td style="width:0%;padding:0px 2px 0px 0px;{{{imageleftstyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><!-- -->{{{imageleft}}}</td>}}<!-- -->{{#if:{{{group1|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group1style|}}}"><!-- -->{{{group1}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list1style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{list1padding|{{{listpadding|0em 0.25em}}}}}}"> {{{list1}}}</div></td><!-- -->{{#if:{{{image|}}}|<!-- --><td style="width:0%;padding:0px 0px 0px 2px;{{{imagestyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><!-- -->{{{image}}}</td>}}<!-- --></tr>}}<!-- ---Remaining groups/lists--- -->{{#if:{{{list2|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group2|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group2style|}}}"><!-- -->{{{group2}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list2style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list2}}}</div></td></tr>}}<!-- -->{{#if:{{{list3|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group3|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group3style|}}}"><!-- -->{{{group3}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list3style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list3}}}</div></td></tr>}}<!-- -->{{#if:{{{list4|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group4|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group4style|}}}"><!-- -->{{{group4}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list4style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list4}}}</div></td></tr>}}<!-- -->{{#if:{{{list5|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group5|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group5style|}}}"><!-- -->{{{group5}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list5style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list5}}}</div></td></tr>}}<!-- -->{{#if:{{{list6|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group6|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group6style|}}}"><!-- -->{{{group6}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list6style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list6}}}</div></td></tr>}}<!-- -->{{#if:{{{list7|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group7|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group7style|}}}"><!-- -->{{{group7}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list7style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list7}}}</div></td></tr>}}<!-- -->{{#if:{{{list8|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group8|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group8style|}}}"><!-- -->{{{group8}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list8style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list8}}}</div></td></tr>}}<!-- -->{{#if:{{{list9|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group9|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group9style|}}}"><!-- -->{{{group9}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list9style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list9}}}</div></td></tr>}}<!-- -->{{#if:{{{list10|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group10|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group10style|}}}"><!-- -->{{{group10}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list10style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list10}}}</div></td></tr>}}<!-- -->{{#if:{{{list11|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group11|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group11style|}}}"><!-- -->{{{group11}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list11style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list11}}}</div></td></tr>}}<!-- -->{{#if:{{{list12|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group12|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group12style|}}}"><!-- -->{{{group12}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list12style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list12}}}</div></td></tr>}}<!-- -->{{#if:{{{list13|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group13|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group13style|}}}"><!-- -->{{{group13}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list13style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list13}}}</div></td></tr>}}<!-- -->{{#if:{{{list14|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group14|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group14style|}}}"><!-- -->{{{group14}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list14style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list14}}}</div></td></tr>}}<!-- -->{{#if:{{{list15|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group15|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group15style|}}}"><!-- -->{{{group15}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list15style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list15}}}</div></td></tr>}}<!-- -->{{#if:{{{list16|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group16|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group16style|}}}"><!-- -->{{{group16}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list16style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list16}}}</div></td></tr>}}<!-- -->{{#if:{{{list17|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group17|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group17style|}}}"><!-- -->{{{group17}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list17style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list17}}}</div></td></tr>}}<!-- -->{{#if:{{{list18|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group18|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group18style|}}}"><!-- -->{{{group18}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list18style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list18}}}</div></td></tr>}}<!-- -->{{#if:{{{list19|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group19|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group19style|}}}"><!-- -->{{{group19}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list19style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list19}}}</div></td></tr>}}<!-- -->{{#if:{{{list20|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group20|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group20style|}}}"><!-- -->{{{group20}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list20style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list20}}}</div></td></tr>}}<!-- ---Below--- -->{{#if:{{{below|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}{{{list3|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow {{{belowclass|}}}" style="{{{basestyle|}}};{{{belowstyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}"> {{{below}}}</td></tr>}}<!-- --></table>{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=<div>|none=|#default=</td></tr></table>}}<!-- --><noinclude> {{documentation}} <!-- Add categories and interwikis to the /doc subpage, not here! --> </noinclude> ord85xtg4zh85lyoxtkw583tsxiu9sk 9788 9787 2011-11-19T13:53:04Z w>Edokter 0 add div for above/below to fix nested lists in below 9788 wikitext text/x-wiki <!-- Please do not edit without discussion first as this is a VERY complex template. -->{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=</div>|none=|#default=<table class="navbox" cellspacing="0" <!-- -->style="{{{bodystyle|}}};{{{style|}}}"><tr><td style="padding:2px;">}}<!-- --><table cellspacing="0" class="nowraplinks {{{bodyclass|}}} {{#if:{{{title|}}}|{{#switch:{{{state|}}}|plain|off=|<!-- -->#default=collapsible {{#if:{{{state|}}}|{{{state}}}|autocollapse}}}}}} {{#switch:{{{border|{{{1|}}}}}}|<!-- -->subgroup|child|none=navbox-subgroup" style="width:100%;{{{bodystyle|}}};{{{style|}}}|<!-- -->#default=" style="width:100%;background:transparent;color:inherit}};{{{innerstyle|}}};"><!-- ---Title and Navbar--- -->{{#if:{{{title|}}}|<tr>{{#if:{{{titlegroup|}}}|<!-- --><td class="navbox-group {{{titlegroupclass|}}}" style="{{{basestyle|}}};{{{groupstyle|}}};{{{titlegroupstyle|}}}">{{{titlegroup|}}}</td><!-- --><th style="border-left:2px solid #fdfdfd;width:100%;|<th style="}}{{{basestyle|}}};{{{titlestyle|}}}" <!-- -->colspan={{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}{{#if:{{{titlegroup|}}}|-1}}}} <!-- -->class="navbox-title"><!-- -->{{#if:{{#switch:{{{navbar|}}}|plain|off=1}}<!-- -->{{#if:{{{name|}}}||{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=1}}}}|<!-- -->{{#ifeq:{{{navbar|}}}|off|{{#ifeq:{{{state|}}}|plain|<span style="float:right;width:6em;">&nbsp;</span>}}|<!-- -->{{#ifeq:{{{state|}}}|plain||<span style="float:left;width:6em;">&nbsp;</span>}}}}|<!-- --><span style="float:left;width:6em;text-align:left;">{{#if:{{{name|}}}|<!-- -->{{Navbar|{{{name}}}|mini=1|fontstyle={{{basestyle|}}};{{{titlestyle|}}};<!-- -->background:none transparent;border:none;font-size:100%;}}|<!-- --><span class="error" style="white-space:nowrap;">Error: No name provided</span>}}</span><!-- -->{{#ifeq:{{{state|}}}|plain|<span style="float:right;width:6em;">&nbsp;</span>}}}}<!-- --><span class="{{{titleclass|}}}" style="font-size:110%;"> {{{title}}}</span></th></tr>}}<!-- ---Above--- -->{{#if:{{{above|}}}|<!-- -->{{#if:{{{title|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow {{{aboveclass|}}}" style="{{{basestyle|}}};{{{abovestyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}"><div> {{{above}}}</div></td></tr>}}<!-- ---Body--- ---First group/list and images--- -->{{#if:{{{list1|}}}|{{#if:{{{title|}}}{{{above|}}}|<tr style="height:2px;"><td></td></tr>}}<tr><!-- -->{{#if:{{{imageleft|}}}|<!-- --><td style="width:0%;padding:0px 2px 0px 0px;{{{imageleftstyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><!-- -->{{{imageleft}}}</td>}}<!-- -->{{#if:{{{group1|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group1style|}}}"><!-- -->{{{group1}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list1style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{list1padding|{{{listpadding|0em 0.25em}}}}}}"> {{{list1}}}</div></td><!-- -->{{#if:{{{image|}}}|<!-- --><td style="width:0%;padding:0px 0px 0px 2px;{{{imagestyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><!-- -->{{{image}}}</td>}}<!-- --></tr>}}<!-- ---Remaining groups/lists--- -->{{#if:{{{list2|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group2|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group2style|}}}"><!-- -->{{{group2}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list2style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list2}}}</div></td></tr>}}<!-- -->{{#if:{{{list3|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group3|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group3style|}}}"><!-- -->{{{group3}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list3style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list3}}}</div></td></tr>}}<!-- -->{{#if:{{{list4|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group4|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group4style|}}}"><!-- -->{{{group4}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list4style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list4}}}</div></td></tr>}}<!-- -->{{#if:{{{list5|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group5|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group5style|}}}"><!-- -->{{{group5}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list5style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list5}}}</div></td></tr>}}<!-- -->{{#if:{{{list6|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group6|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group6style|}}}"><!-- -->{{{group6}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list6style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list6}}}</div></td></tr>}}<!-- -->{{#if:{{{list7|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group7|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group7style|}}}"><!-- -->{{{group7}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list7style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list7}}}</div></td></tr>}}<!-- -->{{#if:{{{list8|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group8|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group8style|}}}"><!-- -->{{{group8}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list8style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list8}}}</div></td></tr>}}<!-- -->{{#if:{{{list9|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group9|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group9style|}}}"><!-- -->{{{group9}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list9style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list9}}}</div></td></tr>}}<!-- -->{{#if:{{{list10|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group10|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group10style|}}}"><!-- -->{{{group10}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list10style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list10}}}</div></td></tr>}}<!-- -->{{#if:{{{list11|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group11|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group11style|}}}"><!-- -->{{{group11}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list11style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list11}}}</div></td></tr>}}<!-- -->{{#if:{{{list12|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group12|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group12style|}}}"><!-- -->{{{group12}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list12style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list12}}}</div></td></tr>}}<!-- -->{{#if:{{{list13|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group13|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group13style|}}}"><!-- -->{{{group13}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list13style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list13}}}</div></td></tr>}}<!-- -->{{#if:{{{list14|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group14|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group14style|}}}"><!-- -->{{{group14}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list14style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list14}}}</div></td></tr>}}<!-- -->{{#if:{{{list15|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group15|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group15style|}}}"><!-- -->{{{group15}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list15style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list15}}}</div></td></tr>}}<!-- -->{{#if:{{{list16|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group16|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group16style|}}}"><!-- -->{{{group16}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list16style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list16}}}</div></td></tr>}}<!-- -->{{#if:{{{list17|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group17|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group17style|}}}"><!-- -->{{{group17}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list17style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list17}}}</div></td></tr>}}<!-- -->{{#if:{{{list18|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group18|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group18style|}}}"><!-- -->{{{group18}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list18style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list18}}}</div></td></tr>}}<!-- -->{{#if:{{{list19|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group19|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group19style|}}}"><!-- -->{{{group19}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list19style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list19}}}</div></td></tr>}}<!-- -->{{#if:{{{list20|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group20|}}}|<td class="navbox-group {{{groupclass|}}}" style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group20style|}}}"><!-- -->{{{group20}}}</td><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list20style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list20}}}</div></td></tr>}}<!-- ---Below--- -->{{#if:{{{below|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}{{{list3|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow {{{belowclass|}}}" style="{{{basestyle|}}};{{{belowstyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}"><div> {{{below}}}</div></td></tr>}}<!-- --></table>{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=<div>|none=|#default=</td></tr></table>}}<!-- --><noinclude> {{documentation}} <!-- Add categories and interwikis to the /doc subpage, not here! --> </noinclude> a34kodnj3i26pzhd40iif0rm56wxdyo 9789 9788 2011-12-07T11:50:56Z w>Edokter 0 Update from sandbox: groups are now headers with proper scopes; moved out inline CSS; several other small fixes. 9789 wikitext text/x-wiki <!-- Please do not edit without discussion first as this is a VERY complex template. -->{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=</div>|none=|#default=<table class="navbox" cellspacing="0" <!-- -->style="{{{bodystyle|}}};{{{style|}}}"><tr><td style="padding:2px;">}}<!-- --><table cellspacing="0" class="nowraplinks {{{bodyclass|}}} {{#if:{{{title|}}}|{{#switch:{{{state|}}}|plain|off=|<!-- -->#default=collapsible {{#if:{{{state|}}}|{{{state}}}|autocollapse}}}}}} {{#switch:{{{border|{{{1|}}}}}}|<!-- -->subgroup|child|none=navbox-subgroup" style="width:100%;{{{bodystyle|}}};{{{style|}}}|<!-- -->#default=" style="width:100%;background:transparent;color:inherit}};{{{innerstyle|}}};"><!-- ---Title and Navbar--- -->{{#if:{{{title|}}}|<tr>{{#if:{{{titlegroup|}}}|<!-- --><th scope="row" class="navbox-group {{{titlegroupclass|}}}" <!-- -->style="{{{basestyle|}}};{{{groupstyle|}}};{{{titlegroupstyle|}}}"><!-- -->{{{titlegroup|}}}</th><th scope="col" style="border-left:2px solid #fdfdfd;width:100%;|<!-- --><th scope="col" style="}}{{{basestyle|}}};{{{titlestyle|}}}" class="navbox-title" <!-- -->colspan={{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}{{#if:{{{titlegroup|}}}|-1}}}}><!-- -->{{#if:{{#switch:{{{navbar|}}}|plain|off=1}}<!-- -->{{#if:{{{name|}}}||{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=1}}}}|<!-- -->{{#ifeq:{{{navbar|}}}|off|{{#ifeq:{{{state|}}}|plain|<span style="float:right;width:6em;">&nbsp;</span>}}|<!-- -->{{#ifeq:{{{state|}}}|plain||<span style="float:left;width:6em;">&nbsp;</span>}}}}|<!-- -->{{#if:{{{name|}}}|{{Navbar/sandbox|{{{name}}}|mini=1|<!-- -->fontstyle={{{basestyle|}}};{{{titlestyle|}}};background:none transparent;border:none;}}|<!-- --><span class="error" style="float:left;white-space:nowrap;">Error: No name provided</span>}}<!-- -->{{#ifeq:{{{state|}}}|plain|<span style="float:right;width:6em;">&nbsp;</span>}}}}<!-- --><div class="{{{titleclass|}}}" style="font-size:110%;"> {{{title}}}</div></th></tr>}}<!-- ---Above--- -->{{#if:{{{above|}}}|<!-- -->{{#if:{{{title|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow {{{aboveclass|}}}" style="{{{basestyle|}}};{{{abovestyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}"><div> {{{above}}}</div></td></tr>}}<!-- ---Body--- ---First group/list and images--- -->{{#if:{{{list1|}}}|{{#if:{{{title|}}}{{{above|}}}|<tr style="height:2px;"><td></td></tr>}}<tr><!-- -->{{#if:{{{imageleft|}}}|<!-- --><td class="navbox-image {{{imageclass|}}}" style="width:0%;padding:0px 2px 0px 0px;{{{imageleftstyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><div> {{{imageleft}}}</div></td>}}<!-- -->{{#if:{{{group1|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group1style|}}}"><!-- -->{{{group1}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list1style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{list1padding|{{{listpadding|0em 0.25em}}}}}}"> {{{list1}}}</div></td><!-- -->{{#if:{{{image|}}}|<!-- --><td class="navbox-image {{{imageclass|}}}" style="width:0%;padding:0px 0px 0px 2px;{{{imagestyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><div> {{{image}}}</div></td>}}<!-- --></tr>}}<!-- ---Remaining groups/lists--- -->{{#if:{{{list2|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group2|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group2style|}}}"><!-- -->{{{group2}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list2style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list2}}}</div></td></tr>}}<!-- -->{{#if:{{{list3|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group3|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group3style|}}}"><!-- -->{{{group3}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list3style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list3}}}</div></td></tr>}}<!-- -->{{#if:{{{list4|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group4|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group4style|}}}"><!-- -->{{{group4}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list4style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list4}}}</div></td></tr>}}<!-- -->{{#if:{{{list5|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group5|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group5style|}}}"><!-- -->{{{group5}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list5style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list5}}}</div></td></tr>}}<!-- -->{{#if:{{{list6|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group6|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group6style|}}}"><!-- -->{{{group6}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list6style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list6}}}</div></td></tr>}}<!-- -->{{#if:{{{list7|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group7|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group7style|}}}"><!-- -->{{{group7}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list7style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list7}}}</div></td></tr>}}<!-- -->{{#if:{{{list8|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group8|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group8style|}}}"><!-- -->{{{group8}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list8style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list8}}}</div></td></tr>}}<!-- -->{{#if:{{{list9|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group9|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group9style|}}}"><!-- -->{{{group9}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list9style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list9}}}</div></td></tr>}}<!-- -->{{#if:{{{list10|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group10|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group10style|}}}"><!-- -->{{{group10}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list10style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list10}}}</div></td></tr>}}<!-- -->{{#if:{{{list11|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group11|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group11style|}}}"><!-- -->{{{group11}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list11style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list11}}}</div></td></tr>}}<!-- -->{{#if:{{{list12|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group12|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group12style|}}}"><!-- -->{{{group12}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list12style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list12}}}</div></td></tr>}}<!-- -->{{#if:{{{list13|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group13|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group13style|}}}"><!-- -->{{{group13}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list13style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list13}}}</div></td></tr>}}<!-- -->{{#if:{{{list14|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group14|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group14style|}}}"><!-- -->{{{group14}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list14style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list14}}}</div></td></tr>}}<!-- -->{{#if:{{{list15|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group15|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group15style|}}}"><!-- -->{{{group15}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list15style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list15}}}</div></td></tr>}}<!-- -->{{#if:{{{list16|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group16|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group16style|}}}"><!-- -->{{{group16}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list16style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list16}}}</div></td></tr>}}<!-- -->{{#if:{{{list17|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group17|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group17style|}}}"><!-- -->{{{group17}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list17style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list17}}}</div></td></tr>}}<!-- -->{{#if:{{{list18|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group18|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group18style|}}}"><!-- -->{{{group18}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list18style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list18}}}</div></td></tr>}}<!-- -->{{#if:{{{list19|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group19|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group19style|}}}"><!-- -->{{{group19}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list19style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list19}}}</div></td></tr>}}<!-- -->{{#if:{{{list20|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group20|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group20style|}}}"><!-- -->{{{group20}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list20style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list20}}}</div></td></tr>}}<!-- ---Below--- -->{{#if:{{{below|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}{{{list3|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow {{{belowclass|}}}" style="{{{basestyle|}}};{{{belowstyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}"><div> {{{below}}}</div></td></tr>}}<!-- --></table>{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=<div>|none=|#default=</td></tr></table>}}<!-- --><noinclude> {{documentation}} <!-- Add categories and interwikis to the /doc subpage, not here! --> </noinclude> 80kddoltcdmw498rz7wkhov55vuqwat 9790 9789 2011-12-07T12:46:10Z w>Edokter 0 Fix navbar link (should not have caused any trouble) 9790 wikitext text/x-wiki <!-- Please do not edit without discussion first as this is a VERY complex template. -->{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=</div>|none=|#default=<table class="navbox" cellspacing="0" <!-- -->style="{{{bodystyle|}}};{{{style|}}}"><tr><td style="padding:2px;">}}<!-- --><table cellspacing="0" class="nowraplinks {{{bodyclass|}}} {{#if:{{{title|}}}|{{#switch:{{{state|}}}|plain|off=|<!-- -->#default=collapsible {{#if:{{{state|}}}|{{{state}}}|autocollapse}}}}}} {{#switch:{{{border|{{{1|}}}}}}|<!-- -->subgroup|child|none=navbox-subgroup" style="width:100%;{{{bodystyle|}}};{{{style|}}}|<!-- -->#default=" style="width:100%;background:transparent;color:inherit}};{{{innerstyle|}}};"><!-- ---Title and Navbar--- -->{{#if:{{{title|}}}|<tr>{{#if:{{{titlegroup|}}}|<!-- --><th scope="row" class="navbox-group {{{titlegroupclass|}}}" <!-- -->style="{{{basestyle|}}};{{{groupstyle|}}};{{{titlegroupstyle|}}}"><!-- -->{{{titlegroup|}}}</th><th scope="col" style="border-left:2px solid #fdfdfd;width:100%;|<!-- --><th scope="col" style="}}{{{basestyle|}}};{{{titlestyle|}}}" class="navbox-title" <!-- -->colspan={{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}{{#if:{{{titlegroup|}}}|-1}}}}><!-- -->{{#if:{{#switch:{{{navbar|}}}|plain|off=1}}<!-- -->{{#if:{{{name|}}}||{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=1}}}}|<!-- -->{{#ifeq:{{{navbar|}}}|off|{{#ifeq:{{{state|}}}|plain|<span style="float:right;width:6em;">&nbsp;</span>}}|<!-- -->{{#ifeq:{{{state|}}}|plain||<span style="float:left;width:6em;">&nbsp;</span>}}}}|<!-- -->{{#if:{{{name|}}}|{{Navbar|{{{name}}}|mini=1|<!-- -->fontstyle={{{basestyle|}}};{{{titlestyle|}}};background:none transparent;border:none;}}|<!-- --><span class="error" style="float:left;white-space:nowrap;">Error: No name provided</span>}}<!-- -->{{#ifeq:{{{state|}}}|plain|<span style="float:right;width:6em;">&nbsp;</span>}}}}<!-- --><div class="{{{titleclass|}}}" style="font-size:110%;"> {{{title}}}</div></th></tr>}}<!-- ---Above--- -->{{#if:{{{above|}}}|<!-- -->{{#if:{{{title|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow {{{aboveclass|}}}" style="{{{basestyle|}}};{{{abovestyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}"><div> {{{above}}}</div></td></tr>}}<!-- ---Body--- ---First group/list and images--- -->{{#if:{{{list1|}}}|{{#if:{{{title|}}}{{{above|}}}|<tr style="height:2px;"><td></td></tr>}}<tr><!-- -->{{#if:{{{imageleft|}}}|<!-- --><td class="navbox-image {{{imageclass|}}}" style="width:0%;padding:0px 2px 0px 0px;{{{imageleftstyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><div> {{{imageleft}}}</div></td>}}<!-- -->{{#if:{{{group1|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group1style|}}}"><!-- -->{{{group1}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list1style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{list1padding|{{{listpadding|0em 0.25em}}}}}}"> {{{list1}}}</div></td><!-- -->{{#if:{{{image|}}}|<!-- --><td class="navbox-image {{{imageclass|}}}" style="width:0%;padding:0px 0px 0px 2px;{{{imagestyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><div> {{{image}}}</div></td>}}<!-- --></tr>}}<!-- ---Remaining groups/lists--- -->{{#if:{{{list2|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group2|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group2style|}}}"><!-- -->{{{group2}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list2style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list2}}}</div></td></tr>}}<!-- -->{{#if:{{{list3|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group3|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group3style|}}}"><!-- -->{{{group3}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list3style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list3}}}</div></td></tr>}}<!-- -->{{#if:{{{list4|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group4|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group4style|}}}"><!-- -->{{{group4}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list4style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list4}}}</div></td></tr>}}<!-- -->{{#if:{{{list5|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group5|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group5style|}}}"><!-- -->{{{group5}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list5style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list5}}}</div></td></tr>}}<!-- -->{{#if:{{{list6|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group6|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group6style|}}}"><!-- -->{{{group6}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list6style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list6}}}</div></td></tr>}}<!-- -->{{#if:{{{list7|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group7|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group7style|}}}"><!-- -->{{{group7}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list7style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list7}}}</div></td></tr>}}<!-- -->{{#if:{{{list8|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group8|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group8style|}}}"><!-- -->{{{group8}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list8style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list8}}}</div></td></tr>}}<!-- -->{{#if:{{{list9|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group9|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group9style|}}}"><!-- -->{{{group9}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list9style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list9}}}</div></td></tr>}}<!-- -->{{#if:{{{list10|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group10|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group10style|}}}"><!-- -->{{{group10}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list10style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list10}}}</div></td></tr>}}<!-- -->{{#if:{{{list11|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group11|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group11style|}}}"><!-- -->{{{group11}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list11style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list11}}}</div></td></tr>}}<!-- -->{{#if:{{{list12|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group12|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group12style|}}}"><!-- -->{{{group12}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list12style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list12}}}</div></td></tr>}}<!-- -->{{#if:{{{list13|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group13|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group13style|}}}"><!-- -->{{{group13}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list13style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list13}}}</div></td></tr>}}<!-- -->{{#if:{{{list14|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group14|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group14style|}}}"><!-- -->{{{group14}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list14style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list14}}}</div></td></tr>}}<!-- -->{{#if:{{{list15|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group15|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group15style|}}}"><!-- -->{{{group15}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list15style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list15}}}</div></td></tr>}}<!-- -->{{#if:{{{list16|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group16|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group16style|}}}"><!-- -->{{{group16}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list16style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list16}}}</div></td></tr>}}<!-- -->{{#if:{{{list17|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group17|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group17style|}}}"><!-- -->{{{group17}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list17style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list17}}}</div></td></tr>}}<!-- -->{{#if:{{{list18|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group18|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group18style|}}}"><!-- -->{{{group18}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list18style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list18}}}</div></td></tr>}}<!-- -->{{#if:{{{list19|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group19|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group19style|}}}"><!-- -->{{{group19}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list19style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list19}}}</div></td></tr>}}<!-- -->{{#if:{{{list20|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group20|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group20style|}}}"><!-- -->{{{group20}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list20style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list20}}}</div></td></tr>}}<!-- ---Below--- -->{{#if:{{{below|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}{{{list3|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow {{{belowclass|}}}" style="{{{basestyle|}}};{{{belowstyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}"><div> {{{below}}}</div></td></tr>}}<!-- --></table>{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=<div>|none=|#default=</td></tr></table>}}<!-- --><noinclude> {{documentation}} <!-- Add categories and interwikis to the /doc subpage, not here! --> </noinclude> cjklrqthmkpufqj4c3k7fhd9ad2398n 9791 9790 2012-01-15T11:52:03Z w>Edokter 0 Move some CSS to common.css 9791 wikitext text/x-wiki <!-- Please do not edit without discussion first as this is a VERY complex template. -->{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=</div>|none=|#default=<table cellspacing="0" <!-- -->class="navbox" style="{{{bodystyle|}}};{{{style|}}}"><tr><td style="padding:2px;">}}<!-- --><table cellspacing="0" class="nowraplinks {{{bodyclass|}}} {{#if:{{{title|}}}|<!-- -->{{#switch:{{{state|}}}|plain|off=|#default=collapsible {{#if:{{{state|}}}|{{{state}}}|autocollapse}}}}}} <!-- -->{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=navbox-subgroup" style="{{{bodystyle|}}};{{{style|}}}|<!-- -->#default=navbox-inner" style="background:transparent;color:inherit}};{{{innerstyle|}}};"><!-- ---Title and Navbar--- -->{{#if:{{{title|}}}|<tr>{{#if:{{{titlegroup|}}}|<!-- --><th scope="row" class="navbox-group {{{titlegroupclass|}}}" <!-- -->style="{{{basestyle|}}};{{{groupstyle|}}};{{{titlegroupstyle|}}}"><!-- -->{{{titlegroup|}}}</th><th scope="col" style="border-left:2px solid #fdfdfd;width:100%;|<!-- --><th scope="col" style="}}{{{basestyle|}}};{{{titlestyle|}}}" class="navbox-title" <!-- -->colspan={{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}{{#if:{{{titlegroup|}}}|-1}}}}><!-- -->{{#if:{{#switch:{{{navbar|}}}|plain|off=1}}<!-- -->{{#if:{{{name|}}}||{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=1}}}}|<!-- -->{{#ifeq:{{{navbar|}}}|off|{{#ifeq:{{{state|}}}|plain|<span style="float:right;width:6em;">&nbsp;</span>}}|<!-- -->{{#ifeq:{{{state|}}}|plain||<span style="float:left;width:6em;">&nbsp;</span>}}}}|<!-- -->{{#if:{{{name|}}}|{{Navbar|{{{name}}}|mini=1|<!-- -->fontstyle={{{basestyle|}}};{{{titlestyle|}}};background:none transparent;border:none;}}|<!-- --><span class="error" style="float:left;white-space:nowrap;">Error: No name provided</span>}}<!-- -->{{#ifeq:{{{state|}}}|plain|<span style="float:right;width:6em;">&nbsp;</span>}}}}<!-- --><div class="{{{titleclass|}}}" style="font-size:110%;"> {{{title}}}</div></th></tr>}}<!-- ---Above--- -->{{#if:{{{above|}}}|<!-- -->{{#if:{{{title|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow {{{aboveclass|}}}" style="{{{basestyle|}}};{{{abovestyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}"><div> {{{above}}}</div></td></tr>}}<!-- ---Body--- ---First group/list and images--- -->{{#if:{{{list1|}}}|{{#if:{{{title|}}}{{{above|}}}|<tr style="height:2px;"><td></td></tr>}}<tr><!-- -->{{#if:{{{imageleft|}}}|<!-- --><td class="navbox-image {{{imageclass|}}}" style="width:0%;padding:0px 2px 0px 0px;{{{imageleftstyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><div> {{{imageleft}}}</div></td>}}<!-- -->{{#if:{{{group1|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group1style|}}}"><!-- -->{{{group1}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list1style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{list1padding|{{{listpadding|0em 0.25em}}}}}}"> {{{list1}}}</div></td><!-- -->{{#if:{{{image|}}}|<!-- --><td class="navbox-image {{{imageclass|}}}" style="width:0%;padding:0px 0px 0px 2px;{{{imagestyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><div> {{{image}}}</div></td>}}<!-- --></tr>}}<!-- ---Remaining groups/lists--- -->{{#if:{{{list2|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group2|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group2style|}}}"><!-- -->{{{group2}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list2style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list2}}}</div></td></tr>}}<!-- -->{{#if:{{{list3|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group3|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group3style|}}}"><!-- -->{{{group3}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list3style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list3}}}</div></td></tr>}}<!-- -->{{#if:{{{list4|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group4|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group4style|}}}"><!-- -->{{{group4}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list4style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list4}}}</div></td></tr>}}<!-- -->{{#if:{{{list5|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group5|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group5style|}}}"><!-- -->{{{group5}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list5style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list5}}}</div></td></tr>}}<!-- -->{{#if:{{{list6|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group6|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group6style|}}}"><!-- -->{{{group6}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list6style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list6}}}</div></td></tr>}}<!-- -->{{#if:{{{list7|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group7|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group7style|}}}"><!-- -->{{{group7}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list7style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list7}}}</div></td></tr>}}<!-- -->{{#if:{{{list8|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group8|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group8style|}}}"><!-- -->{{{group8}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list8style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list8}}}</div></td></tr>}}<!-- -->{{#if:{{{list9|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group9|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group9style|}}}"><!-- -->{{{group9}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list9style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list9}}}</div></td></tr>}}<!-- -->{{#if:{{{list10|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group10|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group10style|}}}"><!-- -->{{{group10}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list10style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list10}}}</div></td></tr>}}<!-- -->{{#if:{{{list11|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group11|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group11style|}}}"><!-- -->{{{group11}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list11style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list11}}}</div></td></tr>}}<!-- -->{{#if:{{{list12|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group12|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group12style|}}}"><!-- -->{{{group12}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list12style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list12}}}</div></td></tr>}}<!-- -->{{#if:{{{list13|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group13|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group13style|}}}"><!-- -->{{{group13}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list13style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list13}}}</div></td></tr>}}<!-- -->{{#if:{{{list14|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group14|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group14style|}}}"><!-- -->{{{group14}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list14style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list14}}}</div></td></tr>}}<!-- -->{{#if:{{{list15|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group15|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group15style|}}}"><!-- -->{{{group15}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list15style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list15}}}</div></td></tr>}}<!-- -->{{#if:{{{list16|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group16|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group16style|}}}"><!-- -->{{{group16}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list16style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list16}}}</div></td></tr>}}<!-- -->{{#if:{{{list17|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group17|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group17style|}}}"><!-- -->{{{group17}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list17style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list17}}}</div></td></tr>}}<!-- -->{{#if:{{{list18|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group18|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group18style|}}}"><!-- -->{{{group18}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list18style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list18}}}</div></td></tr>}}<!-- -->{{#if:{{{list19|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group19|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group19style|}}}"><!-- -->{{{group19}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list19style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list19}}}</div></td></tr>}}<!-- -->{{#if:{{{list20|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group20|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group20style|}}}"><!-- -->{{{group20}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list20style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list20}}}</div></td></tr>}}<!-- ---Below--- -->{{#if:{{{below|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}{{{list3|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow {{{belowclass|}}}" style="{{{basestyle|}}};{{{belowstyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}"><div> {{{below}}}</div></td></tr>}}<!-- --></table>{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=<div>|none=|#default=</td></tr></table>}}<!-- --><noinclude> {{documentation}} <!-- Add categories and interwikis to the /doc subpage, not here! --> </noinclude> amcp3l6n5a6jg5mvkzioi1vmrwt3as1 9792 9791 2012-01-15T12:54:42Z w>Edokter 0 Other tables with navbox class need border spacing 9792 wikitext text/x-wiki <!-- Please do not edit without discussion first as this is a VERY complex template. -->{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=</div>|none=|#default=<table cellspacing="0" <!-- -->class="navbox" style="border-spacing:0;{{{bodystyle|}}};{{{style|}}}"><tr><td style="padding:2px;">}}<!-- --><table cellspacing="0" class="nowraplinks {{{bodyclass|}}} {{#if:{{{title|}}}|{{#switch:{{{state|}}}|<!-- -->plain|off=|#default=collapsible {{#if:{{{state|}}}|{{{state}}}|autocollapse}}}}}} {{#switch:{{{border|{{{1|}}}}}}|<!-- -->subgroup|child|none=navbox-subgroup" style="border-spacing:0;{{{bodystyle|}}};{{{style|}}}|<!-- -->#default=navbox-inner" style="border-spacing:0;background:transparent;color:inherit}};{{{innerstyle|}}};"><!-- ---Title and Navbar--- -->{{#if:{{{title|}}}|<tr>{{#if:{{{titlegroup|}}}|<!-- --><th scope="row" class="navbox-group {{{titlegroupclass|}}}" <!-- -->style="{{{basestyle|}}};{{{groupstyle|}}};{{{titlegroupstyle|}}}"><!-- -->{{{titlegroup|}}}</th><th scope="col" style="border-left:2px solid #fdfdfd;width:100%;|<!-- --><th scope="col" style="}}{{{basestyle|}}};{{{titlestyle|}}}" class="navbox-title" <!-- -->colspan={{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}{{#if:{{{titlegroup|}}}|-1}}}}><!-- -->{{#if:{{#switch:{{{navbar|}}}|plain|off=1}}<!-- -->{{#if:{{{name|}}}||{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=1}}}}|<!-- -->{{#ifeq:{{{navbar|}}}|off|{{#ifeq:{{{state|}}}|plain|<span style="float:right;width:6em;">&nbsp;</span>}}|<!-- -->{{#ifeq:{{{state|}}}|plain||<span style="float:left;width:6em;">&nbsp;</span>}}}}|<!-- -->{{#if:{{{name|}}}|{{Navbar|{{{name}}}|mini=1|<!-- -->fontstyle={{{basestyle|}}};{{{titlestyle|}}};background:none transparent;border:none;}}|<!-- --><span class="error" style="float:left;white-space:nowrap;">Error: No name provided</span>}}<!-- -->{{#ifeq:{{{state|}}}|plain|<span style="float:right;width:6em;">&nbsp;</span>}}}}<!-- --><div class="{{{titleclass|}}}" style="font-size:110%;"> {{{title}}}</div></th></tr>}}<!-- ---Above--- -->{{#if:{{{above|}}}|<!-- -->{{#if:{{{title|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow {{{aboveclass|}}}" style="{{{basestyle|}}};{{{abovestyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}"><div> {{{above}}}</div></td></tr>}}<!-- ---Body--- ---First group/list and images--- -->{{#if:{{{list1|}}}|{{#if:{{{title|}}}{{{above|}}}|<tr style="height:2px;"><td></td></tr>}}<tr><!-- -->{{#if:{{{imageleft|}}}|<!-- --><td class="navbox-image {{{imageclass|}}}" style="width:0%;padding:0px 2px 0px 0px;{{{imageleftstyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><div> {{{imageleft}}}</div></td>}}<!-- -->{{#if:{{{group1|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group1style|}}}"><!-- -->{{{group1}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list1style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{list1padding|{{{listpadding|0em 0.25em}}}}}}"> {{{list1}}}</div></td><!-- -->{{#if:{{{image|}}}|<!-- --><td class="navbox-image {{{imageclass|}}}" style="width:0%;padding:0px 0px 0px 2px;{{{imagestyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><div> {{{image}}}</div></td>}}<!-- --></tr>}}<!-- ---Remaining groups/lists--- -->{{#if:{{{list2|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group2|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group2style|}}}"><!-- -->{{{group2}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list2style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list2}}}</div></td></tr>}}<!-- -->{{#if:{{{list3|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group3|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group3style|}}}"><!-- -->{{{group3}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list3style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list3}}}</div></td></tr>}}<!-- -->{{#if:{{{list4|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group4|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group4style|}}}"><!-- -->{{{group4}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list4style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list4}}}</div></td></tr>}}<!-- -->{{#if:{{{list5|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group5|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group5style|}}}"><!-- -->{{{group5}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list5style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list5}}}</div></td></tr>}}<!-- -->{{#if:{{{list6|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group6|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group6style|}}}"><!-- -->{{{group6}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list6style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list6}}}</div></td></tr>}}<!-- -->{{#if:{{{list7|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group7|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group7style|}}}"><!-- -->{{{group7}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list7style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list7}}}</div></td></tr>}}<!-- -->{{#if:{{{list8|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group8|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group8style|}}}"><!-- -->{{{group8}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list8style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list8}}}</div></td></tr>}}<!-- -->{{#if:{{{list9|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group9|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group9style|}}}"><!-- -->{{{group9}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list9style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list9}}}</div></td></tr>}}<!-- -->{{#if:{{{list10|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group10|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group10style|}}}"><!-- -->{{{group10}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list10style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list10}}}</div></td></tr>}}<!-- -->{{#if:{{{list11|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group11|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group11style|}}}"><!-- -->{{{group11}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list11style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list11}}}</div></td></tr>}}<!-- -->{{#if:{{{list12|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group12|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group12style|}}}"><!-- -->{{{group12}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list12style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list12}}}</div></td></tr>}}<!-- -->{{#if:{{{list13|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group13|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group13style|}}}"><!-- -->{{{group13}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list13style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list13}}}</div></td></tr>}}<!-- -->{{#if:{{{list14|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group14|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group14style|}}}"><!-- -->{{{group14}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list14style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list14}}}</div></td></tr>}}<!-- -->{{#if:{{{list15|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group15|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group15style|}}}"><!-- -->{{{group15}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list15style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list15}}}</div></td></tr>}}<!-- -->{{#if:{{{list16|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group16|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group16style|}}}"><!-- -->{{{group16}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list16style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list16}}}</div></td></tr>}}<!-- -->{{#if:{{{list17|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group17|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group17style|}}}"><!-- -->{{{group17}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list17style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list17}}}</div></td></tr>}}<!-- -->{{#if:{{{list18|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group18|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group18style|}}}"><!-- -->{{{group18}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list18style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list18}}}</div></td></tr>}}<!-- -->{{#if:{{{list19|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group19|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group19style|}}}"><!-- -->{{{group19}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list19style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list19}}}</div></td></tr>}}<!-- -->{{#if:{{{list20|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group20|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group20style|}}}"><!-- -->{{{group20}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list20style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list20}}}</div></td></tr>}}<!-- ---Below--- -->{{#if:{{{below|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}{{{list3|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow {{{belowclass|}}}" style="{{{basestyle|}}};{{{belowstyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}"><div> {{{below}}}</div></td></tr>}}<!-- --></table>{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=<div>|none=|#default=</td></tr></table>}}<!-- --><noinclude> {{documentation}} <!-- Add categories and interwikis to the /doc subpage, not here! --> </noinclude> qk8xrrkz4usykcix8ovihe3m65d5x70 9793 9792 2012-03-04T10:55:54Z w>WOSlinker 0 add tracking for hlists and padding 9793 wikitext text/x-wiki <!-- Please do not edit without discussion first as this is a VERY complex template. -->{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=</div>|none=|#default=<table cellspacing="0" <!-- -->class="navbox" style="border-spacing:0;{{{bodystyle|}}};{{{style|}}}"><tr><td style="padding:2px;">}}<!-- --><table cellspacing="0" class="nowraplinks {{{bodyclass|}}} {{#if:{{{title|}}}|{{#switch:{{{state|}}}|<!-- -->plain|off=|#default=collapsible {{#if:{{{state|}}}|{{{state}}}|autocollapse}}}}}} {{#switch:{{{border|{{{1|}}}}}}|<!-- -->subgroup|child|none=navbox-subgroup" style="border-spacing:0;{{{bodystyle|}}};{{{style|}}}|<!-- -->#default=navbox-inner" style="border-spacing:0;background:transparent;color:inherit}};{{{innerstyle|}}};"><!-- ---Title and Navbar--- -->{{#if:{{{title|}}}|<tr>{{#if:{{{titlegroup|}}}|<!-- --><th scope="row" class="navbox-group {{{titlegroupclass|}}}" <!-- -->style="{{{basestyle|}}};{{{groupstyle|}}};{{{titlegroupstyle|}}}"><!-- -->{{{titlegroup|}}}</th><th scope="col" style="border-left:2px solid #fdfdfd;width:100%;|<!-- --><th scope="col" style="}}{{{basestyle|}}};{{{titlestyle|}}}" class="navbox-title" <!-- -->colspan={{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}{{#if:{{{titlegroup|}}}|-1}}}}><!-- -->{{#if:{{#switch:{{{navbar|}}}|plain|off=1}}<!-- -->{{#if:{{{name|}}}||{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=1}}}}|<!-- -->{{#ifeq:{{{navbar|}}}|off|{{#ifeq:{{{state|}}}|plain|<span style="float:right;width:6em;">&nbsp;</span>}}|<!-- -->{{#ifeq:{{{state|}}}|plain||<span style="float:left;width:6em;">&nbsp;</span>}}}}|<!-- -->{{#if:{{{name|}}}|{{Navbar|{{{name}}}|mini=1|<!-- -->fontstyle={{{basestyle|}}};{{{titlestyle|}}};background:none transparent;border:none;}}|<!-- --><span class="error" style="float:left;white-space:nowrap;">Error: No name provided</span>}}<!-- -->{{#ifeq:{{{state|}}}|plain|<span style="float:right;width:6em;">&nbsp;</span>}}}}<!-- --><div class="{{{titleclass|}}}" style="font-size:110%;"> {{{title}}}</div></th></tr>}}<!-- ---Above--- -->{{#if:{{{above|}}}|<!-- -->{{#if:{{{title|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow {{{aboveclass|}}}" style="{{{basestyle|}}};{{{abovestyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}"><div> {{{above}}}</div></td></tr>}}<!-- ---Body--- ---First group/list and images--- -->{{#if:{{{list1|}}}|{{#if:{{{title|}}}{{{above|}}}|<tr style="height:2px;"><td></td></tr>}}<tr><!-- -->{{#if:{{{imageleft|}}}|<!-- --><td class="navbox-image {{{imageclass|}}}" style="width:0%;padding:0px 2px 0px 0px;{{{imageleftstyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><div> {{{imageleft}}}</div></td>}}<!-- -->{{#if:{{{group1|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group1style|}}}"><!-- -->{{{group1}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list1style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{list1padding|{{{listpadding|0em 0.25em}}}}}}"> {{{list1}}}</div></td><!-- -->{{#if:{{{image|}}}|<!-- --><td class="navbox-image {{{imageclass|}}}" style="width:0%;padding:0px 0px 0px 2px;{{{imagestyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><div> {{{image}}}</div></td>}}<!-- --></tr>}}<!-- ---Remaining groups/lists--- -->{{#if:{{{list2|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group2|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group2style|}}}"><!-- -->{{{group2}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list2style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list2}}}</div></td></tr>}}<!-- -->{{#if:{{{list3|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group3|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group3style|}}}"><!-- -->{{{group3}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list3style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list3}}}</div></td></tr>}}<!-- -->{{#if:{{{list4|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group4|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group4style|}}}"><!-- -->{{{group4}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list4style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list4}}}</div></td></tr>}}<!-- -->{{#if:{{{list5|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group5|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group5style|}}}"><!-- -->{{{group5}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list5style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list5}}}</div></td></tr>}}<!-- -->{{#if:{{{list6|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group6|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group6style|}}}"><!-- -->{{{group6}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list6style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list6}}}</div></td></tr>}}<!-- -->{{#if:{{{list7|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group7|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group7style|}}}"><!-- -->{{{group7}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list7style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list7}}}</div></td></tr>}}<!-- -->{{#if:{{{list8|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group8|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group8style|}}}"><!-- -->{{{group8}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list8style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list8}}}</div></td></tr>}}<!-- -->{{#if:{{{list9|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group9|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group9style|}}}"><!-- -->{{{group9}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list9style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list9}}}</div></td></tr>}}<!-- -->{{#if:{{{list10|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group10|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group10style|}}}"><!-- -->{{{group10}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list10style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list10}}}</div></td></tr>}}<!-- -->{{#if:{{{list11|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group11|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group11style|}}}"><!-- -->{{{group11}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list11style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list11}}}</div></td></tr>}}<!-- -->{{#if:{{{list12|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group12|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group12style|}}}"><!-- -->{{{group12}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list12style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list12}}}</div></td></tr>}}<!-- -->{{#if:{{{list13|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group13|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group13style|}}}"><!-- -->{{{group13}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list13style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list13}}}</div></td></tr>}}<!-- -->{{#if:{{{list14|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group14|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group14style|}}}"><!-- -->{{{group14}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list14style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list14}}}</div></td></tr>}}<!-- -->{{#if:{{{list15|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group15|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group15style|}}}"><!-- -->{{{group15}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list15style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list15}}}</div></td></tr>}}<!-- -->{{#if:{{{list16|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group16|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group16style|}}}"><!-- -->{{{group16}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list16style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list16}}}</div></td></tr>}}<!-- -->{{#if:{{{list17|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group17|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group17style|}}}"><!-- -->{{{group17}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list17style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list17}}}</div></td></tr>}}<!-- -->{{#if:{{{list18|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group18|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group18style|}}}"><!-- -->{{{group18}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list18style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list18}}}</div></td></tr>}}<!-- -->{{#if:{{{list19|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group19|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group19style|}}}"><!-- -->{{{group19}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list19style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list19}}}</div></td></tr>}}<!-- -->{{#if:{{{list20|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group20|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group20style|}}}"><!-- -->{{{group20}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list20style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list20}}}</div></td></tr>}}<!-- ---Below--- -->{{#if:{{{below|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}{{{list3|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow {{{belowclass|}}}" style="{{{basestyle|}}};{{{belowstyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}"><div> {{{below}}}</div></td></tr>}}<!-- --></table>{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=<div>|none=|#default=</td></tr></table>}}<!-- -->{{#ifeq:{{NAMESPACE}}|{{ns:10}}|{{#ifeq:{{{border|{{{1|}}}}}}|child||{{#switch:{{lc:{{SUBPAGENAME}}}} |sandbox |testcases = |#default = {{#switch:{{{bodyclass|}}} |hlist |hlist vcard |vcard hlist = |#default = {{#switch:{{{listclass|}}} |hlist |hlist vcard |vcard hlist = |#default = [[Category:Navigational boxes without horizontal lists]] }} }} }} }}}}<!-- -->{{#switch:{{lc:{{SUBPAGENAME}}}} |sandbox |testcases = |#default = {{#switch:{{{liststyle|}}} |line-height:1.4em; |line-height:1.5em; |padding:0.25em 0; line-height:1.4em; = [[Category:Navigational boxes with custom list spacing]] |#default = }} }}<noinclude> {{documentation}} <!-- Add categories and interwikis to the /doc subpage, not here! --> </noinclude> 4y5lcutfyuzwcdd0u8jig3x6xkxoqeq 9794 9793 2012-03-04T10:56:50Z w>WOSlinker 0 add tracking for hlists and padding 9794 wikitext text/x-wiki <!-- Please do not edit without discussion first as this is a VERY complex template. -->{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=</div>|none=|#default=<table cellspacing="0" <!-- -->class="navbox" style="border-spacing:0;{{{bodystyle|}}};{{{style|}}}"><tr><td style="padding:2px;">}}<!-- --><table cellspacing="0" class="nowraplinks {{{bodyclass|}}} {{#if:{{{title|}}}|{{#switch:{{{state|}}}|<!-- -->plain|off=|#default=collapsible {{#if:{{{state|}}}|{{{state}}}|autocollapse}}}}}} {{#switch:{{{border|{{{1|}}}}}}|<!-- -->subgroup|child|none=navbox-subgroup" style="border-spacing:0;{{{bodystyle|}}};{{{style|}}}|<!-- -->#default=navbox-inner" style="border-spacing:0;background:transparent;color:inherit}};{{{innerstyle|}}};"><!-- ---Title and Navbar--- -->{{#if:{{{title|}}}|<tr>{{#if:{{{titlegroup|}}}|<!-- --><th scope="row" class="navbox-group {{{titlegroupclass|}}}" <!-- -->style="{{{basestyle|}}};{{{groupstyle|}}};{{{titlegroupstyle|}}}"><!-- -->{{{titlegroup|}}}</th><th scope="col" style="border-left:2px solid #fdfdfd;width:100%;|<!-- --><th scope="col" style="}}{{{basestyle|}}};{{{titlestyle|}}}" class="navbox-title" <!-- -->colspan={{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}{{#if:{{{titlegroup|}}}|-1}}}}><!-- -->{{#if:{{#switch:{{{navbar|}}}|plain|off=1}}<!-- -->{{#if:{{{name|}}}||{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=1}}}}|<!-- -->{{#ifeq:{{{navbar|}}}|off|{{#ifeq:{{{state|}}}|plain|<span style="float:right;width:6em;">&nbsp;</span>}}|<!-- -->{{#ifeq:{{{state|}}}|plain||<span style="float:left;width:6em;">&nbsp;</span>}}}}|<!-- -->{{#if:{{{name|}}}|{{Navbar|{{{name}}}|mini=1|<!-- -->fontstyle={{{basestyle|}}};{{{titlestyle|}}};background:none transparent;border:none;}}|<!-- --><span class="error" style="float:left;white-space:nowrap;">Error: No name provided</span>}}<!-- -->{{#ifeq:{{{state|}}}|plain|<span style="float:right;width:6em;">&nbsp;</span>}}}}<!-- --><div class="{{{titleclass|}}}" style="font-size:110%;"> {{{title}}}</div></th></tr>}}<!-- ---Above--- -->{{#if:{{{above|}}}|<!-- -->{{#if:{{{title|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow {{{aboveclass|}}}" style="{{{basestyle|}}};{{{abovestyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}"><div> {{{above}}}</div></td></tr>}}<!-- ---Body--- ---First group/list and images--- -->{{#if:{{{list1|}}}|{{#if:{{{title|}}}{{{above|}}}|<tr style="height:2px;"><td></td></tr>}}<tr><!-- -->{{#if:{{{imageleft|}}}|<!-- --><td class="navbox-image {{{imageclass|}}}" style="width:0%;padding:0px 2px 0px 0px;{{{imageleftstyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><div> {{{imageleft}}}</div></td>}}<!-- -->{{#if:{{{group1|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group1style|}}}"><!-- -->{{{group1}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list1style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{list1padding|{{{listpadding|0em 0.25em}}}}}}"> {{{list1}}}</div></td><!-- -->{{#if:{{{image|}}}|<!-- --><td class="navbox-image {{{imageclass|}}}" style="width:0%;padding:0px 0px 0px 2px;{{{imagestyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><div> {{{image}}}</div></td>}}<!-- --></tr>}}<!-- ---Remaining groups/lists--- -->{{#if:{{{list2|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group2|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group2style|}}}"><!-- -->{{{group2}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list2style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list2}}}</div></td></tr>}}<!-- -->{{#if:{{{list3|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group3|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group3style|}}}"><!-- -->{{{group3}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list3style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list3}}}</div></td></tr>}}<!-- -->{{#if:{{{list4|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group4|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group4style|}}}"><!-- -->{{{group4}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list4style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list4}}}</div></td></tr>}}<!-- -->{{#if:{{{list5|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group5|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group5style|}}}"><!-- -->{{{group5}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list5style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list5}}}</div></td></tr>}}<!-- -->{{#if:{{{list6|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group6|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group6style|}}}"><!-- -->{{{group6}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list6style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list6}}}</div></td></tr>}}<!-- -->{{#if:{{{list7|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group7|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group7style|}}}"><!-- -->{{{group7}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list7style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list7}}}</div></td></tr>}}<!-- -->{{#if:{{{list8|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group8|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group8style|}}}"><!-- -->{{{group8}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list8style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list8}}}</div></td></tr>}}<!-- -->{{#if:{{{list9|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group9|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group9style|}}}"><!-- -->{{{group9}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list9style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list9}}}</div></td></tr>}}<!-- -->{{#if:{{{list10|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group10|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group10style|}}}"><!-- -->{{{group10}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list10style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list10}}}</div></td></tr>}}<!-- -->{{#if:{{{list11|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group11|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group11style|}}}"><!-- -->{{{group11}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list11style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list11}}}</div></td></tr>}}<!-- -->{{#if:{{{list12|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group12|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group12style|}}}"><!-- -->{{{group12}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list12style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list12}}}</div></td></tr>}}<!-- -->{{#if:{{{list13|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group13|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group13style|}}}"><!-- -->{{{group13}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list13style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list13}}}</div></td></tr>}}<!-- -->{{#if:{{{list14|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group14|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group14style|}}}"><!-- -->{{{group14}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list14style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list14}}}</div></td></tr>}}<!-- -->{{#if:{{{list15|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group15|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group15style|}}}"><!-- -->{{{group15}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list15style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list15}}}</div></td></tr>}}<!-- -->{{#if:{{{list16|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group16|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group16style|}}}"><!-- -->{{{group16}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list16style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list16}}}</div></td></tr>}}<!-- -->{{#if:{{{list17|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group17|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group17style|}}}"><!-- -->{{{group17}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list17style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list17}}}</div></td></tr>}}<!-- -->{{#if:{{{list18|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group18|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group18style|}}}"><!-- -->{{{group18}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list18style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list18}}}</div></td></tr>}}<!-- -->{{#if:{{{list19|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group19|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group19style|}}}"><!-- -->{{{group19}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list19style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list19}}}</div></td></tr>}}<!-- -->{{#if:{{{list20|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group20|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group20style|}}}"><!-- -->{{{group20}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list20style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list20}}}</div></td></tr>}}<!-- ---Below--- -->{{#if:{{{below|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}{{{list3|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow {{{belowclass|}}}" style="{{{basestyle|}}};{{{belowstyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}"><div> {{{below}}}</div></td></tr>}}<!-- --></table>{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=<div>|none=|#default=</td></tr></table>}}<!-- -->{{#ifeq:{{NAMESPACE}}|{{ns:10}}|{{#ifeq:{{{border|{{{1|}}}}}}|child||{{#switch:{{lc:{{SUBPAGENAME}}}} |sandbox |testcases = |#default = {{#switch:{{{bodyclass|}}} |hlist |hlist vcard |vcard hlist = |#default = {{#switch:{{{listclass|}}} |hlist |hlist vcard |vcard hlist = |#default = [[Category:Navigational boxes without horizontal lists]] }} }} }} }}}}<!-- -->{{#ifeq:{{NAMESPACE}}|{{ns:10}}|{{#switch:{{lc:{{SUBPAGENAME}}}} |sandbox |testcases = |#default = {{#switch:{{{liststyle|}}} |line-height:1.4em; |line-height:1.5em; |padding:0.25em 0; line-height:1.4em; = [[Category:Navigational boxes with custom list spacing]] |#default = }} }}}}<noinclude> {{documentation}} <!-- Add categories and interwikis to the /doc subpage, not here! --> </noinclude> dvg74g4vwcscuwbec3w6s47ypvodi6u 9795 9728 2012-03-15T14:07:35Z w>WOSlinker 0 more tracking 9795 wikitext text/x-wiki <!-- Please do not edit without discussion first as this is a VERY complex template. -->{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=</div>|none=|#default=<table cellspacing="0" <!-- -->class="navbox" style="border-spacing:0;{{{bodystyle|}}};{{{style|}}}"><tr><td style="padding:2px;">}}<!-- --><table cellspacing="0" class="nowraplinks {{{bodyclass|}}} {{#if:{{{title|}}}|{{#switch:{{{state|}}}|<!-- -->plain|off=|#default=collapsible {{#if:{{{state|}}}|{{{state}}}|autocollapse}}}}}} {{#switch:{{{border|{{{1|}}}}}}|<!-- -->subgroup|child|none=navbox-subgroup" style="border-spacing:0;{{{bodystyle|}}};{{{style|}}}|<!-- -->#default=navbox-inner" style="border-spacing:0;background:transparent;color:inherit}};{{{innerstyle|}}};"><!-- ---Title and Navbar--- -->{{#if:{{{title|}}}|<tr>{{#if:{{{titlegroup|}}}|<!-- --><th scope="row" class="navbox-group {{{titlegroupclass|}}}" <!-- -->style="{{{basestyle|}}};{{{groupstyle|}}};{{{titlegroupstyle|}}}"><!-- -->{{{titlegroup|}}}</th><th scope="col" style="border-left:2px solid #fdfdfd;width:100%;|<!-- --><th scope="col" style="}}{{{basestyle|}}};{{{titlestyle|}}}" class="navbox-title" <!-- -->colspan={{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}{{#if:{{{titlegroup|}}}|-1}}}}><!-- -->{{#if:{{#switch:{{{navbar|}}}|plain|off=1}}<!-- -->{{#if:{{{name|}}}||{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=1}}}}|<!-- -->{{#ifeq:{{{navbar|}}}|off|{{#ifeq:{{{state|}}}|plain|<span style="float:right;width:6em;">&nbsp;</span>}}|<!-- -->{{#ifeq:{{{state|}}}|plain||<span style="float:left;width:6em;">&nbsp;</span>}}}}|<!-- -->{{#if:{{{name|}}}|{{Navbar|{{{name}}}|mini=1|<!-- -->fontstyle={{{basestyle|}}};{{{titlestyle|}}};background:none transparent;border:none;}}|<!-- --><span class="error" style="float:left;white-space:nowrap;">Error: No name provided</span>}}<!-- -->{{#ifeq:{{{state|}}}|plain|<span style="float:right;width:6em;">&nbsp;</span>}}}}<!-- --><div class="{{{titleclass|}}}" style="font-size:110%;"> {{{title}}}</div></th></tr>}}<!-- ---Above--- -->{{#if:{{{above|}}}|<!-- -->{{#if:{{{title|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow {{{aboveclass|}}}" style="{{{basestyle|}}};{{{abovestyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}"><div> {{{above}}}</div></td></tr>}}<!-- ---Body--- ---First group/list and images--- -->{{#if:{{{list1|}}}|{{#if:{{{title|}}}{{{above|}}}|<tr style="height:2px;"><td></td></tr>}}<tr><!-- -->{{#if:{{{imageleft|}}}|<!-- --><td class="navbox-image {{{imageclass|}}}" style="width:0%;padding:0px 2px 0px 0px;{{{imageleftstyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><div> {{{imageleft}}}</div></td>}}<!-- -->{{#if:{{{group1|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group1style|}}}"><!-- -->{{{group1}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list1style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{list1padding|{{{listpadding|0em 0.25em}}}}}}"> {{{list1}}}</div></td><!-- -->{{#if:{{{image|}}}|<!-- --><td class="navbox-image {{{imageclass|}}}" style="width:0%;padding:0px 0px 0px 2px;{{{imagestyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><div> {{{image}}}</div></td>}}<!-- --></tr>}}<!-- ---Remaining groups/lists--- -->{{#if:{{{list2|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group2|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group2style|}}}"><!-- -->{{{group2}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list2style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list2}}}</div></td></tr>}}<!-- -->{{#if:{{{list3|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group3|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group3style|}}}"><!-- -->{{{group3}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list3style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list3}}}</div></td></tr>}}<!-- -->{{#if:{{{list4|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group4|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group4style|}}}"><!-- -->{{{group4}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list4style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list4}}}</div></td></tr>}}<!-- -->{{#if:{{{list5|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group5|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group5style|}}}"><!-- -->{{{group5}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list5style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list5}}}</div></td></tr>}}<!-- -->{{#if:{{{list6|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group6|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group6style|}}}"><!-- -->{{{group6}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list6style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list6}}}</div></td></tr>}}<!-- -->{{#if:{{{list7|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group7|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group7style|}}}"><!-- -->{{{group7}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list7style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list7}}}</div></td></tr>}}<!-- -->{{#if:{{{list8|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group8|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group8style|}}}"><!-- -->{{{group8}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list8style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list8}}}</div></td></tr>}}<!-- -->{{#if:{{{list9|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group9|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group9style|}}}"><!-- -->{{{group9}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list9style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list9}}}</div></td></tr>}}<!-- -->{{#if:{{{list10|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group10|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group10style|}}}"><!-- -->{{{group10}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list10style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list10}}}</div></td></tr>}}<!-- -->{{#if:{{{list11|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group11|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group11style|}}}"><!-- -->{{{group11}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list11style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list11}}}</div></td></tr>}}<!-- -->{{#if:{{{list12|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group12|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group12style|}}}"><!-- -->{{{group12}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list12style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list12}}}</div></td></tr>}}<!-- -->{{#if:{{{list13|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group13|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group13style|}}}"><!-- -->{{{group13}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list13style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list13}}}</div></td></tr>}}<!-- -->{{#if:{{{list14|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group14|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group14style|}}}"><!-- -->{{{group14}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list14style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list14}}}</div></td></tr>}}<!-- -->{{#if:{{{list15|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group15|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group15style|}}}"><!-- -->{{{group15}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list15style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list15}}}</div></td></tr>}}<!-- -->{{#if:{{{list16|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group16|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group16style|}}}"><!-- -->{{{group16}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list16style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list16}}}</div></td></tr>}}<!-- -->{{#if:{{{list17|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group17|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group17style|}}}"><!-- -->{{{group17}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list17style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list17}}}</div></td></tr>}}<!-- -->{{#if:{{{list18|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group18|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group18style|}}}"><!-- -->{{{group18}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list18style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list18}}}</div></td></tr>}}<!-- -->{{#if:{{{list19|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group19|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group19style|}}}"><!-- -->{{{group19}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list19style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list19}}}</div></td></tr>}}<!-- -->{{#if:{{{list20|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group20|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group20style|}}}"><!-- -->{{{group20}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list20style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list20}}}</div></td></tr>}}<!-- ---Below--- -->{{#if:{{{below|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}{{{list3|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow {{{belowclass|}}}" style="{{{basestyle|}}};{{{belowstyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}"><div> {{{below}}}</div></td></tr>}}<!-- --></table>{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=<div>|none=|#default=</td></tr></table>}}<!-- -->{{#ifeq:{{NAMESPACE}}|{{ns:10}}|{{#ifeq:{{{border|{{{1|}}}}}}|child||{{#switch:{{lc:{{SUBPAGENAME}}}} |sandbox |testcases = |#default = {{#switch:{{{bodyclass|}}} |hlist |hlist vcard |vcard hlist = |#default = {{#switch:{{{listclass|}}} |hlist |hlist vcard |vcard hlist = |#default = [[Category:Navigational boxes without horizontal lists]] }} }} }} }}}}<!-- -->{{#ifeq:{{NAMESPACE}}|{{ns:10}}|{{#switch:{{lc:{{SUBPAGENAME}}}} |sandbox |testcases = |#default = {{#switch:{{{liststyle|}}} |line-height:1.4em; |line-height:1.5em; |padding:0.25em 0; text-align:left; line-height:1.4em; |padding:0.25em 0; line-height:1.4em; = [[Category:Navigational boxes with custom list spacing]] |#default = }} }}}}<noinclude> {{documentation}} <!-- Add categories and interwikis to the /doc subpage, not here! --> </noinclude> 3mok9qk5v5kghmpow0gk98xetcl7zci 9796 9795 2012-03-18T14:07:32Z w>WOSlinker 0 tracking 9796 wikitext text/x-wiki <!-- Please do not edit without discussion first as this is a VERY complex template. -->{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=</div>|none=|#default=<table cellspacing="0" <!-- -->class="navbox" style="border-spacing:0;{{{bodystyle|}}};{{{style|}}}"><tr><td style="padding:2px;">}}<!-- --><table cellspacing="0" class="nowraplinks {{{bodyclass|}}} {{#if:{{{title|}}}|{{#switch:{{{state|}}}|<!-- -->plain|off=|#default=collapsible {{#if:{{{state|}}}|{{{state}}}|autocollapse}}}}}} {{#switch:{{{border|{{{1|}}}}}}|<!-- -->subgroup|child|none=navbox-subgroup" style="border-spacing:0;{{{bodystyle|}}};{{{style|}}}|<!-- -->#default=navbox-inner" style="border-spacing:0;background:transparent;color:inherit}};{{{innerstyle|}}};"><!-- ---Title and Navbar--- -->{{#if:{{{title|}}}|<tr>{{#if:{{{titlegroup|}}}|<!-- --><th scope="row" class="navbox-group {{{titlegroupclass|}}}" <!-- -->style="{{{basestyle|}}};{{{groupstyle|}}};{{{titlegroupstyle|}}}"><!-- -->{{{titlegroup|}}}</th><th scope="col" style="border-left:2px solid #fdfdfd;width:100%;|<!-- --><th scope="col" style="}}{{{basestyle|}}};{{{titlestyle|}}}" class="navbox-title" <!-- -->colspan={{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}{{#if:{{{titlegroup|}}}|-1}}}}><!-- -->{{#if:{{#switch:{{{navbar|}}}|plain|off=1}}<!-- -->{{#if:{{{name|}}}||{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=1}}}}|<!-- -->{{#ifeq:{{{navbar|}}}|off|{{#ifeq:{{{state|}}}|plain|<span style="float:right;width:6em;">&nbsp;</span>}}|<!-- -->{{#ifeq:{{{state|}}}|plain||<span style="float:left;width:6em;">&nbsp;</span>}}}}|<!-- -->{{#if:{{{name|}}}|{{Navbar|{{{name}}}|mini=1|<!-- -->fontstyle={{{basestyle|}}};{{{titlestyle|}}};background:none transparent;border:none;}}|<!-- --><span class="error" style="float:left;white-space:nowrap;">Error: No name provided</span>}}<!-- -->{{#ifeq:{{{state|}}}|plain|<span style="float:right;width:6em;">&nbsp;</span>}}}}<!-- --><div class="{{{titleclass|}}}" style="font-size:110%;"> {{{title}}}</div></th></tr>}}<!-- ---Above--- -->{{#if:{{{above|}}}|<!-- -->{{#if:{{{title|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow {{{aboveclass|}}}" style="{{{basestyle|}}};{{{abovestyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}"><div> {{{above}}}</div></td></tr>}}<!-- ---Body--- ---First group/list and images--- -->{{#if:{{{list1|}}}|{{#if:{{{title|}}}{{{above|}}}|<tr style="height:2px;"><td></td></tr>}}<tr><!-- -->{{#if:{{{imageleft|}}}|<!-- --><td class="navbox-image {{{imageclass|}}}" style="width:0%;padding:0px 2px 0px 0px;{{{imageleftstyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><div> {{{imageleft}}}</div></td>}}<!-- -->{{#if:{{{group1|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group1style|}}}"><!-- -->{{{group1}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list1style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{list1padding|{{{listpadding|0em 0.25em}}}}}}"> {{{list1}}}</div></td><!-- -->{{#if:{{{image|}}}|<!-- --><td class="navbox-image {{{imageclass|}}}" style="width:0%;padding:0px 0px 0px 2px;{{{imagestyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><div> {{{image}}}</div></td>}}<!-- --></tr>}}<!-- ---Remaining groups/lists--- -->{{#if:{{{list2|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group2|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group2style|}}}"><!-- -->{{{group2}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list2style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list2}}}</div></td></tr>}}<!-- -->{{#if:{{{list3|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group3|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group3style|}}}"><!-- -->{{{group3}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list3style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list3}}}</div></td></tr>}}<!-- -->{{#if:{{{list4|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group4|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group4style|}}}"><!-- -->{{{group4}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list4style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list4}}}</div></td></tr>}}<!-- -->{{#if:{{{list5|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group5|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group5style|}}}"><!-- -->{{{group5}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list5style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list5}}}</div></td></tr>}}<!-- -->{{#if:{{{list6|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group6|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group6style|}}}"><!-- -->{{{group6}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list6style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list6}}}</div></td></tr>}}<!-- -->{{#if:{{{list7|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group7|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group7style|}}}"><!-- -->{{{group7}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list7style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list7}}}</div></td></tr>}}<!-- -->{{#if:{{{list8|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group8|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group8style|}}}"><!-- -->{{{group8}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list8style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list8}}}</div></td></tr>}}<!-- -->{{#if:{{{list9|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group9|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group9style|}}}"><!-- -->{{{group9}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list9style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list9}}}</div></td></tr>}}<!-- -->{{#if:{{{list10|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group10|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group10style|}}}"><!-- -->{{{group10}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list10style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list10}}}</div></td></tr>}}<!-- -->{{#if:{{{list11|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group11|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group11style|}}}"><!-- -->{{{group11}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list11style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list11}}}</div></td></tr>}}<!-- -->{{#if:{{{list12|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group12|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group12style|}}}"><!-- -->{{{group12}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list12style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list12}}}</div></td></tr>}}<!-- -->{{#if:{{{list13|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group13|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group13style|}}}"><!-- -->{{{group13}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list13style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list13}}}</div></td></tr>}}<!-- -->{{#if:{{{list14|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group14|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group14style|}}}"><!-- -->{{{group14}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list14style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list14}}}</div></td></tr>}}<!-- -->{{#if:{{{list15|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group15|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group15style|}}}"><!-- -->{{{group15}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list15style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list15}}}</div></td></tr>}}<!-- -->{{#if:{{{list16|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group16|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group16style|}}}"><!-- -->{{{group16}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list16style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list16}}}</div></td></tr>}}<!-- -->{{#if:{{{list17|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group17|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group17style|}}}"><!-- -->{{{group17}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list17style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list17}}}</div></td></tr>}}<!-- -->{{#if:{{{list18|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group18|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group18style|}}}"><!-- -->{{{group18}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list18style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list18}}}</div></td></tr>}}<!-- -->{{#if:{{{list19|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group19|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group19style|}}}"><!-- -->{{{group19}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list19style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list19}}}</div></td></tr>}}<!-- -->{{#if:{{{list20|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group20|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group20style|}}}"><!-- -->{{{group20}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list20style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list20}}}</div></td></tr>}}<!-- ---Below--- -->{{#if:{{{below|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}{{{list3|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow {{{belowclass|}}}" style="{{{basestyle|}}};{{{belowstyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}"><div> {{{below}}}</div></td></tr>}}<!-- --></table>{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=<div>|none=|#default=</td></tr></table>}}<!-- -->{{#ifeq:{{NAMESPACE}}|{{ns:10}}|{{#ifeq:{{{border|{{{1|}}}}}}|child||{{#switch:{{lc:{{SUBPAGENAME}}}} |sandbox |testcases = |#default = {{#switch:{{{bodyclass|}}} |hlist |hlist vcard |vcard hlist = |#default = {{#switch:{{{listclass|}}} |hlist |hlist vcard |vcard hlist = |#default = [[Category:Navigational boxes without horizontal lists]] }} }} }} }}}}<!-- -->{{#ifeq:{{NAMESPACE}}|{{ns:10}}|{{#switch:{{lc:{{SUBPAGENAME}}}} |sandbox |testcases = |#default = {{#switch:{{{liststyle|}}} |line-height:1.4em; |line-height:1.5em; |padding:0.25em 0; text-align:left; line-height:1.4em; |padding:0.15em 0; line-height:1.4em; |padding:0.25em 0; line-height:1.4em; = [[Category:Navigational boxes with custom list spacing]] |#default = }} }}}}<noinclude> {{documentation}} <!-- Add categories and interwikis to the /doc subpage, not here! --> </noinclude> gafhhikwjcj6hfjlkife1brwdzh2xtl 9797 9796 2012-03-21T19:33:09Z w>WOSlinker 0 remove liststyle tracking 9797 wikitext text/x-wiki <!-- Please do not edit without discussion first as this is a VERY complex template. -->{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=</div>|none=|#default=<table cellspacing="0" <!-- -->class="navbox" style="border-spacing:0;{{{bodystyle|}}};{{{style|}}}"><tr><td style="padding:2px;">}}<!-- --><table cellspacing="0" class="nowraplinks {{{bodyclass|}}} {{#if:{{{title|}}}|{{#switch:{{{state|}}}|<!-- -->plain|off=|#default=collapsible {{#if:{{{state|}}}|{{{state}}}|autocollapse}}}}}} {{#switch:{{{border|{{{1|}}}}}}|<!-- -->subgroup|child|none=navbox-subgroup" style="border-spacing:0;{{{bodystyle|}}};{{{style|}}}|<!-- -->#default=navbox-inner" style="border-spacing:0;background:transparent;color:inherit}};{{{innerstyle|}}};"><!-- ---Title and Navbar--- -->{{#if:{{{title|}}}|<tr>{{#if:{{{titlegroup|}}}|<!-- --><th scope="row" class="navbox-group {{{titlegroupclass|}}}" <!-- -->style="{{{basestyle|}}};{{{groupstyle|}}};{{{titlegroupstyle|}}}"><!-- -->{{{titlegroup|}}}</th><th scope="col" style="border-left:2px solid #fdfdfd;width:100%;|<!-- --><th scope="col" style="}}{{{basestyle|}}};{{{titlestyle|}}}" class="navbox-title" <!-- -->colspan={{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}{{#if:{{{titlegroup|}}}|-1}}}}><!-- -->{{#if:{{#switch:{{{navbar|}}}|plain|off=1}}<!-- -->{{#if:{{{name|}}}||{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=1}}}}|<!-- -->{{#ifeq:{{{navbar|}}}|off|{{#ifeq:{{{state|}}}|plain|<span style="float:right;width:6em;">&nbsp;</span>}}|<!-- -->{{#ifeq:{{{state|}}}|plain||<span style="float:left;width:6em;">&nbsp;</span>}}}}|<!-- -->{{#if:{{{name|}}}|{{Navbar|{{{name}}}|mini=1|<!-- -->fontstyle={{{basestyle|}}};{{{titlestyle|}}};background:none transparent;border:none;}}|<!-- --><span class="error" style="float:left;white-space:nowrap;">Error: No name provided</span>}}<!-- -->{{#ifeq:{{{state|}}}|plain|<span style="float:right;width:6em;">&nbsp;</span>}}}}<!-- --><div class="{{{titleclass|}}}" style="font-size:110%;"> {{{title}}}</div></th></tr>}}<!-- ---Above--- -->{{#if:{{{above|}}}|<!-- -->{{#if:{{{title|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow {{{aboveclass|}}}" style="{{{basestyle|}}};{{{abovestyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}"><div> {{{above}}}</div></td></tr>}}<!-- ---Body--- ---First group/list and images--- -->{{#if:{{{list1|}}}|{{#if:{{{title|}}}{{{above|}}}|<tr style="height:2px;"><td></td></tr>}}<tr><!-- -->{{#if:{{{imageleft|}}}|<!-- --><td class="navbox-image {{{imageclass|}}}" style="width:0%;padding:0px 2px 0px 0px;{{{imageleftstyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><div> {{{imageleft}}}</div></td>}}<!-- -->{{#if:{{{group1|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group1style|}}}"><!-- -->{{{group1}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list1style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{list1padding|{{{listpadding|0em 0.25em}}}}}}"> {{{list1}}}</div></td><!-- -->{{#if:{{{image|}}}|<!-- --><td class="navbox-image {{{imageclass|}}}" style="width:0%;padding:0px 0px 0px 2px;{{{imagestyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><div> {{{image}}}</div></td>}}<!-- --></tr>}}<!-- ---Remaining groups/lists--- -->{{#if:{{{list2|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group2|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group2style|}}}"><!-- -->{{{group2}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list2style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list2}}}</div></td></tr>}}<!-- -->{{#if:{{{list3|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group3|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group3style|}}}"><!-- -->{{{group3}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list3style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list3}}}</div></td></tr>}}<!-- -->{{#if:{{{list4|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group4|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group4style|}}}"><!-- -->{{{group4}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list4style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list4}}}</div></td></tr>}}<!-- -->{{#if:{{{list5|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group5|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group5style|}}}"><!-- -->{{{group5}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list5style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list5}}}</div></td></tr>}}<!-- -->{{#if:{{{list6|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group6|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group6style|}}}"><!-- -->{{{group6}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list6style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list6}}}</div></td></tr>}}<!-- -->{{#if:{{{list7|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group7|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group7style|}}}"><!-- -->{{{group7}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list7style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list7}}}</div></td></tr>}}<!-- -->{{#if:{{{list8|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group8|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group8style|}}}"><!-- -->{{{group8}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list8style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list8}}}</div></td></tr>}}<!-- -->{{#if:{{{list9|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group9|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group9style|}}}"><!-- -->{{{group9}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list9style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list9}}}</div></td></tr>}}<!-- -->{{#if:{{{list10|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group10|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group10style|}}}"><!-- -->{{{group10}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list10style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list10}}}</div></td></tr>}}<!-- -->{{#if:{{{list11|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group11|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group11style|}}}"><!-- -->{{{group11}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list11style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list11}}}</div></td></tr>}}<!-- -->{{#if:{{{list12|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group12|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group12style|}}}"><!-- -->{{{group12}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list12style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list12}}}</div></td></tr>}}<!-- -->{{#if:{{{list13|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group13|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group13style|}}}"><!-- -->{{{group13}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list13style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list13}}}</div></td></tr>}}<!-- -->{{#if:{{{list14|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group14|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group14style|}}}"><!-- -->{{{group14}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list14style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list14}}}</div></td></tr>}}<!-- -->{{#if:{{{list15|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group15|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group15style|}}}"><!-- -->{{{group15}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list15style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list15}}}</div></td></tr>}}<!-- -->{{#if:{{{list16|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group16|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group16style|}}}"><!-- -->{{{group16}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list16style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list16}}}</div></td></tr>}}<!-- -->{{#if:{{{list17|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group17|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group17style|}}}"><!-- -->{{{group17}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list17style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list17}}}</div></td></tr>}}<!-- -->{{#if:{{{list18|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group18|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group18style|}}}"><!-- -->{{{group18}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list18style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list18}}}</div></td></tr>}}<!-- -->{{#if:{{{list19|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group19|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group19style|}}}"><!-- -->{{{group19}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list19style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list19}}}</div></td></tr>}}<!-- -->{{#if:{{{list20|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group20|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group20style|}}}"><!-- -->{{{group20}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list20style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list20}}}</div></td></tr>}}<!-- ---Below--- -->{{#if:{{{below|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}{{{list3|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow {{{belowclass|}}}" style="{{{basestyle|}}};{{{belowstyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}"><div> {{{below}}}</div></td></tr>}}<!-- --></table>{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=<div>|none=|#default=</td></tr></table>}}<!-- -->{{#ifeq:{{NAMESPACE}}|{{ns:10}}|{{#ifeq:{{{border|{{{1|}}}}}}|child||{{#switch:{{lc:{{SUBPAGENAME}}}} |sandbox |testcases = |#default = {{#switch:{{{bodyclass|}}} |hlist |hlist vcard |vcard hlist = |#default = {{#switch:{{{listclass|}}} |hlist |hlist vcard |vcard hlist = |#default = [[Category:Navigational boxes without horizontal lists]] }} }} }} }}}}<noinclude> {{documentation}} <!-- Add categories and interwikis to the /doc subpage, not here! --> </noinclude> feoio8oors336pm3l1t2dl7wqfxhqkb 9798 9797 2012-04-06T19:53:04Z w>WOSlinker 0 don't add navboxes with border=subgroup to tracking cat and also /doc pages 9798 wikitext text/x-wiki <!-- Please do not edit without discussion first as this is a VERY complex template. -->{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=</div>|none=|#default=<table cellspacing="0" <!-- -->class="navbox" style="border-spacing:0;{{{bodystyle|}}};{{{style|}}}"><tr><td style="padding:2px;">}}<!-- --><table cellspacing="0" class="nowraplinks {{{bodyclass|}}} {{#if:{{{title|}}}|{{#switch:{{{state|}}}|<!-- -->plain|off=|#default=collapsible {{#if:{{{state|}}}|{{{state}}}|autocollapse}}}}}} {{#switch:{{{border|{{{1|}}}}}}|<!-- -->subgroup|child|none=navbox-subgroup" style="border-spacing:0;{{{bodystyle|}}};{{{style|}}}|<!-- -->#default=navbox-inner" style="border-spacing:0;background:transparent;color:inherit}};{{{innerstyle|}}};"><!-- ---Title and Navbar--- -->{{#if:{{{title|}}}|<tr>{{#if:{{{titlegroup|}}}|<!-- --><th scope="row" class="navbox-group {{{titlegroupclass|}}}" <!-- -->style="{{{basestyle|}}};{{{groupstyle|}}};{{{titlegroupstyle|}}}"><!-- -->{{{titlegroup|}}}</th><th scope="col" style="border-left:2px solid #fdfdfd;width:100%;|<!-- --><th scope="col" style="}}{{{basestyle|}}};{{{titlestyle|}}}" class="navbox-title" <!-- -->colspan={{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}{{#if:{{{titlegroup|}}}|-1}}}}><!-- -->{{#if:{{#switch:{{{navbar|}}}|plain|off=1}}<!-- -->{{#if:{{{name|}}}||{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=1}}}}|<!-- -->{{#ifeq:{{{navbar|}}}|off|{{#ifeq:{{{state|}}}|plain|<span style="float:right;width:6em;">&nbsp;</span>}}|<!-- -->{{#ifeq:{{{state|}}}|plain||<span style="float:left;width:6em;">&nbsp;</span>}}}}|<!-- -->{{#if:{{{name|}}}|{{Navbar|{{{name}}}|mini=1|<!-- -->fontstyle={{{basestyle|}}};{{{titlestyle|}}};background:none transparent;border:none;}}|<!-- --><span class="error" style="float:left;white-space:nowrap;">Error: No name provided</span>}}<!-- -->{{#ifeq:{{{state|}}}|plain|<span style="float:right;width:6em;">&nbsp;</span>}}}}<!-- --><div class="{{{titleclass|}}}" style="font-size:110%;"> {{{title}}}</div></th></tr>}}<!-- ---Above--- -->{{#if:{{{above|}}}|<!-- -->{{#if:{{{title|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow {{{aboveclass|}}}" style="{{{basestyle|}}};{{{abovestyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}"><div> {{{above}}}</div></td></tr>}}<!-- ---Body--- ---First group/list and images--- -->{{#if:{{{list1|}}}|{{#if:{{{title|}}}{{{above|}}}|<tr style="height:2px;"><td></td></tr>}}<tr><!-- -->{{#if:{{{imageleft|}}}|<!-- --><td class="navbox-image {{{imageclass|}}}" style="width:0%;padding:0px 2px 0px 0px;{{{imageleftstyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><div> {{{imageleft}}}</div></td>}}<!-- -->{{#if:{{{group1|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group1style|}}}"><!-- -->{{{group1}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list1style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{list1padding|{{{listpadding|0em 0.25em}}}}}}"> {{{list1}}}</div></td><!-- -->{{#if:{{{image|}}}|<!-- --><td class="navbox-image {{{imageclass|}}}" style="width:0%;padding:0px 0px 0px 2px;{{{imagestyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><div> {{{image}}}</div></td>}}<!-- --></tr>}}<!-- ---Remaining groups/lists--- -->{{#if:{{{list2|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group2|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group2style|}}}"><!-- -->{{{group2}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list2style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list2}}}</div></td></tr>}}<!-- -->{{#if:{{{list3|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group3|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group3style|}}}"><!-- -->{{{group3}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list3style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list3}}}</div></td></tr>}}<!-- -->{{#if:{{{list4|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group4|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group4style|}}}"><!-- -->{{{group4}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list4style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list4}}}</div></td></tr>}}<!-- -->{{#if:{{{list5|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group5|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group5style|}}}"><!-- -->{{{group5}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list5style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list5}}}</div></td></tr>}}<!-- -->{{#if:{{{list6|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group6|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group6style|}}}"><!-- -->{{{group6}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list6style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list6}}}</div></td></tr>}}<!-- -->{{#if:{{{list7|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group7|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group7style|}}}"><!-- -->{{{group7}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list7style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list7}}}</div></td></tr>}}<!-- -->{{#if:{{{list8|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group8|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group8style|}}}"><!-- -->{{{group8}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list8style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list8}}}</div></td></tr>}}<!-- -->{{#if:{{{list9|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group9|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group9style|}}}"><!-- -->{{{group9}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list9style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list9}}}</div></td></tr>}}<!-- -->{{#if:{{{list10|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group10|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group10style|}}}"><!-- -->{{{group10}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list10style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list10}}}</div></td></tr>}}<!-- -->{{#if:{{{list11|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group11|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group11style|}}}"><!-- -->{{{group11}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list11style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list11}}}</div></td></tr>}}<!-- -->{{#if:{{{list12|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group12|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group12style|}}}"><!-- -->{{{group12}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list12style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list12}}}</div></td></tr>}}<!-- -->{{#if:{{{list13|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group13|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group13style|}}}"><!-- -->{{{group13}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list13style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list13}}}</div></td></tr>}}<!-- -->{{#if:{{{list14|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group14|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group14style|}}}"><!-- -->{{{group14}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list14style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list14}}}</div></td></tr>}}<!-- -->{{#if:{{{list15|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group15|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group15style|}}}"><!-- -->{{{group15}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list15style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list15}}}</div></td></tr>}}<!-- -->{{#if:{{{list16|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group16|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group16style|}}}"><!-- -->{{{group16}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list16style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list16}}}</div></td></tr>}}<!-- -->{{#if:{{{list17|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group17|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group17style|}}}"><!-- -->{{{group17}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list17style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list17}}}</div></td></tr>}}<!-- -->{{#if:{{{list18|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group18|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group18style|}}}"><!-- -->{{{group18}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list18style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list18}}}</div></td></tr>}}<!-- -->{{#if:{{{list19|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group19|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group19style|}}}"><!-- -->{{{group19}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list19style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list19}}}</div></td></tr>}}<!-- -->{{#if:{{{list20|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group20|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group20style|}}}"><!-- -->{{{group20}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list20style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list20}}}</div></td></tr>}}<!-- ---Below--- -->{{#if:{{{below|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}{{{list3|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow {{{belowclass|}}}" style="{{{basestyle|}}};{{{belowstyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}"><div> {{{below}}}</div></td></tr>}}<!-- --></table>{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=<div>|none=|#default=</td></tr></table>}}<!-- -->{{#ifeq:{{NAMESPACE}}|{{ns:10}}|{{#ifeq:{{{border|{{{1|}}}}}}|child||{{#ifeq:{{{border|{{{1|}}}}}}|subgroup||{{#switch:{{lc:{{SUBPAGENAME}}}} |doc |sandbox |testcases = |#default = {{#switch:{{{bodyclass|}}} |hlist |hlist vcard |vcard hlist = |#default = {{#switch:{{{listclass|}}} |hlist |hlist vcard |vcard hlist = |#default = [[Category:Navigational boxes without horizontal lists]] }} }} }} }}}}}}<noinclude> {{documentation}} <!-- Add categories and interwikis to the /doc subpage, not here! --> </noinclude> 0f20i4e7adhp3n8lfu3uq5frk20a3dh 9799 9798 2012-04-09T06:24:54Z w>WOSlinker 0 don't track [[Template:Navbox with columns]] 9799 wikitext text/x-wiki <!-- Please do not edit without discussion first as this is a VERY complex template. -->{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=</div>|none=|#default=<table cellspacing="0" <!-- -->class="navbox" style="border-spacing:0;{{{bodystyle|}}};{{{style|}}}"><tr><td style="padding:2px;">}}<!-- --><table cellspacing="0" class="nowraplinks {{{bodyclass|}}} {{#if:{{{title|}}}|{{#switch:{{{state|}}}|<!-- -->plain|off=|#default=collapsible {{#if:{{{state|}}}|{{{state}}}|autocollapse}}}}}} {{#switch:{{{border|{{{1|}}}}}}|<!-- -->subgroup|child|none=navbox-subgroup" style="border-spacing:0;{{{bodystyle|}}};{{{style|}}}|<!-- -->#default=navbox-inner" style="border-spacing:0;background:transparent;color:inherit}};{{{innerstyle|}}};"><!-- ---Title and Navbar--- -->{{#if:{{{title|}}}|<tr>{{#if:{{{titlegroup|}}}|<!-- --><th scope="row" class="navbox-group {{{titlegroupclass|}}}" <!-- -->style="{{{basestyle|}}};{{{groupstyle|}}};{{{titlegroupstyle|}}}"><!-- -->{{{titlegroup|}}}</th><th scope="col" style="border-left:2px solid #fdfdfd;width:100%;|<!-- --><th scope="col" style="}}{{{basestyle|}}};{{{titlestyle|}}}" class="navbox-title" <!-- -->colspan={{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}{{#if:{{{titlegroup|}}}|-1}}}}><!-- -->{{#if:{{#switch:{{{navbar|}}}|plain|off=1}}<!-- -->{{#if:{{{name|}}}||{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=1}}}}|<!-- -->{{#ifeq:{{{navbar|}}}|off|{{#ifeq:{{{state|}}}|plain|<span style="float:right;width:6em;">&nbsp;</span>}}|<!-- -->{{#ifeq:{{{state|}}}|plain||<span style="float:left;width:6em;">&nbsp;</span>}}}}|<!-- -->{{#if:{{{name|}}}|{{Navbar|{{{name}}}|mini=1|<!-- -->fontstyle={{{basestyle|}}};{{{titlestyle|}}};background:none transparent;border:none;}}|<!-- --><span class="error" style="float:left;white-space:nowrap;">Error: No name provided</span>}}<!-- -->{{#ifeq:{{{state|}}}|plain|<span style="float:right;width:6em;">&nbsp;</span>}}}}<!-- --><div class="{{{titleclass|}}}" style="font-size:110%;"> {{{title}}}</div></th></tr>}}<!-- ---Above--- -->{{#if:{{{above|}}}|<!-- -->{{#if:{{{title|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow {{{aboveclass|}}}" style="{{{basestyle|}}};{{{abovestyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}"><div> {{{above}}}</div></td></tr>}}<!-- ---Body--- ---First group/list and images--- -->{{#if:{{{list1|}}}|{{#if:{{{title|}}}{{{above|}}}|<tr style="height:2px;"><td></td></tr>}}<tr><!-- -->{{#if:{{{imageleft|}}}|<!-- --><td class="navbox-image {{{imageclass|}}}" style="width:0%;padding:0px 2px 0px 0px;{{{imageleftstyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><div> {{{imageleft}}}</div></td>}}<!-- -->{{#if:{{{group1|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group1style|}}}"><!-- -->{{{group1}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list1style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{list1padding|{{{listpadding|0em 0.25em}}}}}}"> {{{list1}}}</div></td><!-- -->{{#if:{{{image|}}}|<!-- --><td class="navbox-image {{{imageclass|}}}" style="width:0%;padding:0px 0px 0px 2px;{{{imagestyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><div> {{{image}}}</div></td>}}<!-- --></tr>}}<!-- ---Remaining groups/lists--- -->{{#if:{{{list2|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group2|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group2style|}}}"><!-- -->{{{group2}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list2style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list2}}}</div></td></tr>}}<!-- -->{{#if:{{{list3|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group3|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group3style|}}}"><!-- -->{{{group3}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list3style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list3}}}</div></td></tr>}}<!-- -->{{#if:{{{list4|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group4|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group4style|}}}"><!-- -->{{{group4}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list4style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list4}}}</div></td></tr>}}<!-- -->{{#if:{{{list5|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group5|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group5style|}}}"><!-- -->{{{group5}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list5style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list5}}}</div></td></tr>}}<!-- -->{{#if:{{{list6|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group6|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group6style|}}}"><!-- -->{{{group6}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list6style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list6}}}</div></td></tr>}}<!-- -->{{#if:{{{list7|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group7|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group7style|}}}"><!-- -->{{{group7}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list7style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list7}}}</div></td></tr>}}<!-- -->{{#if:{{{list8|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group8|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group8style|}}}"><!-- -->{{{group8}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list8style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list8}}}</div></td></tr>}}<!-- -->{{#if:{{{list9|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group9|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group9style|}}}"><!-- -->{{{group9}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list9style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list9}}}</div></td></tr>}}<!-- -->{{#if:{{{list10|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group10|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group10style|}}}"><!-- -->{{{group10}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list10style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list10}}}</div></td></tr>}}<!-- -->{{#if:{{{list11|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group11|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group11style|}}}"><!-- -->{{{group11}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list11style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list11}}}</div></td></tr>}}<!-- -->{{#if:{{{list12|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group12|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group12style|}}}"><!-- -->{{{group12}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list12style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list12}}}</div></td></tr>}}<!-- -->{{#if:{{{list13|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group13|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group13style|}}}"><!-- -->{{{group13}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list13style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list13}}}</div></td></tr>}}<!-- -->{{#if:{{{list14|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group14|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group14style|}}}"><!-- -->{{{group14}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list14style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list14}}}</div></td></tr>}}<!-- -->{{#if:{{{list15|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group15|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group15style|}}}"><!-- -->{{{group15}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list15style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list15}}}</div></td></tr>}}<!-- -->{{#if:{{{list16|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group16|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group16style|}}}"><!-- -->{{{group16}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list16style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list16}}}</div></td></tr>}}<!-- -->{{#if:{{{list17|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group17|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group17style|}}}"><!-- -->{{{group17}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list17style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list17}}}</div></td></tr>}}<!-- -->{{#if:{{{list18|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group18|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group18style|}}}"><!-- -->{{{group18}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list18style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list18}}}</div></td></tr>}}<!-- -->{{#if:{{{list19|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group19|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group19style|}}}"><!-- -->{{{group19}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list19style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list19}}}</div></td></tr>}}<!-- -->{{#if:{{{list20|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group20|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group20style|}}}"><!-- -->{{{group20}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list20style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list20}}}</div></td></tr>}}<!-- ---Below--- -->{{#if:{{{below|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}{{{list3|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow {{{belowclass|}}}" style="{{{basestyle|}}};{{{belowstyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}"><div> {{{below}}}</div></td></tr>}}<!-- --></table>{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=<div>|none=|#default=</td></tr></table>}}<!-- -->{{#ifeq:{{NAMESPACE}}|{{ns:10}}|{{#ifeq:{{{border|{{{1|}}}}}}|child||{{#ifeq:{{{border|{{{1|}}}}}}|subgroup||{{#switch:{{lc:{{SUBPAGENAME}}}} |doc |sandbox |testcases = |#default = {{#switch:{{{bodyclass|}}} |hlist |hlist vcard |vcard hlist = |#default = {{#switch:{{{listclass|}}} |hlist |hlist vcard |vcard hlist = |#default = {{#ifeq:{{{tracking|}}}|no||[[Category:Navigational boxes without horizontal lists]]}} }} }} }} }}}}}}<noinclude> {{documentation}} <!-- Add categories and interwikis to the /doc subpage, not here! --> </noinclude> kb1k6jlxtaj1wqqst5epholda75plvv 9800 9799 2012-05-04T19:22:48Z w>WOSlinker 0 don't track plainlist class 9800 wikitext text/x-wiki <!-- Please do not edit without discussion first as this is a VERY complex template. -->{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=</div>|none=|#default=<table cellspacing="0" <!-- -->class="navbox" style="border-spacing:0;{{{bodystyle|}}};{{{style|}}}"><tr><td style="padding:2px;">}}<!-- --><table cellspacing="0" class="nowraplinks {{{bodyclass|}}} {{#if:{{{title|}}}|{{#switch:{{{state|}}}|<!-- -->plain|off=|#default=collapsible {{#if:{{{state|}}}|{{{state}}}|autocollapse}}}}}} {{#switch:{{{border|{{{1|}}}}}}|<!-- -->subgroup|child|none=navbox-subgroup" style="border-spacing:0;{{{bodystyle|}}};{{{style|}}}|<!-- -->#default=navbox-inner" style="border-spacing:0;background:transparent;color:inherit}};{{{innerstyle|}}};"><!-- ---Title and Navbar--- -->{{#if:{{{title|}}}|<tr>{{#if:{{{titlegroup|}}}|<!-- --><th scope="row" class="navbox-group {{{titlegroupclass|}}}" <!-- -->style="{{{basestyle|}}};{{{groupstyle|}}};{{{titlegroupstyle|}}}"><!-- -->{{{titlegroup|}}}</th><th scope="col" style="border-left:2px solid #fdfdfd;width:100%;|<!-- --><th scope="col" style="}}{{{basestyle|}}};{{{titlestyle|}}}" class="navbox-title" <!-- -->colspan={{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}{{#if:{{{titlegroup|}}}|-1}}}}><!-- -->{{#if:{{#switch:{{{navbar|}}}|plain|off=1}}<!-- -->{{#if:{{{name|}}}||{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=1}}}}|<!-- -->{{#ifeq:{{{navbar|}}}|off|{{#ifeq:{{{state|}}}|plain|<span style="float:right;width:6em;">&nbsp;</span>}}|<!-- -->{{#ifeq:{{{state|}}}|plain||<span style="float:left;width:6em;">&nbsp;</span>}}}}|<!-- -->{{#if:{{{name|}}}|{{Navbar|{{{name}}}|mini=1|<!-- -->fontstyle={{{basestyle|}}};{{{titlestyle|}}};background:none transparent;border:none;}}|<!-- --><span class="error" style="float:left;white-space:nowrap;">Error: No name provided</span>}}<!-- -->{{#ifeq:{{{state|}}}|plain|<span style="float:right;width:6em;">&nbsp;</span>}}}}<!-- --><div class="{{{titleclass|}}}" style="font-size:110%;"> {{{title}}}</div></th></tr>}}<!-- ---Above--- -->{{#if:{{{above|}}}|<!-- -->{{#if:{{{title|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow {{{aboveclass|}}}" style="{{{basestyle|}}};{{{abovestyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}"><div> {{{above}}}</div></td></tr>}}<!-- ---Body--- ---First group/list and images--- -->{{#if:{{{list1|}}}|{{#if:{{{title|}}}{{{above|}}}|<tr style="height:2px;"><td></td></tr>}}<tr><!-- -->{{#if:{{{imageleft|}}}|<!-- --><td class="navbox-image {{{imageclass|}}}" style="width:0%;padding:0px 2px 0px 0px;{{{imageleftstyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><div> {{{imageleft}}}</div></td>}}<!-- -->{{#if:{{{group1|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group1style|}}}"><!-- -->{{{group1}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list1style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{list1padding|{{{listpadding|0em 0.25em}}}}}}"> {{{list1}}}</div></td><!-- -->{{#if:{{{image|}}}|<!-- --><td class="navbox-image {{{imageclass|}}}" style="width:0%;padding:0px 0px 0px 2px;{{{imagestyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><div> {{{image}}}</div></td>}}<!-- --></tr>}}<!-- ---Remaining groups/lists--- -->{{#if:{{{list2|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group2|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group2style|}}}"><!-- -->{{{group2}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list2style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list2}}}</div></td></tr>}}<!-- -->{{#if:{{{list3|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group3|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group3style|}}}"><!-- -->{{{group3}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list3style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list3}}}</div></td></tr>}}<!-- -->{{#if:{{{list4|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group4|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group4style|}}}"><!-- -->{{{group4}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list4style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list4}}}</div></td></tr>}}<!-- -->{{#if:{{{list5|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group5|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group5style|}}}"><!-- -->{{{group5}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list5style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list5}}}</div></td></tr>}}<!-- -->{{#if:{{{list6|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group6|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group6style|}}}"><!-- -->{{{group6}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list6style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list6}}}</div></td></tr>}}<!-- -->{{#if:{{{list7|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group7|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group7style|}}}"><!-- -->{{{group7}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list7style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list7}}}</div></td></tr>}}<!-- -->{{#if:{{{list8|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group8|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group8style|}}}"><!-- -->{{{group8}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list8style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list8}}}</div></td></tr>}}<!-- -->{{#if:{{{list9|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group9|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group9style|}}}"><!-- -->{{{group9}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list9style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list9}}}</div></td></tr>}}<!-- -->{{#if:{{{list10|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group10|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group10style|}}}"><!-- -->{{{group10}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list10style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list10}}}</div></td></tr>}}<!-- -->{{#if:{{{list11|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group11|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group11style|}}}"><!-- -->{{{group11}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list11style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list11}}}</div></td></tr>}}<!-- -->{{#if:{{{list12|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group12|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group12style|}}}"><!-- -->{{{group12}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list12style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list12}}}</div></td></tr>}}<!-- -->{{#if:{{{list13|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group13|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group13style|}}}"><!-- -->{{{group13}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list13style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list13}}}</div></td></tr>}}<!-- -->{{#if:{{{list14|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group14|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group14style|}}}"><!-- -->{{{group14}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list14style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list14}}}</div></td></tr>}}<!-- -->{{#if:{{{list15|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group15|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group15style|}}}"><!-- -->{{{group15}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list15style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list15}}}</div></td></tr>}}<!-- -->{{#if:{{{list16|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group16|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group16style|}}}"><!-- -->{{{group16}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list16style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list16}}}</div></td></tr>}}<!-- -->{{#if:{{{list17|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group17|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group17style|}}}"><!-- -->{{{group17}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list17style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list17}}}</div></td></tr>}}<!-- -->{{#if:{{{list18|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group18|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group18style|}}}"><!-- -->{{{group18}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list18style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list18}}}</div></td></tr>}}<!-- -->{{#if:{{{list19|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group19|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group19style|}}}"><!-- -->{{{group19}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list19style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list19}}}</div></td></tr>}}<!-- -->{{#if:{{{list20|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group20|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group20style|}}}"><!-- -->{{{group20}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list20style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list20}}}</div></td></tr>}}<!-- ---Below--- -->{{#if:{{{below|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}{{{list3|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow {{{belowclass|}}}" style="{{{basestyle|}}};{{{belowstyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}"><div> {{{below}}}</div></td></tr>}}<!-- --></table>{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=<div>|none=|#default=</td></tr></table>}}<!-- -->{{#ifeq:{{NAMESPACE}}|{{ns:10}}|{{#ifeq:{{{border|{{{1|}}}}}}|child||{{#ifeq:{{{border|{{{1|}}}}}}|subgroup||{{#switch:{{lc:{{SUBPAGENAME}}}} |doc |sandbox |testcases = |#default = {{#switch:{{{bodyclass|}}} |plainlist |hlist |hlist vcard |vcard hlist = |#default = {{#switch:{{{listclass|}}} |plainlist |hlist |hlist vcard |vcard hlist = |#default = {{#ifeq:{{{tracking|}}}|no||[[Category:Navigational boxes without horizontal lists]]}} }} }} }} }}}}}}<noinclude> {{documentation}} <!-- Add categories and interwikis to the /doc subpage, not here! --> </noinclude> pq1ubfns14ve9jcwwngdsry74ag7xgl 9801 9800 2012-06-29T21:06:07Z w>WOSlinker 0 more hlist tracking options 9801 wikitext text/x-wiki <!-- Please do not edit without discussion first as this is a VERY complex template. -->{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=</div>|none=|#default=<table cellspacing="0" <!-- -->class="navbox" style="border-spacing:0;{{{bodystyle|}}};{{{style|}}}"><tr><td style="padding:2px;">}}<!-- --><table cellspacing="0" class="nowraplinks {{{bodyclass|}}} {{#if:{{{title|}}}|{{#switch:{{{state|}}}|<!-- -->plain|off=|#default=collapsible {{#if:{{{state|}}}|{{{state}}}|autocollapse}}}}}} {{#switch:{{{border|{{{1|}}}}}}|<!-- -->subgroup|child|none=navbox-subgroup" style="border-spacing:0;{{{bodystyle|}}};{{{style|}}}|<!-- -->#default=navbox-inner" style="border-spacing:0;background:transparent;color:inherit}};{{{innerstyle|}}};"><!-- ---Title and Navbar--- -->{{#if:{{{title|}}}|<tr>{{#if:{{{titlegroup|}}}|<!-- --><th scope="row" class="navbox-group {{{titlegroupclass|}}}" <!-- -->style="{{{basestyle|}}};{{{groupstyle|}}};{{{titlegroupstyle|}}}"><!-- -->{{{titlegroup|}}}</th><th scope="col" style="border-left:2px solid #fdfdfd;width:100%;|<!-- --><th scope="col" style="}}{{{basestyle|}}};{{{titlestyle|}}}" class="navbox-title" <!-- -->colspan={{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}{{#if:{{{titlegroup|}}}|-1}}}}><!-- -->{{#if:{{#switch:{{{navbar|}}}|plain|off=1}}<!-- -->{{#if:{{{name|}}}||{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=1}}}}|<!-- -->{{#ifeq:{{{navbar|}}}|off|{{#ifeq:{{{state|}}}|plain|<span style="float:right;width:6em;">&nbsp;</span>}}|<!-- -->{{#ifeq:{{{state|}}}|plain||<span style="float:left;width:6em;">&nbsp;</span>}}}}|<!-- -->{{#if:{{{name|}}}|{{Navbar|{{{name}}}|mini=1|<!-- -->fontstyle={{{basestyle|}}};{{{titlestyle|}}};background:none transparent;border:none;}}|<!-- --><span class="error" style="float:left;white-space:nowrap;">Error: No name provided</span>}}<!-- -->{{#ifeq:{{{state|}}}|plain|<span style="float:right;width:6em;">&nbsp;</span>}}}}<!-- --><div class="{{{titleclass|}}}" style="font-size:110%;"> {{{title}}}</div></th></tr>}}<!-- ---Above--- -->{{#if:{{{above|}}}|<!-- -->{{#if:{{{title|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow {{{aboveclass|}}}" style="{{{basestyle|}}};{{{abovestyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}"><div> {{{above}}}</div></td></tr>}}<!-- ---Body--- ---First group/list and images--- -->{{#if:{{{list1|}}}|{{#if:{{{title|}}}{{{above|}}}|<tr style="height:2px;"><td></td></tr>}}<tr><!-- -->{{#if:{{{imageleft|}}}|<!-- --><td class="navbox-image {{{imageclass|}}}" style="width:0%;padding:0px 2px 0px 0px;{{{imageleftstyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><div> {{{imageleft}}}</div></td>}}<!-- -->{{#if:{{{group1|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group1style|}}}"><!-- -->{{{group1}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list1style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{list1padding|{{{listpadding|0em 0.25em}}}}}}"> {{{list1}}}</div></td><!-- -->{{#if:{{{image|}}}|<!-- --><td class="navbox-image {{{imageclass|}}}" style="width:0%;padding:0px 0px 0px 2px;{{{imagestyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><div> {{{image}}}</div></td>}}<!-- --></tr>}}<!-- ---Remaining groups/lists--- -->{{#if:{{{list2|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group2|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group2style|}}}"><!-- -->{{{group2}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list2style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list2}}}</div></td></tr>}}<!-- -->{{#if:{{{list3|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group3|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group3style|}}}"><!-- -->{{{group3}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list3style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list3}}}</div></td></tr>}}<!-- -->{{#if:{{{list4|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group4|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group4style|}}}"><!-- -->{{{group4}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list4style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list4}}}</div></td></tr>}}<!-- -->{{#if:{{{list5|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group5|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group5style|}}}"><!-- -->{{{group5}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list5style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list5}}}</div></td></tr>}}<!-- -->{{#if:{{{list6|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group6|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group6style|}}}"><!-- -->{{{group6}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list6style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list6}}}</div></td></tr>}}<!-- -->{{#if:{{{list7|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group7|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group7style|}}}"><!-- -->{{{group7}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list7style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list7}}}</div></td></tr>}}<!-- -->{{#if:{{{list8|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group8|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group8style|}}}"><!-- -->{{{group8}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list8style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list8}}}</div></td></tr>}}<!-- -->{{#if:{{{list9|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group9|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group9style|}}}"><!-- -->{{{group9}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list9style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list9}}}</div></td></tr>}}<!-- -->{{#if:{{{list10|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group10|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group10style|}}}"><!-- -->{{{group10}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list10style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list10}}}</div></td></tr>}}<!-- -->{{#if:{{{list11|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group11|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group11style|}}}"><!-- -->{{{group11}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list11style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list11}}}</div></td></tr>}}<!-- -->{{#if:{{{list12|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group12|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group12style|}}}"><!-- -->{{{group12}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list12style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list12}}}</div></td></tr>}}<!-- -->{{#if:{{{list13|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group13|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group13style|}}}"><!-- -->{{{group13}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list13style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list13}}}</div></td></tr>}}<!-- -->{{#if:{{{list14|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group14|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group14style|}}}"><!-- -->{{{group14}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list14style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list14}}}</div></td></tr>}}<!-- -->{{#if:{{{list15|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group15|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group15style|}}}"><!-- -->{{{group15}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list15style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list15}}}</div></td></tr>}}<!-- -->{{#if:{{{list16|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group16|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group16style|}}}"><!-- -->{{{group16}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list16style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list16}}}</div></td></tr>}}<!-- -->{{#if:{{{list17|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group17|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group17style|}}}"><!-- -->{{{group17}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list17style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list17}}}</div></td></tr>}}<!-- -->{{#if:{{{list18|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group18|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group18style|}}}"><!-- -->{{{group18}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list18style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list18}}}</div></td></tr>}}<!-- -->{{#if:{{{list19|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group19|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group19style|}}}"><!-- -->{{{group19}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list19style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list19}}}</div></td></tr>}}<!-- -->{{#if:{{{list20|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group20|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group20style|}}}"><!-- -->{{{group20}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list20style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list20}}}</div></td></tr>}}<!-- ---Below--- -->{{#if:{{{below|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}{{{list3|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow {{{belowclass|}}}" style="{{{basestyle|}}};{{{belowstyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}"><div> {{{below}}}</div></td></tr>}}<!-- --></table>{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=<div>|none=|#default=</td></tr></table>}}<!-- -->{{#ifeq:{{NAMESPACE}}|{{ns:10}}|{{#ifeq:{{{border|{{{1|}}}}}}|child||{{#ifeq:{{{border|{{{1|}}}}}}|subgroup||{{#switch:{{lc:{{SUBPAGENAME}}}} |doc |sandbox |testcases = |#default = {{#switch:{{{bodyclass|}}} |plainlist |hlist |hlist hnum |hlist vcard |vcard hlist = |#default = {{#switch:{{{listclass|}}} |plainlist |hlist |hlist hnum |hlist vcard |vcard hlist = |#default = {{#ifeq:{{{tracking|}}}|no||[[Category:Navigational boxes without horizontal lists]]}} }} }} }} }}}}}}<noinclude> {{documentation}} <!-- Add categories and interwikis to the /doc subpage, not here! --> </noinclude> n1xwf2wf0hsinmaqpohehp82o2hh7cc 9802 9801 2012-09-18T16:01:36Z w>WOSlinker 0 liststyle padding tracking 9802 wikitext text/x-wiki <!-- Please do not edit without discussion first as this is a VERY complex template. -->{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=</div>|none=|#default=<table cellspacing="0" <!-- -->class="navbox" style="border-spacing:0;{{{bodystyle|}}};{{{style|}}}"><tr><td style="padding:2px;">}}<!-- --><table cellspacing="0" class="nowraplinks {{{bodyclass|}}} {{#if:{{{title|}}}|{{#switch:{{{state|}}}|<!-- -->plain|off=|#default=collapsible {{#if:{{{state|}}}|{{{state}}}|autocollapse}}}}}} {{#switch:{{{border|{{{1|}}}}}}|<!-- -->subgroup|child|none=navbox-subgroup" style="border-spacing:0;{{{bodystyle|}}};{{{style|}}}|<!-- -->#default=navbox-inner" style="border-spacing:0;background:transparent;color:inherit}};{{{innerstyle|}}};"><!-- ---Title and Navbar--- -->{{#if:{{{title|}}}|<tr>{{#if:{{{titlegroup|}}}|<!-- --><th scope="row" class="navbox-group {{{titlegroupclass|}}}" <!-- -->style="{{{basestyle|}}};{{{groupstyle|}}};{{{titlegroupstyle|}}}"><!-- -->{{{titlegroup|}}}</th><th scope="col" style="border-left:2px solid #fdfdfd;width:100%;|<!-- --><th scope="col" style="}}{{{basestyle|}}};{{{titlestyle|}}}" class="navbox-title" <!-- -->colspan={{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}{{#if:{{{titlegroup|}}}|-1}}}}><!-- -->{{#if:{{#switch:{{{navbar|}}}|plain|off=1}}<!-- -->{{#if:{{{name|}}}||{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=1}}}}|<!-- -->{{#ifeq:{{{navbar|}}}|off|{{#ifeq:{{{state|}}}|plain|<span style="float:right;width:6em;">&nbsp;</span>}}|<!-- -->{{#ifeq:{{{state|}}}|plain||<span style="float:left;width:6em;">&nbsp;</span>}}}}|<!-- -->{{#if:{{{name|}}}|{{Navbar|{{{name}}}|mini=1|<!-- -->fontstyle={{{basestyle|}}};{{{titlestyle|}}};background:none transparent;border:none;}}|<!-- --><span class="error" style="float:left;white-space:nowrap;">Error: No name provided</span>}}<!-- -->{{#ifeq:{{{state|}}}|plain|<span style="float:right;width:6em;">&nbsp;</span>}}}}<!-- --><div class="{{{titleclass|}}}" style="font-size:110%;"> {{{title}}}</div></th></tr>}}<!-- ---Above--- -->{{#if:{{{above|}}}|<!-- -->{{#if:{{{title|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow {{{aboveclass|}}}" style="{{{basestyle|}}};{{{abovestyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}"><div> {{{above}}}</div></td></tr>}}<!-- ---Body--- ---First group/list and images--- -->{{#if:{{{list1|}}}|{{#if:{{{title|}}}{{{above|}}}|<tr style="height:2px;"><td></td></tr>}}<tr><!-- -->{{#if:{{{imageleft|}}}|<!-- --><td class="navbox-image {{{imageclass|}}}" style="width:0%;padding:0px 2px 0px 0px;{{{imageleftstyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><div> {{{imageleft}}}</div></td>}}<!-- -->{{#if:{{{group1|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group1style|}}}"><!-- -->{{{group1}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list1style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{list1padding|{{{listpadding|0em 0.25em}}}}}}"> {{{list1}}}</div></td><!-- -->{{#if:{{{image|}}}|<!-- --><td class="navbox-image {{{imageclass|}}}" style="width:0%;padding:0px 0px 0px 2px;{{{imagestyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><div> {{{image}}}</div></td>}}<!-- --></tr>}}<!-- ---Remaining groups/lists--- -->{{#if:{{{list2|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group2|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group2style|}}}"><!-- -->{{{group2}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list2style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list2}}}</div></td></tr>}}<!-- -->{{#if:{{{list3|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group3|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group3style|}}}"><!-- -->{{{group3}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list3style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list3}}}</div></td></tr>}}<!-- -->{{#if:{{{list4|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group4|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group4style|}}}"><!-- -->{{{group4}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list4style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list4}}}</div></td></tr>}}<!-- -->{{#if:{{{list5|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group5|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group5style|}}}"><!-- -->{{{group5}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list5style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list5}}}</div></td></tr>}}<!-- -->{{#if:{{{list6|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group6|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group6style|}}}"><!-- -->{{{group6}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list6style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list6}}}</div></td></tr>}}<!-- -->{{#if:{{{list7|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group7|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group7style|}}}"><!-- -->{{{group7}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list7style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list7}}}</div></td></tr>}}<!-- -->{{#if:{{{list8|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group8|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group8style|}}}"><!-- -->{{{group8}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list8style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list8}}}</div></td></tr>}}<!-- -->{{#if:{{{list9|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group9|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group9style|}}}"><!-- -->{{{group9}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list9style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list9}}}</div></td></tr>}}<!-- -->{{#if:{{{list10|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group10|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group10style|}}}"><!-- -->{{{group10}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list10style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list10}}}</div></td></tr>}}<!-- -->{{#if:{{{list11|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group11|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group11style|}}}"><!-- -->{{{group11}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list11style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list11}}}</div></td></tr>}}<!-- -->{{#if:{{{list12|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group12|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group12style|}}}"><!-- -->{{{group12}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list12style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list12}}}</div></td></tr>}}<!-- -->{{#if:{{{list13|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group13|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group13style|}}}"><!-- -->{{{group13}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list13style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list13}}}</div></td></tr>}}<!-- -->{{#if:{{{list14|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group14|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group14style|}}}"><!-- -->{{{group14}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list14style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list14}}}</div></td></tr>}}<!-- -->{{#if:{{{list15|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group15|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group15style|}}}"><!-- -->{{{group15}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list15style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list15}}}</div></td></tr>}}<!-- -->{{#if:{{{list16|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group16|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group16style|}}}"><!-- -->{{{group16}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list16style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list16}}}</div></td></tr>}}<!-- -->{{#if:{{{list17|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group17|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group17style|}}}"><!-- -->{{{group17}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list17style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list17}}}</div></td></tr>}}<!-- -->{{#if:{{{list18|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group18|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group18style|}}}"><!-- -->{{{group18}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list18style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list18}}}</div></td></tr>}}<!-- -->{{#if:{{{list19|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group19|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group19style|}}}"><!-- -->{{{group19}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list19style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list19}}}</div></td></tr>}}<!-- -->{{#if:{{{list20|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group20|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group20style|}}}"><!-- -->{{{group20}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list20style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list20}}}</div></td></tr>}}<!-- ---Below--- -->{{#if:{{{below|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}{{{list3|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow {{{belowclass|}}}" style="{{{basestyle|}}};{{{belowstyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}"><div> {{{below}}}</div></td></tr>}}<!-- --></table>{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=<div>|none=|#default=</td></tr></table>}}<!-- -->{{#ifeq:{{NAMESPACE}}|{{ns:10}}|{{#ifeq:{{{border|{{{1|}}}}}}|child||{{#ifeq:{{{border|{{{1|}}}}}}|subgroup||{{#switch:{{lc:{{SUBPAGENAME}}}} |doc |sandbox |testcases = |#default = {{#switch:{{{bodyclass|}}} |plainlist |hlist |hlist hnum |hlist vcard |vcard hlist = |#default = {{#switch:{{{listclass|}}} |plainlist |hlist |hlist hnum |hlist vcard |vcard hlist = |#default = {{#ifeq:{{{tracking|}}}|no||[[Category:Navigational boxes without horizontal lists]]}} }} }} }} }}}}}}<!-- -->{{#ifeq:{{NAMESPACE}}|{{ns:10}}|{{#switch:{{lc:{{SUBPAGENAME}}}} |sandbox |testcases = |#default = {{#switch:{{{liststyle|}}} |padding:0.25em 0; line-height:1.4em; width:auto; |padding:0.4em 0; line-height:1.4em; = [[Category:Navigational boxes with custom list spacing]] |#default = }} }}<noinclude> {{documentation}} <!-- Add categories and interwikis to the /doc subpage, not here! --> </noinclude> 9qkwzv5pj4k45n5imep95jrhz5jenhz 9803 9802 2012-09-18T16:05:25Z w>WOSlinker 0 liststyle padding tracking 9803 wikitext text/x-wiki <!-- Please do not edit without discussion first as this is a VERY complex template. -->{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=</div>|none=|#default=<table cellspacing="0" <!-- -->class="navbox" style="border-spacing:0;{{{bodystyle|}}};{{{style|}}}"><tr><td style="padding:2px;">}}<!-- --><table cellspacing="0" class="nowraplinks {{{bodyclass|}}} {{#if:{{{title|}}}|{{#switch:{{{state|}}}|<!-- -->plain|off=|#default=collapsible {{#if:{{{state|}}}|{{{state}}}|autocollapse}}}}}} {{#switch:{{{border|{{{1|}}}}}}|<!-- -->subgroup|child|none=navbox-subgroup" style="border-spacing:0;{{{bodystyle|}}};{{{style|}}}|<!-- -->#default=navbox-inner" style="border-spacing:0;background:transparent;color:inherit}};{{{innerstyle|}}};"><!-- ---Title and Navbar--- -->{{#if:{{{title|}}}|<tr>{{#if:{{{titlegroup|}}}|<!-- --><th scope="row" class="navbox-group {{{titlegroupclass|}}}" <!-- -->style="{{{basestyle|}}};{{{groupstyle|}}};{{{titlegroupstyle|}}}"><!-- -->{{{titlegroup|}}}</th><th scope="col" style="border-left:2px solid #fdfdfd;width:100%;|<!-- --><th scope="col" style="}}{{{basestyle|}}};{{{titlestyle|}}}" class="navbox-title" <!-- -->colspan={{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}{{#if:{{{titlegroup|}}}|-1}}}}><!-- -->{{#if:{{#switch:{{{navbar|}}}|plain|off=1}}<!-- -->{{#if:{{{name|}}}||{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=1}}}}|<!-- -->{{#ifeq:{{{navbar|}}}|off|{{#ifeq:{{{state|}}}|plain|<span style="float:right;width:6em;">&nbsp;</span>}}|<!-- -->{{#ifeq:{{{state|}}}|plain||<span style="float:left;width:6em;">&nbsp;</span>}}}}|<!-- -->{{#if:{{{name|}}}|{{Navbar|{{{name}}}|mini=1|<!-- -->fontstyle={{{basestyle|}}};{{{titlestyle|}}};background:none transparent;border:none;}}|<!-- --><span class="error" style="float:left;white-space:nowrap;">Error: No name provided</span>}}<!-- -->{{#ifeq:{{{state|}}}|plain|<span style="float:right;width:6em;">&nbsp;</span>}}}}<!-- --><div class="{{{titleclass|}}}" style="font-size:110%;"> {{{title}}}</div></th></tr>}}<!-- ---Above--- -->{{#if:{{{above|}}}|<!-- -->{{#if:{{{title|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow {{{aboveclass|}}}" style="{{{basestyle|}}};{{{abovestyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}"><div> {{{above}}}</div></td></tr>}}<!-- ---Body--- ---First group/list and images--- -->{{#if:{{{list1|}}}|{{#if:{{{title|}}}{{{above|}}}|<tr style="height:2px;"><td></td></tr>}}<tr><!-- -->{{#if:{{{imageleft|}}}|<!-- --><td class="navbox-image {{{imageclass|}}}" style="width:0%;padding:0px 2px 0px 0px;{{{imageleftstyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><div> {{{imageleft}}}</div></td>}}<!-- -->{{#if:{{{group1|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group1style|}}}"><!-- -->{{{group1}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list1style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{list1padding|{{{listpadding|0em 0.25em}}}}}}"> {{{list1}}}</div></td><!-- -->{{#if:{{{image|}}}|<!-- --><td class="navbox-image {{{imageclass|}}}" style="width:0%;padding:0px 0px 0px 2px;{{{imagestyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><div> {{{image}}}</div></td>}}<!-- --></tr>}}<!-- ---Remaining groups/lists--- -->{{#if:{{{list2|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group2|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group2style|}}}"><!-- -->{{{group2}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list2style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list2}}}</div></td></tr>}}<!-- -->{{#if:{{{list3|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group3|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group3style|}}}"><!-- -->{{{group3}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list3style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list3}}}</div></td></tr>}}<!-- -->{{#if:{{{list4|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group4|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group4style|}}}"><!-- -->{{{group4}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list4style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list4}}}</div></td></tr>}}<!-- -->{{#if:{{{list5|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group5|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group5style|}}}"><!-- -->{{{group5}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list5style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list5}}}</div></td></tr>}}<!-- -->{{#if:{{{list6|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group6|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group6style|}}}"><!-- -->{{{group6}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list6style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list6}}}</div></td></tr>}}<!-- -->{{#if:{{{list7|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group7|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group7style|}}}"><!-- -->{{{group7}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list7style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list7}}}</div></td></tr>}}<!-- -->{{#if:{{{list8|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group8|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group8style|}}}"><!-- -->{{{group8}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list8style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list8}}}</div></td></tr>}}<!-- -->{{#if:{{{list9|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group9|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group9style|}}}"><!-- -->{{{group9}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list9style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list9}}}</div></td></tr>}}<!-- -->{{#if:{{{list10|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group10|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group10style|}}}"><!-- -->{{{group10}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list10style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list10}}}</div></td></tr>}}<!-- -->{{#if:{{{list11|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group11|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group11style|}}}"><!-- -->{{{group11}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list11style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list11}}}</div></td></tr>}}<!-- -->{{#if:{{{list12|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group12|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group12style|}}}"><!-- -->{{{group12}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list12style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list12}}}</div></td></tr>}}<!-- -->{{#if:{{{list13|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group13|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group13style|}}}"><!-- -->{{{group13}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list13style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list13}}}</div></td></tr>}}<!-- -->{{#if:{{{list14|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group14|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group14style|}}}"><!-- -->{{{group14}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list14style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list14}}}</div></td></tr>}}<!-- -->{{#if:{{{list15|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group15|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group15style|}}}"><!-- -->{{{group15}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list15style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list15}}}</div></td></tr>}}<!-- -->{{#if:{{{list16|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group16|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group16style|}}}"><!-- -->{{{group16}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list16style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list16}}}</div></td></tr>}}<!-- -->{{#if:{{{list17|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group17|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group17style|}}}"><!-- -->{{{group17}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list17style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list17}}}</div></td></tr>}}<!-- -->{{#if:{{{list18|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group18|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group18style|}}}"><!-- -->{{{group18}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list18style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list18}}}</div></td></tr>}}<!-- -->{{#if:{{{list19|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group19|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group19style|}}}"><!-- -->{{{group19}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list19style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list19}}}</div></td></tr>}}<!-- -->{{#if:{{{list20|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group20|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group20style|}}}"><!-- -->{{{group20}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list20style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list20}}}</div></td></tr>}}<!-- ---Below--- -->{{#if:{{{below|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}{{{list3|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow {{{belowclass|}}}" style="{{{basestyle|}}};{{{belowstyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}"><div> {{{below}}}</div></td></tr>}}<!-- --></table>{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=<div>|none=|#default=</td></tr></table>}}<!-- -->{{#ifeq:{{NAMESPACE}}|{{ns:10}}|{{#ifeq:{{{border|{{{1|}}}}}}|child||{{#ifeq:{{{border|{{{1|}}}}}}|subgroup||{{#switch:{{lc:{{SUBPAGENAME}}}} |doc |sandbox |testcases = |#default = {{#switch:{{{bodyclass|}}} |plainlist |hlist |hlist hnum |hlist vcard |vcard hlist = |#default = {{#switch:{{{listclass|}}} |plainlist |hlist |hlist hnum |hlist vcard |vcard hlist = |#default = {{#ifeq:{{{tracking|}}}|no||[[Category:Navigational boxes without horizontal lists]]}} }} }} }} }}}}}}<!-- -->{{#ifeq:{{NAMESPACE}}|{{ns:10}}|{{#switch:{{lc:{{SUBPAGENAME}}}} |sandbox |testcases = |#default = {{#switch:{{{liststyle|}}} |padding:0.25em 0; line-height:1.4em; width:auto; |padding:0.4em 0; line-height:1.4em; = [[Category:Navigational boxes with custom list spacing]] |#default = }} }}}}<noinclude> {{documentation}} <!-- Add categories and interwikis to the /doc subpage, not here! --> </noinclude> 2g2oupyp9em1bm3ldeunctbxuepbx3x 9804 9803 2012-09-18T16:16:05Z w>WOSlinker 0 liststyle padding tracking 9804 wikitext text/x-wiki <!-- Please do not edit without discussion first as this is a VERY complex template. -->{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=</div>|none=|#default=<table cellspacing="0" <!-- -->class="navbox" style="border-spacing:0;{{{bodystyle|}}};{{{style|}}}"><tr><td style="padding:2px;">}}<!-- --><table cellspacing="0" class="nowraplinks {{{bodyclass|}}} {{#if:{{{title|}}}|{{#switch:{{{state|}}}|<!-- -->plain|off=|#default=collapsible {{#if:{{{state|}}}|{{{state}}}|autocollapse}}}}}} {{#switch:{{{border|{{{1|}}}}}}|<!-- -->subgroup|child|none=navbox-subgroup" style="border-spacing:0;{{{bodystyle|}}};{{{style|}}}|<!-- -->#default=navbox-inner" style="border-spacing:0;background:transparent;color:inherit}};{{{innerstyle|}}};"><!-- ---Title and Navbar--- -->{{#if:{{{title|}}}|<tr>{{#if:{{{titlegroup|}}}|<!-- --><th scope="row" class="navbox-group {{{titlegroupclass|}}}" <!-- -->style="{{{basestyle|}}};{{{groupstyle|}}};{{{titlegroupstyle|}}}"><!-- -->{{{titlegroup|}}}</th><th scope="col" style="border-left:2px solid #fdfdfd;width:100%;|<!-- --><th scope="col" style="}}{{{basestyle|}}};{{{titlestyle|}}}" class="navbox-title" <!-- -->colspan={{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}{{#if:{{{titlegroup|}}}|-1}}}}><!-- -->{{#if:{{#switch:{{{navbar|}}}|plain|off=1}}<!-- -->{{#if:{{{name|}}}||{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=1}}}}|<!-- -->{{#ifeq:{{{navbar|}}}|off|{{#ifeq:{{{state|}}}|plain|<span style="float:right;width:6em;">&nbsp;</span>}}|<!-- -->{{#ifeq:{{{state|}}}|plain||<span style="float:left;width:6em;">&nbsp;</span>}}}}|<!-- -->{{#if:{{{name|}}}|{{Navbar|{{{name}}}|mini=1|<!-- -->fontstyle={{{basestyle|}}};{{{titlestyle|}}};background:none transparent;border:none;}}|<!-- --><span class="error" style="float:left;white-space:nowrap;">Error: No name provided</span>}}<!-- -->{{#ifeq:{{{state|}}}|plain|<span style="float:right;width:6em;">&nbsp;</span>}}}}<!-- --><div class="{{{titleclass|}}}" style="font-size:110%;"> {{{title}}}</div></th></tr>}}<!-- ---Above--- -->{{#if:{{{above|}}}|<!-- -->{{#if:{{{title|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow {{{aboveclass|}}}" style="{{{basestyle|}}};{{{abovestyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}"><div> {{{above}}}</div></td></tr>}}<!-- ---Body--- ---First group/list and images--- -->{{#if:{{{list1|}}}|{{#if:{{{title|}}}{{{above|}}}|<tr style="height:2px;"><td></td></tr>}}<tr><!-- -->{{#if:{{{imageleft|}}}|<!-- --><td class="navbox-image {{{imageclass|}}}" style="width:0%;padding:0px 2px 0px 0px;{{{imageleftstyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><div> {{{imageleft}}}</div></td>}}<!-- -->{{#if:{{{group1|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group1style|}}}"><!-- -->{{{group1}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list1style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{list1padding|{{{listpadding|0em 0.25em}}}}}}"> {{{list1}}}</div></td><!-- -->{{#if:{{{image|}}}|<!-- --><td class="navbox-image {{{imageclass|}}}" style="width:0%;padding:0px 0px 0px 2px;{{{imagestyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><div> {{{image}}}</div></td>}}<!-- --></tr>}}<!-- ---Remaining groups/lists--- -->{{#if:{{{list2|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group2|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group2style|}}}"><!-- -->{{{group2}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list2style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list2}}}</div></td></tr>}}<!-- -->{{#if:{{{list3|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group3|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group3style|}}}"><!-- -->{{{group3}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list3style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list3}}}</div></td></tr>}}<!-- -->{{#if:{{{list4|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group4|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group4style|}}}"><!-- -->{{{group4}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list4style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list4}}}</div></td></tr>}}<!-- -->{{#if:{{{list5|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group5|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group5style|}}}"><!-- -->{{{group5}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list5style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list5}}}</div></td></tr>}}<!-- -->{{#if:{{{list6|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group6|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group6style|}}}"><!-- -->{{{group6}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list6style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list6}}}</div></td></tr>}}<!-- -->{{#if:{{{list7|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group7|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group7style|}}}"><!-- -->{{{group7}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list7style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list7}}}</div></td></tr>}}<!-- -->{{#if:{{{list8|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group8|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group8style|}}}"><!-- -->{{{group8}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list8style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list8}}}</div></td></tr>}}<!-- -->{{#if:{{{list9|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group9|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group9style|}}}"><!-- -->{{{group9}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list9style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list9}}}</div></td></tr>}}<!-- -->{{#if:{{{list10|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group10|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group10style|}}}"><!-- -->{{{group10}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list10style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list10}}}</div></td></tr>}}<!-- -->{{#if:{{{list11|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group11|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group11style|}}}"><!-- -->{{{group11}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list11style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list11}}}</div></td></tr>}}<!-- -->{{#if:{{{list12|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group12|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group12style|}}}"><!-- -->{{{group12}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list12style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list12}}}</div></td></tr>}}<!-- -->{{#if:{{{list13|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group13|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group13style|}}}"><!-- -->{{{group13}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list13style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list13}}}</div></td></tr>}}<!-- -->{{#if:{{{list14|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group14|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group14style|}}}"><!-- -->{{{group14}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list14style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list14}}}</div></td></tr>}}<!-- -->{{#if:{{{list15|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group15|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group15style|}}}"><!-- -->{{{group15}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list15style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list15}}}</div></td></tr>}}<!-- -->{{#if:{{{list16|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group16|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group16style|}}}"><!-- -->{{{group16}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list16style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list16}}}</div></td></tr>}}<!-- -->{{#if:{{{list17|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group17|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group17style|}}}"><!-- -->{{{group17}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list17style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list17}}}</div></td></tr>}}<!-- -->{{#if:{{{list18|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group18|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group18style|}}}"><!-- -->{{{group18}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list18style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list18}}}</div></td></tr>}}<!-- -->{{#if:{{{list19|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group19|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group19style|}}}"><!-- -->{{{group19}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list19style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list19}}}</div></td></tr>}}<!-- -->{{#if:{{{list20|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group20|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group20style|}}}"><!-- -->{{{group20}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list20style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list20}}}</div></td></tr>}}<!-- ---Below--- -->{{#if:{{{below|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}{{{list3|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow {{{belowclass|}}}" style="{{{basestyle|}}};{{{belowstyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}"><div> {{{below}}}</div></td></tr>}}<!-- --></table>{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=<div>|none=|#default=</td></tr></table>}}<!-- -->{{#ifeq:{{NAMESPACE}}|{{ns:10}}|{{#ifeq:{{{border|{{{1|}}}}}}|child||{{#ifeq:{{{border|{{{1|}}}}}}|subgroup||{{#switch:{{lc:{{SUBPAGENAME}}}} |doc |sandbox |testcases = |#default = {{#switch:{{{bodyclass|}}} |plainlist |hlist |hlist hnum |hlist vcard |vcard hlist = |#default = {{#switch:{{{listclass|}}} |plainlist |hlist |hlist hnum |hlist vcard |vcard hlist = |#default = {{#ifeq:{{{tracking|}}}|no||[[Category:Navigational boxes without horizontal lists]]}} }} }} }} }}}}}}<!-- -->{{#ifeq:{{NAMESPACE}}|{{ns:10}}|{{#switch:{{lc:{{SUBPAGENAME}}}} |sandbox |testcases = |#default = {{#switch:{{{liststyle|}}} |padding: 0.25em 0; line-height: 1.3em; |padding:0.25em 0; line-height:1.4em; width:auto; |padding:0.4em 0; line-height:1.4em; = [[Category:Navigational boxes with custom list spacing]] |#default = }} }}}}<noinclude> {{documentation}} <!-- Add categories and interwikis to the /doc subpage, not here! --> </noinclude> h6spa9wwwzckr7108dyrwnsyi2qpg0a 9805 9804 2012-10-22T12:44:22Z w>Thumperward 0 adding very basic tracking of titlestyle / groupstyle to measure overall use. see [[Template talk:Red Dwarf#Template styling]] 9805 wikitext text/x-wiki <!-- Please do not edit without discussion first as this is a VERY complex template. -->{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=</div>|none=|#default=<table cellspacing="0" <!-- -->class="navbox" style="border-spacing:0;{{{bodystyle|}}};{{{style|}}}"><tr><td style="padding:2px;">}}<!-- --><table cellspacing="0" class="nowraplinks {{{bodyclass|}}} {{#if:{{{title|}}}|{{#switch:{{{state|}}}|<!-- -->plain|off=|#default=collapsible {{#if:{{{state|}}}|{{{state}}}|autocollapse}}}}}} {{#switch:{{{border|{{{1|}}}}}}|<!-- -->subgroup|child|none=navbox-subgroup" style="border-spacing:0;{{{bodystyle|}}};{{{style|}}}|<!-- -->#default=navbox-inner" style="border-spacing:0;background:transparent;color:inherit}};{{{innerstyle|}}};"><!-- ---Title and Navbar--- -->{{#if:{{{title|}}}|<tr>{{#if:{{{titlegroup|}}}|<!-- --><th scope="row" class="navbox-group {{{titlegroupclass|}}}" <!-- -->style="{{{basestyle|}}};{{{groupstyle|}}};{{{titlegroupstyle|}}}"><!-- -->{{{titlegroup|}}}</th><th scope="col" style="border-left:2px solid #fdfdfd;width:100%;|<!-- --><th scope="col" style="}}{{{basestyle|}}};{{{titlestyle|}}}" class="navbox-title" <!-- -->colspan={{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}{{#if:{{{titlegroup|}}}|-1}}}}><!-- -->{{#if:{{#switch:{{{navbar|}}}|plain|off=1}}<!-- -->{{#if:{{{name|}}}||{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=1}}}}|<!-- -->{{#ifeq:{{{navbar|}}}|off|{{#ifeq:{{{state|}}}|plain|<span style="float:right;width:6em;">&nbsp;</span>}}|<!-- -->{{#ifeq:{{{state|}}}|plain||<span style="float:left;width:6em;">&nbsp;</span>}}}}|<!-- -->{{#if:{{{name|}}}|{{Navbar|{{{name}}}|mini=1|<!-- -->fontstyle={{{basestyle|}}};{{{titlestyle|}}};background:none transparent;border:none;}}|<!-- --><span class="error" style="float:left;white-space:nowrap;">Error: No name provided</span>}}<!-- -->{{#ifeq:{{{state|}}}|plain|<span style="float:right;width:6em;">&nbsp;</span>}}}}<!-- --><div class="{{{titleclass|}}}" style="font-size:110%;"> {{{title}}}</div></th></tr>}}<!-- ---Above--- -->{{#if:{{{above|}}}|<!-- -->{{#if:{{{title|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow {{{aboveclass|}}}" style="{{{basestyle|}}};{{{abovestyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}"><div> {{{above}}}</div></td></tr>}}<!-- ---Body--- ---First group/list and images--- -->{{#if:{{{list1|}}}|{{#if:{{{title|}}}{{{above|}}}|<tr style="height:2px;"><td></td></tr>}}<tr><!-- -->{{#if:{{{imageleft|}}}|<!-- --><td class="navbox-image {{{imageclass|}}}" style="width:0%;padding:0px 2px 0px 0px;{{{imageleftstyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><div> {{{imageleft}}}</div></td>}}<!-- -->{{#if:{{{group1|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group1style|}}}"><!-- -->{{{group1}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list1style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{list1padding|{{{listpadding|0em 0.25em}}}}}}"> {{{list1}}}</div></td><!-- -->{{#if:{{{image|}}}|<!-- --><td class="navbox-image {{{imageclass|}}}" style="width:0%;padding:0px 0px 0px 2px;{{{imagestyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><div> {{{image}}}</div></td>}}<!-- --></tr>}}<!-- ---Remaining groups/lists--- -->{{#if:{{{list2|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group2|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group2style|}}}"><!-- -->{{{group2}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list2style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list2}}}</div></td></tr>}}<!-- -->{{#if:{{{list3|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group3|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group3style|}}}"><!-- -->{{{group3}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list3style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list3}}}</div></td></tr>}}<!-- -->{{#if:{{{list4|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group4|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group4style|}}}"><!-- -->{{{group4}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list4style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list4}}}</div></td></tr>}}<!-- -->{{#if:{{{list5|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group5|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group5style|}}}"><!-- -->{{{group5}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list5style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list5}}}</div></td></tr>}}<!-- -->{{#if:{{{list6|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group6|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group6style|}}}"><!-- -->{{{group6}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list6style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list6}}}</div></td></tr>}}<!-- -->{{#if:{{{list7|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group7|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group7style|}}}"><!-- -->{{{group7}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list7style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list7}}}</div></td></tr>}}<!-- -->{{#if:{{{list8|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group8|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group8style|}}}"><!-- -->{{{group8}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list8style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list8}}}</div></td></tr>}}<!-- -->{{#if:{{{list9|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group9|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group9style|}}}"><!-- -->{{{group9}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list9style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list9}}}</div></td></tr>}}<!-- -->{{#if:{{{list10|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group10|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group10style|}}}"><!-- -->{{{group10}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list10style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list10}}}</div></td></tr>}}<!-- -->{{#if:{{{list11|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group11|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group11style|}}}"><!-- -->{{{group11}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list11style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list11}}}</div></td></tr>}}<!-- -->{{#if:{{{list12|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group12|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group12style|}}}"><!-- -->{{{group12}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list12style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list12}}}</div></td></tr>}}<!-- -->{{#if:{{{list13|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group13|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group13style|}}}"><!-- -->{{{group13}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list13style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list13}}}</div></td></tr>}}<!-- -->{{#if:{{{list14|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group14|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group14style|}}}"><!-- -->{{{group14}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list14style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list14}}}</div></td></tr>}}<!-- -->{{#if:{{{list15|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group15|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group15style|}}}"><!-- -->{{{group15}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list15style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list15}}}</div></td></tr>}}<!-- -->{{#if:{{{list16|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group16|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group16style|}}}"><!-- -->{{{group16}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list16style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list16}}}</div></td></tr>}}<!-- -->{{#if:{{{list17|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group17|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group17style|}}}"><!-- -->{{{group17}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list17style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list17}}}</div></td></tr>}}<!-- -->{{#if:{{{list18|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group18|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group18style|}}}"><!-- -->{{{group18}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list18style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list18}}}</div></td></tr>}}<!-- -->{{#if:{{{list19|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group19|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group19style|}}}"><!-- -->{{{group19}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list19style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list19}}}</div></td></tr>}}<!-- -->{{#if:{{{list20|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group20|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group20style|}}}"><!-- -->{{{group20}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list20style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list20}}}</div></td></tr>}}<!-- ---Below--- -->{{#if:{{{below|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}{{{list3|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow {{{belowclass|}}}" style="{{{basestyle|}}};{{{belowstyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}"><div> {{{below}}}</div></td></tr>}}<!-- --></table>{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=<div>|none=|#default=</td></tr></table>}}<!-- -->{{#ifeq:{{NAMESPACE}}|{{ns:10}}|{{#ifeq:{{{border|{{{1|}}}}}}|child||{{#ifeq:{{{border|{{{1|}}}}}}|subgroup||{{#switch:{{lc:{{SUBPAGENAME}}}} |doc |sandbox |testcases = |#default = {{#switch:{{{bodyclass|}}} |plainlist |hlist |hlist hnum |hlist vcard |vcard hlist = |#default = {{#switch:{{{listclass|}}} |plainlist |hlist |hlist hnum |hlist vcard |vcard hlist = |#default = {{#ifeq:{{{tracking|}}}|no||[[Category:Navigational boxes without horizontal lists]]}} }} }} }} }}}}}}<!-- -->{{#ifeq:{{NAMESPACE}}|{{ns:10}}|{{#switch:{{lc:{{SUBPAGENAME}}}} |sandbox |testcases = |#default = {{#switch:{{{liststyle|}}} |padding: 0.25em 0; line-height: 1.3em; |padding:0.25em 0; line-height:1.4em; width:auto; |padding:0.4em 0; line-height:1.4em; = [[Category:Navigational boxes with custom list spacing]] |#default = }} }}}}<includeonly>{{{titlestyle|}}}{{{groupstyle|}}}|[[Category:Navboxes using background colours]]}}</includeonly><noinclude>{{documentation}}<!-- Add categories and interwikis to the /doc sub-page --></noinclude> aqi3dprxf1llao8n7cz9oko152w3reo 9806 9805 2012-10-22T12:46:15Z w>Thumperward 0 fix 9806 wikitext text/x-wiki <!-- Please do not edit without discussion first as this is a VERY complex template. -->{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=</div>|none=|#default=<table cellspacing="0" <!-- -->class="navbox" style="border-spacing:0;{{{bodystyle|}}};{{{style|}}}"><tr><td style="padding:2px;">}}<!-- --><table cellspacing="0" class="nowraplinks {{{bodyclass|}}} {{#if:{{{title|}}}|{{#switch:{{{state|}}}|<!-- -->plain|off=|#default=collapsible {{#if:{{{state|}}}|{{{state}}}|autocollapse}}}}}} {{#switch:{{{border|{{{1|}}}}}}|<!-- -->subgroup|child|none=navbox-subgroup" style="border-spacing:0;{{{bodystyle|}}};{{{style|}}}|<!-- -->#default=navbox-inner" style="border-spacing:0;background:transparent;color:inherit}};{{{innerstyle|}}};"><!-- ---Title and Navbar--- -->{{#if:{{{title|}}}|<tr>{{#if:{{{titlegroup|}}}|<!-- --><th scope="row" class="navbox-group {{{titlegroupclass|}}}" <!-- -->style="{{{basestyle|}}};{{{groupstyle|}}};{{{titlegroupstyle|}}}"><!-- -->{{{titlegroup|}}}</th><th scope="col" style="border-left:2px solid #fdfdfd;width:100%;|<!-- --><th scope="col" style="}}{{{basestyle|}}};{{{titlestyle|}}}" class="navbox-title" <!-- -->colspan={{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}{{#if:{{{titlegroup|}}}|-1}}}}><!-- -->{{#if:{{#switch:{{{navbar|}}}|plain|off=1}}<!-- -->{{#if:{{{name|}}}||{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=1}}}}|<!-- -->{{#ifeq:{{{navbar|}}}|off|{{#ifeq:{{{state|}}}|plain|<span style="float:right;width:6em;">&nbsp;</span>}}|<!-- -->{{#ifeq:{{{state|}}}|plain||<span style="float:left;width:6em;">&nbsp;</span>}}}}|<!-- -->{{#if:{{{name|}}}|{{Navbar|{{{name}}}|mini=1|<!-- -->fontstyle={{{basestyle|}}};{{{titlestyle|}}};background:none transparent;border:none;}}|<!-- --><span class="error" style="float:left;white-space:nowrap;">Error: No name provided</span>}}<!-- -->{{#ifeq:{{{state|}}}|plain|<span style="float:right;width:6em;">&nbsp;</span>}}}}<!-- --><div class="{{{titleclass|}}}" style="font-size:110%;"> {{{title}}}</div></th></tr>}}<!-- ---Above--- -->{{#if:{{{above|}}}|<!-- -->{{#if:{{{title|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow {{{aboveclass|}}}" style="{{{basestyle|}}};{{{abovestyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}"><div> {{{above}}}</div></td></tr>}}<!-- ---Body--- ---First group/list and images--- -->{{#if:{{{list1|}}}|{{#if:{{{title|}}}{{{above|}}}|<tr style="height:2px;"><td></td></tr>}}<tr><!-- -->{{#if:{{{imageleft|}}}|<!-- --><td class="navbox-image {{{imageclass|}}}" style="width:0%;padding:0px 2px 0px 0px;{{{imageleftstyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><div> {{{imageleft}}}</div></td>}}<!-- -->{{#if:{{{group1|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group1style|}}}"><!-- -->{{{group1}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list1style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{list1padding|{{{listpadding|0em 0.25em}}}}}}"> {{{list1}}}</div></td><!-- -->{{#if:{{{image|}}}|<!-- --><td class="navbox-image {{{imageclass|}}}" style="width:0%;padding:0px 0px 0px 2px;{{{imagestyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><div> {{{image}}}</div></td>}}<!-- --></tr>}}<!-- ---Remaining groups/lists--- -->{{#if:{{{list2|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group2|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group2style|}}}"><!-- -->{{{group2}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list2style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list2}}}</div></td></tr>}}<!-- -->{{#if:{{{list3|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group3|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group3style|}}}"><!-- -->{{{group3}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list3style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list3}}}</div></td></tr>}}<!-- -->{{#if:{{{list4|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group4|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group4style|}}}"><!-- -->{{{group4}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list4style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list4}}}</div></td></tr>}}<!-- -->{{#if:{{{list5|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group5|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group5style|}}}"><!-- -->{{{group5}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list5style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list5}}}</div></td></tr>}}<!-- -->{{#if:{{{list6|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group6|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group6style|}}}"><!-- -->{{{group6}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list6style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list6}}}</div></td></tr>}}<!-- -->{{#if:{{{list7|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group7|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group7style|}}}"><!-- -->{{{group7}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list7style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list7}}}</div></td></tr>}}<!-- -->{{#if:{{{list8|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group8|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group8style|}}}"><!-- -->{{{group8}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list8style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list8}}}</div></td></tr>}}<!-- -->{{#if:{{{list9|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group9|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group9style|}}}"><!-- -->{{{group9}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list9style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list9}}}</div></td></tr>}}<!-- -->{{#if:{{{list10|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group10|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group10style|}}}"><!-- -->{{{group10}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list10style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list10}}}</div></td></tr>}}<!-- -->{{#if:{{{list11|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group11|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group11style|}}}"><!-- -->{{{group11}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list11style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list11}}}</div></td></tr>}}<!-- -->{{#if:{{{list12|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group12|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group12style|}}}"><!-- -->{{{group12}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list12style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list12}}}</div></td></tr>}}<!-- -->{{#if:{{{list13|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group13|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group13style|}}}"><!-- -->{{{group13}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list13style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list13}}}</div></td></tr>}}<!-- -->{{#if:{{{list14|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group14|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group14style|}}}"><!-- -->{{{group14}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list14style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list14}}}</div></td></tr>}}<!-- -->{{#if:{{{list15|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group15|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group15style|}}}"><!-- -->{{{group15}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list15style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list15}}}</div></td></tr>}}<!-- -->{{#if:{{{list16|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group16|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group16style|}}}"><!-- -->{{{group16}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list16style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list16}}}</div></td></tr>}}<!-- -->{{#if:{{{list17|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group17|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group17style|}}}"><!-- -->{{{group17}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list17style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list17}}}</div></td></tr>}}<!-- -->{{#if:{{{list18|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group18|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group18style|}}}"><!-- -->{{{group18}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list18style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list18}}}</div></td></tr>}}<!-- -->{{#if:{{{list19|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group19|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group19style|}}}"><!-- -->{{{group19}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list19style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list19}}}</div></td></tr>}}<!-- -->{{#if:{{{list20|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group20|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group20style|}}}"><!-- -->{{{group20}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list20style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list20}}}</div></td></tr>}}<!-- ---Below--- -->{{#if:{{{below|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}{{{list3|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow {{{belowclass|}}}" style="{{{basestyle|}}};{{{belowstyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}"><div> {{{below}}}</div></td></tr>}}<!-- --></table>{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=<div>|none=|#default=</td></tr></table>}}<!-- -->{{#ifeq:{{NAMESPACE}}|{{ns:10}}|{{#ifeq:{{{border|{{{1|}}}}}}|child||{{#ifeq:{{{border|{{{1|}}}}}}|subgroup||{{#switch:{{lc:{{SUBPAGENAME}}}} |doc |sandbox |testcases = |#default = {{#switch:{{{bodyclass|}}} |plainlist |hlist |hlist hnum |hlist vcard |vcard hlist = |#default = {{#switch:{{{listclass|}}} |plainlist |hlist |hlist hnum |hlist vcard |vcard hlist = |#default = {{#ifeq:{{{tracking|}}}|no||[[Category:Navigational boxes without horizontal lists]]}} }} }} }} }}}}}}<!-- -->{{#ifeq:{{NAMESPACE}}|{{ns:10}}|{{#switch:{{lc:{{SUBPAGENAME}}}} |sandbox |testcases = |#default = {{#switch:{{{liststyle|}}} |padding: 0.25em 0; line-height: 1.3em; |padding:0.25em 0; line-height:1.4em; width:auto; |padding:0.4em 0; line-height:1.4em; = [[Category:Navigational boxes with custom list spacing]] |#default = }} }}}}<includeonly>{{#if:{{{titlestyle|}}}{{{groupstyle|}}}|[[Category:Navboxes using background colours]]}}</includeonly><noinclude>{{documentation}}<!-- Add categories and interwikis to the /doc sub-page --></noinclude> eeypa6as8vycx863miiq2vdhom17su6 9807 9806 2012-10-22T12:52:00Z w>Thumperward 0 namespace filtering for tracking cat 9807 wikitext text/x-wiki <!-- Please do not edit without discussion first as this is a VERY complex template. -->{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=</div>|none=|#default=<table cellspacing="0" <!-- -->class="navbox" style="border-spacing:0;{{{bodystyle|}}};{{{style|}}}"><tr><td style="padding:2px;">}}<!-- --><table cellspacing="0" class="nowraplinks {{{bodyclass|}}} {{#if:{{{title|}}}|{{#switch:{{{state|}}}|<!-- -->plain|off=|#default=collapsible {{#if:{{{state|}}}|{{{state}}}|autocollapse}}}}}} {{#switch:{{{border|{{{1|}}}}}}|<!-- -->subgroup|child|none=navbox-subgroup" style="border-spacing:0;{{{bodystyle|}}};{{{style|}}}|<!-- -->#default=navbox-inner" style="border-spacing:0;background:transparent;color:inherit}};{{{innerstyle|}}};"><!-- ---Title and Navbar--- -->{{#if:{{{title|}}}|<tr>{{#if:{{{titlegroup|}}}|<!-- --><th scope="row" class="navbox-group {{{titlegroupclass|}}}" <!-- -->style="{{{basestyle|}}};{{{groupstyle|}}};{{{titlegroupstyle|}}}"><!-- -->{{{titlegroup|}}}</th><th scope="col" style="border-left:2px solid #fdfdfd;width:100%;|<!-- --><th scope="col" style="}}{{{basestyle|}}};{{{titlestyle|}}}" class="navbox-title" <!-- -->colspan={{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}{{#if:{{{titlegroup|}}}|-1}}}}><!-- -->{{#if:{{#switch:{{{navbar|}}}|plain|off=1}}<!-- -->{{#if:{{{name|}}}||{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=1}}}}|<!-- -->{{#ifeq:{{{navbar|}}}|off|{{#ifeq:{{{state|}}}|plain|<span style="float:right;width:6em;">&nbsp;</span>}}|<!-- -->{{#ifeq:{{{state|}}}|plain||<span style="float:left;width:6em;">&nbsp;</span>}}}}|<!-- -->{{#if:{{{name|}}}|{{Navbar|{{{name}}}|mini=1|<!-- -->fontstyle={{{basestyle|}}};{{{titlestyle|}}};background:none transparent;border:none;}}|<!-- --><span class="error" style="float:left;white-space:nowrap;">Error: No name provided</span>}}<!-- -->{{#ifeq:{{{state|}}}|plain|<span style="float:right;width:6em;">&nbsp;</span>}}}}<!-- --><div class="{{{titleclass|}}}" style="font-size:110%;"> {{{title}}}</div></th></tr>}}<!-- ---Above--- -->{{#if:{{{above|}}}|<!-- -->{{#if:{{{title|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow {{{aboveclass|}}}" style="{{{basestyle|}}};{{{abovestyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}"><div> {{{above}}}</div></td></tr>}}<!-- ---Body--- ---First group/list and images--- -->{{#if:{{{list1|}}}|{{#if:{{{title|}}}{{{above|}}}|<tr style="height:2px;"><td></td></tr>}}<tr><!-- -->{{#if:{{{imageleft|}}}|<!-- --><td class="navbox-image {{{imageclass|}}}" style="width:0%;padding:0px 2px 0px 0px;{{{imageleftstyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><div> {{{imageleft}}}</div></td>}}<!-- -->{{#if:{{{group1|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group1style|}}}"><!-- -->{{{group1}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list1style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{list1padding|{{{listpadding|0em 0.25em}}}}}}"> {{{list1}}}</div></td><!-- -->{{#if:{{{image|}}}|<!-- --><td class="navbox-image {{{imageclass|}}}" style="width:0%;padding:0px 0px 0px 2px;{{{imagestyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><div> {{{image}}}</div></td>}}<!-- --></tr>}}<!-- ---Remaining groups/lists--- -->{{#if:{{{list2|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group2|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group2style|}}}"><!-- -->{{{group2}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list2style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list2}}}</div></td></tr>}}<!-- -->{{#if:{{{list3|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group3|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group3style|}}}"><!-- -->{{{group3}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list3style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list3}}}</div></td></tr>}}<!-- -->{{#if:{{{list4|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group4|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group4style|}}}"><!-- -->{{{group4}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list4style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list4}}}</div></td></tr>}}<!-- -->{{#if:{{{list5|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group5|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group5style|}}}"><!-- -->{{{group5}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list5style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list5}}}</div></td></tr>}}<!-- -->{{#if:{{{list6|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group6|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group6style|}}}"><!-- -->{{{group6}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list6style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list6}}}</div></td></tr>}}<!-- -->{{#if:{{{list7|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group7|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group7style|}}}"><!-- -->{{{group7}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list7style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list7}}}</div></td></tr>}}<!-- -->{{#if:{{{list8|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group8|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group8style|}}}"><!-- -->{{{group8}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list8style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list8}}}</div></td></tr>}}<!-- -->{{#if:{{{list9|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group9|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group9style|}}}"><!-- -->{{{group9}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list9style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list9}}}</div></td></tr>}}<!-- -->{{#if:{{{list10|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group10|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group10style|}}}"><!-- -->{{{group10}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list10style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list10}}}</div></td></tr>}}<!-- -->{{#if:{{{list11|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group11|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group11style|}}}"><!-- -->{{{group11}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list11style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list11}}}</div></td></tr>}}<!-- -->{{#if:{{{list12|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group12|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group12style|}}}"><!-- -->{{{group12}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list12style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list12}}}</div></td></tr>}}<!-- -->{{#if:{{{list13|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group13|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group13style|}}}"><!-- -->{{{group13}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list13style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list13}}}</div></td></tr>}}<!-- -->{{#if:{{{list14|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group14|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group14style|}}}"><!-- -->{{{group14}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list14style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list14}}}</div></td></tr>}}<!-- -->{{#if:{{{list15|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group15|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group15style|}}}"><!-- -->{{{group15}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list15style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list15}}}</div></td></tr>}}<!-- -->{{#if:{{{list16|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group16|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group16style|}}}"><!-- -->{{{group16}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list16style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list16}}}</div></td></tr>}}<!-- -->{{#if:{{{list17|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group17|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group17style|}}}"><!-- -->{{{group17}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list17style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list17}}}</div></td></tr>}}<!-- -->{{#if:{{{list18|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group18|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group18style|}}}"><!-- -->{{{group18}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list18style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list18}}}</div></td></tr>}}<!-- -->{{#if:{{{list19|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group19|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group19style|}}}"><!-- -->{{{group19}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list19style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list19}}}</div></td></tr>}}<!-- -->{{#if:{{{list20|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group20|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group20style|}}}"><!-- -->{{{group20}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list20style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list20}}}</div></td></tr>}}<!-- ---Below--- -->{{#if:{{{below|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}{{{list3|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow {{{belowclass|}}}" style="{{{basestyle|}}};{{{belowstyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}"><div> {{{below}}}</div></td></tr>}}<!-- --></table>{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=<div>|none=|#default=</td></tr></table>}}<!-- -->{{#ifeq:{{NAMESPACE}}|{{ns:10}}|{{#ifeq:{{{border|{{{1|}}}}}}|child||{{#ifeq:{{{border|{{{1|}}}}}}|subgroup||{{#switch:{{lc:{{SUBPAGENAME}}}} |doc |sandbox |testcases = |#default = {{#switch:{{{bodyclass|}}} |plainlist |hlist |hlist hnum |hlist vcard |vcard hlist = |#default = {{#switch:{{{listclass|}}} |plainlist |hlist |hlist hnum |hlist vcard |vcard hlist = |#default = {{#ifeq:{{{tracking|}}}|no||[[Category:Navigational boxes without horizontal lists]]}} }} }} }} }}}}}}<!-- -->{{#ifeq:{{NAMESPACE}}|{{ns:10}}|{{#switch:{{lc:{{SUBPAGENAME}}}} |sandbox |testcases = |#default = {{#switch:{{{liststyle|}}} |padding: 0.25em 0; line-height: 1.3em; |padding:0.25em 0; line-height:1.4em; width:auto; |padding:0.4em 0; line-height:1.4em; = [[Category:Navigational boxes with custom list spacing]] |#default = }} }}}}<includeonly>{{template other|{{#if:{{{titlestyle|}}}{{{groupstyle|}}}|[[Category:Navboxes using background colours]]}}}}</includeonly><noinclude>{{documentation}}<!-- Add categories and interwikis to the /doc sub-page --></noinclude> 8ewtyninvloe0f10jj9n3fm77jyq3ae 9808 9807 2013-02-24T22:08:19Z w>Nyttend 0 Removing tracking category: it was added without discussion, despite the instructions at this page, and it's being used by a tiny minority of editors to force their will on everyone else 9808 wikitext text/x-wiki <!-- Please do not edit without discussion first as this is a VERY complex template. -->{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=</div>|none=|#default=<table cellspacing="0" <!-- -->class="navbox" style="border-spacing:0;{{{bodystyle|}}};{{{style|}}}"><tr><td style="padding:2px;">}}<!-- --><table cellspacing="0" class="nowraplinks {{{bodyclass|}}} {{#if:{{{title|}}}|{{#switch:{{{state|}}}|<!-- -->plain|off=|#default=collapsible {{#if:{{{state|}}}|{{{state}}}|autocollapse}}}}}} {{#switch:{{{border|{{{1|}}}}}}|<!-- -->subgroup|child|none=navbox-subgroup" style="border-spacing:0;{{{bodystyle|}}};{{{style|}}}|<!-- -->#default=navbox-inner" style="border-spacing:0;background:transparent;color:inherit}};{{{innerstyle|}}};"><!-- ---Title and Navbar--- -->{{#if:{{{title|}}}|<tr>{{#if:{{{titlegroup|}}}|<!-- --><th scope="row" class="navbox-group {{{titlegroupclass|}}}" <!-- -->style="{{{basestyle|}}};{{{groupstyle|}}};{{{titlegroupstyle|}}}"><!-- -->{{{titlegroup|}}}</th><th scope="col" style="border-left:2px solid #fdfdfd;width:100%;|<!-- --><th scope="col" style="}}{{{basestyle|}}};{{{titlestyle|}}}" class="navbox-title" <!-- -->colspan={{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}{{#if:{{{titlegroup|}}}|-1}}}}><!-- -->{{#if:{{#switch:{{{navbar|}}}|plain|off=1}}<!-- -->{{#if:{{{name|}}}||{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=1}}}}|<!-- -->{{#ifeq:{{{navbar|}}}|off|{{#ifeq:{{{state|}}}|plain|<span style="float:right;width:6em;">&nbsp;</span>}}|<!-- -->{{#ifeq:{{{state|}}}|plain||<span style="float:left;width:6em;">&nbsp;</span>}}}}|<!-- -->{{#if:{{{name|}}}|{{Navbar|{{{name}}}|mini=1|<!-- -->fontstyle={{{basestyle|}}};{{{titlestyle|}}};background:none transparent;border:none;}}|<!-- --><span class="error" style="float:left;white-space:nowrap;">Error: No name provided</span>}}<!-- -->{{#ifeq:{{{state|}}}|plain|<span style="float:right;width:6em;">&nbsp;</span>}}}}<!-- --><div class="{{{titleclass|}}}" style="font-size:110%;"> {{{title}}}</div></th></tr>}}<!-- ---Above--- -->{{#if:{{{above|}}}|<!-- -->{{#if:{{{title|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow {{{aboveclass|}}}" style="{{{basestyle|}}};{{{abovestyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}"><div> {{{above}}}</div></td></tr>}}<!-- ---Body--- ---First group/list and images--- -->{{#if:{{{list1|}}}|{{#if:{{{title|}}}{{{above|}}}|<tr style="height:2px;"><td></td></tr>}}<tr><!-- -->{{#if:{{{imageleft|}}}|<!-- --><td class="navbox-image {{{imageclass|}}}" style="width:0%;padding:0px 2px 0px 0px;{{{imageleftstyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><div> {{{imageleft}}}</div></td>}}<!-- -->{{#if:{{{group1|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group1style|}}}"><!-- -->{{{group1}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list1style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{list1padding|{{{listpadding|0em 0.25em}}}}}}"> {{{list1}}}</div></td><!-- -->{{#if:{{{image|}}}|<!-- --><td class="navbox-image {{{imageclass|}}}" style="width:0%;padding:0px 0px 0px 2px;{{{imagestyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><div> {{{image}}}</div></td>}}<!-- --></tr>}}<!-- ---Remaining groups/lists--- -->{{#if:{{{list2|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group2|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group2style|}}}"><!-- -->{{{group2}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list2style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list2}}}</div></td></tr>}}<!-- -->{{#if:{{{list3|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group3|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group3style|}}}"><!-- -->{{{group3}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list3style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list3}}}</div></td></tr>}}<!-- -->{{#if:{{{list4|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group4|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group4style|}}}"><!-- -->{{{group4}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list4style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list4}}}</div></td></tr>}}<!-- -->{{#if:{{{list5|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group5|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group5style|}}}"><!-- -->{{{group5}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list5style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list5}}}</div></td></tr>}}<!-- -->{{#if:{{{list6|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group6|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group6style|}}}"><!-- -->{{{group6}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list6style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list6}}}</div></td></tr>}}<!-- -->{{#if:{{{list7|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group7|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group7style|}}}"><!-- -->{{{group7}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list7style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list7}}}</div></td></tr>}}<!-- -->{{#if:{{{list8|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group8|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group8style|}}}"><!-- -->{{{group8}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list8style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list8}}}</div></td></tr>}}<!-- -->{{#if:{{{list9|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group9|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group9style|}}}"><!-- -->{{{group9}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list9style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list9}}}</div></td></tr>}}<!-- -->{{#if:{{{list10|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group10|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group10style|}}}"><!-- -->{{{group10}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list10style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list10}}}</div></td></tr>}}<!-- -->{{#if:{{{list11|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group11|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group11style|}}}"><!-- -->{{{group11}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list11style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list11}}}</div></td></tr>}}<!-- -->{{#if:{{{list12|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group12|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group12style|}}}"><!-- -->{{{group12}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list12style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list12}}}</div></td></tr>}}<!-- -->{{#if:{{{list13|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group13|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group13style|}}}"><!-- -->{{{group13}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list13style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list13}}}</div></td></tr>}}<!-- -->{{#if:{{{list14|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group14|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group14style|}}}"><!-- -->{{{group14}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list14style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list14}}}</div></td></tr>}}<!-- -->{{#if:{{{list15|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group15|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group15style|}}}"><!-- -->{{{group15}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list15style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list15}}}</div></td></tr>}}<!-- -->{{#if:{{{list16|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group16|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group16style|}}}"><!-- -->{{{group16}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list16style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list16}}}</div></td></tr>}}<!-- -->{{#if:{{{list17|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group17|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group17style|}}}"><!-- -->{{{group17}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list17style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list17}}}</div></td></tr>}}<!-- -->{{#if:{{{list18|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group18|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group18style|}}}"><!-- -->{{{group18}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list18style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list18}}}</div></td></tr>}}<!-- -->{{#if:{{{list19|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group19|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group19style|}}}"><!-- -->{{{group19}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list19style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list19}}}</div></td></tr>}}<!-- -->{{#if:{{{list20|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group20|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group20style|}}}"><!-- -->{{{group20}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list20style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list20}}}</div></td></tr>}}<!-- ---Below--- -->{{#if:{{{below|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}{{{list3|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow {{{belowclass|}}}" style="{{{basestyle|}}};{{{belowstyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}"><div> {{{below}}}</div></td></tr>}}<!-- --></table>{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=<div>|none=|#default=</td></tr></table>}}<!-- -->}}}}<includeonly>{{template other|{{#if:{{{titlestyle|}}}{{{groupstyle|}}}|[[Category:Navboxes using background colours]]}}}}</includeonly><noinclude>{{documentation}}<!-- Add categories and interwikis to the /doc sub-page --></noinclude> o3nbnusr1k4mh8xhwu3uo1373u5jt84 9809 9808 2013-02-24T22:12:24Z w>Nyttend 0 Remove stray brackets. Apologies for not making enough sandbox tests 9809 wikitext text/x-wiki <!-- Please do not edit without discussion first as this is a VERY complex template. -->{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=</div>|none=|#default=<table cellspacing="0" <!-- -->class="navbox" style="border-spacing:0;{{{bodystyle|}}};{{{style|}}}"><tr><td style="padding:2px;">}}<!-- --><table cellspacing="0" class="nowraplinks {{{bodyclass|}}} {{#if:{{{title|}}}|{{#switch:{{{state|}}}|<!-- -->plain|off=|#default=collapsible {{#if:{{{state|}}}|{{{state}}}|autocollapse}}}}}} {{#switch:{{{border|{{{1|}}}}}}|<!-- -->subgroup|child|none=navbox-subgroup" style="border-spacing:0;{{{bodystyle|}}};{{{style|}}}|<!-- -->#default=navbox-inner" style="border-spacing:0;background:transparent;color:inherit}};{{{innerstyle|}}};"><!-- ---Title and Navbar--- -->{{#if:{{{title|}}}|<tr>{{#if:{{{titlegroup|}}}|<!-- --><th scope="row" class="navbox-group {{{titlegroupclass|}}}" <!-- -->style="{{{basestyle|}}};{{{groupstyle|}}};{{{titlegroupstyle|}}}"><!-- -->{{{titlegroup|}}}</th><th scope="col" style="border-left:2px solid #fdfdfd;width:100%;|<!-- --><th scope="col" style="}}{{{basestyle|}}};{{{titlestyle|}}}" class="navbox-title" <!-- -->colspan={{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}{{#if:{{{titlegroup|}}}|-1}}}}><!-- -->{{#if:{{#switch:{{{navbar|}}}|plain|off=1}}<!-- -->{{#if:{{{name|}}}||{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=1}}}}|<!-- -->{{#ifeq:{{{navbar|}}}|off|{{#ifeq:{{{state|}}}|plain|<span style="float:right;width:6em;">&nbsp;</span>}}|<!-- -->{{#ifeq:{{{state|}}}|plain||<span style="float:left;width:6em;">&nbsp;</span>}}}}|<!-- -->{{#if:{{{name|}}}|{{Navbar|{{{name}}}|mini=1|<!-- -->fontstyle={{{basestyle|}}};{{{titlestyle|}}};background:none transparent;border:none;}}|<!-- --><span class="error" style="float:left;white-space:nowrap;">Error: No name provided</span>}}<!-- -->{{#ifeq:{{{state|}}}|plain|<span style="float:right;width:6em;">&nbsp;</span>}}}}<!-- --><div class="{{{titleclass|}}}" style="font-size:110%;"> {{{title}}}</div></th></tr>}}<!-- ---Above--- -->{{#if:{{{above|}}}|<!-- -->{{#if:{{{title|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow {{{aboveclass|}}}" style="{{{basestyle|}}};{{{abovestyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}"><div> {{{above}}}</div></td></tr>}}<!-- ---Body--- ---First group/list and images--- -->{{#if:{{{list1|}}}|{{#if:{{{title|}}}{{{above|}}}|<tr style="height:2px;"><td></td></tr>}}<tr><!-- -->{{#if:{{{imageleft|}}}|<!-- --><td class="navbox-image {{{imageclass|}}}" style="width:0%;padding:0px 2px 0px 0px;{{{imageleftstyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><div> {{{imageleft}}}</div></td>}}<!-- -->{{#if:{{{group1|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group1style|}}}"><!-- -->{{{group1}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list1style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{list1padding|{{{listpadding|0em 0.25em}}}}}}"> {{{list1}}}</div></td><!-- -->{{#if:{{{image|}}}|<!-- --><td class="navbox-image {{{imageclass|}}}" style="width:0%;padding:0px 0px 0px 2px;{{{imagestyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><div> {{{image}}}</div></td>}}<!-- --></tr>}}<!-- ---Remaining groups/lists--- -->{{#if:{{{list2|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group2|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group2style|}}}"><!-- -->{{{group2}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list2style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list2}}}</div></td></tr>}}<!-- -->{{#if:{{{list3|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group3|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group3style|}}}"><!-- -->{{{group3}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list3style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list3}}}</div></td></tr>}}<!-- -->{{#if:{{{list4|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group4|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group4style|}}}"><!-- -->{{{group4}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list4style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list4}}}</div></td></tr>}}<!-- -->{{#if:{{{list5|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group5|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group5style|}}}"><!-- -->{{{group5}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list5style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list5}}}</div></td></tr>}}<!-- -->{{#if:{{{list6|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group6|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group6style|}}}"><!-- -->{{{group6}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list6style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list6}}}</div></td></tr>}}<!-- -->{{#if:{{{list7|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group7|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group7style|}}}"><!-- -->{{{group7}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list7style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list7}}}</div></td></tr>}}<!-- -->{{#if:{{{list8|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group8|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group8style|}}}"><!-- -->{{{group8}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list8style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list8}}}</div></td></tr>}}<!-- -->{{#if:{{{list9|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group9|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group9style|}}}"><!-- -->{{{group9}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list9style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list9}}}</div></td></tr>}}<!-- -->{{#if:{{{list10|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group10|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group10style|}}}"><!-- -->{{{group10}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list10style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list10}}}</div></td></tr>}}<!-- -->{{#if:{{{list11|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group11|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group11style|}}}"><!-- -->{{{group11}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list11style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list11}}}</div></td></tr>}}<!-- -->{{#if:{{{list12|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group12|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group12style|}}}"><!-- -->{{{group12}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list12style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list12}}}</div></td></tr>}}<!-- -->{{#if:{{{list13|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group13|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group13style|}}}"><!-- -->{{{group13}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list13style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list13}}}</div></td></tr>}}<!-- -->{{#if:{{{list14|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group14|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group14style|}}}"><!-- -->{{{group14}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list14style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list14}}}</div></td></tr>}}<!-- -->{{#if:{{{list15|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group15|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group15style|}}}"><!-- -->{{{group15}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list15style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list15}}}</div></td></tr>}}<!-- -->{{#if:{{{list16|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group16|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group16style|}}}"><!-- -->{{{group16}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list16style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list16}}}</div></td></tr>}}<!-- -->{{#if:{{{list17|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group17|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group17style|}}}"><!-- -->{{{group17}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list17style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list17}}}</div></td></tr>}}<!-- -->{{#if:{{{list18|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group18|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group18style|}}}"><!-- -->{{{group18}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list18style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list18}}}</div></td></tr>}}<!-- -->{{#if:{{{list19|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group19|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group19style|}}}"><!-- -->{{{group19}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list19style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list19}}}</div></td></tr>}}<!-- -->{{#if:{{{list20|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group20|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group20style|}}}"><!-- -->{{{group20}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list20style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list20}}}</div></td></tr>}}<!-- ---Below--- -->{{#if:{{{below|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}{{{list3|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow {{{belowclass|}}}" style="{{{basestyle|}}};{{{belowstyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}"><div> {{{below}}}</div></td></tr>}}<!-- --></table>{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=<div>|none=|#default=</td></tr></table>}}<!-- --><includeonly>{{template other|{{#if:{{{titlestyle|}}}{{{groupstyle|}}}|[[Category:Navboxes using background colours]]}}}}</includeonly><noinclude>{{documentation}}<!-- Add categories and interwikis to the /doc sub-page --></noinclude> 7l4q9bwerlr37ikkjvigii8saq8o9d5 9810 9809 2013-02-24T22:25:32Z w>WOSlinker 0 Adding back tracking category, this is still useful for now. There is not really a need to have discussions for adding tracking categories.But there is a need to discuss before removing useful things. 9810 wikitext text/x-wiki <!-- Please do not edit without discussion first as this is a VERY complex template. -->{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=</div>|none=|#default=<table cellspacing="0" <!-- -->class="navbox" style="border-spacing:0;{{{bodystyle|}}};{{{style|}}}"><tr><td style="padding:2px;">}}<!-- --><table cellspacing="0" class="nowraplinks {{{bodyclass|}}} {{#if:{{{title|}}}|{{#switch:{{{state|}}}|<!-- -->plain|off=|#default=collapsible {{#if:{{{state|}}}|{{{state}}}|autocollapse}}}}}} {{#switch:{{{border|{{{1|}}}}}}|<!-- -->subgroup|child|none=navbox-subgroup" style="border-spacing:0;{{{bodystyle|}}};{{{style|}}}|<!-- -->#default=navbox-inner" style="border-spacing:0;background:transparent;color:inherit}};{{{innerstyle|}}};"><!-- ---Title and Navbar--- -->{{#if:{{{title|}}}|<tr>{{#if:{{{titlegroup|}}}|<!-- --><th scope="row" class="navbox-group {{{titlegroupclass|}}}" <!-- -->style="{{{basestyle|}}};{{{groupstyle|}}};{{{titlegroupstyle|}}}"><!-- -->{{{titlegroup|}}}</th><th scope="col" style="border-left:2px solid #fdfdfd;width:100%;|<!-- --><th scope="col" style="}}{{{basestyle|}}};{{{titlestyle|}}}" class="navbox-title" <!-- -->colspan={{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}{{#if:{{{titlegroup|}}}|-1}}}}><!-- -->{{#if:{{#switch:{{{navbar|}}}|plain|off=1}}<!-- -->{{#if:{{{name|}}}||{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=1}}}}|<!-- -->{{#ifeq:{{{navbar|}}}|off|{{#ifeq:{{{state|}}}|plain|<span style="float:right;width:6em;">&nbsp;</span>}}|<!-- -->{{#ifeq:{{{state|}}}|plain||<span style="float:left;width:6em;">&nbsp;</span>}}}}|<!-- -->{{#if:{{{name|}}}|{{Navbar|{{{name}}}|mini=1|<!-- -->fontstyle={{{basestyle|}}};{{{titlestyle|}}};background:none transparent;border:none;}}|<!-- --><span class="error" style="float:left;white-space:nowrap;">Error: No name provided</span>}}<!-- -->{{#ifeq:{{{state|}}}|plain|<span style="float:right;width:6em;">&nbsp;</span>}}}}<!-- --><div class="{{{titleclass|}}}" style="font-size:110%;"> {{{title}}}</div></th></tr>}}<!-- ---Above--- -->{{#if:{{{above|}}}|<!-- -->{{#if:{{{title|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow {{{aboveclass|}}}" style="{{{basestyle|}}};{{{abovestyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}"><div> {{{above}}}</div></td></tr>}}<!-- ---Body--- ---First group/list and images--- -->{{#if:{{{list1|}}}|{{#if:{{{title|}}}{{{above|}}}|<tr style="height:2px;"><td></td></tr>}}<tr><!-- -->{{#if:{{{imageleft|}}}|<!-- --><td class="navbox-image {{{imageclass|}}}" style="width:0%;padding:0px 2px 0px 0px;{{{imageleftstyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><div> {{{imageleft}}}</div></td>}}<!-- -->{{#if:{{{group1|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group1style|}}}"><!-- -->{{{group1}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list1style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{list1padding|{{{listpadding|0em 0.25em}}}}}}"> {{{list1}}}</div></td><!-- -->{{#if:{{{image|}}}|<!-- --><td class="navbox-image {{{imageclass|}}}" style="width:0%;padding:0px 0px 0px 2px;{{{imagestyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><div> {{{image}}}</div></td>}}<!-- --></tr>}}<!-- ---Remaining groups/lists--- -->{{#if:{{{list2|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group2|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group2style|}}}"><!-- -->{{{group2}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list2style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list2}}}</div></td></tr>}}<!-- -->{{#if:{{{list3|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group3|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group3style|}}}"><!-- -->{{{group3}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list3style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list3}}}</div></td></tr>}}<!-- -->{{#if:{{{list4|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group4|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group4style|}}}"><!-- -->{{{group4}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list4style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list4}}}</div></td></tr>}}<!-- -->{{#if:{{{list5|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group5|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group5style|}}}"><!-- -->{{{group5}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list5style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list5}}}</div></td></tr>}}<!-- -->{{#if:{{{list6|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group6|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group6style|}}}"><!-- -->{{{group6}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list6style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list6}}}</div></td></tr>}}<!-- -->{{#if:{{{list7|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group7|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group7style|}}}"><!-- -->{{{group7}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list7style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list7}}}</div></td></tr>}}<!-- -->{{#if:{{{list8|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group8|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group8style|}}}"><!-- -->{{{group8}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list8style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list8}}}</div></td></tr>}}<!-- -->{{#if:{{{list9|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group9|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group9style|}}}"><!-- -->{{{group9}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list9style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list9}}}</div></td></tr>}}<!-- -->{{#if:{{{list10|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group10|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group10style|}}}"><!-- -->{{{group10}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list10style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list10}}}</div></td></tr>}}<!-- -->{{#if:{{{list11|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group11|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group11style|}}}"><!-- -->{{{group11}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list11style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list11}}}</div></td></tr>}}<!-- -->{{#if:{{{list12|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group12|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group12style|}}}"><!-- -->{{{group12}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list12style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list12}}}</div></td></tr>}}<!-- -->{{#if:{{{list13|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group13|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group13style|}}}"><!-- -->{{{group13}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list13style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list13}}}</div></td></tr>}}<!-- -->{{#if:{{{list14|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group14|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group14style|}}}"><!-- -->{{{group14}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list14style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list14}}}</div></td></tr>}}<!-- -->{{#if:{{{list15|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group15|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group15style|}}}"><!-- -->{{{group15}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list15style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list15}}}</div></td></tr>}}<!-- -->{{#if:{{{list16|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group16|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group16style|}}}"><!-- -->{{{group16}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list16style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list16}}}</div></td></tr>}}<!-- -->{{#if:{{{list17|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group17|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group17style|}}}"><!-- -->{{{group17}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list17style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list17}}}</div></td></tr>}}<!-- -->{{#if:{{{list18|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group18|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group18style|}}}"><!-- -->{{{group18}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list18style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list18}}}</div></td></tr>}}<!-- -->{{#if:{{{list19|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group19|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group19style|}}}"><!-- -->{{{group19}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list19style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list19}}}</div></td></tr>}}<!-- -->{{#if:{{{list20|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group20|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group20style|}}}"><!-- -->{{{group20}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list20style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list20}}}</div></td></tr>}}<!-- ---Below--- -->{{#if:{{{below|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}{{{list3|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow {{{belowclass|}}}" style="{{{basestyle|}}};{{{belowstyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}"><div> {{{below}}}</div></td></tr>}}<!-- --></table>{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=<div>|none=|#default=</td></tr></table>}}<!-- -->{{#ifeq:{{NAMESPACE}}|{{ns:10}}|{{#ifeq:{{{border|{{{1|}}}}}}|child||{{#ifeq:{{{border|{{{1|}}}}}}|subgroup||{{#switch:{{lc:{{SUBPAGENAME}}}} |doc |sandbox |testcases = |#default = {{#switch:{{{bodyclass|}}} |plainlist |hlist |hlist hnum |hlist vcard |vcard hlist = |#default = {{#switch:{{{listclass|}}} |plainlist |hlist |hlist hnum |hlist vcard |vcard hlist = |#default = {{#ifeq:{{{tracking|}}}|no||[[Category:Navigational boxes without horizontal lists]]}} }} }} }} }}}}}}<!-- -->{{#ifeq:{{NAMESPACE}}|{{ns:10}}|{{#switch:{{lc:{{SUBPAGENAME}}}} |sandbox |testcases = |#default = {{#switch:{{{liststyle|}}} |padding: 0.25em 0; line-height: 1.3em; |padding:0.25em 0; line-height:1.4em; width:auto; |padding:0.4em 0; line-height:1.4em; = [[Category:Navigational boxes with custom list spacing]] |#default = }} }}}}<includeonly>{{template other|{{#if:{{{titlestyle|}}}{{{groupstyle|}}}|[[Category:Navboxes using background colours]]}}}}</includeonly><noinclude>{{documentation}}<!-- Add categories and interwikis to the /doc sub-page --></noinclude> 8ewtyninvloe0f10jj9n3fm77jyq3ae 9811 9810 2013-02-28T22:34:08Z w>Nyttend 0 Re-remove category; its sole purpose is to permit a tiny minority to impose non-policy on the vast majority of editors who disagree 9811 wikitext text/x-wiki <!-- Please do not edit without discussion first as this is a VERY complex template. -->{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=</div>|none=|#default=<table cellspacing="0" <!-- -->class="navbox" style="border-spacing:0;{{{bodystyle|}}};{{{style|}}}"><tr><td style="padding:2px;">}}<!-- --><table cellspacing="0" class="nowraplinks {{{bodyclass|}}} {{#if:{{{title|}}}|{{#switch:{{{state|}}}|<!-- -->plain|off=|#default=collapsible {{#if:{{{state|}}}|{{{state}}}|autocollapse}}}}}} {{#switch:{{{border|{{{1|}}}}}}|<!-- -->subgroup|child|none=navbox-subgroup" style="border-spacing:0;{{{bodystyle|}}};{{{style|}}}|<!-- -->#default=navbox-inner" style="border-spacing:0;background:transparent;color:inherit}};{{{innerstyle|}}};"><!-- ---Title and Navbar--- -->{{#if:{{{title|}}}|<tr>{{#if:{{{titlegroup|}}}|<!-- --><th scope="row" class="navbox-group {{{titlegroupclass|}}}" <!-- -->style="{{{basestyle|}}};{{{groupstyle|}}};{{{titlegroupstyle|}}}"><!-- -->{{{titlegroup|}}}</th><th scope="col" style="border-left:2px solid #fdfdfd;width:100%;|<!-- --><th scope="col" style="}}{{{basestyle|}}};{{{titlestyle|}}}" class="navbox-title" <!-- -->colspan={{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}{{#if:{{{titlegroup|}}}|-1}}}}><!-- -->{{#if:{{#switch:{{{navbar|}}}|plain|off=1}}<!-- -->{{#if:{{{name|}}}||{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=1}}}}|<!-- -->{{#ifeq:{{{navbar|}}}|off|{{#ifeq:{{{state|}}}|plain|<span style="float:right;width:6em;">&nbsp;</span>}}|<!-- -->{{#ifeq:{{{state|}}}|plain||<span style="float:left;width:6em;">&nbsp;</span>}}}}|<!-- -->{{#if:{{{name|}}}|{{Navbar|{{{name}}}|mini=1|<!-- -->fontstyle={{{basestyle|}}};{{{titlestyle|}}};background:none transparent;border:none;}}|<!-- --><span class="error" style="float:left;white-space:nowrap;">Error: No name provided</span>}}<!-- -->{{#ifeq:{{{state|}}}|plain|<span style="float:right;width:6em;">&nbsp;</span>}}}}<!-- --><div class="{{{titleclass|}}}" style="font-size:110%;"> {{{title}}}</div></th></tr>}}<!-- ---Above--- -->{{#if:{{{above|}}}|<!-- -->{{#if:{{{title|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow {{{aboveclass|}}}" style="{{{basestyle|}}};{{{abovestyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}"><div> {{{above}}}</div></td></tr>}}<!-- ---Body--- ---First group/list and images--- -->{{#if:{{{list1|}}}|{{#if:{{{title|}}}{{{above|}}}|<tr style="height:2px;"><td></td></tr>}}<tr><!-- -->{{#if:{{{imageleft|}}}|<!-- --><td class="navbox-image {{{imageclass|}}}" style="width:0%;padding:0px 2px 0px 0px;{{{imageleftstyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><div> {{{imageleft}}}</div></td>}}<!-- -->{{#if:{{{group1|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group1style|}}}"><!-- -->{{{group1}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list1style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{list1padding|{{{listpadding|0em 0.25em}}}}}}"> {{{list1}}}</div></td><!-- -->{{#if:{{{image|}}}|<!-- --><td class="navbox-image {{{imageclass|}}}" style="width:0%;padding:0px 0px 0px 2px;{{{imagestyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><div> {{{image}}}</div></td>}}<!-- --></tr>}}<!-- ---Remaining groups/lists--- -->{{#if:{{{list2|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group2|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group2style|}}}"><!-- -->{{{group2}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list2style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list2}}}</div></td></tr>}}<!-- -->{{#if:{{{list3|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group3|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group3style|}}}"><!-- -->{{{group3}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list3style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list3}}}</div></td></tr>}}<!-- -->{{#if:{{{list4|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group4|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group4style|}}}"><!-- -->{{{group4}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list4style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list4}}}</div></td></tr>}}<!-- -->{{#if:{{{list5|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group5|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group5style|}}}"><!-- -->{{{group5}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list5style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list5}}}</div></td></tr>}}<!-- -->{{#if:{{{list6|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group6|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group6style|}}}"><!-- -->{{{group6}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list6style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list6}}}</div></td></tr>}}<!-- -->{{#if:{{{list7|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group7|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group7style|}}}"><!-- -->{{{group7}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list7style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list7}}}</div></td></tr>}}<!-- -->{{#if:{{{list8|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group8|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group8style|}}}"><!-- -->{{{group8}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list8style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list8}}}</div></td></tr>}}<!-- -->{{#if:{{{list9|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group9|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group9style|}}}"><!-- -->{{{group9}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list9style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list9}}}</div></td></tr>}}<!-- -->{{#if:{{{list10|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group10|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group10style|}}}"><!-- -->{{{group10}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list10style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list10}}}</div></td></tr>}}<!-- -->{{#if:{{{list11|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group11|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group11style|}}}"><!-- -->{{{group11}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list11style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list11}}}</div></td></tr>}}<!-- -->{{#if:{{{list12|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group12|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group12style|}}}"><!-- -->{{{group12}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list12style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list12}}}</div></td></tr>}}<!-- -->{{#if:{{{list13|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group13|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group13style|}}}"><!-- -->{{{group13}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list13style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list13}}}</div></td></tr>}}<!-- -->{{#if:{{{list14|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group14|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group14style|}}}"><!-- -->{{{group14}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list14style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list14}}}</div></td></tr>}}<!-- -->{{#if:{{{list15|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group15|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group15style|}}}"><!-- -->{{{group15}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list15style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list15}}}</div></td></tr>}}<!-- -->{{#if:{{{list16|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group16|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group16style|}}}"><!-- -->{{{group16}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list16style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list16}}}</div></td></tr>}}<!-- -->{{#if:{{{list17|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group17|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group17style|}}}"><!-- -->{{{group17}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list17style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list17}}}</div></td></tr>}}<!-- -->{{#if:{{{list18|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group18|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group18style|}}}"><!-- -->{{{group18}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list18style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list18}}}</div></td></tr>}}<!-- -->{{#if:{{{list19|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group19|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group19style|}}}"><!-- -->{{{group19}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list19style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list19}}}</div></td></tr>}}<!-- -->{{#if:{{{list20|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group20|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group20style|}}}"><!-- -->{{{group20}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list20style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list20}}}</div></td></tr>}}<!-- ---Below--- -->{{#if:{{{below|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}{{{list3|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow {{{belowclass|}}}" style="{{{basestyle|}}};{{{belowstyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}"><div> {{{below}}}</div></td></tr>}}<!-- --></table>{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=<div>|none=|#default=</td></tr></table>}}<!-- --><includeonly>{{template other|{{#if:{{{titlestyle|}}}{{{groupstyle|}}}|[[Category:Navboxes using background colours]]}}}}</includeonly><noinclude>{{documentation}}<!-- Add categories and interwikis to the /doc sub-page --></noinclude> 7l4q9bwerlr37ikkjvigii8saq8o9d5 9812 9811 2013-03-06T14:01:24Z w>De728631 0 Restored tracking category per [[Template talk:Navbox#wheel warring?]] There is consensus to have this implemented. 9812 wikitext text/x-wiki <!-- Please do not edit without discussion first as this is a VERY complex template. -->{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=</div>|none=|#default=<table cellspacing="0" <!-- -->class="navbox" style="border-spacing:0;{{{bodystyle|}}};{{{style|}}}"><tr><td style="padding:2px;">}}<!-- --><table cellspacing="0" class="nowraplinks {{{bodyclass|}}} {{#if:{{{title|}}}|{{#switch:{{{state|}}}|<!-- -->plain|off=|#default=collapsible {{#if:{{{state|}}}|{{{state}}}|autocollapse}}}}}} {{#switch:{{{border|{{{1|}}}}}}|<!-- -->subgroup|child|none=navbox-subgroup" style="border-spacing:0;{{{bodystyle|}}};{{{style|}}}|<!-- -->#default=navbox-inner" style="border-spacing:0;background:transparent;color:inherit}};{{{innerstyle|}}};"><!-- ---Title and Navbar--- -->{{#if:{{{title|}}}|<tr>{{#if:{{{titlegroup|}}}|<!-- --><th scope="row" class="navbox-group {{{titlegroupclass|}}}" <!-- -->style="{{{basestyle|}}};{{{groupstyle|}}};{{{titlegroupstyle|}}}"><!-- -->{{{titlegroup|}}}</th><th scope="col" style="border-left:2px solid #fdfdfd;width:100%;|<!-- --><th scope="col" style="}}{{{basestyle|}}};{{{titlestyle|}}}" class="navbox-title" <!-- -->colspan={{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}{{#if:{{{titlegroup|}}}|-1}}}}><!-- -->{{#if:{{#switch:{{{navbar|}}}|plain|off=1}}<!-- -->{{#if:{{{name|}}}||{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=1}}}}|<!-- -->{{#ifeq:{{{navbar|}}}|off|{{#ifeq:{{{state|}}}|plain|<span style="float:right;width:6em;">&nbsp;</span>}}|<!-- -->{{#ifeq:{{{state|}}}|plain||<span style="float:left;width:6em;">&nbsp;</span>}}}}|<!-- -->{{#if:{{{name|}}}|{{Navbar|{{{name}}}|mini=1|<!-- -->fontstyle={{{basestyle|}}};{{{titlestyle|}}};background:none transparent;border:none;}}|<!-- --><span class="error" style="float:left;white-space:nowrap;">Error: No name provided</span>}}<!-- -->{{#ifeq:{{{state|}}}|plain|<span style="float:right;width:6em;">&nbsp;</span>}}}}<!-- --><div class="{{{titleclass|}}}" style="font-size:110%;"> {{{title}}}</div></th></tr>}}<!-- ---Above--- -->{{#if:{{{above|}}}|<!-- -->{{#if:{{{title|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow {{{aboveclass|}}}" style="{{{basestyle|}}};{{{abovestyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}"><div> {{{above}}}</div></td></tr>}}<!-- ---Body--- ---First group/list and images--- -->{{#if:{{{list1|}}}|{{#if:{{{title|}}}{{{above|}}}|<tr style="height:2px;"><td></td></tr>}}<tr><!-- -->{{#if:{{{imageleft|}}}|<!-- --><td class="navbox-image {{{imageclass|}}}" style="width:0%;padding:0px 2px 0px 0px;{{{imageleftstyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><div> {{{imageleft}}}</div></td>}}<!-- -->{{#if:{{{group1|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group1style|}}}"><!-- -->{{{group1}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list1style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{list1padding|{{{listpadding|0em 0.25em}}}}}}"> {{{list1}}}</div></td><!-- -->{{#if:{{{image|}}}|<!-- --><td class="navbox-image {{{imageclass|}}}" style="width:0%;padding:0px 0px 0px 2px;{{{imagestyle|}}}" <!-- -->rowspan={{#expr:1{{#if:{{{list2|}}}|+2}}{{#if:{{{list3|}}}|+2}}{{#if:{{{list4|}}}|+2}}<!-- -->{{#if:{{{list5|}}}|+2}}{{#if:{{{list6|}}}|+2}}{{#if:{{{list7|}}}|+2}}{{#if:{{{list8|}}}|+2}}<!-- -->{{#if:{{{list9|}}}|+2}}{{#if:{{{list10|}}}|+2}}{{#if:{{{list11|}}}|+2}}{{#if:{{{list12|}}}|+2}}<!-- -->{{#if:{{{list13|}}}|+2}}{{#if:{{{list14|}}}|+2}}{{#if:{{{list15|}}}|+2}}{{#if:{{{list16|}}}|+2}}<!-- -->{{#if:{{{list17|}}}|+2}}{{#if:{{{list18|}}}|+2}}{{#if:{{{list19|}}}|+2}}{{#if:{{{list20|}}}|+2}}}}><div> {{{image}}}</div></td>}}<!-- --></tr>}}<!-- ---Remaining groups/lists--- -->{{#if:{{{list2|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group2|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group2style|}}}"><!-- -->{{{group2}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list2style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list2}}}</div></td></tr>}}<!-- -->{{#if:{{{list3|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group3|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group3style|}}}"><!-- -->{{{group3}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list3style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list3}}}</div></td></tr>}}<!-- -->{{#if:{{{list4|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group4|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group4style|}}}"><!-- -->{{{group4}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list4style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list4}}}</div></td></tr>}}<!-- -->{{#if:{{{list5|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group5|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group5style|}}}"><!-- -->{{{group5}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list5style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list5}}}</div></td></tr>}}<!-- -->{{#if:{{{list6|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group6|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group6style|}}}"><!-- -->{{{group6}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list6style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list6}}}</div></td></tr>}}<!-- -->{{#if:{{{list7|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group7|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group7style|}}}"><!-- -->{{{group7}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list7style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list7}}}</div></td></tr>}}<!-- -->{{#if:{{{list8|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group8|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group8style|}}}"><!-- -->{{{group8}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list8style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list8}}}</div></td></tr>}}<!-- -->{{#if:{{{list9|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group9|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group9style|}}}"><!-- -->{{{group9}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list9style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list9}}}</div></td></tr>}}<!-- -->{{#if:{{{list10|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group10|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group10style|}}}"><!-- -->{{{group10}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list10style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list10}}}</div></td></tr>}}<!-- -->{{#if:{{{list11|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group11|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group11style|}}}"><!-- -->{{{group11}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list11style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list11}}}</div></td></tr>}}<!-- -->{{#if:{{{list12|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group12|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group12style|}}}"><!-- -->{{{group12}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list12style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list12}}}</div></td></tr>}}<!-- -->{{#if:{{{list13|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group13|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group13style|}}}"><!-- -->{{{group13}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list13style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list13}}}</div></td></tr>}}<!-- -->{{#if:{{{list14|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group14|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group14style|}}}"><!-- -->{{{group14}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list14style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list14}}}</div></td></tr>}}<!-- -->{{#if:{{{list15|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group15|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group15style|}}}"><!-- -->{{{group15}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list15style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list15}}}</div></td></tr>}}<!-- -->{{#if:{{{list16|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group16|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group16style|}}}"><!-- -->{{{group16}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list16style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list16}}}</div></td></tr>}}<!-- -->{{#if:{{{list17|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group17|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group17style|}}}"><!-- -->{{{group17}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list17style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list17}}}</div></td></tr>}}<!-- -->{{#if:{{{list18|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group18|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group18style|}}}"><!-- -->{{{group18}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list18style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list18}}}</div></td></tr>}}<!-- -->{{#if:{{{list19|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group19|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group19style|}}}"><!-- -->{{{group19}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{oddstyle|}}};{{{list19style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|even|{{{evenodd|odd}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list19}}}</div></td></tr>}}<!-- -->{{#if:{{{list20|}}}|<!-- --><tr style="height:2px"><td></td></tr><tr><!-- -->{{#if:{{{group20|}}}|<th scope="row" class="navbox-group {{{groupclass|}}}" <!-- -->style="{{{basestyle|}}};{{#if:{{{groupwidth|}}}|width:{{{groupwidth}}};}}{{{groupstyle|}}};{{{group20style|}}}"><!-- -->{{{group20}}}</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;|<td colspan=2 style="}}<!-- -->{{#if:{{{groupwidth|}}}||width:100%;}}padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list20style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}} {{{listclass|}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}"> {{{list20}}}</div></td></tr>}}<!-- ---Below--- -->{{#if:{{{below|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}{{{list2|}}}{{{list3|}}}|<tr style="height:2px;"><td></td></tr>}}<!-- --><tr><td class="navbox-abovebelow {{{belowclass|}}}" style="{{{basestyle|}}};{{{belowstyle|}}}" <!-- -->colspan="{{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}}}"><div> {{{below}}}</div></td></tr>}}<!-- --></table>{{#switch:{{{border|{{{1|}}}}}}|subgroup|child=<div>|none=|#default=</td></tr></table>}}<!-- -->{{#ifeq:{{NAMESPACE}}|{{ns:10}}|{{#ifeq:{{{border|{{{1|}}}}}}|child||{{#ifeq:{{{border|{{{1|}}}}}}|subgroup||{{#switch:{{lc:{{SUBPAGENAME}}}} |doc |sandbox |testcases = |#default = {{#switch:{{{bodyclass|}}} |plainlist |hlist |hlist hnum |hlist vcard |vcard hlist = |#default = {{#switch:{{{listclass|}}} |plainlist |hlist |hlist hnum |hlist vcard |vcard hlist = |#default = {{#ifeq:{{{tracking|}}}|no||[[Category:Navigational boxes without horizontal lists]]}} }} }} }} }}}}}}<!-- -->{{#ifeq:{{NAMESPACE}}|{{ns:10}}|{{#switch:{{lc:{{SUBPAGENAME}}}} |sandbox |testcases = |#default = {{#switch:{{{liststyle|}}} |padding: 0.25em 0; line-height: 1.3em; |padding:0.25em 0; line-height:1.4em; width:auto; |padding:0.4em 0; line-height:1.4em; = [[Category:Navigational boxes with custom list spacing]] |#default = }} }}}}<includeonly>{{template other|{{#if:{{{titlestyle|}}}{{{groupstyle|}}}|[[Category:Navboxes using background colours]]}}}}</includeonly><noinclude>{{documentation}}<!-- Add categories and interwikis to the /doc sub-page --></noinclude> 8ewtyninvloe0f10jj9n3fm77jyq3ae 9813 9812 2013-03-26T02:45:11Z w>Dragons flight 0 Installing Lua version 9813 wikitext text/x-wiki {{#invoke: Navbox | navbox }}<noinclude>{{documentation}}<!-- Add categories and interwikis to the /doc sub-page --></noinclude> lxoimlqslukeym1vcyobh3pyhtcmwci 9814 9731 2013-10-29T19:54:41Z w>Mark Arsten 0 Changed protection level of Template:Navbox: Allowing Protected Template editors ([Edit=Allow only template editors and admins] (indefinite) [Move=Allow only template editors and admins] (indefinite)) 9814 wikitext text/x-wiki {{#invoke: Navbox | navbox }}<noinclude>{{documentation}}<!-- Add categories and interwikis to the /doc sub-page --></noinclude> lxoimlqslukeym1vcyobh3pyhtcmwci 9815 9732 2014-06-19T19:02:02Z w>Edokter 0 NO reason to bunch on one line! 9815 wikitext text/x-wiki {{#invoke: Navbox | navbox }}<noinclude> {{documentation}} <!-- Add categories and interwikis to the /doc sub-page --> </noinclude> 44zubrs25q6q1lt1z6910q72aj1hegg 9816 9815 2014-08-24T09:21:56Z w>Sardanaphalus 0 includeonly 9816 wikitext text/x-wiki <includeonly>{{#invoke:Navbox|navbox}}</includeonly><noinclude>{{Documentation}}</noinclude> dr9taljloc9vbjgtoyg2hsc6fu5njvp 9817 9816 2014-10-18T12:29:00Z w>Edokter 0 linebreaks 9817 wikitext text/x-wiki <includeonly>{{#invoke:Navbox|navbox}}</includeonly><noinclude> {{Documentation}} </noinclude> tqodcaa2vvhehqaod229udlla0wimek 9818 9817 2020-04-01T06:12:36Z w>MusikAnimal 0 1 revision imported 9817 wikitext text/x-wiki <includeonly>{{#invoke:Navbox|navbox}}</includeonly><noinclude> {{Documentation}} </noinclude> tqodcaa2vvhehqaod229udlla0wimek 9819 9818 2021-06-26T18:04:38Z w>Trialpears 0 Listed for merging with [[:Template:Navbox Canada]]; see [[:Wikipedia:Templates for discussion/Log/2021 June 26#Template:Navbox Canada]]. 9819 wikitext text/x-wiki {{Tfm/dated|page=Navbox|otherpage=Navbox Canada|link=Wikipedia:Templates for discussion/Log/2021 June 26#Template:Navbox|help=off|bigbox={{#invoke:Noinclude|noinclude|text=yes}}}} <includeonly>{{#invoke:Navbox|navbox}}</includeonly><noinclude> {{Documentation}} </noinclude> bpd7la2708wv2xe2xxnw46fz0e3vx3e 9820 9733 2021-10-29T20:00:55Z meta>GeneralNotability 0 87 revisions imported from [[:w:Template:Navbox]]: blame [[User:Barkeep49]] 9733 wikitext text/x-wiki {{#invoke: Navbox | navbox }}<noinclude>{{documentation}}</noinclude> r559d18z5ouc3wiwuekakf5ihlqt7ws 9821 9032 2026-08-24T13:00:40Z RAPTOR7762 18 98 revisions imported from [[:meta:Template:Navbox]] 9031 wikitext text/x-wiki <includeonly>{{#invoke:Navbox|navbox}}</includeonly><noinclude> {{Documentation}} </noinclude> tqodcaa2vvhehqaod229udlla0wimek Module:Navbox 828 1047 9830 2013-05-13T16:33:42Z meta>Frietjes 0 imported from [[:en:Module:Navbox]] 9830 Scribunto text/plain -- -- This module will implement {{Navbox}} -- local p = {} local HtmlBuilder = require('Module:HtmlBuilder') local Navbar = require('Module:Navbar') local args local frame local tableRowAdded = false local border local listnums = {} function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl .tag('tr') .css('height', '2px') .tag('td') end tableRowAdded = true return tbl.tag('tr') end -- -- Title row -- function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow .tag('th') .attr('scope', 'row') .addClass('navbox-group') .addClass(args.titlegroupclass) .cssText(args.basestyle) .cssText(args.groupstyle) .cssText(args.titlegroupstyle) .wikitext(args.titlegroup) end local titleCell = titleRow.tag('th').attr('scope', 'col') if args.titlegroup then titleCell .css('border-left', '2px solid #fdfdfd') .css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell .cssText(args.basestyle) .cssText(args.titlestyle) .addClass('navbox-title') .attr('colspan', titleColspan) renderNavBar(titleCell) titleCell .tag('div') .addClass(args.titleclass) .css('font-size', '110%') .newline() .wikitext(args.title) end function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = 'right' end elseif args.navbar == 'plain' or args.navbar == 'off' or (not args.name and (border == 'subgroup' or border == 'child' or border == 'none')) then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' then spacerSide = 'left' end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = 'right' end titleCell.wikitext(Navbar.navbar({ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' })) end -- Render the spacer div. if spacerSide then titleCell .tag('span') .css('float', spacerSide) .css('width', '6em') .wikitext('&nbsp;') end end -- -- Above/Below rows -- function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.aboveclass) .cssText(args.basestyle) .cssText(args.abovestyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.above) end function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.belowclass) .cssText(args.basestyle) .cssText(args.belowstyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.below) end function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end -- -- List rows -- function renderListRow(tbl, listnum) local row = addTableRow(tbl) if listnum == 1 and args.imageleft then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 2px 0px 0px') .cssText(args.imageleftstyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.imageleft) end if args['group' .. listnum] then local groupCell = row.tag('th') groupCell .attr('scope', 'row') .addClass('navbox-group') .addClass(args.groupclass) .cssText(args.basestyle) if args.groupwidth then groupCell.css('width', args.groupwidth) end groupCell .cssText(args.groupstyle) .cssText(args['group' .. listnum .. 'style']) .wikitext(args['group' .. listnum]) end local listCell = row.tag('td') if args['group' .. listnum] then listCell .css('text-align', 'left') .css('border-left-width', '2px') .css('border-left-style', 'solid') else listCell.attr('colspan', 2) end if not args.groupwidth then listCell.css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell .css('padding', '0px') .cssText(args.liststyle) .cssText(rowstyle) .cssText(args['list' .. listnum .. 'style']) .addClass('navbox-list') .addClass('navbox-' .. evenOdd) .addClass(args.listclass) .tag('div') .css('padding', (listnum == 1 and args.list1padding) or args.listpadding or '0em 0.25em') .newline() .wikitext(args['list' .. listnum]) if listnum == 1 and args.image then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 0px 0px 2px') .cssText(args.imagestyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.image) end end -- -- Tracking categories -- function renderTrackingCategories(builder) local frame = mw.getCurrentFrame() if not frame then return end local s = frame:preprocess('{{#ifeq:{{NAMESPACE}}|{{ns:10}}|1|0}}{{SUBPAGENAME}}') if mw.ustring.sub(s, 1, 1) == '0' then return end -- not in template space local subpage = mw.ustring.lower(mw.ustring.sub(s, 2)) if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for i, cat in ipairs(getTrackingCategories()) do builder.wikitext('[[Category:' .. cat .. ']]') end end function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasCustomListSpacing() then table.insert(cats, 'Navigational boxes with custom list spacing') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end return cats end function needsHorizontalLists() if border == 'child' or border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = {'plainlist', 'hlist', 'hlist hnum', 'hlist vcard', 'vcard hlist'} for i, cls in ipairs(listClasses) do if args.listclass == cls or args.bodyclass == cls then return false end end return true end function hasCustomListSpacing() return args.liststyle == 'padding: 0.25em 0; line-height: 1.3em;' or args.liststyle == 'padding:0.25em 0; line-height:1.4em; width:auto;' or args.liststyle == 'padding:0.4em 0; line-height:1.4em;' end function hasBackgroundColors() return args.titlestyle or args.groupstyle end -- -- Main navbox tables -- function renderMainTable() local tbl = HtmlBuilder.create('table') .attr('cellspacing', 0) .addClass('nowraplinks') .addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl .addClass('collapsible') .addClass(args.state or 'autocollapse') end tbl.css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl .addClass('navbox-subgroup') .cssText(args.bodystyle) .cssText(args.style) else -- regular navobx - bodystyle and style will be applied to the wrapper table tbl .addClass('navbox-inner') .css('background', 'transparent') .css('color', 'inherit') end tbl.cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = HtmlBuilder.create() if border == 'none' then res.node(tbl) elseif border == 'subgroup' or border == 'child' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res .tag('/div', {unclosed = true}) .done() .node(tbl) .tag('div', {unclosed = true}) else res .tag('table') .attr('cellspacing', 0) .addClass('navbox') .css('border-spacing', 0) .cssText(args.bodystyle) .cssText(args.style) .tag('tr') .tag('td') .css('padding', '2px') .node(tbl) end renderTrackingCategories(res) return tostring(res) end function p.navbox(frame) -- ParserFunctions considers the empty string to be false, so to preserve the previous -- behavior of {{navbox}}, change any empty arguments to nil, so Lua will consider -- them false too. local args = {} local parent_args = frame:getParent().args; -- Out of order parsing bug. local temp; temp = parent_args.title; temp = parent_args.above; for i = 1, 20 do temp = parent_args["group" .. tostring(i)]; temp = parent_args["list" .. tostring(i)]; end temp = parent_args.below; for k, v in pairs(parent_args) do if v ~= '' then args[k] = v end end return p._navbox(args) end return p if5nsvmxdkb37mht3b6u1h5ouzk6htq 9831 9830 2013-05-13T16:43:04Z meta>Frietjes 0 9831 Scribunto text/plain -- -- This module will implement {{Navbox}} -- local p = {} local HtmlBuilder = require('Module:HtmlBuilder') local Navbar = require('Module:Navbar') local args local frame local tableRowAdded = false local border local listnums = {} function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl .tag('tr') .css('height', '2px') .tag('td') end tableRowAdded = true return tbl.tag('tr') end -- -- Title row -- function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow .tag('th') .attr('scope', 'row') .addClass('navbox-group') .addClass(args.titlegroupclass) .cssText(args.basestyle) .cssText(args.groupstyle) .cssText(args.titlegroupstyle) .wikitext(args.titlegroup) end local titleCell = titleRow.tag('th').attr('scope', 'col') if args.titlegroup then titleCell .css('border-left', '2px solid #fdfdfd') .css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell .cssText(args.basestyle) .cssText(args.titlestyle) .addClass('navbox-title') .attr('colspan', titleColspan) renderNavBar(titleCell) titleCell .tag('div') .addClass(args.titleclass) .css('font-size', '110%') .newline() .wikitext(args.title) end function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = 'right' end elseif args.navbar == 'plain' or args.navbar == 'off' or (not args.name and (border == 'subgroup' or border == 'child' or border == 'none')) then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' then spacerSide = 'left' end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = 'right' end titleCell.wikitext(Navbar.navbar({ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' })) end -- Render the spacer div. if spacerSide then titleCell .tag('span') .css('float', spacerSide) .css('width', '6em') .wikitext('&nbsp;') end end -- -- Above/Below rows -- function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.aboveclass) .cssText(args.basestyle) .cssText(args.abovestyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.above) end function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.belowclass) .cssText(args.basestyle) .cssText(args.belowstyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.below) end function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end -- -- List rows -- function renderListRow(tbl, listnum) local row = addTableRow(tbl) if listnum == 1 and args.imageleft then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 2px 0px 0px') .cssText(args.imageleftstyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.imageleft) end if args['group' .. listnum] then local groupCell = row.tag('th') groupCell .attr('scope', 'row') .addClass('navbox-group') .addClass(args.groupclass) .cssText(args.basestyle) if args.groupwidth then groupCell.css('width', args.groupwidth) end groupCell .cssText(args.groupstyle) .cssText(args['group' .. listnum .. 'style']) .wikitext(args['group' .. listnum]) end local listCell = row.tag('td') if args['group' .. listnum] then listCell .css('text-align', 'left') .css('border-left-width', '2px') .css('border-left-style', 'solid') else listCell.attr('colspan', 2) end if not args.groupwidth then listCell.css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell .css('padding', '0px') .cssText(args.liststyle) .cssText(rowstyle) .cssText(args['list' .. listnum .. 'style']) .addClass('navbox-list') .addClass('navbox-' .. evenOdd) .addClass(args.listclass) .tag('div') .css('padding', (listnum == 1 and args.list1padding) or args.listpadding or '0em 0.25em') .newline() .wikitext(args['list' .. listnum]) if listnum == 1 and args.image then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 0px 0px 2px') .cssText(args.imagestyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.image) end end -- -- Main navbox tables -- function renderMainTable() local tbl = HtmlBuilder.create('table') .attr('cellspacing', 0) .addClass('nowraplinks') .addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl .addClass('collapsible') .addClass(args.state or 'autocollapse') end tbl.css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl .addClass('navbox-subgroup') .cssText(args.bodystyle) .cssText(args.style) else -- regular navobx - bodystyle and style will be applied to the wrapper table tbl .addClass('navbox-inner') .css('background', 'transparent') .css('color', 'inherit') end tbl.cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = HtmlBuilder.create() if border == 'none' then res.node(tbl) elseif border == 'subgroup' or border == 'child' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res .tag('/div', {unclosed = true}) .done() .node(tbl) .tag('div', {unclosed = true}) else res .tag('table') .attr('cellspacing', 0) .addClass('navbox') .css('border-spacing', 0) .cssText(args.bodystyle) .cssText(args.style) .tag('tr') .tag('td') .css('padding', '2px') .node(tbl) end renderTrackingCategories(res) return tostring(res) end function p.navbox(frame) -- ParserFunctions considers the empty string to be false, so to preserve the previous -- behavior of {{navbox}}, change any empty arguments to nil, so Lua will consider -- them false too. local args = {} local parent_args = frame:getParent().args; -- Out of order parsing bug. local temp; temp = parent_args.title; temp = parent_args.above; for i = 1, 20 do temp = parent_args["group" .. tostring(i)]; temp = parent_args["list" .. tostring(i)]; end temp = parent_args.below; for k, v in pairs(parent_args) do if v ~= '' then args[k] = v end end return p._navbox(args) end return p 9l6kirr0nabulnw56nbrrj7wwltbshk 9832 9831 2013-05-13T16:44:05Z meta>Frietjes 0 9832 Scribunto text/plain -- -- This module will implement {{Navbox}} -- local p = {} local HtmlBuilder = require('Module:HtmlBuilder') local Navbar = require('Module:Navbar') local args local frame local tableRowAdded = false local border local listnums = {} function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl .tag('tr') .css('height', '2px') .tag('td') end tableRowAdded = true return tbl.tag('tr') end -- -- Title row -- function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow .tag('th') .attr('scope', 'row') .addClass('navbox-group') .addClass(args.titlegroupclass) .cssText(args.basestyle) .cssText(args.groupstyle) .cssText(args.titlegroupstyle) .wikitext(args.titlegroup) end local titleCell = titleRow.tag('th').attr('scope', 'col') if args.titlegroup then titleCell .css('border-left', '2px solid #fdfdfd') .css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell .cssText(args.basestyle) .cssText(args.titlestyle) .addClass('navbox-title') .attr('colspan', titleColspan) renderNavBar(titleCell) titleCell .tag('div') .addClass(args.titleclass) .css('font-size', '110%') .newline() .wikitext(args.title) end function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = 'right' end elseif args.navbar == 'plain' or args.navbar == 'off' or (not args.name and (border == 'subgroup' or border == 'child' or border == 'none')) then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' then spacerSide = 'left' end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = 'right' end titleCell.wikitext(Navbar.navbar({ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' })) end -- Render the spacer div. if spacerSide then titleCell .tag('span') .css('float', spacerSide) .css('width', '6em') .wikitext('&nbsp;') end end -- -- Above/Below rows -- function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.aboveclass) .cssText(args.basestyle) .cssText(args.abovestyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.above) end function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.belowclass) .cssText(args.basestyle) .cssText(args.belowstyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.below) end function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end -- -- List rows -- function renderListRow(tbl, listnum) local row = addTableRow(tbl) if listnum == 1 and args.imageleft then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 2px 0px 0px') .cssText(args.imageleftstyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.imageleft) end if args['group' .. listnum] then local groupCell = row.tag('th') groupCell .attr('scope', 'row') .addClass('navbox-group') .addClass(args.groupclass) .cssText(args.basestyle) if args.groupwidth then groupCell.css('width', args.groupwidth) end groupCell .cssText(args.groupstyle) .cssText(args['group' .. listnum .. 'style']) .wikitext(args['group' .. listnum]) end local listCell = row.tag('td') if args['group' .. listnum] then listCell .css('text-align', 'left') .css('border-left-width', '2px') .css('border-left-style', 'solid') else listCell.attr('colspan', 2) end if not args.groupwidth then listCell.css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell .css('padding', '0px') .cssText(args.liststyle) .cssText(rowstyle) .cssText(args['list' .. listnum .. 'style']) .addClass('navbox-list') .addClass('navbox-' .. evenOdd) .addClass(args.listclass) .tag('div') .css('padding', (listnum == 1 and args.list1padding) or args.listpadding or '0em 0.25em') .newline() .wikitext(args['list' .. listnum]) if listnum == 1 and args.image then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 0px 0px 2px') .cssText(args.imagestyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.image) end end -- -- Main navbox tables -- function renderMainTable() local tbl = HtmlBuilder.create('table') .attr('cellspacing', 0) .addClass('nowraplinks') .addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl .addClass('collapsible') .addClass(args.state or 'autocollapse') end tbl.css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl .addClass('navbox-subgroup') .cssText(args.bodystyle) .cssText(args.style) else -- regular navobx - bodystyle and style will be applied to the wrapper table tbl .addClass('navbox-inner') .css('background', 'transparent') .css('color', 'inherit') end tbl.cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = HtmlBuilder.create() if border == 'none' then res.node(tbl) elseif border == 'subgroup' or border == 'child' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res .tag('/div', {unclosed = true}) .done() .node(tbl) .tag('div', {unclosed = true}) else res .tag('table') .attr('cellspacing', 0) .addClass('navbox') .css('border-spacing', 0) .cssText(args.bodystyle) .cssText(args.style) .tag('tr') .tag('td') .css('padding', '2px') .node(tbl) end return tostring(res) end function p.navbox(frame) -- ParserFunctions considers the empty string to be false, so to preserve the previous -- behavior of {{navbox}}, change any empty arguments to nil, so Lua will consider -- them false too. local args = {} local parent_args = frame:getParent().args; -- Out of order parsing bug. local temp; temp = parent_args.title; temp = parent_args.above; for i = 1, 20 do temp = parent_args["group" .. tostring(i)]; temp = parent_args["list" .. tostring(i)]; end temp = parent_args.below; for k, v in pairs(parent_args) do if v ~= '' then args[k] = v end end return p._navbox(args) end return p gmjf9fia4aoexssvna62ns5dfbwjx7x 9833 9832 2013-06-28T18:40:31Z meta>Frietjes 0 9833 Scribunto text/plain -- -- This module will implement {{Navbox}} -- local p = {} local HtmlBuilder = require('Module:HtmlBuilder') local Navbar = require('Module:Navbar') local args local frame local tableRowAdded = false local border local listnums = {} function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl .tag('tr') .css('height', '2px') .tag('td') end tableRowAdded = true return tbl.tag('tr') end -- -- Title row -- function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow .tag('th') .attr('scope', 'row') .addClass('navbox-group') .addClass(args.titlegroupclass) .cssText(args.basestyle) .cssText(args.groupstyle) .cssText(args.titlegroupstyle) .wikitext(args.titlegroup) end local titleCell = titleRow.tag('th').attr('scope', 'col') if args.titlegroup then titleCell .css('border-left', '2px solid #fdfdfd') .css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell .cssText(args.basestyle) .cssText(args.titlestyle) .addClass('navbox-title') .attr('colspan', titleColspan) renderNavBar(titleCell) titleCell .tag('div') .addClass(args.titleclass) .css('font-size', '110%') .newline() .wikitext(args.title) end function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = 'right' end elseif args.navbar == 'plain' or args.navbar == 'off' or (not args.name and (border == 'subgroup' or border == 'child' or border == 'none')) then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' then spacerSide = 'left' end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = 'right' end titleCell.wikitext(Navbar.navbar({ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' })) end -- Render the spacer div. if spacerSide then titleCell .tag('span') .css('float', spacerSide) .css('width', '6em') .wikitext('&nbsp;') end end -- -- Above/Below rows -- function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.aboveclass) .cssText(args.basestyle) .cssText(args.abovestyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.above) end function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.belowclass) .cssText(args.basestyle) .cssText(args.belowstyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.below) end function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end -- -- List rows -- function renderListRow(tbl, listnum) local row = addTableRow(tbl) if listnum == 1 and args.imageleft then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 2px 0px 0px') .cssText(args.imageleftstyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.imageleft) end if args['group' .. listnum] then local groupCell = row.tag('th') groupCell .attr('scope', 'row') .addClass('navbox-group') .addClass(args.groupclass) .cssText(args.basestyle) if args.groupwidth then groupCell.css('width', args.groupwidth) end groupCell .cssText(args.groupstyle) .cssText(args['group' .. listnum .. 'style']) .wikitext(args['group' .. listnum]) end local listCell = row.tag('td') if args['group' .. listnum] then listCell .css('text-align', 'left') .css('border-left-width', '2px') .css('border-left-style', 'solid') .css('border-left-color', '#fdfdfd') else listCell.attr('colspan', 2) end if not args.groupwidth then listCell.css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell .css('padding', '0px') .cssText(args.liststyle) .cssText(rowstyle) .cssText(args['list' .. listnum .. 'style']) .addClass('navbox-list') .addClass('navbox-' .. evenOdd) .addClass(args.listclass) .tag('div') .css('padding', (listnum == 1 and args.list1padding) or args.listpadding or '0em 0.25em') .newline() .wikitext(args['list' .. listnum]) if listnum == 1 and args.image then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 0px 0px 2px') .cssText(args.imagestyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.image) end end -- -- Main navbox tables -- function renderMainTable() local tbl = HtmlBuilder.create('table') .attr('cellspacing', 0) .addClass('nowraplinks') .addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl .addClass('collapsible') .addClass(args.state or 'autocollapse') end tbl.css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl .addClass('navbox-subgroup') .cssText(args.bodystyle) .cssText(args.style) else -- regular navobx - bodystyle and style will be applied to the wrapper table tbl .addClass('navbox-inner') .css('background', 'transparent') .css('color', 'inherit') end tbl.cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = HtmlBuilder.create() if border == 'none' then res.node(tbl) elseif border == 'subgroup' or border == 'child' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res .tag('/div', {unclosed = true}) .done() .node(tbl) .tag('div', {unclosed = true}) else res .tag('table') .attr('cellspacing', 0) .addClass('navbox') .css('border-spacing', 0) .cssText(args.bodystyle) .cssText(args.style) .tag('tr') .tag('td') .css('padding', '2px') .node(tbl) end return tostring(res) end function p.navbox(frame) -- ParserFunctions considers the empty string to be false, so to preserve the previous -- behavior of {{navbox}}, change any empty arguments to nil, so Lua will consider -- them false too. local args = {} local parent_args = frame:getParent().args; -- Out of order parsing bug. local temp; temp = parent_args.title; temp = parent_args.above; for i = 1, 20 do temp = parent_args["group" .. tostring(i)]; temp = parent_args["list" .. tostring(i)]; end temp = parent_args.below; for k, v in pairs(parent_args) do if v ~= '' then args[k] = v end end return p._navbox(args) end return p 6akfe0bv4z85xmgkm9hjlsfuyj8i8n9 9834 9833 2013-06-28T20:26:58Z meta>Frietjes 0 9834 Scribunto text/plain -- -- This module will implement {{Navbox}} -- local p = {} local HtmlBuilder = require('Module:HtmlBuilder') local Navbar = require('Module:Navbar') local args local frame local tableRowAdded = false local border local listnums = {} function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl .tag('tr') .css('height', '2px') .tag('td') end tableRowAdded = true return tbl.tag('tr') end -- -- Title row -- function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow .tag('th') .attr('scope', 'row') .addClass('navbox-group') .addClass(args.titlegroupclass) .cssText(args.basestyle) .cssText(args.groupstyle) .cssText(args.titlegroupstyle) .wikitext(args.titlegroup) end local titleCell = titleRow.tag('th').attr('scope', 'col') if args.titlegroup then titleCell .css('border-left', '2px solid #fdfdfd') .css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell .cssText(args.basestyle) .cssText(args.titlestyle) .addClass('navbox-title') .attr('colspan', titleColspan) renderNavBar(titleCell) titleCell .tag('div') .addClass(args.titleclass) .css('font-size', '110%') .newline() .wikitext(args.title) end function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = 'right' end elseif args.navbar == 'plain' or args.navbar == 'off' or (not args.name and (border == 'subgroup' or border == 'child' or border == 'none')) then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' then spacerSide = 'left' end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = 'right' end titleCell.wikitext(Navbar.navbar({ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' })) end -- Render the spacer div. if spacerSide then titleCell .tag('span') .css('float', spacerSide) .css('width', '6em') .wikitext('&nbsp;') end end -- -- Above/Below rows -- function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.aboveclass) .cssText(args.basestyle) .cssText(args.abovestyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.above) end function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.belowclass) .cssText(args.basestyle) .cssText(args.belowstyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.below) end function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end -- -- List rows -- function renderListRow(tbl, listnum) local row = addTableRow(tbl) if listnum == 1 and args.imageleft then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 2px 0px 0px') .cssText(args.imageleftstyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.imageleft) end if args['group' .. listnum] then local groupCell = row.tag('th') groupCell .attr('scope', 'row') .addClass('navbox-group') .addClass(args.groupclass) .cssText(args.basestyle) if args.groupwidth then groupCell.css('width', args.groupwidth) end groupCell .cssText(args.groupstyle) .cssText(args['group' .. listnum .. 'style']) .wikitext(args['group' .. listnum]) end local listCell = row.tag('td') if args['group' .. listnum] then listCell .css('text-align', 'left') .css('border-left', '2px solid #fdfdfd') else listCell.attr('colspan', 2) end if not args.groupwidth then listCell.css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell .css('padding', '0px') .cssText(args.liststyle) .cssText(rowstyle) .cssText(args['list' .. listnum .. 'style']) .addClass('navbox-list') .addClass('navbox-' .. evenOdd) .addClass(args.listclass) .tag('div') .css('padding', (listnum == 1 and args.list1padding) or args.listpadding or '0em 0.25em') .newline() .wikitext(args['list' .. listnum]) if listnum == 1 and args.image then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 0px 0px 2px') .cssText(args.imagestyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.image) end end -- -- Main navbox tables -- function renderMainTable() local tbl = HtmlBuilder.create('table') .attr('cellspacing', 0) .addClass('nowraplinks') .addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl .addClass('collapsible') .addClass(args.state or 'autocollapse') end tbl.css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl .addClass('navbox-subgroup') .cssText(args.bodystyle) .cssText(args.style) else -- regular navobx - bodystyle and style will be applied to the wrapper table tbl .addClass('navbox-inner') .css('background', 'transparent') .css('color', 'inherit') end tbl.cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = HtmlBuilder.create() if border == 'none' then res.node(tbl) elseif border == 'subgroup' or border == 'child' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res .tag('/div', {unclosed = true}) .done() .node(tbl) .tag('div', {unclosed = true}) else res .tag('table') .attr('cellspacing', 0) .addClass('navbox') .css('border-spacing', 0) .cssText(args.bodystyle) .cssText(args.style) .tag('tr') .tag('td') .css('padding', '2px') .node(tbl) end return tostring(res) end function p.navbox(frame) -- ParserFunctions considers the empty string to be false, so to preserve the previous -- behavior of {{navbox}}, change any empty arguments to nil, so Lua will consider -- them false too. local args = {} local parent_args = frame:getParent().args; -- Out of order parsing bug. local temp; temp = parent_args.title; temp = parent_args.above; for i = 1, 20 do temp = parent_args["group" .. tostring(i)]; temp = parent_args["list" .. tostring(i)]; end temp = parent_args.below; for k, v in pairs(parent_args) do if v ~= '' then args[k] = v end end return p._navbox(args) end return p ik4snwsm7mm6jqp4mhuw2y0xb3fj1hz 9835 9834 2014-07-07T00:54:05Z meta>Verdy p 0 left/right alignments/margins/paddings are dependant on value of "dir" argument (="rtl" or "ltr", default is "ltr") 9835 Scribunto text/plain -- -- This module will implement {{Navbox}} -- local p = {} local HtmlBuilder = require('Module:HtmlBuilder') local Navbar = require('Module:Navbar') local args local frame local tableRowAdded = false local border local listnums = {} function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl .tag('tr') .css('height', '2px') .tag('td') end tableRowAdded = true return tbl.tag('tr') end -- -- Title row -- function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow .tag('th') .attr('scope', 'row') .addClass('navbox-group') .addClass(args.titlegroupclass) .cssText(args.basestyle) .cssText(args.groupstyle) .cssText(args.titlegroupstyle) .wikitext(args.titlegroup) end local titleCell = titleRow.tag('th').attr('scope', 'col') if args.titlegroup then titleCell .css('border-' .. args.left, '2px solid #fdfdfd') .css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell .cssText(args.basestyle) .cssText(args.titlestyle) .addClass('navbox-title') .attr('colspan', titleColspan) renderNavBar(titleCell) titleCell .tag('div') .addClass(args.titleclass) .css('font-size', '110%') .newline() .wikitext(args.title) end function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = args.right end elseif args.navbar == 'plain' or args.navbar == 'off' or (not args.name and (border == 'subgroup' or border == 'child' or border == 'none')) then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' then spacerSide = args.left end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = args.right end titleCell.wikitext(Navbar.navbar({ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' })) end -- Render the spacer div. if spacerSide then titleCell .tag('span') .css('float', spacerSide) .css('width', '6em') .wikitext('&nbsp;') end end -- -- Above/Below rows -- function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.aboveclass) .cssText(args.basestyle) .cssText(args.abovestyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.above) end function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.belowclass) .cssText(args.basestyle) .cssText(args.belowstyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.below) end function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end -- -- List rows -- function renderListRow(tbl, listnum) local row = addTableRow(tbl) if listnum == 1 and args.imageleft then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 2px 0px 0px') .cssText(args.imageleftstyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.imageleft) end if args['group' .. listnum] then local groupCell = row.tag('th') groupCell .attr('scope', 'row') .addClass('navbox-group') .addClass(args.groupclass) .cssText(args.basestyle) if args.groupwidth then groupCell.css('width', args.groupwidth) end groupCell .cssText(args.groupstyle) .cssText(args['group' .. listnum .. 'style']) .wikitext(args['group' .. listnum]) end local listCell = row.tag('td') if args['group' .. listnum] then listCell .css('text-align', args.left) .css('border-' .. args.left, '2px solid #fdfdfd') else listCell.attr('colspan', 2) end if not args.groupwidth then listCell.css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell .css('padding', '0') .cssText(args.liststyle) .cssText(rowstyle) .cssText(args['list' .. listnum .. 'style']) .addClass('navbox-list') .addClass('navbox-' .. evenOdd) .addClass(args.listclass) .tag('div') .css('padding', (listnum == 1 and args.list1padding) or args.listpadding or '0em 0.25em') .newline() .wikitext(args['list' .. listnum]) if listnum == 1 and args.image then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 0px 0px 2px') .cssText(args.imagestyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.image) end end -- -- Main navbox tables -- function renderMainTable() local tbl = HtmlBuilder.create('table') .attr('cellspacing', 0) .addClass('nowraplinks') .addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl .addClass('collapsible') .addClass(args.state or 'autocollapse') end tbl.css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl .addClass('navbox-subgroup') .cssText(args.bodystyle) .cssText(args.style) else -- regular navobx - bodystyle and style will be applied to the wrapper table tbl .addClass('navbox-inner') .css('background', 'transparent') .css('color', 'inherit') end tbl.cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = HtmlBuilder.create() if border == 'none' then res.node(tbl) elseif border == 'subgroup' or border == 'child' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res .tag('/div', {unclosed = true}) .done() .node(tbl) .tag('div', {unclosed = true}) else res .tag('table') .attr('cellspacing', 0) .addClass('navbox') .css('border-spacing', 0) .cssText(args.bodystyle) .cssText(args.style) .tag('tr') .tag('td') .css('padding', '2px') .node(tbl) end return tostring(res) end function p.navbox(frame) -- ParserFunctions considers the empty string to be false, so to preserve the previous -- behavior of {{navbox}}, change any empty arguments to nil, so Lua will consider -- them false too. local args = {} local parent_args = frame:getParent().args; -- Out of order parsing bug. local temp; temp = parent_args.title; temp = parent_args.above; for i = 1, 20 do temp = parent_args["group" .. tostring(i)]; temp = parent_args["list" .. tostring(i)]; end temp = parent_args.below; for k, v in pairs(parent_args) do if v ~= '' then args[k] = v end end if (args.dir ~= 'rtl') then args.left = 'left' args.right = 'right' else args.right = 'left' args.left = 'right' end return p._navbox(args) end return p 136t41me8sj3v8xlv6lqj9rc3pznxf3 9836 9835 2014-07-07T01:01:42Z meta>Verdy p 0 9836 Scribunto text/plain -- -- This module will implement {{Navbox}} -- local p = {} local HtmlBuilder = require('Module:HtmlBuilder') local Navbar = require('Module:Navbar') local args local frame local tableRowAdded = false local border local listnums = {} function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl .tag('tr') .css('height', '2px') .tag('td') end tableRowAdded = true return tbl.tag('tr') end -- -- Title row -- function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow .tag('th') .attr('scope', 'row') .addClass('navbox-group') .addClass(args.titlegroupclass) .cssText(args.basestyle) .cssText(args.groupstyle) .cssText(args.titlegroupstyle) .wikitext(args.titlegroup) end local titleCell = titleRow.tag('th').attr('scope', 'col') if args.titlegroup then titleCell .css('border-' .. args.left, '2px solid #fdfdfd') .css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell .cssText(args.basestyle) .cssText(args.titlestyle) .addClass('navbox-title') .attr('colspan', titleColspan) renderNavBar(titleCell) titleCell .tag('div') .addClass(args.titleclass) .css('font-size', '110%') .newline() .wikitext(args.title) end function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = args.right end elseif args.navbar == 'plain' or args.navbar == 'off' or (not args.name and (border == 'subgroup' or border == 'child' or border == 'none')) then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' then spacerSide = args.left end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = args.right end titleCell.wikitext(Navbar.navbar({ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' })) end -- Render the spacer div. if spacerSide then titleCell .tag('span') .css('float', spacerSide) .css('width', '6em') .wikitext('&nbsp;') end end -- -- Above/Below rows -- function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.aboveclass) .cssText(args.basestyle) .cssText(args.abovestyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.above) end function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.belowclass) .cssText(args.basestyle) .cssText(args.belowstyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.below) end function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end -- -- List rows -- function renderListRow(tbl, listnum) local row = addTableRow(tbl) if listnum == 1 and args.imageleft then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 2px 0px 0px') .cssText(args.imageleftstyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.imageleft) end if args['group' .. listnum] then local groupCell = row.tag('th') groupCell .attr('scope', 'row') .addClass('navbox-group') .addClass(args.groupclass) .cssText(args.basestyle) if args.groupwidth then groupCell.css('width', args.groupwidth) end groupCell .cssText(args.groupstyle) .cssText(args['group' .. listnum .. 'style']) .wikitext(args['group' .. listnum]) end local listCell = row.tag('td') if args['group' .. listnum] then listCell .css('text-align', args.left) .css('border-' .. args.left, '2px solid #fdfdfd') else listCell.attr('colspan', 2) end if not args.groupwidth then listCell.css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell .css('padding', '0') .cssText(args.liststyle) .cssText(rowstyle) .cssText(args['list' .. listnum .. 'style']) .addClass('navbox-list') .addClass('navbox-' .. evenOdd) .addClass(args.listclass) .tag('div') .css('padding', (listnum == 1 and args.list1padding) or args.listpadding or '0em 0.25em') .newline() .wikitext(args['list' .. listnum]) if listnum == 1 and args.image then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 0px 0px 2px') .cssText(args.imagestyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.image) end end -- -- Main navbox tables -- function renderMainTable() local tbl = HtmlBuilder.create('table') .attr('cellspacing', 0) .addClass('nowraplinks') .addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl .addClass('collapsible') .addClass(args.state or 'autocollapse') end tbl.css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl .addClass('navbox-subgroup') .cssText(args.bodystyle) .cssText(args.style) else -- regular navobx - bodystyle and style will be applied to the wrapper table tbl .addClass('navbox-inner') .css('background', 'transparent') .css('color', 'inherit') end tbl.cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs if (args.dir ~= 'rtl') then args.left = 'left' args.right = 'right' else args.right = 'left' args.left = 'right' end for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = HtmlBuilder.create() if border == 'none' then res.node(tbl) elseif border == 'subgroup' or border == 'child' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res .tag('/div', {unclosed = true}) .done() .node(tbl) .tag('div', {unclosed = true}) else res .tag('table') .attr('cellspacing', 0) .addClass('navbox') .css('border-spacing', 0) .cssText(args.bodystyle) .cssText(args.style) .tag('tr') .tag('td') .css('padding', '2px') .node(tbl) end return tostring(res) end function p.navbox(frame) -- ParserFunctions considers the empty string to be false, so to preserve the previous -- behavior of {{navbox}}, change any empty arguments to nil, so Lua will consider -- them false too. local args = {} local parent_args = frame:getParent().args; -- Out of order parsing bug. local temp; temp = parent_args.title; temp = parent_args.above; for i = 1, 20 do temp = parent_args["group" .. tostring(i)]; temp = parent_args["list" .. tostring(i)]; end temp = parent_args.below; for k, v in pairs(parent_args) do if v ~= '' then args[k] = v end end return p._navbox(args) end return p p5lcu4ef8tr4ht4whxdvomonda5gs3m 9837 9836 2015-06-24T02:41:00Z meta>Jackmcbarn 0 update from enwiki 9837 Scribunto text/plain -- -- This module implements {{Navbox}} -- local p = {} local navbar = require('Module:Navbar')._navbar local getArgs -- lazily initialized local args local tableRowAdded = false local border local listnums = {} local function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end local function addNewline(s) if s:match('^[*:;#]') or s:match('^{|') then return '\n' .. s ..'\n' else return s end end local function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl :tag('tr') :css('height', '2px') :tag('td') :attr('colspan',2) end tableRowAdded = true return tbl:tag('tr') end local function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = 'right' end elseif args.navbar == 'plain' or (not args.name and mw.getCurrentFrame():getParent():getTitle():gsub('/sandbox$', '') == 'Template:Navbox') then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' then spacerSide = 'left' end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = 'right' end titleCell:wikitext(navbar{ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' }) end -- Render the spacer div. if spacerSide then titleCell :tag('span') :css('float', spacerSide) :css('width', '6em') :wikitext('&nbsp;') end end -- -- Title row -- local function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow :tag('th') :attr('scope', 'row') :addClass('navbox-group') :addClass(args.titlegroupclass) :cssText(args.basestyle) :cssText(args.groupstyle) :cssText(args.titlegroupstyle) :wikitext(args.titlegroup) end local titleCell = titleRow:tag('th'):attr('scope', 'col') if args.titlegroup then titleCell :css('border-left', '2px solid #fdfdfd') :css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell :cssText(args.basestyle) :cssText(args.titlestyle) :addClass('navbox-title') :attr('colspan', titleColspan) renderNavBar(titleCell) titleCell :tag('div') :addClass(args.titleclass) :css('font-size', '110%') :wikitext(addNewline(args.title)) end -- -- Above/Below rows -- local function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end local function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) :tag('td') :addClass('navbox-abovebelow') :addClass(args.aboveclass) :cssText(args.basestyle) :cssText(args.abovestyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(addNewline(args.above)) end local function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) :tag('td') :addClass('navbox-abovebelow') :addClass(args.belowclass) :cssText(args.basestyle) :cssText(args.belowstyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(addNewline(args.below)) end -- -- List rows -- local function renderListRow(tbl, listnum) local row = addTableRow(tbl) if listnum == 1 and args.imageleft then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '0%') :css('padding', '0px 2px 0px 0px') :cssText(args.imageleftstyle) :attr('rowspan', 2 * #listnums - 1) :tag('div') :wikitext(addNewline(args.imageleft)) end if args['group' .. listnum] then local groupCell = row:tag('th') groupCell :attr('scope', 'row') :addClass('navbox-group') :addClass(args.groupclass) :cssText(args.basestyle) if args.groupwidth then groupCell:css('width', args.groupwidth) end groupCell :cssText(args.groupstyle) :cssText(args['group' .. listnum .. 'style']) :wikitext(args['group' .. listnum]) end local listCell = row:tag('td') if args['group' .. listnum] then listCell :css('text-align', 'left') :css('border-left-width', '2px') :css('border-left-style', 'solid') else listCell:attr('colspan', 2) end if not args.groupwidth then listCell:css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell :css('padding', '0px') :cssText(args.liststyle) :cssText(rowstyle) :cssText(args['list' .. listnum .. 'style']) :addClass('navbox-list') :addClass('navbox-' .. evenOdd) :addClass(args.listclass) :tag('div') :css('padding', (listnum == 1 and args.list1padding) or args.listpadding or '0em 0.25em') :wikitext(addNewline(args['list' .. listnum])) if listnum == 1 and args.image then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '0%') :css('padding', '0px 0px 0px 2px') :cssText(args.imagestyle) :attr('rowspan', 2 * #listnums - 1) :tag('div') :wikitext(addNewline(args.image)) end end -- -- Tracking categories -- local function needsHorizontalLists() if border == 'child' or border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = {'plainlist', 'hlist', 'hlist hnum', 'hlist hwrap', 'hlist vcard', 'vcard hlist', 'hlist vevent'} for i, cls in ipairs(listClasses) do if args.listclass == cls or args.bodyclass == cls then return false end end return true end local function hasBackgroundColors() return mw.ustring.match(args.titlestyle or '','background') or mw.ustring.match(args.groupstyle or '','background') or mw.ustring.match(args.basestyle or '','background') end local function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end return cats end local function renderTrackingCategories(builder) local title = mw.title.getCurrentTitle() if title.namespace ~= 10 then return end -- not in template space local subpage = title.subpageText if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for i, cat in ipairs(getTrackingCategories()) do builder:wikitext('[[Category:' .. cat .. ']]') end end -- -- Main navbox tables -- local function renderMainTable() local tbl = mw.html.create('table') :addClass('nowraplinks') :addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl :addClass('collapsible') :addClass(args.state or 'autocollapse') end tbl:css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl :addClass('navbox-subgroup') :cssText(args.bodystyle) :cssText(args.style) else -- regular navobx - bodystyle and style will be applied to the wrapper table tbl :addClass('navbox-inner') :css('background', 'transparent') :css('color', 'inherit') end tbl:cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = mw.html.create() if border == 'none' then res:node(tbl) elseif border == 'subgroup' or border == 'child' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res :wikitext('</div>') -- XXX: hack due to lack of unclosed support in mw.html. :node(tbl) :wikitext('<div>') -- XXX: hack due to lack of unclosed support in mw.html. else res :tag('table') :addClass('navbox') :css('border-spacing', 0) :cssText(args.bodystyle) :cssText(args.style) :tag('tr') :tag('td') :css('padding', '2px') :node(tbl) end renderTrackingCategories(res) return tostring(res) end function p.navbox(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end args = getArgs(frame, {wrappers = 'Template:Navbox'}) -- Read the arguments in the order they'll be output in, to make references number in the right order. local _ _ = args.title _ = args.above for i = 1, 20 do _ = args["group" .. tostring(i)] _ = args["list" .. tostring(i)] end _ = args.below return p._navbox(args) end return p 0xz6w9qh3qly5ymbn3g095ijl4yfqxn 9838 9837 2018-05-17T10:54:19Z meta>TheDJ 0 use mw-collapsed 9838 Scribunto text/plain -- -- This module implements {{Navbox}} -- local p = {} local navbar = require('Module:Navbar')._navbar local getArgs -- lazily initialized local args local tableRowAdded = false local border local listnums = {} local function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end local function addNewline(s) if s:match('^[*:;#]') or s:match('^{|') then return '\n' .. s ..'\n' else return s end end local function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl :tag('tr') :css('height', '2px') :tag('td') :attr('colspan',2) end tableRowAdded = true return tbl:tag('tr') end local function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = 'right' end elseif args.navbar == 'plain' or (not args.name and mw.getCurrentFrame():getParent():getTitle():gsub('/sandbox$', '') == 'Template:Navbox') then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' then spacerSide = 'left' end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = 'right' end titleCell:wikitext(navbar{ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' }) end -- Render the spacer div. if spacerSide then titleCell :tag('span') :css('float', spacerSide) :css('width', '6em') :wikitext('&nbsp;') end end -- -- Title row -- local function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow :tag('th') :attr('scope', 'row') :addClass('navbox-group') :addClass(args.titlegroupclass) :cssText(args.basestyle) :cssText(args.groupstyle) :cssText(args.titlegroupstyle) :wikitext(args.titlegroup) end local titleCell = titleRow:tag('th'):attr('scope', 'col') if args.titlegroup then titleCell :css('border-left', '2px solid #fdfdfd') :css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell :cssText(args.basestyle) :cssText(args.titlestyle) :addClass('navbox-title') :attr('colspan', titleColspan) renderNavBar(titleCell) titleCell :tag('div') :addClass(args.titleclass) :css('font-size', '110%') :wikitext(addNewline(args.title)) end -- -- Above/Below rows -- local function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end local function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) :tag('td') :addClass('navbox-abovebelow') :addClass(args.aboveclass) :cssText(args.basestyle) :cssText(args.abovestyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(addNewline(args.above)) end local function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) :tag('td') :addClass('navbox-abovebelow') :addClass(args.belowclass) :cssText(args.basestyle) :cssText(args.belowstyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(addNewline(args.below)) end -- -- List rows -- local function renderListRow(tbl, listnum) local row = addTableRow(tbl) if listnum == 1 and args.imageleft then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '0%') :css('padding', '0px 2px 0px 0px') :cssText(args.imageleftstyle) :attr('rowspan', 2 * #listnums - 1) :tag('div') :wikitext(addNewline(args.imageleft)) end if args['group' .. listnum] then local groupCell = row:tag('th') groupCell :attr('scope', 'row') :addClass('navbox-group') :addClass(args.groupclass) :cssText(args.basestyle) if args.groupwidth then groupCell:css('width', args.groupwidth) end groupCell :cssText(args.groupstyle) :cssText(args['group' .. listnum .. 'style']) :wikitext(args['group' .. listnum]) end local listCell = row:tag('td') if args['group' .. listnum] then listCell :css('text-align', 'left') :css('border-left-width', '2px') :css('border-left-style', 'solid') else listCell:attr('colspan', 2) end if not args.groupwidth then listCell:css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell :css('padding', '0px') :cssText(args.liststyle) :cssText(rowstyle) :cssText(args['list' .. listnum .. 'style']) :addClass('navbox-list') :addClass('navbox-' .. evenOdd) :addClass(args.listclass) :tag('div') :css('padding', (listnum == 1 and args.list1padding) or args.listpadding or '0em 0.25em') :wikitext(addNewline(args['list' .. listnum])) if listnum == 1 and args.image then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '0%') :css('padding', '0px 0px 0px 2px') :cssText(args.imagestyle) :attr('rowspan', 2 * #listnums - 1) :tag('div') :wikitext(addNewline(args.image)) end end -- -- Tracking categories -- local function needsHorizontalLists() if border == 'child' or border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = {'plainlist', 'hlist', 'hlist hnum', 'hlist hwrap', 'hlist vcard', 'vcard hlist', 'hlist vevent'} for i, cls in ipairs(listClasses) do if args.listclass == cls or args.bodyclass == cls then return false end end return true end local function hasBackgroundColors() return mw.ustring.match(args.titlestyle or '','background') or mw.ustring.match(args.groupstyle or '','background') or mw.ustring.match(args.basestyle or '','background') end local function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end return cats end local function renderTrackingCategories(builder) local title = mw.title.getCurrentTitle() if title.namespace ~= 10 then return end -- not in template space local subpage = title.subpageText if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for i, cat in ipairs(getTrackingCategories()) do builder:wikitext('[[Category:' .. cat .. ']]') end end -- -- Main navbox tables -- local function renderMainTable() local tbl = mw.html.create('table') :addClass('nowraplinks') :addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then local state = args.state; if state and state == 'collapsed' then state = 'mw-collapsed' end tbl :addClass('mw-collapsible') :addClass(state or 'autocollapse') end tbl:css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl :addClass('navbox-subgroup') :cssText(args.bodystyle) :cssText(args.style) else -- regular navobx - bodystyle and style will be applied to the wrapper table tbl :addClass('navbox-inner') :css('background', 'transparent') :css('color', 'inherit') end tbl:cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = mw.html.create() if border == 'none' then res:node(tbl) elseif border == 'subgroup' or border == 'child' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res :wikitext('</div>') -- XXX: hack due to lack of unclosed support in mw.html. :node(tbl) :wikitext('<div>') -- XXX: hack due to lack of unclosed support in mw.html. else res :tag('table') :addClass('navbox') :css('border-spacing', 0) :cssText(args.bodystyle) :cssText(args.style) :tag('tr') :tag('td') :css('padding', '2px') :node(tbl) end renderTrackingCategories(res) return tostring(res) end function p.navbox(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end args = getArgs(frame, {wrappers = 'Template:Navbox'}) -- Read the arguments in the order they'll be output in, to make references number in the right order. local _ _ = args.title _ = args.above for i = 1, 20 do _ = args["group" .. tostring(i)] _ = args["list" .. tostring(i)] end _ = args.below return p._navbox(args) end return p lueokrd5tvdv7z282y8esj7lo7e35zu 9839 9838 2019-11-07T01:08:21Z meta>MusikAnimal 0 Protected "[[Module:Navbox]]": High-risk Lua module ([Edit=Allow only autoconfirmed users] (indefinite) [Move=Allow only autoconfirmed users] (indefinite)) 9838 Scribunto text/plain -- -- This module implements {{Navbox}} -- local p = {} local navbar = require('Module:Navbar')._navbar local getArgs -- lazily initialized local args local tableRowAdded = false local border local listnums = {} local function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end local function addNewline(s) if s:match('^[*:;#]') or s:match('^{|') then return '\n' .. s ..'\n' else return s end end local function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl :tag('tr') :css('height', '2px') :tag('td') :attr('colspan',2) end tableRowAdded = true return tbl:tag('tr') end local function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = 'right' end elseif args.navbar == 'plain' or (not args.name and mw.getCurrentFrame():getParent():getTitle():gsub('/sandbox$', '') == 'Template:Navbox') then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' then spacerSide = 'left' end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = 'right' end titleCell:wikitext(navbar{ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' }) end -- Render the spacer div. if spacerSide then titleCell :tag('span') :css('float', spacerSide) :css('width', '6em') :wikitext('&nbsp;') end end -- -- Title row -- local function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow :tag('th') :attr('scope', 'row') :addClass('navbox-group') :addClass(args.titlegroupclass) :cssText(args.basestyle) :cssText(args.groupstyle) :cssText(args.titlegroupstyle) :wikitext(args.titlegroup) end local titleCell = titleRow:tag('th'):attr('scope', 'col') if args.titlegroup then titleCell :css('border-left', '2px solid #fdfdfd') :css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell :cssText(args.basestyle) :cssText(args.titlestyle) :addClass('navbox-title') :attr('colspan', titleColspan) renderNavBar(titleCell) titleCell :tag('div') :addClass(args.titleclass) :css('font-size', '110%') :wikitext(addNewline(args.title)) end -- -- Above/Below rows -- local function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end local function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) :tag('td') :addClass('navbox-abovebelow') :addClass(args.aboveclass) :cssText(args.basestyle) :cssText(args.abovestyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(addNewline(args.above)) end local function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) :tag('td') :addClass('navbox-abovebelow') :addClass(args.belowclass) :cssText(args.basestyle) :cssText(args.belowstyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(addNewline(args.below)) end -- -- List rows -- local function renderListRow(tbl, listnum) local row = addTableRow(tbl) if listnum == 1 and args.imageleft then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '0%') :css('padding', '0px 2px 0px 0px') :cssText(args.imageleftstyle) :attr('rowspan', 2 * #listnums - 1) :tag('div') :wikitext(addNewline(args.imageleft)) end if args['group' .. listnum] then local groupCell = row:tag('th') groupCell :attr('scope', 'row') :addClass('navbox-group') :addClass(args.groupclass) :cssText(args.basestyle) if args.groupwidth then groupCell:css('width', args.groupwidth) end groupCell :cssText(args.groupstyle) :cssText(args['group' .. listnum .. 'style']) :wikitext(args['group' .. listnum]) end local listCell = row:tag('td') if args['group' .. listnum] then listCell :css('text-align', 'left') :css('border-left-width', '2px') :css('border-left-style', 'solid') else listCell:attr('colspan', 2) end if not args.groupwidth then listCell:css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell :css('padding', '0px') :cssText(args.liststyle) :cssText(rowstyle) :cssText(args['list' .. listnum .. 'style']) :addClass('navbox-list') :addClass('navbox-' .. evenOdd) :addClass(args.listclass) :tag('div') :css('padding', (listnum == 1 and args.list1padding) or args.listpadding or '0em 0.25em') :wikitext(addNewline(args['list' .. listnum])) if listnum == 1 and args.image then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '0%') :css('padding', '0px 0px 0px 2px') :cssText(args.imagestyle) :attr('rowspan', 2 * #listnums - 1) :tag('div') :wikitext(addNewline(args.image)) end end -- -- Tracking categories -- local function needsHorizontalLists() if border == 'child' or border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = {'plainlist', 'hlist', 'hlist hnum', 'hlist hwrap', 'hlist vcard', 'vcard hlist', 'hlist vevent'} for i, cls in ipairs(listClasses) do if args.listclass == cls or args.bodyclass == cls then return false end end return true end local function hasBackgroundColors() return mw.ustring.match(args.titlestyle or '','background') or mw.ustring.match(args.groupstyle or '','background') or mw.ustring.match(args.basestyle or '','background') end local function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end return cats end local function renderTrackingCategories(builder) local title = mw.title.getCurrentTitle() if title.namespace ~= 10 then return end -- not in template space local subpage = title.subpageText if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for i, cat in ipairs(getTrackingCategories()) do builder:wikitext('[[Category:' .. cat .. ']]') end end -- -- Main navbox tables -- local function renderMainTable() local tbl = mw.html.create('table') :addClass('nowraplinks') :addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then local state = args.state; if state and state == 'collapsed' then state = 'mw-collapsed' end tbl :addClass('mw-collapsible') :addClass(state or 'autocollapse') end tbl:css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl :addClass('navbox-subgroup') :cssText(args.bodystyle) :cssText(args.style) else -- regular navobx - bodystyle and style will be applied to the wrapper table tbl :addClass('navbox-inner') :css('background', 'transparent') :css('color', 'inherit') end tbl:cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = mw.html.create() if border == 'none' then res:node(tbl) elseif border == 'subgroup' or border == 'child' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res :wikitext('</div>') -- XXX: hack due to lack of unclosed support in mw.html. :node(tbl) :wikitext('<div>') -- XXX: hack due to lack of unclosed support in mw.html. else res :tag('table') :addClass('navbox') :css('border-spacing', 0) :cssText(args.bodystyle) :cssText(args.style) :tag('tr') :tag('td') :css('padding', '2px') :node(tbl) end renderTrackingCategories(res) return tostring(res) end function p.navbox(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end args = getArgs(frame, {wrappers = 'Template:Navbox'}) -- Read the arguments in the order they'll be output in, to make references number in the right order. local _ _ = args.title _ = args.above for i = 1, 20 do _ = args["group" .. tostring(i)] _ = args["list" .. tostring(i)] end _ = args.below return p._navbox(args) end return p lueokrd5tvdv7z282y8esj7lo7e35zu 9840 9839 2021-04-01T12:49:35Z meta>Tacsipacsi 0 add {{{lang}}} and {{{dir}}} parameters to accommodate to multilinguality 9840 Scribunto text/plain -- -- This module implements {{Navbox}} -- local p = {} local navbar = require('Module:Navbar')._navbar local getArgs -- lazily initialized local args local tableRowAdded = false local border local listnums = {} local function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end local function addNewline(s) if s:match('^[*:;#]') or s:match('^{|') then return '\n' .. s ..'\n' else return s end end local function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl :tag('tr') :css('height', '2px') :tag('td') :attr('colspan',2) end tableRowAdded = true return tbl:tag('tr') end local function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = 'right' end elseif args.navbar == 'plain' or (not args.name and mw.getCurrentFrame():getParent():getTitle():gsub('/sandbox$', '') == 'Template:Navbox') then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' then spacerSide = 'left' end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = 'right' end titleCell:wikitext(navbar{ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' }) end -- Render the spacer div. if spacerSide then titleCell :tag('span') :css('float', spacerSide) :css('width', '6em') :wikitext('&nbsp;') end end -- -- Title row -- local function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow :tag('th') :attr('scope', 'row') :addClass('navbox-group') :addClass(args.titlegroupclass) :cssText(args.basestyle) :cssText(args.groupstyle) :cssText(args.titlegroupstyle) :wikitext(args.titlegroup) end local titleCell = titleRow:tag('th'):attr('scope', 'col') if args.titlegroup then titleCell :css('border-left', '2px solid #fdfdfd') :css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell :cssText(args.basestyle) :cssText(args.titlestyle) :addClass('navbox-title') :attr('colspan', titleColspan) renderNavBar(titleCell) titleCell :tag('div') :addClass(args.titleclass) :css('font-size', '110%') :wikitext(addNewline(args.title)) end -- -- Above/Below rows -- local function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end local function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) :tag('td') :addClass('navbox-abovebelow') :addClass(args.aboveclass) :cssText(args.basestyle) :cssText(args.abovestyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(addNewline(args.above)) end local function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) :tag('td') :addClass('navbox-abovebelow') :addClass(args.belowclass) :cssText(args.basestyle) :cssText(args.belowstyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(addNewline(args.below)) end -- -- List rows -- local function renderListRow(tbl, listnum) local row = addTableRow(tbl) if listnum == 1 and args.imageleft then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '0%') :css('padding', '0px 2px 0px 0px') :cssText(args.imageleftstyle) :attr('rowspan', 2 * #listnums - 1) :tag('div') :wikitext(addNewline(args.imageleft)) end if args['group' .. listnum] then local groupCell = row:tag('th') groupCell :attr('scope', 'row') :addClass('navbox-group') :addClass(args.groupclass) :cssText(args.basestyle) if args.groupwidth then groupCell:css('width', args.groupwidth) end groupCell :cssText(args.groupstyle) :cssText(args['group' .. listnum .. 'style']) :wikitext(args['group' .. listnum]) end local listCell = row:tag('td') if args['group' .. listnum] then listCell :css('text-align', 'left') :css('border-left-width', '2px') :css('border-left-style', 'solid') else listCell:attr('colspan', 2) end if not args.groupwidth then listCell:css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell :css('padding', '0px') :cssText(args.liststyle) :cssText(rowstyle) :cssText(args['list' .. listnum .. 'style']) :addClass('navbox-list') :addClass('navbox-' .. evenOdd) :addClass(args.listclass) :tag('div') :css('padding', (listnum == 1 and args.list1padding) or args.listpadding or '0em 0.25em') :wikitext(addNewline(args['list' .. listnum])) if listnum == 1 and args.image then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '0%') :css('padding', '0px 0px 0px 2px') :cssText(args.imagestyle) :attr('rowspan', 2 * #listnums - 1) :tag('div') :wikitext(addNewline(args.image)) end end -- -- Tracking categories -- local function needsHorizontalLists() if border == 'child' or border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = {'plainlist', 'hlist', 'hlist hnum', 'hlist hwrap', 'hlist vcard', 'vcard hlist', 'hlist vevent'} for i, cls in ipairs(listClasses) do if args.listclass == cls or args.bodyclass == cls then return false end end return true end local function hasBackgroundColors() return mw.ustring.match(args.titlestyle or '','background') or mw.ustring.match(args.groupstyle or '','background') or mw.ustring.match(args.basestyle or '','background') end local function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end return cats end local function renderTrackingCategories(builder) local title = mw.title.getCurrentTitle() if title.namespace ~= 10 then return end -- not in template space local subpage = title.subpageText if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for i, cat in ipairs(getTrackingCategories()) do builder:wikitext('[[Category:' .. cat .. ']]') end end -- -- Main navbox tables -- local function renderMainTable() local tbl = mw.html.create('table') :addClass('nowraplinks') :addClass(args.bodyclass) :attr('lang', args.lang) :attr('dir', args.dir or (args.lang and 'auto' or nil)) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then local state = args.state; if state and state == 'collapsed' then state = 'mw-collapsed' end tbl :addClass('mw-collapsible') :addClass(state or 'autocollapse') end tbl:css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl :addClass('navbox-subgroup') :cssText(args.bodystyle) :cssText(args.style) else -- regular navobx - bodystyle and style will be applied to the wrapper table tbl :addClass('navbox-inner') :css('background', 'transparent') :css('color', 'inherit') end tbl:cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = mw.html.create() if border == 'none' then res:node(tbl) elseif border == 'subgroup' or border == 'child' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res :wikitext('</div>') -- XXX: hack due to lack of unclosed support in mw.html. :node(tbl) :wikitext('<div>') -- XXX: hack due to lack of unclosed support in mw.html. else res :tag('table') :addClass('navbox') :css('border-spacing', 0) :cssText(args.bodystyle) :cssText(args.style) :tag('tr') :tag('td') :css('padding', '2px') :node(tbl) end renderTrackingCategories(res) return tostring(res) end function p.navbox(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end args = getArgs(frame, {wrappers = 'Template:Navbox'}) -- Read the arguments in the order they'll be output in, to make references number in the right order. local _ _ = args.title _ = args.above for i = 1, 20 do _ = args["group" .. tostring(i)] _ = args["list" .. tostring(i)] end _ = args.below return p._navbox(args) end return p 3ryaegl66ic8ej1b5vptp9zotk9pt21 9841 9840 2021-07-05T20:52:52Z meta>ExE Boss 0 Use [[mw:Special:MyLanguage/Help:TemplateStyles|TemplateStyles]] ([[Template:Flatlist/styles.css]] and [[Template:Plainlist/styles.css]]) 9841 Scribunto text/plain -- -- This module implements {{Navbox}} -- local p = {} local navbar = require('Module:Navbar')._navbar local getArgs -- lazily initialized local args local tableRowAdded = false local border local listnums = {} local function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end local function addNewline(s) if s:match('^[*:;#]') or s:match('^{|') then return '\n' .. s ..'\n' else return s end end local function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl :tag('tr') :css('height', '2px') :tag('td') :attr('colspan',2) end tableRowAdded = true return tbl:tag('tr') end -- Separate function so that we can evaluate properly whether hlist should -- be added by the module local function has_navbar() return not ( args.navbar == 'off' or args.navbar == 'plain' or ( not args.name and mw.getCurrentFrame():getParent():getTitle():gsub('/sandbox$', '') == 'Template:Navbox' ) ) end local function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = 'right' end elseif args.navbar == 'plain' or (not args.name and mw.getCurrentFrame():getParent():getTitle():gsub('/sandbox$', '') == 'Template:Navbox') then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' then spacerSide = 'left' end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = 'right' end titleCell:wikitext(navbar{ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' }) end -- Render the spacer div. if spacerSide then titleCell :tag('span') :css('float', spacerSide) :css('width', '6em') :wikitext('&nbsp;') end end -- -- Title row -- local function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow :tag('th') :attr('scope', 'row') :addClass('navbox-group') :addClass(args.titlegroupclass) :cssText(args.basestyle) :cssText(args.groupstyle) :cssText(args.titlegroupstyle) :wikitext(args.titlegroup) end local titleCell = titleRow:tag('th'):attr('scope', 'col') if args.titlegroup then titleCell :css('border-left', '2px solid #fdfdfd') :css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell :cssText(args.basestyle) :cssText(args.titlestyle) :addClass('navbox-title') :attr('colspan', titleColspan) renderNavBar(titleCell) titleCell :tag('div') :addClass(args.titleclass) :css('font-size', '110%') :wikitext(addNewline(args.title)) end -- -- Above/Below rows -- local function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end local function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) :tag('td') :addClass('navbox-abovebelow') :addClass(args.aboveclass) :cssText(args.basestyle) :cssText(args.abovestyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(addNewline(args.above)) end local function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) :tag('td') :addClass('navbox-abovebelow') :addClass(args.belowclass) :cssText(args.basestyle) :cssText(args.belowstyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(addNewline(args.below)) end -- -- List rows -- local function renderListRow(tbl, listnum) local row = addTableRow(tbl) if listnum == 1 and args.imageleft then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '0%') :css('padding', '0px 2px 0px 0px') :cssText(args.imageleftstyle) :attr('rowspan', 2 * #listnums - 1) :tag('div') :wikitext(addNewline(args.imageleft)) end if args['group' .. listnum] then local groupCell = row:tag('th') groupCell :attr('scope', 'row') :addClass('navbox-group') :addClass(args.groupclass) :cssText(args.basestyle) if args.groupwidth then groupCell:css('width', args.groupwidth) end groupCell :cssText(args.groupstyle) :cssText(args['group' .. listnum .. 'style']) :wikitext(args['group' .. listnum]) end local listCell = row:tag('td') if args['group' .. listnum] then listCell :css('text-align', 'left') :css('border-left-width', '2px') :css('border-left-style', 'solid') else listCell:attr('colspan', 2) end if not args.groupwidth then listCell:css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell :css('padding', '0px') :cssText(args.liststyle) :cssText(rowstyle) :cssText(args['list' .. listnum .. 'style']) :addClass('navbox-list') :addClass('navbox-' .. evenOdd) :addClass(args.listclass) :tag('div') :css('padding', (listnum == 1 and args.list1padding) or args.listpadding or '0em 0.25em') :wikitext(addNewline(args['list' .. listnum])) if listnum == 1 and args.image then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '0%') :css('padding', '0px 0px 0px 2px') :cssText(args.imagestyle) :attr('rowspan', 2 * #listnums - 1) :tag('div') :wikitext(addNewline(args.image)) end end -- -- Tracking categories -- local function needsHorizontalLists() if border == 'child' or border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = {'plainlist', 'hlist', 'hlist hnum', 'hlist hwrap', 'hlist vcard', 'vcard hlist', 'hlist vevent'} for i, cls in ipairs(listClasses) do if args.listclass == cls or args.bodyclass == cls then return false end end return true end -- there are a lot of list classes in the wild, so we have a function to find -- them and add their TemplateStyles local function addListStyles() local frame = mw.getCurrentFrame() -- TODO?: Should maybe take a table of classes for e.g. hnum, hwrap as above -- I'm going to do the stupid thing first though -- Also not sure hnum and hwrap are going to live in the same TemplateStyles -- as hlist local function _addListStyles(htmlclass, templatestyles) local class_args = { -- rough order of probability of use 'bodyclass', 'listclass', 'aboveclass', 'belowclass', 'titleclass', 'navboxclass', 'groupclass', 'titlegroupclass', 'imageclass' } local patterns = { '^' .. htmlclass .. '$', '%s' .. htmlclass .. '$', '^' .. htmlclass .. '%s', '%s' .. htmlclass .. '%s' } local found = false for _, arg in ipairs(class_args) do for _, pattern in ipairs(patterns) do if mw.ustring.find(args[arg] or '', pattern) then found = true break end end if found then break end end if found then return frame:extensionTag{ name = 'templatestyles', args = { src = templatestyles } } else return '' end end local hlist_styles = '' -- navbar always has mini = 1, so here (on this wiki) we can assume that -- we don't need to output hlist styles in navbox again. if not has_navbar() then hlist_styles = _addListStyles('hlist', 'Template:Flatlist/styles.css') end local plainlist_styles = _addListStyles('plainlist', 'Template:Plainlist/styles.css') return hlist_styles .. plainlist_styles end local function hasBackgroundColors() return mw.ustring.match(args.titlestyle or '','background') or mw.ustring.match(args.groupstyle or '','background') or mw.ustring.match(args.basestyle or '','background') end local function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end return cats end local function renderTrackingCategories(builder) local title = mw.title.getCurrentTitle() if title.namespace ~= 10 then return end -- not in template space local subpage = title.subpageText if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for i, cat in ipairs(getTrackingCategories()) do builder:wikitext('[[Category:' .. cat .. ']]') end end -- -- Main navbox tables -- local function renderMainTable() local tbl = mw.html.create('table') :addClass('nowraplinks') :addClass(args.bodyclass) :attr('lang', args.lang) :attr('dir', args.dir or (args.lang and 'auto' or nil)) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then local state = args.state; if state and state == 'collapsed' then state = 'mw-collapsed' end tbl :addClass('mw-collapsible') :addClass(state or 'autocollapse') end tbl:css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl :addClass('navbox-subgroup') :cssText(args.bodystyle) :cssText(args.style) else -- regular navobx - bodystyle and style will be applied to the wrapper table tbl :addClass('navbox-inner') :css('background', 'transparent') :css('color', 'inherit') end tbl:cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = mw.html.create() if border == 'none' then res :wikitext(addListStyles()) :node(tbl) elseif border == 'subgroup' or border == 'child' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res :wikitext('</div>') -- XXX: hack due to lack of unclosed support in mw.html. :wikitext(addListStyles()) :node(tbl) :wikitext('<div>') -- XXX: hack due to lack of unclosed support in mw.html. else res :tag('table') :addClass('navbox') :css('border-spacing', 0) :cssText(args.bodystyle) :cssText(args.style) :tag('tr') :tag('td') :css('padding', '2px') :wikitext(addListStyles()) :node(tbl) end renderTrackingCategories(res) return tostring(res) end function p.navbox(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end args = getArgs(frame, {wrappers = 'Template:Navbox'}) -- Read the arguments in the order they'll be output in, to make references number in the right order. local _ _ = args.title _ = args.above for i = 1, 20 do _ = args["group" .. tostring(i)] _ = args["list" .. tostring(i)] end _ = args.below return p._navbox(args) end return p 98sj4miuqmbmt9ovsoubzb61dbn7nmf 9842 9841 2021-07-07T14:29:07Z meta>Tacsipacsi 0 adding the same TemplateStyles stylesheet twice doesn’t hurt, it’s deduplicated anyways, while calculating the same thing (whether there’s a navbar) twice inevitably leads these calculations to diverge at some point 9842 Scribunto text/plain -- -- This module implements {{Navbox}} -- local p = {} local navbar = require('Module:Navbar')._navbar local getArgs -- lazily initialized local args local tableRowAdded = false local border local listnums = {} local function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end local function addNewline(s) if s:match('^[*:;#]') or s:match('^{|') then return '\n' .. s ..'\n' else return s end end local function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl :tag('tr') :css('height', '2px') :tag('td') :attr('colspan',2) end tableRowAdded = true return tbl:tag('tr') end local function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = 'right' end elseif args.navbar == 'plain' or (not args.name and mw.getCurrentFrame():getParent():getTitle():gsub('/sandbox$', '') == 'Template:Navbox') then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' then spacerSide = 'left' end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = 'right' end titleCell:wikitext(navbar{ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' }) end -- Render the spacer div. if spacerSide then titleCell :tag('span') :css('float', spacerSide) :css('width', '6em') :wikitext('&nbsp;') end end -- -- Title row -- local function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow :tag('th') :attr('scope', 'row') :addClass('navbox-group') :addClass(args.titlegroupclass) :cssText(args.basestyle) :cssText(args.groupstyle) :cssText(args.titlegroupstyle) :wikitext(args.titlegroup) end local titleCell = titleRow:tag('th'):attr('scope', 'col') if args.titlegroup then titleCell :css('border-left', '2px solid #fdfdfd') :css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell :cssText(args.basestyle) :cssText(args.titlestyle) :addClass('navbox-title') :attr('colspan', titleColspan) renderNavBar(titleCell) titleCell :tag('div') :addClass(args.titleclass) :css('font-size', '110%') :wikitext(addNewline(args.title)) end -- -- Above/Below rows -- local function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end local function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) :tag('td') :addClass('navbox-abovebelow') :addClass(args.aboveclass) :cssText(args.basestyle) :cssText(args.abovestyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(addNewline(args.above)) end local function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) :tag('td') :addClass('navbox-abovebelow') :addClass(args.belowclass) :cssText(args.basestyle) :cssText(args.belowstyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(addNewline(args.below)) end -- -- List rows -- local function renderListRow(tbl, listnum) local row = addTableRow(tbl) if listnum == 1 and args.imageleft then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '0%') :css('padding', '0px 2px 0px 0px') :cssText(args.imageleftstyle) :attr('rowspan', 2 * #listnums - 1) :tag('div') :wikitext(addNewline(args.imageleft)) end if args['group' .. listnum] then local groupCell = row:tag('th') groupCell :attr('scope', 'row') :addClass('navbox-group') :addClass(args.groupclass) :cssText(args.basestyle) if args.groupwidth then groupCell:css('width', args.groupwidth) end groupCell :cssText(args.groupstyle) :cssText(args['group' .. listnum .. 'style']) :wikitext(args['group' .. listnum]) end local listCell = row:tag('td') if args['group' .. listnum] then listCell :css('text-align', 'left') :css('border-left-width', '2px') :css('border-left-style', 'solid') else listCell:attr('colspan', 2) end if not args.groupwidth then listCell:css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell :css('padding', '0px') :cssText(args.liststyle) :cssText(rowstyle) :cssText(args['list' .. listnum .. 'style']) :addClass('navbox-list') :addClass('navbox-' .. evenOdd) :addClass(args.listclass) :tag('div') :css('padding', (listnum == 1 and args.list1padding) or args.listpadding or '0em 0.25em') :wikitext(addNewline(args['list' .. listnum])) if listnum == 1 and args.image then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '0%') :css('padding', '0px 0px 0px 2px') :cssText(args.imagestyle) :attr('rowspan', 2 * #listnums - 1) :tag('div') :wikitext(addNewline(args.image)) end end -- -- Tracking categories -- local function needsHorizontalLists() if border == 'child' or border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = {'plainlist', 'hlist', 'hlist hnum', 'hlist hwrap', 'hlist vcard', 'vcard hlist', 'hlist vevent'} for i, cls in ipairs(listClasses) do if args.listclass == cls or args.bodyclass == cls then return false end end return true end -- there are a lot of list classes in the wild, so we have a function to find -- them and add their TemplateStyles local function addListStyles() local frame = mw.getCurrentFrame() -- TODO?: Should maybe take a table of classes for e.g. hnum, hwrap as above -- I'm going to do the stupid thing first though -- Also not sure hnum and hwrap are going to live in the same TemplateStyles -- as hlist local function _addListStyles(htmlclass, templatestyles) local class_args = { -- rough order of probability of use 'bodyclass', 'listclass', 'aboveclass', 'belowclass', 'titleclass', 'navboxclass', 'groupclass', 'titlegroupclass', 'imageclass' } local patterns = { '^' .. htmlclass .. '$', '%s' .. htmlclass .. '$', '^' .. htmlclass .. '%s', '%s' .. htmlclass .. '%s' } local found = false for _, arg in ipairs(class_args) do for _, pattern in ipairs(patterns) do if mw.ustring.find(args[arg] or '', pattern) then found = true break end end if found then break end end if found then return frame:extensionTag{ name = 'templatestyles', args = { src = templatestyles } } else return '' end end local hlist_styles = _addListStyles('hlist', 'Template:Flatlist/styles.css') local plainlist_styles = _addListStyles('plainlist', 'Template:Plainlist/styles.css') return hlist_styles .. plainlist_styles end local function hasBackgroundColors() return mw.ustring.match(args.titlestyle or '','background') or mw.ustring.match(args.groupstyle or '','background') or mw.ustring.match(args.basestyle or '','background') end local function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end return cats end local function renderTrackingCategories(builder) local title = mw.title.getCurrentTitle() if title.namespace ~= 10 then return end -- not in template space local subpage = title.subpageText if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for i, cat in ipairs(getTrackingCategories()) do builder:wikitext('[[Category:' .. cat .. ']]') end end -- -- Main navbox tables -- local function renderMainTable() local tbl = mw.html.create('table') :addClass('nowraplinks') :addClass(args.bodyclass) :attr('lang', args.lang) :attr('dir', args.dir or (args.lang and 'auto' or nil)) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then local state = args.state; if state and state == 'collapsed' then state = 'mw-collapsed' end tbl :addClass('mw-collapsible') :addClass(state or 'autocollapse') end tbl:css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl :addClass('navbox-subgroup') :cssText(args.bodystyle) :cssText(args.style) else -- regular navobx - bodystyle and style will be applied to the wrapper table tbl :addClass('navbox-inner') :css('background', 'transparent') :css('color', 'inherit') end tbl:cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = mw.html.create() if border == 'none' then res :wikitext(addListStyles()) :node(tbl) elseif border == 'subgroup' or border == 'child' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res :wikitext('</div>') -- XXX: hack due to lack of unclosed support in mw.html. :wikitext(addListStyles()) :node(tbl) :wikitext('<div>') -- XXX: hack due to lack of unclosed support in mw.html. else res :tag('table') :addClass('navbox') :css('border-spacing', 0) :cssText(args.bodystyle) :cssText(args.style) :tag('tr') :tag('td') :css('padding', '2px') :wikitext(addListStyles()) :node(tbl) end renderTrackingCategories(res) return tostring(res) end function p.navbox(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end args = getArgs(frame, {wrappers = 'Template:Navbox'}) -- Read the arguments in the order they'll be output in, to make references number in the right order. local _ _ = args.title _ = args.above for i = 1, 20 do _ = args["group" .. tostring(i)] _ = args["list" .. tostring(i)] end _ = args.below return p._navbox(args) end return p dybtqkrazhidr0oonuj0ixbrkempa36 9843 9842 2021-08-23T18:01:09Z meta>MusikBot II 0 Changed protection settings for "[[Module:Navbox]]": High-risk template or module ([[User:MusikBot II/TemplateProtector|more info]]) ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) 9842 Scribunto text/plain -- -- This module implements {{Navbox}} -- local p = {} local navbar = require('Module:Navbar')._navbar local getArgs -- lazily initialized local args local tableRowAdded = false local border local listnums = {} local function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end local function addNewline(s) if s:match('^[*:;#]') or s:match('^{|') then return '\n' .. s ..'\n' else return s end end local function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl :tag('tr') :css('height', '2px') :tag('td') :attr('colspan',2) end tableRowAdded = true return tbl:tag('tr') end local function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = 'right' end elseif args.navbar == 'plain' or (not args.name and mw.getCurrentFrame():getParent():getTitle():gsub('/sandbox$', '') == 'Template:Navbox') then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' then spacerSide = 'left' end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = 'right' end titleCell:wikitext(navbar{ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' }) end -- Render the spacer div. if spacerSide then titleCell :tag('span') :css('float', spacerSide) :css('width', '6em') :wikitext('&nbsp;') end end -- -- Title row -- local function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow :tag('th') :attr('scope', 'row') :addClass('navbox-group') :addClass(args.titlegroupclass) :cssText(args.basestyle) :cssText(args.groupstyle) :cssText(args.titlegroupstyle) :wikitext(args.titlegroup) end local titleCell = titleRow:tag('th'):attr('scope', 'col') if args.titlegroup then titleCell :css('border-left', '2px solid #fdfdfd') :css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell :cssText(args.basestyle) :cssText(args.titlestyle) :addClass('navbox-title') :attr('colspan', titleColspan) renderNavBar(titleCell) titleCell :tag('div') :addClass(args.titleclass) :css('font-size', '110%') :wikitext(addNewline(args.title)) end -- -- Above/Below rows -- local function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end local function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) :tag('td') :addClass('navbox-abovebelow') :addClass(args.aboveclass) :cssText(args.basestyle) :cssText(args.abovestyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(addNewline(args.above)) end local function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) :tag('td') :addClass('navbox-abovebelow') :addClass(args.belowclass) :cssText(args.basestyle) :cssText(args.belowstyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(addNewline(args.below)) end -- -- List rows -- local function renderListRow(tbl, listnum) local row = addTableRow(tbl) if listnum == 1 and args.imageleft then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '0%') :css('padding', '0px 2px 0px 0px') :cssText(args.imageleftstyle) :attr('rowspan', 2 * #listnums - 1) :tag('div') :wikitext(addNewline(args.imageleft)) end if args['group' .. listnum] then local groupCell = row:tag('th') groupCell :attr('scope', 'row') :addClass('navbox-group') :addClass(args.groupclass) :cssText(args.basestyle) if args.groupwidth then groupCell:css('width', args.groupwidth) end groupCell :cssText(args.groupstyle) :cssText(args['group' .. listnum .. 'style']) :wikitext(args['group' .. listnum]) end local listCell = row:tag('td') if args['group' .. listnum] then listCell :css('text-align', 'left') :css('border-left-width', '2px') :css('border-left-style', 'solid') else listCell:attr('colspan', 2) end if not args.groupwidth then listCell:css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell :css('padding', '0px') :cssText(args.liststyle) :cssText(rowstyle) :cssText(args['list' .. listnum .. 'style']) :addClass('navbox-list') :addClass('navbox-' .. evenOdd) :addClass(args.listclass) :tag('div') :css('padding', (listnum == 1 and args.list1padding) or args.listpadding or '0em 0.25em') :wikitext(addNewline(args['list' .. listnum])) if listnum == 1 and args.image then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '0%') :css('padding', '0px 0px 0px 2px') :cssText(args.imagestyle) :attr('rowspan', 2 * #listnums - 1) :tag('div') :wikitext(addNewline(args.image)) end end -- -- Tracking categories -- local function needsHorizontalLists() if border == 'child' or border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = {'plainlist', 'hlist', 'hlist hnum', 'hlist hwrap', 'hlist vcard', 'vcard hlist', 'hlist vevent'} for i, cls in ipairs(listClasses) do if args.listclass == cls or args.bodyclass == cls then return false end end return true end -- there are a lot of list classes in the wild, so we have a function to find -- them and add their TemplateStyles local function addListStyles() local frame = mw.getCurrentFrame() -- TODO?: Should maybe take a table of classes for e.g. hnum, hwrap as above -- I'm going to do the stupid thing first though -- Also not sure hnum and hwrap are going to live in the same TemplateStyles -- as hlist local function _addListStyles(htmlclass, templatestyles) local class_args = { -- rough order of probability of use 'bodyclass', 'listclass', 'aboveclass', 'belowclass', 'titleclass', 'navboxclass', 'groupclass', 'titlegroupclass', 'imageclass' } local patterns = { '^' .. htmlclass .. '$', '%s' .. htmlclass .. '$', '^' .. htmlclass .. '%s', '%s' .. htmlclass .. '%s' } local found = false for _, arg in ipairs(class_args) do for _, pattern in ipairs(patterns) do if mw.ustring.find(args[arg] or '', pattern) then found = true break end end if found then break end end if found then return frame:extensionTag{ name = 'templatestyles', args = { src = templatestyles } } else return '' end end local hlist_styles = _addListStyles('hlist', 'Template:Flatlist/styles.css') local plainlist_styles = _addListStyles('plainlist', 'Template:Plainlist/styles.css') return hlist_styles .. plainlist_styles end local function hasBackgroundColors() return mw.ustring.match(args.titlestyle or '','background') or mw.ustring.match(args.groupstyle or '','background') or mw.ustring.match(args.basestyle or '','background') end local function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end return cats end local function renderTrackingCategories(builder) local title = mw.title.getCurrentTitle() if title.namespace ~= 10 then return end -- not in template space local subpage = title.subpageText if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for i, cat in ipairs(getTrackingCategories()) do builder:wikitext('[[Category:' .. cat .. ']]') end end -- -- Main navbox tables -- local function renderMainTable() local tbl = mw.html.create('table') :addClass('nowraplinks') :addClass(args.bodyclass) :attr('lang', args.lang) :attr('dir', args.dir or (args.lang and 'auto' or nil)) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then local state = args.state; if state and state == 'collapsed' then state = 'mw-collapsed' end tbl :addClass('mw-collapsible') :addClass(state or 'autocollapse') end tbl:css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl :addClass('navbox-subgroup') :cssText(args.bodystyle) :cssText(args.style) else -- regular navobx - bodystyle and style will be applied to the wrapper table tbl :addClass('navbox-inner') :css('background', 'transparent') :css('color', 'inherit') end tbl:cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = mw.html.create() if border == 'none' then res :wikitext(addListStyles()) :node(tbl) elseif border == 'subgroup' or border == 'child' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res :wikitext('</div>') -- XXX: hack due to lack of unclosed support in mw.html. :wikitext(addListStyles()) :node(tbl) :wikitext('<div>') -- XXX: hack due to lack of unclosed support in mw.html. else res :tag('table') :addClass('navbox') :css('border-spacing', 0) :cssText(args.bodystyle) :cssText(args.style) :tag('tr') :tag('td') :css('padding', '2px') :wikitext(addListStyles()) :node(tbl) end renderTrackingCategories(res) return tostring(res) end function p.navbox(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end args = getArgs(frame, {wrappers = 'Template:Navbox'}) -- Read the arguments in the order they'll be output in, to make references number in the right order. local _ _ = args.title _ = args.above for i = 1, 20 do _ = args["group" .. tostring(i)] _ = args["list" .. tostring(i)] end _ = args.below return p._navbox(args) end return p dybtqkrazhidr0oonuj0ixbrkempa36 9844 2013-02-25T08:35:02Z w>Toohool 0 [[WP:AES|←]]Created page with '-- -- This module will implement {{Navbox}} -- local p = {} local gutterRow = '<tr style="height:2px;"><td></td></tr>' local ret = {} function add(...) fo...' 9844 Scribunto text/plain -- -- This module will implement {{Navbox}} -- local p = {} local gutterRow = '<tr style="height:2px;"><td></td></tr>' local ret = {} function add(...) for i, s in ipairs({...}) do if s then table.insert(ret, s) end end end function renderList(args, listnum) if args.title or args.above or args.list1 then add(gutterRow) end add('<tr>') if args['group' .. listnum] then add('<th scope="row" class="navbox-group ', args.groupclass, '" style="', args.basestyle, ';') if args.groupwidth then add('width:', args.groupwidth, ';') end add(args.groupstyle, ';', args['group' .. listnum .. 'style'], '">') add(args['group' .. listnum]) add('</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;') else add('<td colspan=2 style="') end if not args.groupwidth then add('width:100%;') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end add('padding:0px;', args.liststyle, ';', rowstyle, ';', args['list' .. listnum .. 'style'], '" ') add('class="navbox-list navbox-') if args.evenodd == 'swap' then if isOdd then add('even') else add('odd') end else if isOdd then add(args.evenodd or 'odd') else add(args.evenodd or 'even') end end add(' ', args.listclass, '">') add('<div style="padding:', args.listpadding or '0em 0.25em', '">', args['list' .. listnum], '</div></td></tr>') end function p._navbox(args) local listnums = {} for k, v in pairs(args) do local listnum = k:match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) local border = args.border or args[1] if border == 'subgroup' or border == 'child' then add('</div>') elseif border ~= 'none' then add('<table cellspacing="0" class="navbox" style="border-spacing:0;', args.bodystyle, ';', args.style, '"><tr><td style="padding:2px;">') end add('<table cellspacing="0" class="nowraplinks ', args.bodyclass, ' ') if args.title and (args.state ~= 'plain' and args.state ~= 'off') then add('collapsible ', args.state or 'autocollapse', ' ') end if border == 'subgroup' or border == 'child' or border == 'none' then add('navbox-subgroup" style="border-spacing:0;', args.bodystyle, ';', args.style) else add('navbox-inner" style="border-spacing:0;background:transparent;color:inherit') end add(';', args.innerstyle, ';">') if args.title then if args.titlegroup then add('<th scope="row" class="navbox-group ', args.titlegroupclass, '" style="', args.basestyle, ';', args.groupstyle, ';', args.titlegroupstyle, '">', args.titlegroup, '</th><th scope="col" style="border-left:2px solid #fdfdfd;width:100%;') else add('<th scope="col" style="') end local colspan = 2 if args.imageleft then colspan = colspan + 1 end if args.image then colspan = colspan + 1 end if args.titlegroup then colspan = colspan - 1 end add(args.basestyle, ';', args.titlestyle, '" class="navbox-title" colspan=', colspan, '>') local stateLinkPlaceholder = '<span style="float:right;width:6em;">&nbsp;</span>' if args.navbar == 'plain' or args.navbar == 'off' or (not args.name and (border == 'subgroup' or border == 'child' or border == 'none')) then if args.navbar == 'off' then if args.state == 'plain' then add(stateLinkPlaceholder) end else if args.state ~= 'plain' then add(stateLinkPlaceholder) end end else if args.name then add(mw.getCurrentFrame():expandTemplate{ title = 'navbar', args = { args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' }}) else add('<span class="error" style="float:left;white-space:nowrap;">Error: No name provided</span>') if args.state == 'plain' then add(stateLinkPlaceholder) end end end add('<div class="', args.titleclass, '" style="font-size:110%;">') add(args.title) add('</div></th></tr>') end local aboveBelowColspan = 2 if args.imageleft then aboveBelowColspan = aboveBelowColspan + 1 end if args.image then aboveBelowColspan = aboveBelowColspan + 1 end if args.above then if args.title then add(gutterRow) end add('<tr><td class="navbox-abovebelow ', args.aboveclass, '" style="', args.basestyle, ';', args.abovestyle, '" colspan="', aboveBelowColspan, '">') add('<div>', args.above, '</div></td></tr>') end if args.list1 then if args.title or args.above then add(gutterRow) end add('<tr>') if args.imageleft then add('<td class="navbox-image ', args.imageclass, '" style="width:0%;padding:0px 2px 0px 0px;', args.imageleftstyle, '"') add(' rowspan=', (2 * #listnums - 1), '><div>', args.imageleft, '</div></td>') end if args.group1 then add('<th scope="row" class="navbox-group ', args.groupclass, '" style="', args.basestyle, ';') if args.groupwidth then add('width:', args.groupwidth, ';') end add(args.groupstyle, ';', args.group1style, '">') add(args.group1, '</th>') add('<td style="text-align:left;border-left-width:2px;border-left-style:solid;') else add('<td colspan=2 style="') end if not args.groupwidth then add('width:100%;') end add('padding:0px;', args.liststyle, ';', args.oddstyle, ';', args.list1style, '" class="navbox-list navbox-') if args.evenodd == 'swap' then add('even') else add(args.evenodd or 'odd') end add(' ', args.listclass, '">') add('<div style="padding:', args.list1padding or args.listpadding or '0em 0.25em', '">') add(args.list1) add('</div></td>') if args.image then add('<td class="navbox-image ', args.imageclass, '" style="width:0%;padding:0px 0px 0px 2px;', args.imagestyle, '" ') add(' rowspan=', (2 * #listnums - 1), '>') add('<div>', args.image, '</div></td>') end add('</tr>') end -- render lists 2 through N for i, listnum in ipairs(listnums) do if listnum > 1 then renderList(args, listnum) end end if args.below then if args.title or args.above or #listnums > 0 then add(gutterRow) end add('<tr><td class="navbox-abovebelow ', args.belowclass, '" style="', args.basestyle, ';', args.belowstyle, '" colspan="', aboveBelowColspan, '">') add('<div>', args.below, '</div></td></tr>') end add('</table>') if border == 'subgroup' or border == 'child' then add('<div>') elseif border ~= 'none' then add('</td></tr></table>') end -- TODO: add tracking categories return table.concat(ret, '') end function p.navbox(frame) return p._navbox(frame:getParent().args) end return p a0pfzmb46jf8slic3w739o77x7np4o6 9845 9844 2013-02-25T08:49:10Z w>Toohool 0 refactoring 9845 Scribunto text/plain -- -- This module will implement {{Navbox}} -- local p = {} local gutterRow = '<tr style="height:2px;"><td></td></tr>' local ret = {} function add(...) for i, s in ipairs({...}) do if s then table.insert(ret, s) end end end function renderTitleRow(args) if not args.title then return end add('<tr>') if args.titlegroup then add('<th scope="row" class="navbox-group ', args.titlegroupclass, '" style="', args.basestyle, ';', args.groupstyle, ';', args.titlegroupstyle, '">', args.titlegroup, '</th><th scope="col" style="border-left:2px solid #fdfdfd;width:100%;') else add('<th scope="col" style="') end local colspan = 2 if args.imageleft then colspan = colspan + 1 end if args.image then colspan = colspan + 1 end if args.titlegroup then colspan = colspan - 1 end add(args.basestyle, ';', args.titlestyle, '" class="navbox-title" colspan=', colspan, '>') local stateLinkPlaceholder = '<span style="float:right;width:6em;">&nbsp;</span>' if args.navbar == 'plain' or args.navbar == 'off' or (not args.name and (border == 'subgroup' or border == 'child' or border == 'none')) then if args.navbar == 'off' then if args.state == 'plain' then add(stateLinkPlaceholder) end else if args.state ~= 'plain' then add(stateLinkPlaceholder) end end else if args.name then add(mw.getCurrentFrame():expandTemplate{ title = 'navbar', args = { args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' }}) else add('<span class="error" style="float:left;white-space:nowrap;">Error: No name provided</span>') if args.state == 'plain' then add(stateLinkPlaceholder) end end end add('<div class="', args.titleclass, '" style="font-size:110%;">') add(args.title) add('</div></th></tr>') end function renderAboveRow(args) if not args.above then return end if args.title then add(gutterRow) end add('<tr><td class="navbox-abovebelow ', args.aboveclass, '" style="', args.basestyle, ';', args.abovestyle, '" colspan="', getAboveBelowColspan(args), '">') add('<div>', args.above, '</div></td></tr>') end function renderBelowRow(args) if args.below then if args.title or args.above or #listnums > 0 then add(gutterRow) end add('<tr><td class="navbox-abovebelow ', args.belowclass, '" style="', args.basestyle, ';', args.belowstyle, '" colspan="', getAboveBelowColspan(args), '">') add('<div>', args.below, '</div></td></tr>') end end function getAboveBelowColspan(args) local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end function renderFirstListRow(args) if not args.list1 then return end if args.title or args.above then add(gutterRow) end add('<tr>') if args.imageleft then add('<td class="navbox-image ', args.imageclass, '" style="width:0%;padding:0px 2px 0px 0px;', args.imageleftstyle, '"') add(' rowspan=', (2 * #listnums - 1), '><div>', args.imageleft, '</div></td>') end if args.group1 then add('<th scope="row" class="navbox-group ', args.groupclass, '" style="', args.basestyle, ';') if args.groupwidth then add('width:', args.groupwidth, ';') end add(args.groupstyle, ';', args.group1style, '">') add(args.group1, '</th>') add('<td style="text-align:left;border-left-width:2px;border-left-style:solid;') else add('<td colspan=2 style="') end if not args.groupwidth then add('width:100%;') end add('padding:0px;', args.liststyle, ';', args.oddstyle, ';', args.list1style, '" class="navbox-list navbox-') if args.evenodd == 'swap' then add('even') else add(args.evenodd or 'odd') end add(' ', args.listclass, '">') add('<div style="padding:', args.list1padding or args.listpadding or '0em 0.25em', '">') add(args.list1) add('</div></td>') if args.image then add('<td class="navbox-image ', args.imageclass, '" style="width:0%;padding:0px 0px 0px 2px;', args.imagestyle, '" ') add(' rowspan=', (2 * #listnums - 1), '>') add('<div>', args.image, '</div></td>') end add('</tr>') end function renderNthListRow(args, listnum) if args.title or args.above or args.list1 then add(gutterRow) end add('<tr>') if args['group' .. listnum] then add('<th scope="row" class="navbox-group ', args.groupclass, '" style="', args.basestyle, ';') if args.groupwidth then add('width:', args.groupwidth, ';') end add(args.groupstyle, ';', args['group' .. listnum .. 'style'], '">') add(args['group' .. listnum]) add('</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;') else add('<td colspan=2 style="') end if not args.groupwidth then add('width:100%;') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end add('padding:0px;', args.liststyle, ';', rowstyle, ';', args['list' .. listnum .. 'style'], '" ') add('class="navbox-list navbox-') if args.evenodd == 'swap' then if isOdd then add('even') else add('odd') end else if isOdd then add(args.evenodd or 'odd') else add(args.evenodd or 'even') end end add(' ', args.listclass, '">') add('<div style="padding:', args.listpadding or '0em 0.25em', '">', args['list' .. listnum], '</div></td></tr>') end function p._navbox(args) local listnums = {} for k, v in pairs(args) do local listnum = k:match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) local border = args.border or args[1] if border == 'subgroup' or border == 'child' then add('</div>') elseif border ~= 'none' then add('<table cellspacing="0" class="navbox" style="border-spacing:0;', args.bodystyle, ';', args.style, '"><tr><td style="padding:2px;">') end add('<table cellspacing="0" class="nowraplinks ', args.bodyclass, ' ') if args.title and (args.state ~= 'plain' and args.state ~= 'off') then add('collapsible ', args.state or 'autocollapse', ' ') end if border == 'subgroup' or border == 'child' or border == 'none' then add('navbox-subgroup" style="border-spacing:0;', args.bodystyle, ';', args.style) else add('navbox-inner" style="border-spacing:0;background:transparent;color:inherit') end add(';', args.innerstyle, ';">') renderTitleRow(args) renderAboveRow(args) renderFirstListRow(args) -- render lists 2 through N for i, listnum in ipairs(listnums) do if listnum > 1 then renderNthListRow(args, listnum) end end renderBelowRow(args) add('</table>') if border == 'subgroup' or border == 'child' then add('<div>') elseif border ~= 'none' then add('</td></tr></table>') end -- TODO: add tracking categories return table.concat(ret, '') end function p.navbox(frame) return p._navbox(frame:getParent().args) end return p nu7tggez2rsv8f5i43wxu5lknfwbpig 9846 9845 2013-02-25T20:38:25Z w>Toohool 0 fix string building 9846 Scribunto text/plain -- -- This module will implement {{Navbox}} -- local p = {} local gutterRow = '<tr style="height:2px;"><td></td></tr>' local ret = {} function add(...) local args = {...} for i = 1, #args do if args[i] then table.insert(ret, args[i]) end end end function renderTitleRow(args) if not args.title then return end add('<tr>') if args.titlegroup then add('<th scope="row" class="navbox-group ', args.titlegroupclass, '" style="', args.basestyle, ';', args.groupstyle, ';', args.titlegroupstyle, '">', args.titlegroup, '</th><th scope="col" style="border-left:2px solid #fdfdfd;width:100%;') else add('<th scope="col" style="') end local colspan = 2 if args.imageleft then colspan = colspan + 1 end if args.image then colspan = colspan + 1 end if args.titlegroup then colspan = colspan - 1 end add(args.basestyle, ';', args.titlestyle, '" class="navbox-title" colspan=', colspan, '>') local stateLinkPlaceholder = '<span style="float:right;width:6em;">&nbsp;</span>' if args.navbar == 'plain' or args.navbar == 'off' or (not args.name and (border == 'subgroup' or border == 'child' or border == 'none')) then if args.navbar == 'off' then if args.state == 'plain' then add(stateLinkPlaceholder) end else if args.state ~= 'plain' then add(stateLinkPlaceholder) end end else if args.name then add(mw.getCurrentFrame():expandTemplate{ title = 'navbar', args = { args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' }}) else add('<span class="error" style="float:left;white-space:nowrap;">Error: No name provided</span>') if args.state == 'plain' then add(stateLinkPlaceholder) end end end add('<div class="', args.titleclass, '" style="font-size:110%;">') add(args.title) add('</div></th></tr>') end function renderAboveRow(args) if not args.above then return end if args.title then add(gutterRow) end add('<tr><td class="navbox-abovebelow ', args.aboveclass, '" style="', args.basestyle, ';', args.abovestyle, '" colspan="', getAboveBelowColspan(args), '">') add('<div>', args.above, '</div></td></tr>') end function renderBelowRow(args) if args.below then if args.title or args.above or #listnums > 0 then add(gutterRow) end add('<tr><td class="navbox-abovebelow ', args.belowclass, '" style="', args.basestyle, ';', args.belowstyle, '" colspan="', getAboveBelowColspan(args), '">') add('<div>', args.below, '</div></td></tr>') end end function getAboveBelowColspan(args) local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end function renderFirstListRow(args) if not args.list1 then return end if args.title or args.above then add(gutterRow) end add('<tr>') if args.imageleft then add('<td class="navbox-image ', args.imageclass, '" style="width:0%;padding:0px 2px 0px 0px;', args.imageleftstyle, '"') add(' rowspan=', (2 * #listnums - 1), '><div>', args.imageleft, '</div></td>') end if args.group1 then add('<th scope="row" class="navbox-group ', args.groupclass, '" style="', args.basestyle, ';') if args.groupwidth then add('width:', args.groupwidth, ';') end add(args.groupstyle, ';', args.group1style, '">') add(args.group1, '</th>') add('<td style="text-align:left;border-left-width:2px;border-left-style:solid;') else add('<td colspan=2 style="') end if not args.groupwidth then add('width:100%;') end add('padding:0px;', args.liststyle, ';', args.oddstyle, ';', args.list1style, '" class="navbox-list navbox-') if args.evenodd == 'swap' then add('even') else add(args.evenodd or 'odd') end add(' ', args.listclass, '">') add('<div style="padding:', args.list1padding or args.listpadding or '0em 0.25em', '">') add(args.list1) add('</div></td>') if args.image then add('<td class="navbox-image ', args.imageclass, '" style="width:0%;padding:0px 0px 0px 2px;', args.imagestyle, '" ') add(' rowspan=', (2 * #listnums - 1), '>') add('<div>', args.image, '</div></td>') end add('</tr>') end function renderNthListRow(args, listnum) if args.title or args.above or args.list1 then add(gutterRow) end add('<tr>') if args['group' .. listnum] then add('<th scope="row" class="navbox-group ', args.groupclass, '" style="', args.basestyle, ';') if args.groupwidth then add('width:', args.groupwidth, ';') end add(args.groupstyle, ';', args['group' .. listnum .. 'style'], '">') add(args['group' .. listnum]) add('</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;') else add('<td colspan=2 style="') end if not args.groupwidth then add('width:100%;') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end add('padding:0px;', args.liststyle, ';', rowstyle, ';', args['list' .. listnum .. 'style'], '" ') add('class="navbox-list navbox-') if args.evenodd == 'swap' then if isOdd then add('even') else add('odd') end else if isOdd then add(args.evenodd or 'odd') else add(args.evenodd or 'even') end end add(' ', args.listclass, '">') add('<div style="padding:', args.listpadding or '0em 0.25em', '">', args['list' .. listnum], '</div></td></tr>') end function p._navbox(args) local listnums = {} for k, v in pairs(args) do local listnum = k:match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) local border = args.border or args[1] if border == 'subgroup' or border == 'child' then add('</div>') elseif border ~= 'none' then add('<table cellspacing="0" class="navbox" style="border-spacing:0;', args.bodystyle, ';', args.style, '"><tr><td style="padding:2px;">') end add('<table cellspacing="0" class="nowraplinks ', args.bodyclass, ' ') if args.title and (args.state ~= 'plain' and args.state ~= 'off') then add('collapsible ', args.state or 'autocollapse', ' ') end if border == 'subgroup' or border == 'child' or border == 'none' then add('navbox-subgroup" style="border-spacing:0;', args.bodystyle, ';', args.style) else add('navbox-inner" style="border-spacing:0;background:transparent;color:inherit') end add(';', args.innerstyle, ';">') renderTitleRow(args) renderAboveRow(args) renderFirstListRow(args) -- render lists 2 through N for i, listnum in ipairs(listnums) do if listnum > 1 then renderNthListRow(args, listnum) end end renderBelowRow(args) add('</table>') if border == 'subgroup' or border == 'child' then add('<div>') elseif border ~= 'none' then add('</td></tr></table>') end -- TODO: add tracking categories return table.concat(ret, '') end function p.navbox(frame) return p._navbox(frame:getParent().args) end return p pv1iai2tuiayw1p3g5xasfkn4dmx1sh 9847 9846 2013-02-25T21:15:29Z w>Toohool 0 fix errors 9847 Scribunto text/plain -- -- This module will implement {{Navbox}} -- local p = {} local gutterRow = '<tr style="height:2px;"><td></td></tr>' local listnums = {} local ret = {} function add(...) local args = {...} for i = 1, #args do if args[i] then table.insert(ret, args[i]) end end end function renderTitleRow(args) if not args.title then return end add('<tr>') if args.titlegroup then add('<th scope="row" class="navbox-group ', args.titlegroupclass, '" style="', args.basestyle, ';', args.groupstyle, ';', args.titlegroupstyle, '">', args.titlegroup, '</th><th scope="col" style="border-left:2px solid #fdfdfd;width:100%;') else add('<th scope="col" style="') end local colspan = 2 if args.imageleft then colspan = colspan + 1 end if args.image then colspan = colspan + 1 end if args.titlegroup then colspan = colspan - 1 end add(args.basestyle, ';', args.titlestyle, '" class="navbox-title" colspan=', colspan, '>') local stateLinkPlaceholder = '<span style="float:right;width:6em;">&nbsp;</span>' if args.navbar == 'plain' or args.navbar == 'off' or (not args.name and (border == 'subgroup' or border == 'child' or border == 'none')) then if args.navbar == 'off' then if args.state == 'plain' then add(stateLinkPlaceholder) end else if args.state ~= 'plain' then add(stateLinkPlaceholder) end end else if args.name then add(mw.getCurrentFrame():expandTemplate{ title = 'navbar', args = { args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' }}) else add('<span class="error" style="float:left;white-space:nowrap;">Error: No name provided</span>') if args.state == 'plain' then add(stateLinkPlaceholder) end end end add('<div class="', args.titleclass, '" style="font-size:110%;">') add(args.title) add('</div></th></tr>') end function renderAboveRow(args) if not args.above then return end if args.title then add(gutterRow) end add('<tr><td class="navbox-abovebelow ', args.aboveclass, '" style="', args.basestyle, ';', args.abovestyle, '" colspan="', getAboveBelowColspan(args), '">') add('<div>', args.above, '</div></td></tr>') end function renderBelowRow(args) if args.below then if args.title or args.above or #listnums > 0 then add(gutterRow) end add('<tr><td class="navbox-abovebelow ', args.belowclass, '" style="', args.basestyle, ';', args.belowstyle, '" colspan="', getAboveBelowColspan(args), '">') add('<div>', args.below, '</div></td></tr>') end end function getAboveBelowColspan(args) local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end function renderFirstListRow(args) if not args.list1 then return end if args.title or args.above then add(gutterRow) end add('<tr>') if args.imageleft then add('<td class="navbox-image ', args.imageclass, '" style="width:0%;padding:0px 2px 0px 0px;', args.imageleftstyle, '"') add(' rowspan=', (2 * #listnums - 1), '><div>', args.imageleft, '</div></td>') end if args.group1 then add('<th scope="row" class="navbox-group ', args.groupclass, '" style="', args.basestyle, ';') if args.groupwidth then add('width:', args.groupwidth, ';') end add(args.groupstyle, ';', args.group1style, '">') add(args.group1, '</th>') add('<td style="text-align:left;border-left-width:2px;border-left-style:solid;') else add('<td colspan=2 style="') end if not args.groupwidth then add('width:100%;') end add('padding:0px;', args.liststyle, ';', args.oddstyle, ';', args.list1style, '" class="navbox-list navbox-') if args.evenodd == 'swap' then add('even') else add(args.evenodd or 'odd') end add(' ', args.listclass, '">') add('<div style="padding:', args.list1padding or args.listpadding or '0em 0.25em', '">') add(args.list1) add('</div></td>') if args.image then add('<td class="navbox-image ', args.imageclass, '" style="width:0%;padding:0px 0px 0px 2px;', args.imagestyle, '" ') add(' rowspan=', (2 * #listnums - 1), '>') add('<div>', args.image, '</div></td>') end add('</tr>') end function renderNthListRow(args, listnum) if args.title or args.above or args.list1 then add(gutterRow) end add('<tr>') if args['group' .. listnum] then add('<th scope="row" class="navbox-group ', args.groupclass, '" style="', args.basestyle, ';') if args.groupwidth then add('width:', args.groupwidth, ';') end add(args.groupstyle, ';', args['group' .. listnum .. 'style'], '">') add(args['group' .. listnum]) add('</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;') else add('<td colspan=2 style="') end if not args.groupwidth then add('width:100%;') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end add('padding:0px;', args.liststyle, ';', rowstyle, ';', args['list' .. listnum .. 'style'], '" ') add('class="navbox-list navbox-') if args.evenodd == 'swap' then if isOdd then add('even') else add('odd') end else if isOdd then add(args.evenodd or 'odd') else add(args.evenodd or 'even') end end add(' ', args.listclass, '">') add('<div style="padding:', args.listpadding or '0em 0.25em', '">', args['list' .. listnum], '</div></td></tr>') end function p._navbox(args) for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) local border = args.border or args[1] if border == 'subgroup' or border == 'child' then add('</div>') elseif border ~= 'none' then add('<table cellspacing="0" class="navbox" style="border-spacing:0;', args.bodystyle, ';', args.style, '"><tr><td style="padding:2px;">') end add('<table cellspacing="0" class="nowraplinks ', args.bodyclass, ' ') if args.title and (args.state ~= 'plain' and args.state ~= 'off') then add('collapsible ', args.state or 'autocollapse', ' ') end if border == 'subgroup' or border == 'child' or border == 'none' then add('navbox-subgroup" style="border-spacing:0;', args.bodystyle, ';', args.style) else add('navbox-inner" style="border-spacing:0;background:transparent;color:inherit') end add(';', args.innerstyle, ';">') renderTitleRow(args) renderAboveRow(args) renderFirstListRow(args) -- render lists 2 through N for i, listnum in ipairs(listnums) do if listnum > 1 then renderNthListRow(args, listnum) end end renderBelowRow(args) add('</table>') if border == 'subgroup' or border == 'child' then add('<div>') elseif border ~= 'none' then add('</td></tr></table>') end -- TODO: add tracking categories return table.concat(ret, '') end function p.navbox(frame) return p._navbox(frame:getParent().args) end return p htxn6kseqegk97v5rvi8c5nitf025jk 9848 9847 2013-02-25T23:08:05Z w>WOSlinker 0 add \n to make navboxes with class hlist work for fist item in list 9848 Scribunto text/plain -- -- This module will implement {{Navbox}} -- local p = {} local gutterRow = '<tr style="height:2px;"><td></td></tr>' local listnums = {} local ret = {} function add(...) local args = {...} for i = 1, #args do if args[i] then table.insert(ret, args[i]) end end end function renderTitleRow(args) if not args.title then return end add('<tr>') if args.titlegroup then add('<th scope="row" class="navbox-group ', args.titlegroupclass, '" style="', args.basestyle, ';', args.groupstyle, ';', args.titlegroupstyle, '">', args.titlegroup, '</th><th scope="col" style="border-left:2px solid #fdfdfd;width:100%;') else add('<th scope="col" style="') end local colspan = 2 if args.imageleft then colspan = colspan + 1 end if args.image then colspan = colspan + 1 end if args.titlegroup then colspan = colspan - 1 end add(args.basestyle, ';', args.titlestyle, '" class="navbox-title" colspan=', colspan, '>') local stateLinkPlaceholder = '<span style="float:right;width:6em;">&nbsp;</span>' if args.navbar == 'plain' or args.navbar == 'off' or (not args.name and (border == 'subgroup' or border == 'child' or border == 'none')) then if args.navbar == 'off' then if args.state == 'plain' then add(stateLinkPlaceholder) end else if args.state ~= 'plain' then add(stateLinkPlaceholder) end end else if args.name then add(mw.getCurrentFrame():expandTemplate{ title = 'navbar', args = { args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' }}) else add('<span class="error" style="float:left;white-space:nowrap;">Error: No name provided</span>') if args.state == 'plain' then add(stateLinkPlaceholder) end end end add('<div class="', args.titleclass, '" style="font-size:110%;">') add(args.title) add('</div></th></tr>') end function renderAboveRow(args) if not args.above then return end if args.title then add(gutterRow) end add('<tr><td class="navbox-abovebelow ', args.aboveclass, '" style="', args.basestyle, ';', args.abovestyle, '" colspan="', getAboveBelowColspan(args), '">') add('<div>\n', args.above, '</div></td></tr>') end function renderBelowRow(args) if args.below then if args.title or args.above or #listnums > 0 then add(gutterRow) end add('<tr><td class="navbox-abovebelow ', args.belowclass, '" style="', args.basestyle, ';', args.belowstyle, '" colspan="', getAboveBelowColspan(args), '">') add('<div>\n', args.below, '</div></td></tr>') end end function getAboveBelowColspan(args) local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end function renderFirstListRow(args) if not args.list1 then return end if args.title or args.above then add(gutterRow) end add('<tr>') if args.imageleft then add('<td class="navbox-image ', args.imageclass, '" style="width:0%;padding:0px 2px 0px 0px;', args.imageleftstyle, '"') add(' rowspan=', (2 * #listnums - 1), '><div>', args.imageleft, '</div></td>') end if args.group1 then add('<th scope="row" class="navbox-group ', args.groupclass, '" style="', args.basestyle, ';') if args.groupwidth then add('width:', args.groupwidth, ';') end add(args.groupstyle, ';', args.group1style, '">') add(args.group1, '</th>') add('<td style="text-align:left;border-left-width:2px;border-left-style:solid;') else add('<td colspan=2 style="') end if not args.groupwidth then add('width:100%;') end add('padding:0px;', args.liststyle, ';', args.oddstyle, ';', args.list1style, '" class="navbox-list navbox-') if args.evenodd == 'swap' then add('even') else add(args.evenodd or 'odd') end add(' ', args.listclass, '">') add('<div style="padding:', args.list1padding or args.listpadding or '0em 0.25em', '">\n') add(args.list1) add('</div></td>') if args.image then add('<td class="navbox-image ', args.imageclass, '" style="width:0%;padding:0px 0px 0px 2px;', args.imagestyle, '" ') add(' rowspan=', (2 * #listnums - 1), '>') add('<div>', args.image, '</div></td>') end add('</tr>') end function renderNthListRow(args, listnum) if args.title or args.above or args.list1 then add(gutterRow) end add('<tr>') if args['group' .. listnum] then add('<th scope="row" class="navbox-group ', args.groupclass, '" style="', args.basestyle, ';') if args.groupwidth then add('width:', args.groupwidth, ';') end add(args.groupstyle, ';', args['group' .. listnum .. 'style'], '">') add(args['group' .. listnum]) add('</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;') else add('<td colspan=2 style="') end if not args.groupwidth then add('width:100%;') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end add('padding:0px;', args.liststyle, ';', rowstyle, ';', args['list' .. listnum .. 'style'], '" ') add('class="navbox-list navbox-') if args.evenodd == 'swap' then if isOdd then add('even') else add('odd') end else if isOdd then add(args.evenodd or 'odd') else add(args.evenodd or 'even') end end add(' ', args.listclass, '">') add('<div style="padding:', args.listpadding or '0em 0.25em', '">\n', args['list' .. listnum], '</div></td></tr>') end function p._navbox(args) for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) local border = args.border or args[1] if border == 'subgroup' or border == 'child' then add('</div>') elseif border ~= 'none' then add('<table cellspacing="0" class="navbox" style="border-spacing:0;', args.bodystyle, ';', args.style, '"><tr><td style="padding:2px;">') end add('<table cellspacing="0" class="nowraplinks ', args.bodyclass, ' ') if args.title and (args.state ~= 'plain' and args.state ~= 'off') then add('collapsible ', args.state or 'autocollapse', ' ') end if border == 'subgroup' or border == 'child' or border == 'none' then add('navbox-subgroup" style="border-spacing:0;', args.bodystyle, ';', args.style) else add('navbox-inner" style="border-spacing:0;background:transparent;color:inherit') end add(';', args.innerstyle, ';">') renderTitleRow(args) renderAboveRow(args) renderFirstListRow(args) -- render lists 2 through N for i, listnum in ipairs(listnums) do if listnum > 1 then renderNthListRow(args, listnum) end end renderBelowRow(args) add('</table>') if border == 'subgroup' or border == 'child' then add('<div>') elseif border ~= 'none' then add('</td></tr></table>') end -- TODO: add tracking categories return table.concat(ret, '') end function p.navbox(frame) return p._navbox(frame:getParent().args) end return p 2vf1cnwubqeqtl5gb5k34701zn339h6 9849 9848 2013-02-27T05:22:15Z w>Toohool 0 fix handling of the border param 9849 Scribunto text/plain -- -- This module will implement {{Navbox}} -- local p = {} local gutterRow = '<tr style="height:2px;"><td></td></tr>' local border local listnums = {} local ret = {} function add(...) local args = {...} for i = 1, #args do if args[i] then table.insert(ret, args[i]) end end end function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end function renderTitleRow(args) if not args.title then return end add('<tr>') if args.titlegroup then add('<th scope="row" class="navbox-group ', args.titlegroupclass, '" style="', args.basestyle, ';', args.groupstyle, ';', args.titlegroupstyle, '">', args.titlegroup, '</th><th scope="col" style="border-left:2px solid #fdfdfd;width:100%;') else add('<th scope="col" style="') end local colspan = 2 if args.imageleft then colspan = colspan + 1 end if args.image then colspan = colspan + 1 end if args.titlegroup then colspan = colspan - 1 end add(args.basestyle, ';', args.titlestyle, '" class="navbox-title" colspan=', colspan, '>') local stateLinkPlaceholder = '<span style="float:right;width:6em;">&nbsp;</span>' if args.navbar == 'plain' or args.navbar == 'off' or (not args.name and (border == 'subgroup' or border == 'child' or border == 'none')) then if args.navbar == 'off' then if args.state == 'plain' then add(stateLinkPlaceholder) end else if args.state ~= 'plain' then add(stateLinkPlaceholder) end end else if args.name then add(mw.getCurrentFrame():expandTemplate{ title = 'navbar', args = { args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' }}) else add('<span class="error" style="float:left;white-space:nowrap;">Error: No name provided</span>') if args.state == 'plain' then add(stateLinkPlaceholder) end end end add('<div class="', args.titleclass, '" style="font-size:110%;">') add(args.title) add('</div></th></tr>') end function renderAboveRow(args) if not args.above then return end if args.title then add(gutterRow) end add('<tr><td class="navbox-abovebelow ', args.aboveclass, '" style="', args.basestyle, ';', args.abovestyle, '" colspan="', getAboveBelowColspan(args), '">') add('<div>\n', args.above, '</div></td></tr>') end function renderBelowRow(args) if args.below then if args.title or args.above or #listnums > 0 then add(gutterRow) end add('<tr><td class="navbox-abovebelow ', args.belowclass, '" style="', args.basestyle, ';', args.belowstyle, '" colspan="', getAboveBelowColspan(args), '">') add('<div>\n', args.below, '</div></td></tr>') end end function getAboveBelowColspan(args) local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end function renderFirstListRow(args) if not args.list1 then return end if args.title or args.above then add(gutterRow) end add('<tr>') if args.imageleft then add('<td class="navbox-image ', args.imageclass, '" style="width:0%;padding:0px 2px 0px 0px;', args.imageleftstyle, '"') add(' rowspan=', (2 * #listnums - 1), '><div>', args.imageleft, '</div></td>') end if args.group1 then add('<th scope="row" class="navbox-group ', args.groupclass, '" style="', args.basestyle, ';') if args.groupwidth then add('width:', args.groupwidth, ';') end add(args.groupstyle, ';', args.group1style, '">') add(args.group1, '</th>') add('<td style="text-align:left;border-left-width:2px;border-left-style:solid;') else add('<td colspan=2 style="') end if not args.groupwidth then add('width:100%;') end add('padding:0px;', args.liststyle, ';', args.oddstyle, ';', args.list1style, '" class="navbox-list navbox-') if args.evenodd == 'swap' then add('even') else add(args.evenodd or 'odd') end add(' ', args.listclass, '">') add('<div style="padding:', args.list1padding or args.listpadding or '0em 0.25em', '">\n') add(args.list1) add('</div></td>') if args.image then add('<td class="navbox-image ', args.imageclass, '" style="width:0%;padding:0px 0px 0px 2px;', args.imagestyle, '" ') add(' rowspan=', (2 * #listnums - 1), '>') add('<div>', args.image, '</div></td>') end add('</tr>') end function renderNthListRow(args, listnum) if args.title or args.above or args.list1 then add(gutterRow) end add('<tr>') if args['group' .. listnum] then add('<th scope="row" class="navbox-group ', args.groupclass, '" style="', args.basestyle, ';') if args.groupwidth then add('width:', args.groupwidth, ';') end add(args.groupstyle, ';', args['group' .. listnum .. 'style'], '">') add(args['group' .. listnum]) add('</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;') else add('<td colspan=2 style="') end if not args.groupwidth then add('width:100%;') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end add('padding:0px;', args.liststyle, ';', rowstyle, ';', args['list' .. listnum .. 'style'], '" ') add('class="navbox-list navbox-') if args.evenodd == 'swap' then if isOdd then add('even') else add('odd') end else if isOdd then add(args.evenodd or 'odd') else add(args.evenodd or 'even') end end add(' ', args.listclass, '">') add('<div style="padding:', args.listpadding or '0em 0.25em', '">\n', args['list' .. listnum], '</div></td></tr>') end function p._navbox(args) for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') if border == 'subgroup' or border == 'child' then add('</div>') elseif border ~= 'none' then add('<table cellspacing="0" class="navbox" style="border-spacing:0;', args.bodystyle, ';', args.style, '"><tr><td style="padding:2px;">') end add('<table cellspacing="0" class="nowraplinks ', args.bodyclass, ' ') if args.title and (args.state ~= 'plain' and args.state ~= 'off') then add('collapsible ', args.state or 'autocollapse', ' ') end if border == 'subgroup' or border == 'child' or border == 'none' then add('navbox-subgroup" style="border-spacing:0;', args.bodystyle, ';', args.style) else add('navbox-inner" style="border-spacing:0;background:transparent;color:inherit') end add(';', args.innerstyle, ';">') renderTitleRow(args) renderAboveRow(args) renderFirstListRow(args) -- render lists 2 through N for i, listnum in ipairs(listnums) do if listnum > 1 then renderNthListRow(args, listnum) end end renderBelowRow(args) add('</table>') if border == 'subgroup' or border == 'child' then add('<div>') elseif border ~= 'none' then add('</td></tr></table>') end -- TODO: add tracking categories return table.concat(ret, '') end function p.navbox(frame) return p._navbox(frame:getParent().args) end return p 2zfb8cqpcr948pcfqqhbq67l6x58h05 9850 9849 2013-02-27T08:30:39Z w>Toohool 0 fix for lists in image and imageleft 9850 Scribunto text/plain -- -- This module will implement {{Navbox}} -- local p = {} local gutterRow = '<tr style="height:2px;"><td></td></tr>' local border local listnums = {} local ret = {} function add(...) local args = {...} for i = 1, #args do if args[i] then table.insert(ret, args[i]) end end end function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end function renderTitleRow(args) if not args.title then return end add('<tr>') if args.titlegroup then add('<th scope="row" class="navbox-group ', args.titlegroupclass, '" style="', args.basestyle, ';', args.groupstyle, ';', args.titlegroupstyle, '">', args.titlegroup, '</th><th scope="col" style="border-left:2px solid #fdfdfd;width:100%;') else add('<th scope="col" style="') end local colspan = 2 if args.imageleft then colspan = colspan + 1 end if args.image then colspan = colspan + 1 end if args.titlegroup then colspan = colspan - 1 end add(args.basestyle, ';', args.titlestyle, '" class="navbox-title" colspan=', colspan, '>') local stateLinkPlaceholder = '<span style="float:right;width:6em;">&nbsp;</span>' if args.navbar == 'plain' or args.navbar == 'off' or (not args.name and (border == 'subgroup' or border == 'child' or border == 'none')) then if args.navbar == 'off' then if args.state == 'plain' then add(stateLinkPlaceholder) end else if args.state ~= 'plain' then add(stateLinkPlaceholder) end end else if args.name then add(mw.getCurrentFrame():expandTemplate{ title = 'navbar', args = { args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' }}) else add('<span class="error" style="float:left;white-space:nowrap;">Error: No name provided</span>') if args.state == 'plain' then add(stateLinkPlaceholder) end end end add('<div class="', args.titleclass, '" style="font-size:110%;">') add(args.title) add('</div></th></tr>') end function renderAboveRow(args) if not args.above then return end if args.title then add(gutterRow) end add('<tr><td class="navbox-abovebelow ', args.aboveclass, '" style="', args.basestyle, ';', args.abovestyle, '" colspan="', getAboveBelowColspan(args), '">') add('<div>\n', args.above, '</div></td></tr>') end function renderBelowRow(args) if args.below then if args.title or args.above or #listnums > 0 then add(gutterRow) end add('<tr><td class="navbox-abovebelow ', args.belowclass, '" style="', args.basestyle, ';', args.belowstyle, '" colspan="', getAboveBelowColspan(args), '">') add('<div>\n', args.below, '</div></td></tr>') end end function getAboveBelowColspan(args) local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end function renderFirstListRow(args) if not args.list1 then return end if args.title or args.above then add(gutterRow) end add('<tr>') if args.imageleft then add('<td class="navbox-image ', args.imageclass, '" style="width:0%;padding:0px 2px 0px 0px;', args.imageleftstyle, '"') add(' rowspan=', (2 * #listnums - 1), '><div>\n', args.imageleft, '</div></td>') end if args.group1 then add('<th scope="row" class="navbox-group ', args.groupclass, '" style="', args.basestyle, ';') if args.groupwidth then add('width:', args.groupwidth, ';') end add(args.groupstyle, ';', args.group1style, '">') add(args.group1, '</th>') add('<td style="text-align:left;border-left-width:2px;border-left-style:solid;') else add('<td colspan=2 style="') end if not args.groupwidth then add('width:100%;') end add('padding:0px;', args.liststyle, ';', args.oddstyle, ';', args.list1style, '" class="navbox-list navbox-') if args.evenodd == 'swap' then add('even') else add(args.evenodd or 'odd') end add(' ', args.listclass, '">') add('<div style="padding:', args.list1padding or args.listpadding or '0em 0.25em', '">\n') add(args.list1) add('</div></td>') if args.image then add('<td class="navbox-image ', args.imageclass, '" style="width:0%;padding:0px 0px 0px 2px;', args.imagestyle, '" ') add(' rowspan=', (2 * #listnums - 1), '>') add('<div>\n', args.image, '</div></td>') end add('</tr>') end function renderNthListRow(args, listnum) if args.title or args.above or args.list1 then add(gutterRow) end add('<tr>') if args['group' .. listnum] then add('<th scope="row" class="navbox-group ', args.groupclass, '" style="', args.basestyle, ';') if args.groupwidth then add('width:', args.groupwidth, ';') end add(args.groupstyle, ';', args['group' .. listnum .. 'style'], '">') add(args['group' .. listnum]) add('</th><td style="text-align:left;border-left-width:2px;border-left-style:solid;') else add('<td colspan=2 style="') end if not args.groupwidth then add('width:100%;') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end add('padding:0px;', args.liststyle, ';', rowstyle, ';', args['list' .. listnum .. 'style'], '" ') add('class="navbox-list navbox-') if args.evenodd == 'swap' then if isOdd then add('even') else add('odd') end else if isOdd then add(args.evenodd or 'odd') else add(args.evenodd or 'even') end end add(' ', args.listclass, '">') add('<div style="padding:', args.listpadding or '0em 0.25em', '">\n', args['list' .. listnum], '</div></td></tr>') end function p._navbox(args) for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') if border == 'subgroup' or border == 'child' then add('</div>') elseif border ~= 'none' then add('<table cellspacing="0" class="navbox" style="border-spacing:0;', args.bodystyle, ';', args.style, '"><tr><td style="padding:2px;">') end add('<table cellspacing="0" class="nowraplinks ', args.bodyclass, ' ') if args.title and (args.state ~= 'plain' and args.state ~= 'off') then add('collapsible ', args.state or 'autocollapse', ' ') end if border == 'subgroup' or border == 'child' or border == 'none' then add('navbox-subgroup" style="border-spacing:0;', args.bodystyle, ';', args.style) else add('navbox-inner" style="border-spacing:0;background:transparent;color:inherit') end add(';', args.innerstyle, ';">') renderTitleRow(args) renderAboveRow(args) renderFirstListRow(args) -- render lists 2 through N for i, listnum in ipairs(listnums) do if listnum > 1 then renderNthListRow(args, listnum) end end renderBelowRow(args) add('</table>') if border == 'subgroup' or border == 'child' then add('<div>') elseif border ~= 'none' then add('</td></tr></table>') end -- TODO: add tracking categories return table.concat(ret, '') end function p.navbox(frame) return p._navbox(frame:getParent().args) end return p jnqanbvnv1sg01b7p1cfklb5l9ihvie 9851 9850 2013-03-01T04:36:41Z w>Toohool 0 rewrite with htmlbuilder 9851 Scribunto text/plain -- -- This module will implement {{Navbox}} -- local p = {} local HtmlBuilder = require('Module:Sandbox/Toohool/HtmlBuilder') local args local tableRowAdded = false local border local listnums = {} function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl .tag('tr') .css('height', '2px') .tag('td') end tableRowAdded = true return tbl.tag('tr') end -- -- Title row -- function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow .tag('th') .attr('scope', 'row') .addClass('navbox-group') .addClass(args.titlegroupclass) .cssText(args.basestyle) .cssText(args.groupstyle) .cssText(args.titlegroupstyle) .wikitext(args.titlegroup) end local titleCell = titleRow.tag('th').attr('scope', 'col') if args.titlegroup then titleCell .css('border-left', '2px solid #fdfdfd') .css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell .cssText(args.basestyle) .cssText(args.titlestyle) .addClass('navbox-title') .attr('colspan', titleColspan) renderNavBar(titleCell) titleCell .tag('div') .addClass(args.titleclass) .css('font-size', '110%') .newline() .wikitext(args.title) end function renderNavBar(titleCell) local addStateLinkPlaceholder = false if args.navbar == 'plain' or args.navbar == 'off' or (not args.name and (border == 'subgroup' or border == 'child' or border == 'none')) then if args.navbar == 'off' then addStateLinkPlaceholder = (args.state == 'plain') else addStateLinkPlaceholder = (args.state ~= 'plain') end else if args.name then titleCell.wikitext(mw.getCurrentFrame():expandTemplate{ title = 'navbar', args = { args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' }}) else titleCell .tag('span') .addClass('error') .css('float', 'left') .css('white-space', 'nowrap') .wikitext('Error: No name provided') addStateLinkPlaceholder = (args.state == 'plain') end end if addStateLinkPlaceholder then titleCell .tag('span') .css('float', 'right') .css('width', '6em') .wikitext('&nbsp;') end end -- -- Above/Below rows -- function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.aboveclass) .cssText(args.basestyle) .cssText(args.abovestyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.above) end function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.belowclass) .cssText(args.basestyle) .cssText(args.belowstyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.below) end function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end -- -- List rows -- function renderFirstListRow(tbl) if not args.list1 then return end local row = addTableRow(tbl) if args.imageleft then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 2px 0px 0px') .cssText(args.imageleftstyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.imageleft) end if args.group1 then local groupCell = row.tag('th') groupCell .attr('scope', 'row') .addClass('navbox-group') .addClass(args.groupclass) .cssText(args.basestyle) if args.groupwidth then groupCell.css('width', args.groupwidth) end groupCell .cssText(args.groupstyle) .cssText(args.group1style) .wikitext(args.group1) end local listCell = row.tag('td') if args.group1 then listCell .css('text-align', 'left') .css('border-left-width', '2px') .css('border-left-style', 'solid') else listCell.attr('colspan', 2) end if not args.groupwidth then listCell.css('width', '100%') end local evenOdd = args.evenodd or 'odd' if args.evenodd == 'swap' then evenOdd = 'even' end listCell .css('padding', '0px') .cssText(args.liststyle) .cssText(args.oddstyle) .cssText(args.list1style) .addClass('navbox-list') .addClass('navbox-' .. evenOdd) .addClass(args.listclass) .tag('div') .css('padding', args.list1padding or args.listpadding or '0em 0.25em') .newline() .wikitext(args.list1) if args.image then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 0px 0px 2px') .cssText(args.imagestyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.image) end end function renderNthListRow(tbl, listnum) local row = addTableRow(tbl) if args['group' .. listnum] then local groupCell = row.tag('th') groupCell .attr('scope', 'row') .addClass('navbox-group') .addClass(args.groupclass) .cssText(args.basestyle) if args.groupwidth then groupCell.css('width', args.groupwidth) end groupCell .cssText(args.groupstyle) .cssText(args['group' .. listnum .. 'style']) .wikitext(args['group' .. listnum]) end local listCell = row.tag('td') if args['group' .. listnum] then listCell .css('text-align', 'left') .css('border-left-width', '2px') .css('border-left-style', 'solid') else listCell.attr('colspan', 2) end if not args.groupwidth then listCell.css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell .css('padding', '0px') .cssText(args.liststyle) .cssText(rowstyle) .cssText(args['list' .. listnum .. 'style']) .addClass('navbox-list') .addClass('navbox-' .. evenOdd) .addClass(args.listclass) .tag('div') .css('padding', args.listpadding or '0em 0.25em') .newline() .wikitext(args['list' .. listnum]) end -- -- Main navbox tables -- function renderMainTable() local tbl = HtmlBuilder.create('table') .attr('cellspacing', 0) .addClass('nowraplinks') .addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl .addClass('collapsible') .addClass(args.state or 'autocollapse') end tbl.css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl .addClass('navbox-subgroup') .cssText(args.bodyStyle) .cssText(args.style) else -- regular navobx - bodyStyle and style will be applied to the wrapper table tbl .addClass('navbox-inner') .css('background', 'transparent') .css('color', 'inherit') end tbl.cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) renderFirstListRow(tbl) -- render lists 2 through N for i, listnum in ipairs(listnums) do if listnum > 1 then renderNthListRow(tbl, listnum) end end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = HtmlBuilder.create() if border == 'subgroup' or border == 'child' then res .tag('/div', {unclosed = true}) .done() .node(tbl) .tag('div', {unclosed = true}) elseif border ~= 'none' then res .tag('table') .attr('cellspacing', 0) .addClass('navbox') .css('border-spacing', 0) .cssText(args.bodystyle) .cssText(args.style) .tag('tr') .tag('td') .css('padding', '2px') .node(tbl) end -- TODO: add tracking categories return tostring(res) end function p.navbox(frame) return p._navbox(frame:getParent().args) end return p 2kp4abeq87yq89jq1jodusin6p273e3 9852 9851 2013-03-01T05:37:29Z w>Toohool 0 whitespace 9852 Scribunto text/plain -- -- This module will implement {{Navbox}} -- local p = {} local HtmlBuilder = require('Module:Sandbox/Toohool/HtmlBuilder') local args local tableRowAdded = false local border local listnums = {} function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl .tag('tr') .css('height', '2px') .tag('td') end tableRowAdded = true return tbl.tag('tr') end -- -- Title row -- function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow .tag('th') .attr('scope', 'row') .addClass('navbox-group') .addClass(args.titlegroupclass) .cssText(args.basestyle) .cssText(args.groupstyle) .cssText(args.titlegroupstyle) .wikitext(args.titlegroup) end local titleCell = titleRow.tag('th').attr('scope', 'col') if args.titlegroup then titleCell .css('border-left', '2px solid #fdfdfd') .css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell .cssText(args.basestyle) .cssText(args.titlestyle) .addClass('navbox-title') .attr('colspan', titleColspan) renderNavBar(titleCell) titleCell .tag('div') .addClass(args.titleclass) .css('font-size', '110%') .newline() .wikitext(args.title) end function renderNavBar(titleCell) local addStateLinkPlaceholder = false if args.navbar == 'plain' or args.navbar == 'off' or (not args.name and (border == 'subgroup' or border == 'child' or border == 'none')) then if args.navbar == 'off' then addStateLinkPlaceholder = (args.state == 'plain') else addStateLinkPlaceholder = (args.state ~= 'plain') end else if args.name then titleCell.wikitext(mw.getCurrentFrame():expandTemplate{ title = 'navbar', args = { args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' }}) else titleCell .tag('span') .addClass('error') .css('float', 'left') .css('white-space', 'nowrap') .wikitext('Error: No name provided') addStateLinkPlaceholder = (args.state == 'plain') end end if addStateLinkPlaceholder then titleCell .tag('span') .css('float', 'right') .css('width', '6em') .wikitext('&nbsp;') end end -- -- Above/Below rows -- function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.aboveclass) .cssText(args.basestyle) .cssText(args.abovestyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.above) end function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.belowclass) .cssText(args.basestyle) .cssText(args.belowstyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.below) end function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end -- -- List rows -- function renderFirstListRow(tbl) if not args.list1 then return end local row = addTableRow(tbl) if args.imageleft then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 2px 0px 0px') .cssText(args.imageleftstyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.imageleft) end if args.group1 then local groupCell = row.tag('th') groupCell .attr('scope', 'row') .addClass('navbox-group') .addClass(args.groupclass) .cssText(args.basestyle) if args.groupwidth then groupCell.css('width', args.groupwidth) end groupCell .cssText(args.groupstyle) .cssText(args.group1style) .wikitext(args.group1) end local listCell = row.tag('td') if args.group1 then listCell .css('text-align', 'left') .css('border-left-width', '2px') .css('border-left-style', 'solid') else listCell.attr('colspan', 2) end if not args.groupwidth then listCell.css('width', '100%') end local evenOdd = args.evenodd or 'odd' if args.evenodd == 'swap' then evenOdd = 'even' end listCell .css('padding', '0px') .cssText(args.liststyle) .cssText(args.oddstyle) .cssText(args.list1style) .addClass('navbox-list') .addClass('navbox-' .. evenOdd) .addClass(args.listclass) .tag('div') .css('padding', args.list1padding or args.listpadding or '0em 0.25em') .newline() .wikitext(args.list1) if args.image then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 0px 0px 2px') .cssText(args.imagestyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.image) end end function renderNthListRow(tbl, listnum) local row = addTableRow(tbl) if args['group' .. listnum] then local groupCell = row.tag('th') groupCell .attr('scope', 'row') .addClass('navbox-group') .addClass(args.groupclass) .cssText(args.basestyle) if args.groupwidth then groupCell.css('width', args.groupwidth) end groupCell .cssText(args.groupstyle) .cssText(args['group' .. listnum .. 'style']) .wikitext(args['group' .. listnum]) end local listCell = row.tag('td') if args['group' .. listnum] then listCell .css('text-align', 'left') .css('border-left-width', '2px') .css('border-left-style', 'solid') else listCell.attr('colspan', 2) end if not args.groupwidth then listCell.css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell .css('padding', '0px') .cssText(args.liststyle) .cssText(rowstyle) .cssText(args['list' .. listnum .. 'style']) .addClass('navbox-list') .addClass('navbox-' .. evenOdd) .addClass(args.listclass) .tag('div') .css('padding', args.listpadding or '0em 0.25em') .newline() .wikitext(args['list' .. listnum]) end -- -- Main navbox tables -- function renderMainTable() local tbl = HtmlBuilder.create('table') .attr('cellspacing', 0) .addClass('nowraplinks') .addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl .addClass('collapsible') .addClass(args.state or 'autocollapse') end tbl.css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl .addClass('navbox-subgroup') .cssText(args.bodyStyle) .cssText(args.style) else -- regular navobx - bodyStyle and style will be applied to the wrapper table tbl .addClass('navbox-inner') .css('background', 'transparent') .css('color', 'inherit') end tbl.cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) renderFirstListRow(tbl) -- render lists 2 through N for i, listnum in ipairs(listnums) do if listnum > 1 then renderNthListRow(tbl, listnum) end end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = HtmlBuilder.create() if border == 'subgroup' or border == 'child' then res .tag('/div', {unclosed = true}) .done() .node(tbl) .tag('div', {unclosed = true}) elseif border ~= 'none' then res .tag('table') .attr('cellspacing', 0) .addClass('navbox') .css('border-spacing', 0) .cssText(args.bodystyle) .cssText(args.style) .tag('tr') .tag('td') .css('padding', '2px') .node(tbl) end -- TODO: add tracking categories return tostring(res) end function p.navbox(frame) return p._navbox(frame:getParent().args) end return p p6nh364x2xlyhkje65qyvp3qeg7uxva 9853 9852 2013-03-06T08:16:06Z w>Toohool 0 htmlbuilder moved 9853 Scribunto text/plain -- -- This module will implement {{Navbox}} -- local p = {} local HtmlBuilder = require('Module:HtmlBuilder') local args local tableRowAdded = false local border local listnums = {} function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl .tag('tr') .css('height', '2px') .tag('td') end tableRowAdded = true return tbl.tag('tr') end -- -- Title row -- function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow .tag('th') .attr('scope', 'row') .addClass('navbox-group') .addClass(args.titlegroupclass) .cssText(args.basestyle) .cssText(args.groupstyle) .cssText(args.titlegroupstyle) .wikitext(args.titlegroup) end local titleCell = titleRow.tag('th').attr('scope', 'col') if args.titlegroup then titleCell .css('border-left', '2px solid #fdfdfd') .css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell .cssText(args.basestyle) .cssText(args.titlestyle) .addClass('navbox-title') .attr('colspan', titleColspan) renderNavBar(titleCell) titleCell .tag('div') .addClass(args.titleclass) .css('font-size', '110%') .newline() .wikitext(args.title) end function renderNavBar(titleCell) local addStateLinkPlaceholder = false if args.navbar == 'plain' or args.navbar == 'off' or (not args.name and (border == 'subgroup' or border == 'child' or border == 'none')) then if args.navbar == 'off' then addStateLinkPlaceholder = (args.state == 'plain') else addStateLinkPlaceholder = (args.state ~= 'plain') end else if args.name then titleCell.wikitext(mw.getCurrentFrame():expandTemplate{ title = 'navbar', args = { args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' }}) else titleCell .tag('span') .addClass('error') .css('float', 'left') .css('white-space', 'nowrap') .wikitext('Error: No name provided') addStateLinkPlaceholder = (args.state == 'plain') end end if addStateLinkPlaceholder then titleCell .tag('span') .css('float', 'right') .css('width', '6em') .wikitext('&nbsp;') end end -- -- Above/Below rows -- function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.aboveclass) .cssText(args.basestyle) .cssText(args.abovestyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.above) end function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.belowclass) .cssText(args.basestyle) .cssText(args.belowstyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.below) end function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end -- -- List rows -- function renderFirstListRow(tbl) if not args.list1 then return end local row = addTableRow(tbl) if args.imageleft then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 2px 0px 0px') .cssText(args.imageleftstyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.imageleft) end if args.group1 then local groupCell = row.tag('th') groupCell .attr('scope', 'row') .addClass('navbox-group') .addClass(args.groupclass) .cssText(args.basestyle) if args.groupwidth then groupCell.css('width', args.groupwidth) end groupCell .cssText(args.groupstyle) .cssText(args.group1style) .wikitext(args.group1) end local listCell = row.tag('td') if args.group1 then listCell .css('text-align', 'left') .css('border-left-width', '2px') .css('border-left-style', 'solid') else listCell.attr('colspan', 2) end if not args.groupwidth then listCell.css('width', '100%') end local evenOdd = args.evenodd or 'odd' if args.evenodd == 'swap' then evenOdd = 'even' end listCell .css('padding', '0px') .cssText(args.liststyle) .cssText(args.oddstyle) .cssText(args.list1style) .addClass('navbox-list') .addClass('navbox-' .. evenOdd) .addClass(args.listclass) .tag('div') .css('padding', args.list1padding or args.listpadding or '0em 0.25em') .newline() .wikitext(args.list1) if args.image then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 0px 0px 2px') .cssText(args.imagestyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.image) end end function renderNthListRow(tbl, listnum) local row = addTableRow(tbl) if args['group' .. listnum] then local groupCell = row.tag('th') groupCell .attr('scope', 'row') .addClass('navbox-group') .addClass(args.groupclass) .cssText(args.basestyle) if args.groupwidth then groupCell.css('width', args.groupwidth) end groupCell .cssText(args.groupstyle) .cssText(args['group' .. listnum .. 'style']) .wikitext(args['group' .. listnum]) end local listCell = row.tag('td') if args['group' .. listnum] then listCell .css('text-align', 'left') .css('border-left-width', '2px') .css('border-left-style', 'solid') else listCell.attr('colspan', 2) end if not args.groupwidth then listCell.css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell .css('padding', '0px') .cssText(args.liststyle) .cssText(rowstyle) .cssText(args['list' .. listnum .. 'style']) .addClass('navbox-list') .addClass('navbox-' .. evenOdd) .addClass(args.listclass) .tag('div') .css('padding', args.listpadding or '0em 0.25em') .newline() .wikitext(args['list' .. listnum]) end -- -- Main navbox tables -- function renderMainTable() local tbl = HtmlBuilder.create('table') .attr('cellspacing', 0) .addClass('nowraplinks') .addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl .addClass('collapsible') .addClass(args.state or 'autocollapse') end tbl.css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl .addClass('navbox-subgroup') .cssText(args.bodyStyle) .cssText(args.style) else -- regular navobx - bodyStyle and style will be applied to the wrapper table tbl .addClass('navbox-inner') .css('background', 'transparent') .css('color', 'inherit') end tbl.cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) renderFirstListRow(tbl) -- render lists 2 through N for i, listnum in ipairs(listnums) do if listnum > 1 then renderNthListRow(tbl, listnum) end end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = HtmlBuilder.create() if border == 'subgroup' or border == 'child' then res .tag('/div', {unclosed = true}) .done() .node(tbl) .tag('div', {unclosed = true}) elseif border ~= 'none' then res .tag('table') .attr('cellspacing', 0) .addClass('navbox') .css('border-spacing', 0) .cssText(args.bodystyle) .cssText(args.style) .tag('tr') .tag('td') .css('padding', '2px') .node(tbl) end -- TODO: add tracking categories return tostring(res) end function p.navbox(frame) return p._navbox(frame:getParent().args) end return p kd89a6zyme9lba339l71d3417u8pygo 9854 9853 2013-03-06T08:49:39Z w>Toohool 0 fix title centering 9854 Scribunto text/plain -- -- This module will implement {{Navbox}} -- local p = {} local HtmlBuilder = require('Module:HtmlBuilder') local args local tableRowAdded = false local border local listnums = {} function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl .tag('tr') .css('height', '2px') .tag('td') end tableRowAdded = true return tbl.tag('tr') end -- -- Title row -- function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow .tag('th') .attr('scope', 'row') .addClass('navbox-group') .addClass(args.titlegroupclass) .cssText(args.basestyle) .cssText(args.groupstyle) .cssText(args.titlegroupstyle) .wikitext(args.titlegroup) end local titleCell = titleRow.tag('th').attr('scope', 'col') if args.titlegroup then titleCell .css('border-left', '2px solid #fdfdfd') .css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell .cssText(args.basestyle) .cssText(args.titlestyle) .addClass('navbox-title') .attr('colspan', titleColspan) renderNavBar(titleCell) titleCell .tag('div') .addClass(args.titleclass) .css('font-size', '110%') .newline() .wikitext(args.title) end function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = 'right' end elseif args.navbar == 'plain' or args.navbar == 'off' or (not args.name and (border == 'subgroup' or border == 'child' or border == 'none')) then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' then spacerSide = 'left' end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = 'right' end if args.name then titleCell.wikitext(mw.getCurrentFrame():expandTemplate{ title = 'navbar', args = { args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' }}) else titleCell .tag('span') .addClass('error') .css('float', 'left') .css('white-space', 'nowrap') .wikitext('Error: No name provided') end end -- Render the spacer div. if spacerSide then titleCell .tag('span') .css('float', spacerSide) .css('width', '6em') .wikitext('&nbsp;') end end -- -- Above/Below rows -- function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.aboveclass) .cssText(args.basestyle) .cssText(args.abovestyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.above) end function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.belowclass) .cssText(args.basestyle) .cssText(args.belowstyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.below) end function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end -- -- List rows -- function renderFirstListRow(tbl) if not args.list1 then return end local row = addTableRow(tbl) if args.imageleft then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 2px 0px 0px') .cssText(args.imageleftstyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.imageleft) end if args.group1 then local groupCell = row.tag('th') groupCell .attr('scope', 'row') .addClass('navbox-group') .addClass(args.groupclass) .cssText(args.basestyle) if args.groupwidth then groupCell.css('width', args.groupwidth) end groupCell .cssText(args.groupstyle) .cssText(args.group1style) .wikitext(args.group1) end local listCell = row.tag('td') if args.group1 then listCell .css('text-align', 'left') .css('border-left-width', '2px') .css('border-left-style', 'solid') else listCell.attr('colspan', 2) end if not args.groupwidth then listCell.css('width', '100%') end local evenOdd = args.evenodd or 'odd' if args.evenodd == 'swap' then evenOdd = 'even' end listCell .css('padding', '0px') .cssText(args.liststyle) .cssText(args.oddstyle) .cssText(args.list1style) .addClass('navbox-list') .addClass('navbox-' .. evenOdd) .addClass(args.listclass) .tag('div') .css('padding', args.list1padding or args.listpadding or '0em 0.25em') .newline() .wikitext(args.list1) if args.image then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 0px 0px 2px') .cssText(args.imagestyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.image) end end function renderNthListRow(tbl, listnum) local row = addTableRow(tbl) if args['group' .. listnum] then local groupCell = row.tag('th') groupCell .attr('scope', 'row') .addClass('navbox-group') .addClass(args.groupclass) .cssText(args.basestyle) if args.groupwidth then groupCell.css('width', args.groupwidth) end groupCell .cssText(args.groupstyle) .cssText(args['group' .. listnum .. 'style']) .wikitext(args['group' .. listnum]) end local listCell = row.tag('td') if args['group' .. listnum] then listCell .css('text-align', 'left') .css('border-left-width', '2px') .css('border-left-style', 'solid') else listCell.attr('colspan', 2) end if not args.groupwidth then listCell.css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell .css('padding', '0px') .cssText(args.liststyle) .cssText(rowstyle) .cssText(args['list' .. listnum .. 'style']) .addClass('navbox-list') .addClass('navbox-' .. evenOdd) .addClass(args.listclass) .tag('div') .css('padding', args.listpadding or '0em 0.25em') .newline() .wikitext(args['list' .. listnum]) end -- -- Main navbox tables -- function renderMainTable() local tbl = HtmlBuilder.create('table') .attr('cellspacing', 0) .addClass('nowraplinks') .addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl .addClass('collapsible') .addClass(args.state or 'autocollapse') end tbl.css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl .addClass('navbox-subgroup') .cssText(args.bodyStyle) .cssText(args.style) else -- regular navobx - bodyStyle and style will be applied to the wrapper table tbl .addClass('navbox-inner') .css('background', 'transparent') .css('color', 'inherit') end tbl.cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) renderFirstListRow(tbl) -- render lists 2 through N for i, listnum in ipairs(listnums) do if listnum > 1 then renderNthListRow(tbl, listnum) end end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = HtmlBuilder.create() if border == 'subgroup' or border == 'child' then res .tag('/div', {unclosed = true}) .done() .node(tbl) .tag('div', {unclosed = true}) elseif border ~= 'none' then res .tag('table') .attr('cellspacing', 0) .addClass('navbox') .css('border-spacing', 0) .cssText(args.bodystyle) .cssText(args.style) .tag('tr') .tag('td') .css('padding', '2px') .node(tbl) end -- TODO: add tracking categories return tostring(res) end function p.navbox(frame) return p._navbox(frame:getParent().args) end return p qvix1t6ohzq8wzlb7wpbd5y76vjsy5m 9855 9854 2013-03-06T09:20:39Z w>Toohool 0 don't need a special function for the list1 row, and fix for border=none 9855 Scribunto text/plain -- -- This module will implement {{Navbox}} -- local p = {} local HtmlBuilder = require('Module:HtmlBuilder') local args local tableRowAdded = false local border local listnums = {} function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl .tag('tr') .css('height', '2px') .tag('td') end tableRowAdded = true return tbl.tag('tr') end -- -- Title row -- function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow .tag('th') .attr('scope', 'row') .addClass('navbox-group') .addClass(args.titlegroupclass) .cssText(args.basestyle) .cssText(args.groupstyle) .cssText(args.titlegroupstyle) .wikitext(args.titlegroup) end local titleCell = titleRow.tag('th').attr('scope', 'col') if args.titlegroup then titleCell .css('border-left', '2px solid #fdfdfd') .css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell .cssText(args.basestyle) .cssText(args.titlestyle) .addClass('navbox-title') .attr('colspan', titleColspan) renderNavBar(titleCell) titleCell .tag('div') .addClass(args.titleclass) .css('font-size', '110%') .newline() .wikitext(args.title) end function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = 'right' end elseif args.navbar == 'plain' or args.navbar == 'off' or (not args.name and (border == 'subgroup' or border == 'child' or border == 'none')) then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' then spacerSide = 'left' end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = 'right' end if args.name then titleCell.wikitext(mw.getCurrentFrame():expandTemplate{ title = 'navbar', args = { args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' }}) else titleCell .tag('span') .addClass('error') .css('float', 'left') .css('white-space', 'nowrap') .wikitext('Error: No name provided') end end -- Render the spacer div. if spacerSide then titleCell .tag('span') .css('float', spacerSide) .css('width', '6em') .wikitext('&nbsp;') end end -- -- Above/Below rows -- function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.aboveclass) .cssText(args.basestyle) .cssText(args.abovestyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.above) end function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.belowclass) .cssText(args.basestyle) .cssText(args.belowstyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.below) end function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end -- -- List rows -- function renderListRow(tbl, listnum) local row = addTableRow(tbl) if listnum == 1 and args.imageleft then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 2px 0px 0px') .cssText(args.imageleftstyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.imageleft) end if args['group' .. listnum] then local groupCell = row.tag('th') groupCell .attr('scope', 'row') .addClass('navbox-group') .addClass(args.groupclass) .cssText(args.basestyle) if args.groupwidth then groupCell.css('width', args.groupwidth) end groupCell .cssText(args.groupstyle) .cssText(args['group' .. listnum .. 'style']) .wikitext(args['group' .. listnum]) end local listCell = row.tag('td') if args['group' .. listnum] then listCell .css('text-align', 'left') .css('border-left-width', '2px') .css('border-left-style', 'solid') else listCell.attr('colspan', 2) end if not args.groupwidth then listCell.css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell .css('padding', '0px') .cssText(args.liststyle) .cssText(rowstyle) .cssText(args['list' .. listnum .. 'style']) .addClass('navbox-list') .addClass('navbox-' .. evenOdd) .addClass(args.listclass) .tag('div') .css('padding', args.listpadding or '0em 0.25em') .newline() .wikitext(args['list' .. listnum]) if listnum == 1 and args.image then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 0px 0px 2px') .cssText(args.imagestyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.image) end end -- -- Main navbox tables -- function renderMainTable() local tbl = HtmlBuilder.create('table') .attr('cellspacing', 0) .addClass('nowraplinks') .addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl .addClass('collapsible') .addClass(args.state or 'autocollapse') end tbl.css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl .addClass('navbox-subgroup') .cssText(args.bodyStyle) .cssText(args.style) else -- regular navobx - bodyStyle and style will be applied to the wrapper table tbl .addClass('navbox-inner') .css('background', 'transparent') .css('color', 'inherit') end tbl.cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = HtmlBuilder.create() if border == 'subgroup' or border == 'child' then res .tag('/div', {unclosed = true}) .done() .node(tbl) .tag('div', {unclosed = true}) elseif border ~= 'none' then res .tag('table') .attr('cellspacing', 0) .addClass('navbox') .css('border-spacing', 0) .cssText(args.bodystyle) .cssText(args.style) .tag('tr') .tag('td') .css('padding', '2px') .node(tbl) else -- border == 'none' res.node(tbl) end -- TODO: add tracking categories return tostring(res) end function p.navbox(frame) return p._navbox(frame:getParent().args) end return p rqw3ardeq893frmbk8ymmzv6y1s7pf9 9856 9855 2013-03-06T09:23:51Z w>Toohool 0 clarify 9856 Scribunto text/plain -- -- This module will implement {{Navbox}} -- local p = {} local HtmlBuilder = require('Module:HtmlBuilder') local args local tableRowAdded = false local border local listnums = {} function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl .tag('tr') .css('height', '2px') .tag('td') end tableRowAdded = true return tbl.tag('tr') end -- -- Title row -- function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow .tag('th') .attr('scope', 'row') .addClass('navbox-group') .addClass(args.titlegroupclass) .cssText(args.basestyle) .cssText(args.groupstyle) .cssText(args.titlegroupstyle) .wikitext(args.titlegroup) end local titleCell = titleRow.tag('th').attr('scope', 'col') if args.titlegroup then titleCell .css('border-left', '2px solid #fdfdfd') .css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell .cssText(args.basestyle) .cssText(args.titlestyle) .addClass('navbox-title') .attr('colspan', titleColspan) renderNavBar(titleCell) titleCell .tag('div') .addClass(args.titleclass) .css('font-size', '110%') .newline() .wikitext(args.title) end function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = 'right' end elseif args.navbar == 'plain' or args.navbar == 'off' or (not args.name and (border == 'subgroup' or border == 'child' or border == 'none')) then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' then spacerSide = 'left' end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = 'right' end if args.name then titleCell.wikitext(mw.getCurrentFrame():expandTemplate{ title = 'navbar', args = { args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' }}) else titleCell .tag('span') .addClass('error') .css('float', 'left') .css('white-space', 'nowrap') .wikitext('Error: No name provided') end end -- Render the spacer div. if spacerSide then titleCell .tag('span') .css('float', spacerSide) .css('width', '6em') .wikitext('&nbsp;') end end -- -- Above/Below rows -- function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.aboveclass) .cssText(args.basestyle) .cssText(args.abovestyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.above) end function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.belowclass) .cssText(args.basestyle) .cssText(args.belowstyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.below) end function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end -- -- List rows -- function renderListRow(tbl, listnum) local row = addTableRow(tbl) if listnum == 1 and args.imageleft then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 2px 0px 0px') .cssText(args.imageleftstyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.imageleft) end if args['group' .. listnum] then local groupCell = row.tag('th') groupCell .attr('scope', 'row') .addClass('navbox-group') .addClass(args.groupclass) .cssText(args.basestyle) if args.groupwidth then groupCell.css('width', args.groupwidth) end groupCell .cssText(args.groupstyle) .cssText(args['group' .. listnum .. 'style']) .wikitext(args['group' .. listnum]) end local listCell = row.tag('td') if args['group' .. listnum] then listCell .css('text-align', 'left') .css('border-left-width', '2px') .css('border-left-style', 'solid') else listCell.attr('colspan', 2) end if not args.groupwidth then listCell.css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell .css('padding', '0px') .cssText(args.liststyle) .cssText(rowstyle) .cssText(args['list' .. listnum .. 'style']) .addClass('navbox-list') .addClass('navbox-' .. evenOdd) .addClass(args.listclass) .tag('div') .css('padding', args.listpadding or '0em 0.25em') .newline() .wikitext(args['list' .. listnum]) if listnum == 1 and args.image then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 0px 0px 2px') .cssText(args.imagestyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.image) end end -- -- Main navbox tables -- function renderMainTable() local tbl = HtmlBuilder.create('table') .attr('cellspacing', 0) .addClass('nowraplinks') .addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl .addClass('collapsible') .addClass(args.state or 'autocollapse') end tbl.css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl .addClass('navbox-subgroup') .cssText(args.bodyStyle) .cssText(args.style) else -- regular navobx - bodyStyle and style will be applied to the wrapper table tbl .addClass('navbox-inner') .css('background', 'transparent') .css('color', 'inherit') end tbl.cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = HtmlBuilder.create() if border == 'none' then res.node(tbl) elseif border == 'subgroup' or border == 'child' then res .tag('/div', {unclosed = true}) .done() .node(tbl) .tag('div', {unclosed = true}) else res .tag('table') .attr('cellspacing', 0) .addClass('navbox') .css('border-spacing', 0) .cssText(args.bodystyle) .cssText(args.style) .tag('tr') .tag('td') .css('padding', '2px') .node(tbl) end -- TODO: add tracking categories return tostring(res) end function p.navbox(frame) return p._navbox(frame:getParent().args) end return p 8khkzylhllm6a1l4kpszbz76orb1p6p 9857 9856 2013-03-06T21:42:57Z w>Toohool 0 add comment 9857 Scribunto text/plain -- -- This module will implement {{Navbox}} -- local p = {} local HtmlBuilder = require('Module:HtmlBuilder') local args local tableRowAdded = false local border local listnums = {} function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl .tag('tr') .css('height', '2px') .tag('td') end tableRowAdded = true return tbl.tag('tr') end -- -- Title row -- function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow .tag('th') .attr('scope', 'row') .addClass('navbox-group') .addClass(args.titlegroupclass) .cssText(args.basestyle) .cssText(args.groupstyle) .cssText(args.titlegroupstyle) .wikitext(args.titlegroup) end local titleCell = titleRow.tag('th').attr('scope', 'col') if args.titlegroup then titleCell .css('border-left', '2px solid #fdfdfd') .css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell .cssText(args.basestyle) .cssText(args.titlestyle) .addClass('navbox-title') .attr('colspan', titleColspan) renderNavBar(titleCell) titleCell .tag('div') .addClass(args.titleclass) .css('font-size', '110%') .newline() .wikitext(args.title) end function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = 'right' end elseif args.navbar == 'plain' or args.navbar == 'off' or (not args.name and (border == 'subgroup' or border == 'child' or border == 'none')) then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' then spacerSide = 'left' end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = 'right' end if args.name then titleCell.wikitext(mw.getCurrentFrame():expandTemplate{ title = 'navbar', args = { args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' }}) else titleCell .tag('span') .addClass('error') .css('float', 'left') .css('white-space', 'nowrap') .wikitext('Error: No name provided') end end -- Render the spacer div. if spacerSide then titleCell .tag('span') .css('float', spacerSide) .css('width', '6em') .wikitext('&nbsp;') end end -- -- Above/Below rows -- function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.aboveclass) .cssText(args.basestyle) .cssText(args.abovestyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.above) end function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.belowclass) .cssText(args.basestyle) .cssText(args.belowstyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.below) end function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end -- -- List rows -- function renderListRow(tbl, listnum) local row = addTableRow(tbl) if listnum == 1 and args.imageleft then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 2px 0px 0px') .cssText(args.imageleftstyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.imageleft) end if args['group' .. listnum] then local groupCell = row.tag('th') groupCell .attr('scope', 'row') .addClass('navbox-group') .addClass(args.groupclass) .cssText(args.basestyle) if args.groupwidth then groupCell.css('width', args.groupwidth) end groupCell .cssText(args.groupstyle) .cssText(args['group' .. listnum .. 'style']) .wikitext(args['group' .. listnum]) end local listCell = row.tag('td') if args['group' .. listnum] then listCell .css('text-align', 'left') .css('border-left-width', '2px') .css('border-left-style', 'solid') else listCell.attr('colspan', 2) end if not args.groupwidth then listCell.css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell .css('padding', '0px') .cssText(args.liststyle) .cssText(rowstyle) .cssText(args['list' .. listnum .. 'style']) .addClass('navbox-list') .addClass('navbox-' .. evenOdd) .addClass(args.listclass) .tag('div') .css('padding', args.listpadding or '0em 0.25em') .newline() .wikitext(args['list' .. listnum]) if listnum == 1 and args.image then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 0px 0px 2px') .cssText(args.imagestyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.image) end end -- -- Main navbox tables -- function renderMainTable() local tbl = HtmlBuilder.create('table') .attr('cellspacing', 0) .addClass('nowraplinks') .addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl .addClass('collapsible') .addClass(args.state or 'autocollapse') end tbl.css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl .addClass('navbox-subgroup') .cssText(args.bodyStyle) .cssText(args.style) else -- regular navobx - bodyStyle and style will be applied to the wrapper table tbl .addClass('navbox-inner') .css('background', 'transparent') .css('color', 'inherit') end tbl.cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = HtmlBuilder.create() if border == 'none' then res.node(tbl) elseif border == 'subgroup' or border == 'child' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res .tag('/div', {unclosed = true}) .done() .node(tbl) .tag('div', {unclosed = true}) else res .tag('table') .attr('cellspacing', 0) .addClass('navbox') .css('border-spacing', 0) .cssText(args.bodystyle) .cssText(args.style) .tag('tr') .tag('td') .css('padding', '2px') .node(tbl) end -- TODO: add tracking categories return tostring(res) end function p.navbox(frame) return p._navbox(frame:getParent().args) end return p fq87x10af680ssdxiqeopx9vyqee6gs 9858 9857 2013-03-06T22:18:18Z w>Toohool 0 add tracking categories 9858 Scribunto text/plain -- -- This module will implement {{Navbox}} -- local p = {} local HtmlBuilder = require('Module:HtmlBuilder') local args local frame local tableRowAdded = false local border local listnums = {} function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl .tag('tr') .css('height', '2px') .tag('td') end tableRowAdded = true return tbl.tag('tr') end -- -- Title row -- function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow .tag('th') .attr('scope', 'row') .addClass('navbox-group') .addClass(args.titlegroupclass) .cssText(args.basestyle) .cssText(args.groupstyle) .cssText(args.titlegroupstyle) .wikitext(args.titlegroup) end local titleCell = titleRow.tag('th').attr('scope', 'col') if args.titlegroup then titleCell .css('border-left', '2px solid #fdfdfd') .css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell .cssText(args.basestyle) .cssText(args.titlestyle) .addClass('navbox-title') .attr('colspan', titleColspan) renderNavBar(titleCell) titleCell .tag('div') .addClass(args.titleclass) .css('font-size', '110%') .newline() .wikitext(args.title) end function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = 'right' end elseif args.navbar == 'plain' or args.navbar == 'off' or (not args.name and (border == 'subgroup' or border == 'child' or border == 'none')) then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' then spacerSide = 'left' end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = 'right' end if args.name then titleCell.wikitext(mw.getCurrentFrame():expandTemplate{ title = 'navbar', args = { args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' }}) else titleCell .tag('span') .addClass('error') .css('float', 'left') .css('white-space', 'nowrap') .wikitext('Error: No name provided') end end -- Render the spacer div. if spacerSide then titleCell .tag('span') .css('float', spacerSide) .css('width', '6em') .wikitext('&nbsp;') end end -- -- Above/Below rows -- function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.aboveclass) .cssText(args.basestyle) .cssText(args.abovestyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.above) end function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.belowclass) .cssText(args.basestyle) .cssText(args.belowstyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.below) end function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end -- -- List rows -- function renderListRow(tbl, listnum) local row = addTableRow(tbl) if listnum == 1 and args.imageleft then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 2px 0px 0px') .cssText(args.imageleftstyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.imageleft) end if args['group' .. listnum] then local groupCell = row.tag('th') groupCell .attr('scope', 'row') .addClass('navbox-group') .addClass(args.groupclass) .cssText(args.basestyle) if args.groupwidth then groupCell.css('width', args.groupwidth) end groupCell .cssText(args.groupstyle) .cssText(args['group' .. listnum .. 'style']) .wikitext(args['group' .. listnum]) end local listCell = row.tag('td') if args['group' .. listnum] then listCell .css('text-align', 'left') .css('border-left-width', '2px') .css('border-left-style', 'solid') else listCell.attr('colspan', 2) end if not args.groupwidth then listCell.css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell .css('padding', '0px') .cssText(args.liststyle) .cssText(rowstyle) .cssText(args['list' .. listnum .. 'style']) .addClass('navbox-list') .addClass('navbox-' .. evenOdd) .addClass(args.listclass) .tag('div') .css('padding', args.listpadding or '0em 0.25em') .newline() .wikitext(args['list' .. listnum]) if listnum == 1 and args.image then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 0px 0px 2px') .cssText(args.imagestyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.image) end end -- -- Tracking categories -- function renderTrackingCategories(builder) if not frame then return end local s = frame:preprocess('{{#ifeq:{{NAMESPACE}}|{{ns:10}}|1|0}}{{SUBPAGENAME}}') if mw.ustring.sub(s, 1, 1) == '0' then return end -- not in template space local subpage = mw.ustring.lower(mw.ustring.sub(s, 2)) if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for i, cat in ipairs(getTrackingCategories()) do builder.wikitext('[[Category:' .. cat .. ']]') end end function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasCustomListSpacing() then table.insert(cats, 'Navigational boxes with custom list spacing') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colors') end end function needsHorizontalLists() if border == 'child' or border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = {'plainlist', 'hlist', 'hlist hnum', 'hlist vcard', 'vcard hlist'} for i, cls in ipairs(listClasses) do if args.listclass == cls or args.bodyclass == cls then return false end end return true end function hasCustomListSpacing() return args.liststyle == 'padding: 0.25em 0; line-height: 1.3em;' or args.liststyle == 'padding:0.25em 0; line-height:1.4em; width:auto;' or args.liststyle == 'padding:0.4em 0; line-height:1.4em;' end function hasBackgroundColors() return args.titlestyle or args.groupstyle end -- -- Main navbox tables -- function renderMainTable() local tbl = HtmlBuilder.create('table') .attr('cellspacing', 0) .addClass('nowraplinks') .addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl .addClass('collapsible') .addClass(args.state or 'autocollapse') end tbl.css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl .addClass('navbox-subgroup') .cssText(args.bodyStyle) .cssText(args.style) else -- regular navobx - bodyStyle and style will be applied to the wrapper table tbl .addClass('navbox-inner') .css('background', 'transparent') .css('color', 'inherit') end tbl.cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = HtmlBuilder.create() if border == 'none' then res.node(tbl) elseif border == 'subgroup' or border == 'child' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res .tag('/div', {unclosed = true}) .done() .node(tbl) .tag('div', {unclosed = true}) else res .tag('table') .attr('cellspacing', 0) .addClass('navbox') .css('border-spacing', 0) .cssText(args.bodystyle) .cssText(args.style) .tag('tr') .tag('td') .css('padding', '2px') .node(tbl) end renderTrackingCategories(res) return tostring(res) end function p.navbox(frm) frame = frm return p._navbox(frame:getParent().args) end return p j938lrckva8289drjg8r6v49r72d3w9 9859 9858 2013-03-06T22:20:08Z w>Toohool 0 9859 Scribunto text/plain -- -- This module will implement {{Navbox}} -- local p = {} local HtmlBuilder = require('Module:HtmlBuilder') local args local frame local tableRowAdded = false local border local listnums = {} function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl .tag('tr') .css('height', '2px') .tag('td') end tableRowAdded = true return tbl.tag('tr') end -- -- Title row -- function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow .tag('th') .attr('scope', 'row') .addClass('navbox-group') .addClass(args.titlegroupclass) .cssText(args.basestyle) .cssText(args.groupstyle) .cssText(args.titlegroupstyle) .wikitext(args.titlegroup) end local titleCell = titleRow.tag('th').attr('scope', 'col') if args.titlegroup then titleCell .css('border-left', '2px solid #fdfdfd') .css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell .cssText(args.basestyle) .cssText(args.titlestyle) .addClass('navbox-title') .attr('colspan', titleColspan) renderNavBar(titleCell) titleCell .tag('div') .addClass(args.titleclass) .css('font-size', '110%') .newline() .wikitext(args.title) end function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = 'right' end elseif args.navbar == 'plain' or args.navbar == 'off' or (not args.name and (border == 'subgroup' or border == 'child' or border == 'none')) then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' then spacerSide = 'left' end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = 'right' end if args.name then titleCell.wikitext(mw.getCurrentFrame():expandTemplate{ title = 'navbar', args = { args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' }}) else titleCell .tag('span') .addClass('error') .css('float', 'left') .css('white-space', 'nowrap') .wikitext('Error: No name provided') end end -- Render the spacer div. if spacerSide then titleCell .tag('span') .css('float', spacerSide) .css('width', '6em') .wikitext('&nbsp;') end end -- -- Above/Below rows -- function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.aboveclass) .cssText(args.basestyle) .cssText(args.abovestyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.above) end function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.belowclass) .cssText(args.basestyle) .cssText(args.belowstyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.below) end function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end -- -- List rows -- function renderListRow(tbl, listnum) local row = addTableRow(tbl) if listnum == 1 and args.imageleft then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 2px 0px 0px') .cssText(args.imageleftstyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.imageleft) end if args['group' .. listnum] then local groupCell = row.tag('th') groupCell .attr('scope', 'row') .addClass('navbox-group') .addClass(args.groupclass) .cssText(args.basestyle) if args.groupwidth then groupCell.css('width', args.groupwidth) end groupCell .cssText(args.groupstyle) .cssText(args['group' .. listnum .. 'style']) .wikitext(args['group' .. listnum]) end local listCell = row.tag('td') if args['group' .. listnum] then listCell .css('text-align', 'left') .css('border-left-width', '2px') .css('border-left-style', 'solid') else listCell.attr('colspan', 2) end if not args.groupwidth then listCell.css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell .css('padding', '0px') .cssText(args.liststyle) .cssText(rowstyle) .cssText(args['list' .. listnum .. 'style']) .addClass('navbox-list') .addClass('navbox-' .. evenOdd) .addClass(args.listclass) .tag('div') .css('padding', args.listpadding or '0em 0.25em') .newline() .wikitext(args['list' .. listnum]) if listnum == 1 and args.image then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 0px 0px 2px') .cssText(args.imagestyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.image) end end -- -- Tracking categories -- function renderTrackingCategories(builder) if not frame then return end local s = frame:preprocess('{{#ifeq:{{NAMESPACE}}|{{ns:10}}|1|0}}{{SUBPAGENAME}}') if mw.ustring.sub(s, 1, 1) == '0' then return end -- not in template space local subpage = mw.ustring.lower(mw.ustring.sub(s, 2)) if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for i, cat in ipairs(getTrackingCategories()) do builder.wikitext('[[Category:' .. cat .. ']]') end end function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasCustomListSpacing() then table.insert(cats, 'Navigational boxes with custom list spacing') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colors') end return cats end function needsHorizontalLists() if border == 'child' or border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = {'plainlist', 'hlist', 'hlist hnum', 'hlist vcard', 'vcard hlist'} for i, cls in ipairs(listClasses) do if args.listclass == cls or args.bodyclass == cls then return false end end return true end function hasCustomListSpacing() return args.liststyle == 'padding: 0.25em 0; line-height: 1.3em;' or args.liststyle == 'padding:0.25em 0; line-height:1.4em; width:auto;' or args.liststyle == 'padding:0.4em 0; line-height:1.4em;' end function hasBackgroundColors() return args.titlestyle or args.groupstyle end -- -- Main navbox tables -- function renderMainTable() local tbl = HtmlBuilder.create('table') .attr('cellspacing', 0) .addClass('nowraplinks') .addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl .addClass('collapsible') .addClass(args.state or 'autocollapse') end tbl.css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl .addClass('navbox-subgroup') .cssText(args.bodyStyle) .cssText(args.style) else -- regular navobx - bodyStyle and style will be applied to the wrapper table tbl .addClass('navbox-inner') .css('background', 'transparent') .css('color', 'inherit') end tbl.cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = HtmlBuilder.create() if border == 'none' then res.node(tbl) elseif border == 'subgroup' or border == 'child' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res .tag('/div', {unclosed = true}) .done() .node(tbl) .tag('div', {unclosed = true}) else res .tag('table') .attr('cellspacing', 0) .addClass('navbox') .css('border-spacing', 0) .cssText(args.bodystyle) .cssText(args.style) .tag('tr') .tag('td') .css('padding', '2px') .node(tbl) end renderTrackingCategories(res) return tostring(res) end function p.navbox(frm) frame = frm return p._navbox(frame:getParent().args) end return p bseii7fx42t6ygvgznui0g2q86mswvp 9860 9859 2013-03-07T00:19:18Z w>Toohool 0 testing tracking categories 9860 Scribunto text/plain -- -- This module will implement {{Navbox}} -- local p = {} local HtmlBuilder = require('Module:HtmlBuilder') local args local frame local tableRowAdded = false local border local listnums = {} function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl .tag('tr') .css('height', '2px') .tag('td') end tableRowAdded = true return tbl.tag('tr') end -- -- Title row -- function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow .tag('th') .attr('scope', 'row') .addClass('navbox-group') .addClass(args.titlegroupclass) .cssText(args.basestyle) .cssText(args.groupstyle) .cssText(args.titlegroupstyle) .wikitext(args.titlegroup) end local titleCell = titleRow.tag('th').attr('scope', 'col') if args.titlegroup then titleCell .css('border-left', '2px solid #fdfdfd') .css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell .cssText(args.basestyle) .cssText(args.titlestyle) .addClass('navbox-title') .attr('colspan', titleColspan) renderNavBar(titleCell) titleCell .tag('div') .addClass(args.titleclass) .css('font-size', '110%') .newline() .wikitext(args.title) end function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = 'right' end elseif args.navbar == 'plain' or args.navbar == 'off' or (not args.name and (border == 'subgroup' or border == 'child' or border == 'none')) then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' then spacerSide = 'left' end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = 'right' end if args.name then titleCell.wikitext(mw.getCurrentFrame():expandTemplate{ title = 'navbar', args = { args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' }}) else titleCell .tag('span') .addClass('error') .css('float', 'left') .css('white-space', 'nowrap') .wikitext('Error: No name provided') end end -- Render the spacer div. if spacerSide then titleCell .tag('span') .css('float', spacerSide) .css('width', '6em') .wikitext('&nbsp;') end end -- -- Above/Below rows -- function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.aboveclass) .cssText(args.basestyle) .cssText(args.abovestyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.above) end function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.belowclass) .cssText(args.basestyle) .cssText(args.belowstyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.below) end function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end -- -- List rows -- function renderListRow(tbl, listnum) local row = addTableRow(tbl) if listnum == 1 and args.imageleft then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 2px 0px 0px') .cssText(args.imageleftstyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.imageleft) end if args['group' .. listnum] then local groupCell = row.tag('th') groupCell .attr('scope', 'row') .addClass('navbox-group') .addClass(args.groupclass) .cssText(args.basestyle) if args.groupwidth then groupCell.css('width', args.groupwidth) end groupCell .cssText(args.groupstyle) .cssText(args['group' .. listnum .. 'style']) .wikitext(args['group' .. listnum]) end local listCell = row.tag('td') if args['group' .. listnum] then listCell .css('text-align', 'left') .css('border-left-width', '2px') .css('border-left-style', 'solid') else listCell.attr('colspan', 2) end if not args.groupwidth then listCell.css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell .css('padding', '0px') .cssText(args.liststyle) .cssText(rowstyle) .cssText(args['list' .. listnum .. 'style']) .addClass('navbox-list') .addClass('navbox-' .. evenOdd) .addClass(args.listclass) .tag('div') .css('padding', args.listpadding or '0em 0.25em') .newline() .wikitext(args['list' .. listnum]) if listnum == 1 and args.image then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 0px 0px 2px') .cssText(args.imagestyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.image) end end -- -- Tracking categories -- function renderTrackingCategories(builder) if not frame then return end local s = frame:preprocess('{{#ifeq:{{NAMESPACE}}|{{ns:10}}|1|0}}{{SUBPAGENAME}}') if mw.ustring.sub(s, 1, 1) == '0' then return end -- not in template space local subpage = mw.ustring.lower(mw.ustring.sub(s, 2)) if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for i, cat in ipairs(getTrackingCategories()) do builder.wikitext('[[Category:' .. cat .. ']]') end end function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasCustomListSpacing() then table.insert(cats, 'Navigational boxes with custom list spacing') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colors') end return cats end function needsHorizontalLists() if border == 'child' or border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = {'plainlist', 'hlist', 'hlist hnum', 'hlist vcard', 'vcard hlist'} for i, cls in ipairs(listClasses) do if args.listclass == cls or args.bodyclass == cls then return false end end return true end function hasCustomListSpacing() return args.liststyle == 'padding: 0.25em 0; line-height: 1.3em;' or args.liststyle == 'padding:0.25em 0; line-height:1.4em; width:auto;' or args.liststyle == 'padding:0.4em 0; line-height:1.4em;' end function hasBackgroundColors() return args.titlestyle or args.groupstyle end -- -- Main navbox tables -- function renderMainTable() local tbl = HtmlBuilder.create('table') .attr('cellspacing', 0) .addClass('nowraplinks') .addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl .addClass('collapsible') .addClass(args.state or 'autocollapse') end tbl.css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl .addClass('navbox-subgroup') .cssText(args.bodyStyle) .cssText(args.style) else -- regular navobx - bodyStyle and style will be applied to the wrapper table tbl .addClass('navbox-inner') .css('background', 'transparent') .css('color', 'inherit') end tbl.cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = HtmlBuilder.create() if border == 'none' then res.node(tbl) elseif border == 'subgroup' or border == 'child' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res .tag('/div', {unclosed = true}) .done() .node(tbl) .tag('div', {unclosed = true}) else res .tag('table') .attr('cellspacing', 0) .addClass('navbox') .css('border-spacing', 0) .cssText(args.bodystyle) .cssText(args.style) .tag('tr') .tag('td') .css('padding', '2px') .node(tbl) end --renderTrackingCategories(res) return tostring(res) end function p.navbox(frm) frame = frm return p._navbox(frame:getParent().args) end return p o87dmcbxnry8maqhhwd3iytdsuxhltx 9861 9860 2013-03-07T00:24:39Z w>Toohool 0 testing tracking categories 9861 Scribunto text/plain -- -- This module will implement {{Navbox}} -- local p = {} local HtmlBuilder = require('Module:HtmlBuilder') local args local frame local tableRowAdded = false local border local listnums = {} function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl .tag('tr') .css('height', '2px') .tag('td') end tableRowAdded = true return tbl.tag('tr') end -- -- Title row -- function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow .tag('th') .attr('scope', 'row') .addClass('navbox-group') .addClass(args.titlegroupclass) .cssText(args.basestyle) .cssText(args.groupstyle) .cssText(args.titlegroupstyle) .wikitext(args.titlegroup) end local titleCell = titleRow.tag('th').attr('scope', 'col') if args.titlegroup then titleCell .css('border-left', '2px solid #fdfdfd') .css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell .cssText(args.basestyle) .cssText(args.titlestyle) .addClass('navbox-title') .attr('colspan', titleColspan) renderNavBar(titleCell) titleCell .tag('div') .addClass(args.titleclass) .css('font-size', '110%') .newline() .wikitext(args.title) end function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = 'right' end elseif args.navbar == 'plain' or args.navbar == 'off' or (not args.name and (border == 'subgroup' or border == 'child' or border == 'none')) then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' then spacerSide = 'left' end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = 'right' end if args.name then titleCell.wikitext(mw.getCurrentFrame():expandTemplate{ title = 'navbar', args = { args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' }}) else titleCell .tag('span') .addClass('error') .css('float', 'left') .css('white-space', 'nowrap') .wikitext('Error: No name provided') end end -- Render the spacer div. if spacerSide then titleCell .tag('span') .css('float', spacerSide) .css('width', '6em') .wikitext('&nbsp;') end end -- -- Above/Below rows -- function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.aboveclass) .cssText(args.basestyle) .cssText(args.abovestyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.above) end function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.belowclass) .cssText(args.basestyle) .cssText(args.belowstyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.below) end function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end -- -- List rows -- function renderListRow(tbl, listnum) local row = addTableRow(tbl) if listnum == 1 and args.imageleft then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 2px 0px 0px') .cssText(args.imageleftstyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.imageleft) end if args['group' .. listnum] then local groupCell = row.tag('th') groupCell .attr('scope', 'row') .addClass('navbox-group') .addClass(args.groupclass) .cssText(args.basestyle) if args.groupwidth then groupCell.css('width', args.groupwidth) end groupCell .cssText(args.groupstyle) .cssText(args['group' .. listnum .. 'style']) .wikitext(args['group' .. listnum]) end local listCell = row.tag('td') if args['group' .. listnum] then listCell .css('text-align', 'left') .css('border-left-width', '2px') .css('border-left-style', 'solid') else listCell.attr('colspan', 2) end if not args.groupwidth then listCell.css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell .css('padding', '0px') .cssText(args.liststyle) .cssText(rowstyle) .cssText(args['list' .. listnum .. 'style']) .addClass('navbox-list') .addClass('navbox-' .. evenOdd) .addClass(args.listclass) .tag('div') .css('padding', args.listpadding or '0em 0.25em') .newline() .wikitext(args['list' .. listnum]) if listnum == 1 and args.image then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 0px 0px 2px') .cssText(args.imagestyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.image) end end -- -- Tracking categories -- function renderTrackingCategories(builder) if not frame then return end local s = frame:preprocess('{{#ifeq:{{NAMESPACE}}|{{ns:10}}|1|0}}{{SUBPAGENAME}}') if mw.ustring.sub(s, 1, 1) == '0' then return end -- not in template space local subpage = mw.ustring.lower(mw.ustring.sub(s, 2)) --if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for i, cat in ipairs(getTrackingCategories()) do builder.wikitext('[[:Category:' .. cat .. ']]') end end function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasCustomListSpacing() then table.insert(cats, 'Navigational boxes with custom list spacing') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end return cats end function needsHorizontalLists() if border == 'child' or border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = {'plainlist', 'hlist', 'hlist hnum', 'hlist vcard', 'vcard hlist'} for i, cls in ipairs(listClasses) do if args.listclass == cls or args.bodyclass == cls then return false end end return true end function hasCustomListSpacing() return args.liststyle == 'padding: 0.25em 0; line-height: 1.3em;' or args.liststyle == 'padding:0.25em 0; line-height:1.4em; width:auto;' or args.liststyle == 'padding:0.4em 0; line-height:1.4em;' end function hasBackgroundColors() return args.titlestyle or args.groupstyle end -- -- Main navbox tables -- function renderMainTable() local tbl = HtmlBuilder.create('table') .attr('cellspacing', 0) .addClass('nowraplinks') .addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl .addClass('collapsible') .addClass(args.state or 'autocollapse') end tbl.css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl .addClass('navbox-subgroup') .cssText(args.bodyStyle) .cssText(args.style) else -- regular navobx - bodyStyle and style will be applied to the wrapper table tbl .addClass('navbox-inner') .css('background', 'transparent') .css('color', 'inherit') end tbl.cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = HtmlBuilder.create() if border == 'none' then res.node(tbl) elseif border == 'subgroup' or border == 'child' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res .tag('/div', {unclosed = true}) .done() .node(tbl) .tag('div', {unclosed = true}) else res .tag('table') .attr('cellspacing', 0) .addClass('navbox') .css('border-spacing', 0) .cssText(args.bodystyle) .cssText(args.style) .tag('tr') .tag('td') .css('padding', '2px') .node(tbl) end renderTrackingCategories(res) return tostring(res) end function p.navbox(frm) frame = frm return p._navbox(frame:getParent().args) end return p 7dgrs1x8ljcsoa8iey67z3zocujmi2z 9862 9861 2013-03-07T00:27:45Z w>Toohool 0 undo test 9862 Scribunto text/plain -- -- This module will implement {{Navbox}} -- local p = {} local HtmlBuilder = require('Module:HtmlBuilder') local args local frame local tableRowAdded = false local border local listnums = {} function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl .tag('tr') .css('height', '2px') .tag('td') end tableRowAdded = true return tbl.tag('tr') end -- -- Title row -- function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow .tag('th') .attr('scope', 'row') .addClass('navbox-group') .addClass(args.titlegroupclass) .cssText(args.basestyle) .cssText(args.groupstyle) .cssText(args.titlegroupstyle) .wikitext(args.titlegroup) end local titleCell = titleRow.tag('th').attr('scope', 'col') if args.titlegroup then titleCell .css('border-left', '2px solid #fdfdfd') .css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell .cssText(args.basestyle) .cssText(args.titlestyle) .addClass('navbox-title') .attr('colspan', titleColspan) renderNavBar(titleCell) titleCell .tag('div') .addClass(args.titleclass) .css('font-size', '110%') .newline() .wikitext(args.title) end function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = 'right' end elseif args.navbar == 'plain' or args.navbar == 'off' or (not args.name and (border == 'subgroup' or border == 'child' or border == 'none')) then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' then spacerSide = 'left' end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = 'right' end if args.name then titleCell.wikitext(mw.getCurrentFrame():expandTemplate{ title = 'navbar', args = { args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' }}) else titleCell .tag('span') .addClass('error') .css('float', 'left') .css('white-space', 'nowrap') .wikitext('Error: No name provided') end end -- Render the spacer div. if spacerSide then titleCell .tag('span') .css('float', spacerSide) .css('width', '6em') .wikitext('&nbsp;') end end -- -- Above/Below rows -- function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.aboveclass) .cssText(args.basestyle) .cssText(args.abovestyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.above) end function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.belowclass) .cssText(args.basestyle) .cssText(args.belowstyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.below) end function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end -- -- List rows -- function renderListRow(tbl, listnum) local row = addTableRow(tbl) if listnum == 1 and args.imageleft then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 2px 0px 0px') .cssText(args.imageleftstyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.imageleft) end if args['group' .. listnum] then local groupCell = row.tag('th') groupCell .attr('scope', 'row') .addClass('navbox-group') .addClass(args.groupclass) .cssText(args.basestyle) if args.groupwidth then groupCell.css('width', args.groupwidth) end groupCell .cssText(args.groupstyle) .cssText(args['group' .. listnum .. 'style']) .wikitext(args['group' .. listnum]) end local listCell = row.tag('td') if args['group' .. listnum] then listCell .css('text-align', 'left') .css('border-left-width', '2px') .css('border-left-style', 'solid') else listCell.attr('colspan', 2) end if not args.groupwidth then listCell.css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell .css('padding', '0px') .cssText(args.liststyle) .cssText(rowstyle) .cssText(args['list' .. listnum .. 'style']) .addClass('navbox-list') .addClass('navbox-' .. evenOdd) .addClass(args.listclass) .tag('div') .css('padding', args.listpadding or '0em 0.25em') .newline() .wikitext(args['list' .. listnum]) if listnum == 1 and args.image then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 0px 0px 2px') .cssText(args.imagestyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.image) end end -- -- Tracking categories -- function renderTrackingCategories(builder) if not frame then return end local s = frame:preprocess('{{#ifeq:{{NAMESPACE}}|{{ns:10}}|1|0}}{{SUBPAGENAME}}') if mw.ustring.sub(s, 1, 1) == '0' then return end -- not in template space local subpage = mw.ustring.lower(mw.ustring.sub(s, 2)) if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for i, cat in ipairs(getTrackingCategories()) do builder.wikitext('[[Category:' .. cat .. ']]') end end function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasCustomListSpacing() then table.insert(cats, 'Navigational boxes with custom list spacing') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end return cats end function needsHorizontalLists() if border == 'child' or border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = {'plainlist', 'hlist', 'hlist hnum', 'hlist vcard', 'vcard hlist'} for i, cls in ipairs(listClasses) do if args.listclass == cls or args.bodyclass == cls then return false end end return true end function hasCustomListSpacing() return args.liststyle == 'padding: 0.25em 0; line-height: 1.3em;' or args.liststyle == 'padding:0.25em 0; line-height:1.4em; width:auto;' or args.liststyle == 'padding:0.4em 0; line-height:1.4em;' end function hasBackgroundColors() return args.titlestyle or args.groupstyle end -- -- Main navbox tables -- function renderMainTable() local tbl = HtmlBuilder.create('table') .attr('cellspacing', 0) .addClass('nowraplinks') .addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl .addClass('collapsible') .addClass(args.state or 'autocollapse') end tbl.css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl .addClass('navbox-subgroup') .cssText(args.bodyStyle) .cssText(args.style) else -- regular navobx - bodyStyle and style will be applied to the wrapper table tbl .addClass('navbox-inner') .css('background', 'transparent') .css('color', 'inherit') end tbl.cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = HtmlBuilder.create() if border == 'none' then res.node(tbl) elseif border == 'subgroup' or border == 'child' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res .tag('/div', {unclosed = true}) .done() .node(tbl) .tag('div', {unclosed = true}) else res .tag('table') .attr('cellspacing', 0) .addClass('navbox') .css('border-spacing', 0) .cssText(args.bodystyle) .cssText(args.style) .tag('tr') .tag('td') .css('padding', '2px') .node(tbl) end renderTrackingCategories(res) return tostring(res) end function p.navbox(frm) frame = frm return p._navbox(frame:getParent().args) end return p od0srh1mkpuh9hz6qminteksxvtl4bk 9863 9862 2013-03-07T02:26:38Z w>Toohool 0 fix for empty params 9863 Scribunto text/plain -- -- This module will implement {{Navbox}} -- local p = {} local HtmlBuilder = require('Module:HtmlBuilder') local args local frame local tableRowAdded = false local border local listnums = {} function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl .tag('tr') .css('height', '2px') .tag('td') end tableRowAdded = true return tbl.tag('tr') end -- -- Title row -- function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow .tag('th') .attr('scope', 'row') .addClass('navbox-group') .addClass(args.titlegroupclass) .cssText(args.basestyle) .cssText(args.groupstyle) .cssText(args.titlegroupstyle) .wikitext(args.titlegroup) end local titleCell = titleRow.tag('th').attr('scope', 'col') if args.titlegroup then titleCell .css('border-left', '2px solid #fdfdfd') .css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell .cssText(args.basestyle) .cssText(args.titlestyle) .addClass('navbox-title') .attr('colspan', titleColspan) renderNavBar(titleCell) titleCell .tag('div') .addClass(args.titleclass) .css('font-size', '110%') .newline() .wikitext(args.title) end function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = 'right' end elseif args.navbar == 'plain' or args.navbar == 'off' or (not args.name and (border == 'subgroup' or border == 'child' or border == 'none')) then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' then spacerSide = 'left' end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = 'right' end if args.name then titleCell.wikitext(mw.getCurrentFrame():expandTemplate{ title = 'navbar', args = { args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' }}) else titleCell .tag('span') .addClass('error') .css('float', 'left') .css('white-space', 'nowrap') .wikitext('Error: No name provided') end end -- Render the spacer div. if spacerSide then titleCell .tag('span') .css('float', spacerSide) .css('width', '6em') .wikitext('&nbsp;') end end -- -- Above/Below rows -- function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.aboveclass) .cssText(args.basestyle) .cssText(args.abovestyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.above) end function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.belowclass) .cssText(args.basestyle) .cssText(args.belowstyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.below) end function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end -- -- List rows -- function renderListRow(tbl, listnum) local row = addTableRow(tbl) if listnum == 1 and args.imageleft then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 2px 0px 0px') .cssText(args.imageleftstyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.imageleft) end if args['group' .. listnum] then local groupCell = row.tag('th') groupCell .attr('scope', 'row') .addClass('navbox-group') .addClass(args.groupclass) .cssText(args.basestyle) if args.groupwidth then groupCell.css('width', args.groupwidth) end groupCell .cssText(args.groupstyle) .cssText(args['group' .. listnum .. 'style']) .wikitext(args['group' .. listnum]) end local listCell = row.tag('td') if args['group' .. listnum] then listCell .css('text-align', 'left') .css('border-left-width', '2px') .css('border-left-style', 'solid') else listCell.attr('colspan', 2) end if not args.groupwidth then listCell.css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell .css('padding', '0px') .cssText(args.liststyle) .cssText(rowstyle) .cssText(args['list' .. listnum .. 'style']) .addClass('navbox-list') .addClass('navbox-' .. evenOdd) .addClass(args.listclass) .tag('div') .css('padding', args.listpadding or '0em 0.25em') .newline() .wikitext(args['list' .. listnum]) if listnum == 1 and args.image then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 0px 0px 2px') .cssText(args.imagestyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.image) end end -- -- Tracking categories -- function renderTrackingCategories(builder) if not frame then return end local s = frame:preprocess('{{#ifeq:{{NAMESPACE}}|{{ns:10}}|1|0}}{{SUBPAGENAME}}') if mw.ustring.sub(s, 1, 1) == '0' then return end -- not in template space local subpage = mw.ustring.lower(mw.ustring.sub(s, 2)) if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for i, cat in ipairs(getTrackingCategories()) do builder.wikitext('[[Category:' .. cat .. ']]') end end function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasCustomListSpacing() then table.insert(cats, 'Navigational boxes with custom list spacing') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end return cats end function needsHorizontalLists() if border == 'child' or border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = {'plainlist', 'hlist', 'hlist hnum', 'hlist vcard', 'vcard hlist'} for i, cls in ipairs(listClasses) do if args.listclass == cls or args.bodyclass == cls then return false end end return true end function hasCustomListSpacing() return args.liststyle == 'padding: 0.25em 0; line-height: 1.3em;' or args.liststyle == 'padding:0.25em 0; line-height:1.4em; width:auto;' or args.liststyle == 'padding:0.4em 0; line-height:1.4em;' end function hasBackgroundColors() return args.titlestyle or args.groupstyle end -- -- Main navbox tables -- function renderMainTable() local tbl = HtmlBuilder.create('table') .attr('cellspacing', 0) .addClass('nowraplinks') .addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl .addClass('collapsible') .addClass(args.state or 'autocollapse') end tbl.css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl .addClass('navbox-subgroup') .cssText(args.bodyStyle) .cssText(args.style) else -- regular navobx - bodyStyle and style will be applied to the wrapper table tbl .addClass('navbox-inner') .css('background', 'transparent') .css('color', 'inherit') end tbl.cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do if v == '' then -- ParserFunctions considers the empty string to be false, so to preserve the previous -- behavior of {{navbox}}, change any empty arguments to nil, so Lua will consider -- them false too. args[k] = nil else local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = HtmlBuilder.create() if border == 'none' then res.node(tbl) elseif border == 'subgroup' or border == 'child' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res .tag('/div', {unclosed = true}) .done() .node(tbl) .tag('div', {unclosed = true}) else res .tag('table') .attr('cellspacing', 0) .addClass('navbox') .css('border-spacing', 0) .cssText(args.bodystyle) .cssText(args.style) .tag('tr') .tag('td') .css('padding', '2px') .node(tbl) end renderTrackingCategories(res) return tostring(res) end function p.navbox(frm) frame = frm return p._navbox(frame:getParent().args) end return p lirl4h9emdd7fsr3n5d2l00yj5erigi 9864 9863 2013-03-09T00:29:44Z w>Toohool 0 bodystyle fix 9864 Scribunto text/plain -- -- This module will implement {{Navbox}} -- local p = {} local HtmlBuilder = require('Module:HtmlBuilder') local args local frame local tableRowAdded = false local border local listnums = {} function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl .tag('tr') .css('height', '2px') .tag('td') end tableRowAdded = true return tbl.tag('tr') end -- -- Title row -- function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow .tag('th') .attr('scope', 'row') .addClass('navbox-group') .addClass(args.titlegroupclass) .cssText(args.basestyle) .cssText(args.groupstyle) .cssText(args.titlegroupstyle) .wikitext(args.titlegroup) end local titleCell = titleRow.tag('th').attr('scope', 'col') if args.titlegroup then titleCell .css('border-left', '2px solid #fdfdfd') .css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell .cssText(args.basestyle) .cssText(args.titlestyle) .addClass('navbox-title') .attr('colspan', titleColspan) renderNavBar(titleCell) titleCell .tag('div') .addClass(args.titleclass) .css('font-size', '110%') .newline() .wikitext(args.title) end function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = 'right' end elseif args.navbar == 'plain' or args.navbar == 'off' or (not args.name and (border == 'subgroup' or border == 'child' or border == 'none')) then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' then spacerSide = 'left' end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = 'right' end if args.name then titleCell.wikitext(mw.getCurrentFrame():expandTemplate{ title = 'navbar', args = { args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' }}) else titleCell .tag('span') .addClass('error') .css('float', 'left') .css('white-space', 'nowrap') .wikitext('Error: No name provided') end end -- Render the spacer div. if spacerSide then titleCell .tag('span') .css('float', spacerSide) .css('width', '6em') .wikitext('&nbsp;') end end -- -- Above/Below rows -- function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.aboveclass) .cssText(args.basestyle) .cssText(args.abovestyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.above) end function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.belowclass) .cssText(args.basestyle) .cssText(args.belowstyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.below) end function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end -- -- List rows -- function renderListRow(tbl, listnum) local row = addTableRow(tbl) if listnum == 1 and args.imageleft then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 2px 0px 0px') .cssText(args.imageleftstyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.imageleft) end if args['group' .. listnum] then local groupCell = row.tag('th') groupCell .attr('scope', 'row') .addClass('navbox-group') .addClass(args.groupclass) .cssText(args.basestyle) if args.groupwidth then groupCell.css('width', args.groupwidth) end groupCell .cssText(args.groupstyle) .cssText(args['group' .. listnum .. 'style']) .wikitext(args['group' .. listnum]) end local listCell = row.tag('td') if args['group' .. listnum] then listCell .css('text-align', 'left') .css('border-left-width', '2px') .css('border-left-style', 'solid') else listCell.attr('colspan', 2) end if not args.groupwidth then listCell.css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell .css('padding', '0px') .cssText(args.liststyle) .cssText(rowstyle) .cssText(args['list' .. listnum .. 'style']) .addClass('navbox-list') .addClass('navbox-' .. evenOdd) .addClass(args.listclass) .tag('div') .css('padding', args.listpadding or '0em 0.25em') .newline() .wikitext(args['list' .. listnum]) if listnum == 1 and args.image then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 0px 0px 2px') .cssText(args.imagestyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.image) end end -- -- Tracking categories -- function renderTrackingCategories(builder) if not frame then return end local s = frame:preprocess('{{#ifeq:{{NAMESPACE}}|{{ns:10}}|1|0}}{{SUBPAGENAME}}') if mw.ustring.sub(s, 1, 1) == '0' then return end -- not in template space local subpage = mw.ustring.lower(mw.ustring.sub(s, 2)) if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for i, cat in ipairs(getTrackingCategories()) do builder.wikitext('[[Category:' .. cat .. ']]') end end function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasCustomListSpacing() then table.insert(cats, 'Navigational boxes with custom list spacing') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end return cats end function needsHorizontalLists() if border == 'child' or border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = {'plainlist', 'hlist', 'hlist hnum', 'hlist vcard', 'vcard hlist'} for i, cls in ipairs(listClasses) do if args.listclass == cls or args.bodyclass == cls then return false end end return true end function hasCustomListSpacing() return args.liststyle == 'padding: 0.25em 0; line-height: 1.3em;' or args.liststyle == 'padding:0.25em 0; line-height:1.4em; width:auto;' or args.liststyle == 'padding:0.4em 0; line-height:1.4em;' end function hasBackgroundColors() return args.titlestyle or args.groupstyle end -- -- Main navbox tables -- function renderMainTable() local tbl = HtmlBuilder.create('table') .attr('cellspacing', 0) .addClass('nowraplinks') .addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl .addClass('collapsible') .addClass(args.state or 'autocollapse') end tbl.css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl .addClass('navbox-subgroup') .cssText(args.bodystyle) .cssText(args.style) else -- regular navobx - bodystyle and style will be applied to the wrapper table tbl .addClass('navbox-inner') .css('background', 'transparent') .css('color', 'inherit') end tbl.cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do if v == '' then -- ParserFunctions considers the empty string to be false, so to preserve the previous -- behavior of {{navbox}}, change any empty arguments to nil, so Lua will consider -- them false too. args[k] = nil else local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = HtmlBuilder.create() if border == 'none' then res.node(tbl) elseif border == 'subgroup' or border == 'child' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res .tag('/div', {unclosed = true}) .done() .node(tbl) .tag('div', {unclosed = true}) else res .tag('table') .attr('cellspacing', 0) .addClass('navbox') .css('border-spacing', 0) .cssText(args.bodystyle) .cssText(args.style) .tag('tr') .tag('td') .css('padding', '2px') .node(tbl) end renderTrackingCategories(res) return tostring(res) end function p.navbox(frm) frame = frm return p._navbox(frame:getParent().args) end return p otwgp640voi4xiywtvvljw9g4pqbiou 9865 9864 2013-03-09T01:07:14Z w>Toohool 0 correct fix for empty args 9865 Scribunto text/plain -- -- This module will implement {{Navbox}} -- local p = {} local HtmlBuilder = require('Module:HtmlBuilder') local args local frame local tableRowAdded = false local border local listnums = {} function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl .tag('tr') .css('height', '2px') .tag('td') end tableRowAdded = true return tbl.tag('tr') end -- -- Title row -- function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow .tag('th') .attr('scope', 'row') .addClass('navbox-group') .addClass(args.titlegroupclass) .cssText(args.basestyle) .cssText(args.groupstyle) .cssText(args.titlegroupstyle) .wikitext(args.titlegroup) end local titleCell = titleRow.tag('th').attr('scope', 'col') if args.titlegroup then titleCell .css('border-left', '2px solid #fdfdfd') .css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell .cssText(args.basestyle) .cssText(args.titlestyle) .addClass('navbox-title') .attr('colspan', titleColspan) renderNavBar(titleCell) titleCell .tag('div') .addClass(args.titleclass) .css('font-size', '110%') .newline() .wikitext(args.title) end function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = 'right' end elseif args.navbar == 'plain' or args.navbar == 'off' or (not args.name and (border == 'subgroup' or border == 'child' or border == 'none')) then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' then spacerSide = 'left' end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = 'right' end if args.name then titleCell.wikitext(mw.getCurrentFrame():expandTemplate{ title = 'navbar', args = { args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' }}) else titleCell .tag('span') .addClass('error') .css('float', 'left') .css('white-space', 'nowrap') .wikitext('Error: No name provided') end end -- Render the spacer div. if spacerSide then titleCell .tag('span') .css('float', spacerSide) .css('width', '6em') .wikitext('&nbsp;') end end -- -- Above/Below rows -- function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.aboveclass) .cssText(args.basestyle) .cssText(args.abovestyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.above) end function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.belowclass) .cssText(args.basestyle) .cssText(args.belowstyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.below) end function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end -- -- List rows -- function renderListRow(tbl, listnum) local row = addTableRow(tbl) if listnum == 1 and args.imageleft then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 2px 0px 0px') .cssText(args.imageleftstyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.imageleft) end if args['group' .. listnum] then local groupCell = row.tag('th') groupCell .attr('scope', 'row') .addClass('navbox-group') .addClass(args.groupclass) .cssText(args.basestyle) if args.groupwidth then groupCell.css('width', args.groupwidth) end groupCell .cssText(args.groupstyle) .cssText(args['group' .. listnum .. 'style']) .wikitext(args['group' .. listnum]) end local listCell = row.tag('td') if args['group' .. listnum] then listCell .css('text-align', 'left') .css('border-left-width', '2px') .css('border-left-style', 'solid') else listCell.attr('colspan', 2) end if not args.groupwidth then listCell.css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell .css('padding', '0px') .cssText(args.liststyle) .cssText(rowstyle) .cssText(args['list' .. listnum .. 'style']) .addClass('navbox-list') .addClass('navbox-' .. evenOdd) .addClass(args.listclass) .tag('div') .css('padding', args.listpadding or '0em 0.25em') .newline() .wikitext(args['list' .. listnum]) if listnum == 1 and args.image then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 0px 0px 2px') .cssText(args.imagestyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.image) end end -- -- Tracking categories -- function renderTrackingCategories(builder) local frame = mw.getCurrentFrame() if not frame then return end local s = frame:preprocess('{{#ifeq:{{NAMESPACE}}|{{ns:10}}|1|0}}{{SUBPAGENAME}}') if mw.ustring.sub(s, 1, 1) == '0' then return end -- not in template space local subpage = mw.ustring.lower(mw.ustring.sub(s, 2)) if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for i, cat in ipairs(getTrackingCategories()) do builder.wikitext('[[Category:' .. cat .. ']]') end end function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasCustomListSpacing() then table.insert(cats, 'Navigational boxes with custom list spacing') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end return cats end function needsHorizontalLists() if border == 'child' or border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = {'plainlist', 'hlist', 'hlist hnum', 'hlist vcard', 'vcard hlist'} for i, cls in ipairs(listClasses) do if args.listclass == cls or args.bodyclass == cls then return false end end return true end function hasCustomListSpacing() return args.liststyle == 'padding: 0.25em 0; line-height: 1.3em;' or args.liststyle == 'padding:0.25em 0; line-height:1.4em; width:auto;' or args.liststyle == 'padding:0.4em 0; line-height:1.4em;' end function hasBackgroundColors() return args.titlestyle or args.groupstyle end -- -- Main navbox tables -- function renderMainTable() local tbl = HtmlBuilder.create('table') .attr('cellspacing', 0) .addClass('nowraplinks') .addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl .addClass('collapsible') .addClass(args.state or 'autocollapse') end tbl.css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl .addClass('navbox-subgroup') .cssText(args.bodystyle) .cssText(args.style) else -- regular navobx - bodystyle and style will be applied to the wrapper table tbl .addClass('navbox-inner') .css('background', 'transparent') .css('color', 'inherit') end tbl.cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = HtmlBuilder.create() if border == 'none' then res.node(tbl) elseif border == 'subgroup' or border == 'child' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res .tag('/div', {unclosed = true}) .done() .node(tbl) .tag('div', {unclosed = true}) else res .tag('table') .attr('cellspacing', 0) .addClass('navbox') .css('border-spacing', 0) .cssText(args.bodystyle) .cssText(args.style) .tag('tr') .tag('td') .css('padding', '2px') .node(tbl) end renderTrackingCategories(res) return tostring(res) end function p.navbox(frame) -- ParserFunctions considers the empty string to be false, so to preserve the previous -- behavior of {{navbox}}, change any empty arguments to nil, so Lua will consider -- them false too. local args = {} for k, v in pairs(frame:getParent().args) do if v ~= '' then args[k] = v end end return p._navbox(args) end return p 6nbwzoh48uodqh7btmyzd8aslqdt8zh 9866 9865 2013-03-09T01:15:10Z w>Toohool 0 add support for list1padding param 9866 Scribunto text/plain -- -- This module will implement {{Navbox}} -- local p = {} local HtmlBuilder = require('Module:HtmlBuilder') local args local frame local tableRowAdded = false local border local listnums = {} function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl .tag('tr') .css('height', '2px') .tag('td') end tableRowAdded = true return tbl.tag('tr') end -- -- Title row -- function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow .tag('th') .attr('scope', 'row') .addClass('navbox-group') .addClass(args.titlegroupclass) .cssText(args.basestyle) .cssText(args.groupstyle) .cssText(args.titlegroupstyle) .wikitext(args.titlegroup) end local titleCell = titleRow.tag('th').attr('scope', 'col') if args.titlegroup then titleCell .css('border-left', '2px solid #fdfdfd') .css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell .cssText(args.basestyle) .cssText(args.titlestyle) .addClass('navbox-title') .attr('colspan', titleColspan) renderNavBar(titleCell) titleCell .tag('div') .addClass(args.titleclass) .css('font-size', '110%') .newline() .wikitext(args.title) end function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = 'right' end elseif args.navbar == 'plain' or args.navbar == 'off' or (not args.name and (border == 'subgroup' or border == 'child' or border == 'none')) then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' then spacerSide = 'left' end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = 'right' end if args.name then titleCell.wikitext(mw.getCurrentFrame():expandTemplate{ title = 'navbar', args = { args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' }}) else titleCell .tag('span') .addClass('error') .css('float', 'left') .css('white-space', 'nowrap') .wikitext('Error: No name provided') end end -- Render the spacer div. if spacerSide then titleCell .tag('span') .css('float', spacerSide) .css('width', '6em') .wikitext('&nbsp;') end end -- -- Above/Below rows -- function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.aboveclass) .cssText(args.basestyle) .cssText(args.abovestyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.above) end function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.belowclass) .cssText(args.basestyle) .cssText(args.belowstyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.below) end function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end -- -- List rows -- function renderListRow(tbl, listnum) local row = addTableRow(tbl) if listnum == 1 and args.imageleft then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 2px 0px 0px') .cssText(args.imageleftstyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.imageleft) end if args['group' .. listnum] then local groupCell = row.tag('th') groupCell .attr('scope', 'row') .addClass('navbox-group') .addClass(args.groupclass) .cssText(args.basestyle) if args.groupwidth then groupCell.css('width', args.groupwidth) end groupCell .cssText(args.groupstyle) .cssText(args['group' .. listnum .. 'style']) .wikitext(args['group' .. listnum]) end local listCell = row.tag('td') if args['group' .. listnum] then listCell .css('text-align', 'left') .css('border-left-width', '2px') .css('border-left-style', 'solid') else listCell.attr('colspan', 2) end if not args.groupwidth then listCell.css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell .css('padding', '0px') .cssText(args.liststyle) .cssText(rowstyle) .cssText(args['list' .. listnum .. 'style']) .addClass('navbox-list') .addClass('navbox-' .. evenOdd) .addClass(args.listclass) .tag('div') .css('padding', (listnum == 1 and args.list1padding) or args.listpadding or '0em 0.25em') .newline() .wikitext(args['list' .. listnum]) if listnum == 1 and args.image then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 0px 0px 2px') .cssText(args.imagestyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.image) end end -- -- Tracking categories -- function renderTrackingCategories(builder) local frame = mw.getCurrentFrame() if not frame then return end local s = frame:preprocess('{{#ifeq:{{NAMESPACE}}|{{ns:10}}|1|0}}{{SUBPAGENAME}}') if mw.ustring.sub(s, 1, 1) == '0' then return end -- not in template space local subpage = mw.ustring.lower(mw.ustring.sub(s, 2)) if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for i, cat in ipairs(getTrackingCategories()) do builder.wikitext('[[Category:' .. cat .. ']]') end end function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasCustomListSpacing() then table.insert(cats, 'Navigational boxes with custom list spacing') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end return cats end function needsHorizontalLists() if border == 'child' or border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = {'plainlist', 'hlist', 'hlist hnum', 'hlist vcard', 'vcard hlist'} for i, cls in ipairs(listClasses) do if args.listclass == cls or args.bodyclass == cls then return false end end return true end function hasCustomListSpacing() return args.liststyle == 'padding: 0.25em 0; line-height: 1.3em;' or args.liststyle == 'padding:0.25em 0; line-height:1.4em; width:auto;' or args.liststyle == 'padding:0.4em 0; line-height:1.4em;' end function hasBackgroundColors() return args.titlestyle or args.groupstyle end -- -- Main navbox tables -- function renderMainTable() local tbl = HtmlBuilder.create('table') .attr('cellspacing', 0) .addClass('nowraplinks') .addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl .addClass('collapsible') .addClass(args.state or 'autocollapse') end tbl.css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl .addClass('navbox-subgroup') .cssText(args.bodystyle) .cssText(args.style) else -- regular navobx - bodystyle and style will be applied to the wrapper table tbl .addClass('navbox-inner') .css('background', 'transparent') .css('color', 'inherit') end tbl.cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = HtmlBuilder.create() if border == 'none' then res.node(tbl) elseif border == 'subgroup' or border == 'child' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res .tag('/div', {unclosed = true}) .done() .node(tbl) .tag('div', {unclosed = true}) else res .tag('table') .attr('cellspacing', 0) .addClass('navbox') .css('border-spacing', 0) .cssText(args.bodystyle) .cssText(args.style) .tag('tr') .tag('td') .css('padding', '2px') .node(tbl) end renderTrackingCategories(res) return tostring(res) end function p.navbox(frame) -- ParserFunctions considers the empty string to be false, so to preserve the previous -- behavior of {{navbox}}, change any empty arguments to nil, so Lua will consider -- them false too. local args = {} for k, v in pairs(frame:getParent().args) do if v ~= '' then args[k] = v end end return p._navbox(args) end return p 8ws05lctxmim47pl9lkxfiglcp58g0y 9867 9866 2013-03-16T00:04:26Z w>Dragons flight 0 pull navbar completely inside Lua 9867 Scribunto text/plain -- -- This module will implement {{Navbox}} -- local p = {} local HtmlBuilder = require('Module:HtmlBuilder') local args local frame local tableRowAdded = false local border local listnums = {} function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl .tag('tr') .css('height', '2px') .tag('td') end tableRowAdded = true return tbl.tag('tr') end -- -- Title row -- function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow .tag('th') .attr('scope', 'row') .addClass('navbox-group') .addClass(args.titlegroupclass) .cssText(args.basestyle) .cssText(args.groupstyle) .cssText(args.titlegroupstyle) .wikitext(args.titlegroup) end local titleCell = titleRow.tag('th').attr('scope', 'col') if args.titlegroup then titleCell .css('border-left', '2px solid #fdfdfd') .css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell .cssText(args.basestyle) .cssText(args.titlestyle) .addClass('navbox-title') .attr('colspan', titleColspan) renderNavBar(titleCell) titleCell .tag('div') .addClass(args.titleclass) .css('font-size', '110%') .newline() .wikitext(args.title) end function formNavBar( div, args ) local class = 'noprint plainlinks hlist navbar'; local title; if args[1] == '' then title = mw.title.new( '' ); elseif args[1]:sub(1,1) == ':' then title = mw.title.new( args[1] ); else title = mw.title.new( 'Template:' .. args[1] ); end local mainpage, talkpage, editurl; mainpage = title.fullText; talkpage = title.talkPageTitle; talkpage = talkpage.fullText or ''; editurl = title:fullUrl( 'action=edit' ); if args.mini ~= nil then class = class .. ' mini'; end div .addClass( class ) .cssText( args.style or '' ) if args.mini == nil and args.plain == nil then div.tag( 'span' ) .css( 'word-spacing', 0 ) .cssText( args.fontstyle or '' ) .wikitext( args.text or 'This box:' ); end if args.brackets ~= nil then div.wikitext(' '); div.tag('span') .css('margin-right', '-0.125em') .cssText( args.fontstyle or '' ) .wikitext( '&#91;' ) .newline(); end local ul = div.tag('ul'); local inner if args.mini ~= nil then inner = 'v'; else inner = 'view'; end ul.tag( 'li' ) .addClass( 'nv-view' ) .wikitext( '[[' .. mainpage .. '|' ) .tag( 'span ' ) .attr( 'title', 'View this template' ) .cssText( args.fontstyle or '' ) .wikitext( inner ) .done() .wikitext( ']]' ); if args.mini ~= nil then inner = 't'; else inner = 'talk'; end ul.tag( 'li' ) .addClass( 'nv-talk' ) .wikitext( '[[' .. talkpage .. '|' ) .tag( 'span ' ) .attr( 'title', 'Discuss this template' ) .cssText( args.fontstyle or '' ) .wikitext( inner ) .done() .wikitext( ']]' ); if args.mini ~= nil then inner = 'e'; else inner = 'edit'; end ul.tag( 'li' ) .addClass( 'nv-edit' ) .wikitext( '[' .. editurl .. ' ' ) .tag( 'span ' ) .attr( 'title', 'Edit this template' ) .cssText( args.fontstyle or '' ) .wikitext( inner ) .done() .wikitext( ']' ); if args.brackets ~= nil then div.tag('span') .css('margin-left', '-0.125em') .cssText( args.fontstyle or '' ) .wikitext( '&#93;' ) .newline(); end return div; end function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = 'right' end elseif args.navbar == 'plain' or args.navbar == 'off' or (not args.name and (border == 'subgroup' or border == 'child' or border == 'none')) then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' then spacerSide = 'left' end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = 'right' end if args.name then local div = HtmlBuilder.create('div'); local args = { args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' }; div = formNavBar( div, args ); titleCell.node( div ) else titleCell .tag('span') .addClass('error') .css('float', 'left') .css('white-space', 'nowrap') .wikitext('Error: No name provided') end end -- Render the spacer div. if spacerSide then titleCell .tag('span') .css('float', spacerSide) .css('width', '6em') .wikitext('&nbsp;') end end -- -- Above/Below rows -- function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.aboveclass) .cssText(args.basestyle) .cssText(args.abovestyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.above) end function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.belowclass) .cssText(args.basestyle) .cssText(args.belowstyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.below) end function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end -- -- List rows -- function renderListRow(tbl, listnum) local row = addTableRow(tbl) if listnum == 1 and args.imageleft then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 2px 0px 0px') .cssText(args.imageleftstyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.imageleft) end if args['group' .. listnum] then local groupCell = row.tag('th') groupCell .attr('scope', 'row') .addClass('navbox-group') .addClass(args.groupclass) .cssText(args.basestyle) if args.groupwidth then groupCell.css('width', args.groupwidth) end groupCell .cssText(args.groupstyle) .cssText(args['group' .. listnum .. 'style']) .wikitext(args['group' .. listnum]) end local listCell = row.tag('td') if args['group' .. listnum] then listCell .css('text-align', 'left') .css('border-left-width', '2px') .css('border-left-style', 'solid') else listCell.attr('colspan', 2) end if not args.groupwidth then listCell.css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell .css('padding', '0px') .cssText(args.liststyle) .cssText(rowstyle) .cssText(args['list' .. listnum .. 'style']) .addClass('navbox-list') .addClass('navbox-' .. evenOdd) .addClass(args.listclass) .tag('div') .css('padding', (listnum == 1 and args.list1padding) or args.listpadding or '0em 0.25em') .newline() .wikitext(args['list' .. listnum]) if listnum == 1 and args.image then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 0px 0px 2px') .cssText(args.imagestyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.image) end end -- -- Tracking categories -- function renderTrackingCategories(builder) local frame = mw.getCurrentFrame() if not frame then return end local s = frame:preprocess('{{#ifeq:{{NAMESPACE}}|{{ns:10}}|1|0}}{{SUBPAGENAME}}') if mw.ustring.sub(s, 1, 1) == '0' then return end -- not in template space local subpage = mw.ustring.lower(mw.ustring.sub(s, 2)) if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for i, cat in ipairs(getTrackingCategories()) do builder.wikitext('[[Category:' .. cat .. ']]') end end function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasCustomListSpacing() then table.insert(cats, 'Navigational boxes with custom list spacing') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end return cats end function needsHorizontalLists() if border == 'child' or border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = {'plainlist', 'hlist', 'hlist hnum', 'hlist vcard', 'vcard hlist'} for i, cls in ipairs(listClasses) do if args.listclass == cls or args.bodyclass == cls then return false end end return true end function hasCustomListSpacing() return args.liststyle == 'padding: 0.25em 0; line-height: 1.3em;' or args.liststyle == 'padding:0.25em 0; line-height:1.4em; width:auto;' or args.liststyle == 'padding:0.4em 0; line-height:1.4em;' end function hasBackgroundColors() return args.titlestyle or args.groupstyle end -- -- Main navbox tables -- function renderMainTable() local tbl = HtmlBuilder.create('table') .attr('cellspacing', 0) .addClass('nowraplinks') .addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl .addClass('collapsible') .addClass(args.state or 'autocollapse') end tbl.css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl .addClass('navbox-subgroup') .cssText(args.bodystyle) .cssText(args.style) else -- regular navobx - bodystyle and style will be applied to the wrapper table tbl .addClass('navbox-inner') .css('background', 'transparent') .css('color', 'inherit') end tbl.cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = HtmlBuilder.create() if border == 'none' then res.node(tbl) elseif border == 'subgroup' or border == 'child' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res .tag('/div', {unclosed = true}) .done() .node(tbl) .tag('div', {unclosed = true}) else res .tag('table') .attr('cellspacing', 0) .addClass('navbox') .css('border-spacing', 0) .cssText(args.bodystyle) .cssText(args.style) .tag('tr') .tag('td') .css('padding', '2px') .node(tbl) end renderTrackingCategories(res) return tostring(res) end function p.navbox(frame) -- ParserFunctions considers the empty string to be false, so to preserve the previous -- behavior of {{navbox}}, change any empty arguments to nil, so Lua will consider -- them false too. local args = {} for k, v in pairs(frame:getParent().args) do if v ~= '' then args[k] = v end end return p._navbox(args) end function p.navbar(frame) -- ParserFunctions considers the empty string to be false, so to preserve the previous -- behavior of {{navbox}}, change any empty arguments to nil, so Lua will consider -- them false too. local args = {} for k, v in pairs(frame:getParent().args) do if v ~= '' then args[k] = v end end local div = HtmlBuilder.create('div') return tostring( formNavBar( div, args ) ) end return p r602v48jspaohnbg1vp312gxdg08mws 9868 9867 2013-03-16T00:30:59Z w>Dragons flight 0 edge cases 9868 Scribunto text/plain -- -- This module will implement {{Navbox}} -- local p = {} local HtmlBuilder = require('Module:HtmlBuilder') local args local frame local tableRowAdded = false local border local listnums = {} function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl .tag('tr') .css('height', '2px') .tag('td') end tableRowAdded = true return tbl.tag('tr') end -- -- Title row -- function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow .tag('th') .attr('scope', 'row') .addClass('navbox-group') .addClass(args.titlegroupclass) .cssText(args.basestyle) .cssText(args.groupstyle) .cssText(args.titlegroupstyle) .wikitext(args.titlegroup) end local titleCell = titleRow.tag('th').attr('scope', 'col') if args.titlegroup then titleCell .css('border-left', '2px solid #fdfdfd') .css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell .cssText(args.basestyle) .cssText(args.titlestyle) .addClass('navbox-title') .attr('colspan', titleColspan) renderNavBar(titleCell) titleCell .tag('div') .addClass(args.titleclass) .css('font-size', '110%') .newline() .wikitext(args.title) end function formNavBar( div, args ) local class = 'noprint plainlinks hlist navbar'; local title; args[1] = trim( args[1] or '' ); if args[1] == '' then title = mw.title.new( '' ); elseif args[1]:sub(1,1) == ':' then title = mw.title.new( args[1]:sub(2) ); else title = mw.title.new( 'Template:' .. args[1] ); end local mainpage, talkpage, editurl; mainpage = title.fullText; talkpage = title.talkPageTitle; talkpage = talkpage.fullText or ''; editurl = title:fullUrl( 'action=edit' ); if args.mini ~= nil then class = class .. ' mini'; end div .addClass( class ) .cssText( args.style or '' ) if args.mini == nil and args.plain == nil then div.tag( 'span' ) .css( 'word-spacing', 0 ) .cssText( args.fontstyle or '' ) .wikitext( args.text or 'This box:' ); end if args.brackets ~= nil then div.wikitext(' '); div.tag('span') .css('margin-right', '-0.125em') .cssText( args.fontstyle or '' ) .wikitext( '&#91;' ) .newline(); end local ul = div.tag('ul'); local inner if args.mini ~= nil then inner = 'v'; else inner = 'view'; end ul.tag( 'li' ) .addClass( 'nv-view' ) .wikitext( '[[' .. mainpage .. '|' ) .tag( 'span ' ) .attr( 'title', 'View this template' ) .cssText( args.fontstyle or '' ) .wikitext( inner ) .done() .wikitext( ']]' ); if args.mini ~= nil then inner = 't'; else inner = 'talk'; end ul.tag( 'li' ) .addClass( 'nv-talk' ) .wikitext( '[[' .. talkpage .. '|' ) .tag( 'span ' ) .attr( 'title', 'Discuss this template' ) .cssText( args.fontstyle or '' ) .wikitext( inner ) .done() .wikitext( ']]' ); if args.mini ~= nil then inner = 'e'; else inner = 'edit'; end ul.tag( 'li' ) .addClass( 'nv-edit' ) .wikitext( '[' .. editurl .. ' ' ) .tag( 'span ' ) .attr( 'title', 'Edit this template' ) .cssText( args.fontstyle or '' ) .wikitext( inner ) .done() .wikitext( ']' ); if args.brackets ~= nil then div.tag('span') .css('margin-left', '-0.125em') .cssText( args.fontstyle or '' ) .wikitext( '&#93;' ) .newline(); end return div; end function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = 'right' end elseif args.navbar == 'plain' or args.navbar == 'off' or (not args.name and (border == 'subgroup' or border == 'child' or border == 'none')) then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' then spacerSide = 'left' end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = 'right' end if args.name then local div = HtmlBuilder.create('div'); local args = { args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' }; div = formNavBar( div, args ); titleCell.node( div ) else titleCell .tag('span') .addClass('error') .css('float', 'left') .css('white-space', 'nowrap') .wikitext('Error: No name provided') end end -- Render the spacer div. if spacerSide then titleCell .tag('span') .css('float', spacerSide) .css('width', '6em') .wikitext('&nbsp;') end end -- -- Above/Below rows -- function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.aboveclass) .cssText(args.basestyle) .cssText(args.abovestyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.above) end function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.belowclass) .cssText(args.basestyle) .cssText(args.belowstyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.below) end function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end -- -- List rows -- function renderListRow(tbl, listnum) local row = addTableRow(tbl) if listnum == 1 and args.imageleft then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 2px 0px 0px') .cssText(args.imageleftstyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.imageleft) end if args['group' .. listnum] then local groupCell = row.tag('th') groupCell .attr('scope', 'row') .addClass('navbox-group') .addClass(args.groupclass) .cssText(args.basestyle) if args.groupwidth then groupCell.css('width', args.groupwidth) end groupCell .cssText(args.groupstyle) .cssText(args['group' .. listnum .. 'style']) .wikitext(args['group' .. listnum]) end local listCell = row.tag('td') if args['group' .. listnum] then listCell .css('text-align', 'left') .css('border-left-width', '2px') .css('border-left-style', 'solid') else listCell.attr('colspan', 2) end if not args.groupwidth then listCell.css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell .css('padding', '0px') .cssText(args.liststyle) .cssText(rowstyle) .cssText(args['list' .. listnum .. 'style']) .addClass('navbox-list') .addClass('navbox-' .. evenOdd) .addClass(args.listclass) .tag('div') .css('padding', (listnum == 1 and args.list1padding) or args.listpadding or '0em 0.25em') .newline() .wikitext(args['list' .. listnum]) if listnum == 1 and args.image then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 0px 0px 2px') .cssText(args.imagestyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.image) end end -- -- Tracking categories -- function renderTrackingCategories(builder) local frame = mw.getCurrentFrame() if not frame then return end local s = frame:preprocess('{{#ifeq:{{NAMESPACE}}|{{ns:10}}|1|0}}{{SUBPAGENAME}}') if mw.ustring.sub(s, 1, 1) == '0' then return end -- not in template space local subpage = mw.ustring.lower(mw.ustring.sub(s, 2)) if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for i, cat in ipairs(getTrackingCategories()) do builder.wikitext('[[Category:' .. cat .. ']]') end end function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasCustomListSpacing() then table.insert(cats, 'Navigational boxes with custom list spacing') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end return cats end function needsHorizontalLists() if border == 'child' or border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = {'plainlist', 'hlist', 'hlist hnum', 'hlist vcard', 'vcard hlist'} for i, cls in ipairs(listClasses) do if args.listclass == cls or args.bodyclass == cls then return false end end return true end function hasCustomListSpacing() return args.liststyle == 'padding: 0.25em 0; line-height: 1.3em;' or args.liststyle == 'padding:0.25em 0; line-height:1.4em; width:auto;' or args.liststyle == 'padding:0.4em 0; line-height:1.4em;' end function hasBackgroundColors() return args.titlestyle or args.groupstyle end -- -- Main navbox tables -- function renderMainTable() local tbl = HtmlBuilder.create('table') .attr('cellspacing', 0) .addClass('nowraplinks') .addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl .addClass('collapsible') .addClass(args.state or 'autocollapse') end tbl.css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl .addClass('navbox-subgroup') .cssText(args.bodystyle) .cssText(args.style) else -- regular navobx - bodystyle and style will be applied to the wrapper table tbl .addClass('navbox-inner') .css('background', 'transparent') .css('color', 'inherit') end tbl.cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = HtmlBuilder.create() if border == 'none' then res.node(tbl) elseif border == 'subgroup' or border == 'child' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res .tag('/div', {unclosed = true}) .done() .node(tbl) .tag('div', {unclosed = true}) else res .tag('table') .attr('cellspacing', 0) .addClass('navbox') .css('border-spacing', 0) .cssText(args.bodystyle) .cssText(args.style) .tag('tr') .tag('td') .css('padding', '2px') .node(tbl) end renderTrackingCategories(res) return tostring(res) end function p.navbox(frame) -- ParserFunctions considers the empty string to be false, so to preserve the previous -- behavior of {{navbox}}, change any empty arguments to nil, so Lua will consider -- them false too. local args = {} for k, v in pairs(frame:getParent().args) do if v ~= '' then args[k] = v end end return p._navbox(args) end function p.navbar(frame) -- ParserFunctions considers the empty string to be false, so to preserve the previous -- behavior of {{navbox}}, change any empty arguments to nil, so Lua will consider -- them false too. local args = {} for k, v in pairs(frame:getParent().args) do if v ~= '' then args[k] = v end end local div = HtmlBuilder.create('div') return tostring( formNavBar( div, args ) ) end return p bcosape731o27cad3rs83nc2e77yxph 9869 9868 2013-03-16T00:39:59Z w>Dragons flight 0 hmmm, not my smartest moment 9869 Scribunto text/plain -- -- This module will implement {{Navbox}} -- local p = {} local HtmlBuilder = require('Module:HtmlBuilder') local args local frame local tableRowAdded = false local border local listnums = {} function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl .tag('tr') .css('height', '2px') .tag('td') end tableRowAdded = true return tbl.tag('tr') end -- -- Title row -- function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow .tag('th') .attr('scope', 'row') .addClass('navbox-group') .addClass(args.titlegroupclass) .cssText(args.basestyle) .cssText(args.groupstyle) .cssText(args.titlegroupstyle) .wikitext(args.titlegroup) end local titleCell = titleRow.tag('th').attr('scope', 'col') if args.titlegroup then titleCell .css('border-left', '2px solid #fdfdfd') .css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell .cssText(args.basestyle) .cssText(args.titlestyle) .addClass('navbox-title') .attr('colspan', titleColspan) renderNavBar(titleCell) titleCell .tag('div') .addClass(args.titleclass) .css('font-size', '110%') .newline() .wikitext(args.title) end function formNavBar( div, args ) local class = 'noprint plainlinks hlist navbar'; local title; args[1] = trim( args[1] or '' ); if args[1] == '' then title = mw.title.new( '' ); elseif args[1]:sub(1,1) == ':' then title = mw.title.new( args[1]:sub(2) ); else title = mw.title.new( args[1] ); if title.namespace == 0 then title = mw.title.new( 'Template:' .. args[1] ); end end local mainpage, talkpage, editurl; mainpage = title.fullText; talkpage = title.talkPageTitle; talkpage = talkpage.fullText or ''; editurl = title:fullUrl( 'action=edit' ); if args.mini ~= nil then class = class .. ' mini'; end div .addClass( class ) .cssText( args.style or '' ) if args.mini == nil and args.plain == nil then div.tag( 'span' ) .css( 'word-spacing', 0 ) .cssText( args.fontstyle or '' ) .wikitext( args.text or 'This box:' ); end if args.brackets ~= nil then div.wikitext(' '); div.tag('span') .css('margin-right', '-0.125em') .cssText( args.fontstyle or '' ) .wikitext( '&#91;' ) .newline(); end local ul = div.tag('ul'); local inner if args.mini ~= nil then inner = 'v'; else inner = 'view'; end ul.tag( 'li' ) .addClass( 'nv-view' ) .wikitext( '[[' .. mainpage .. '|' ) .tag( 'span ' ) .attr( 'title', 'View this template' ) .cssText( args.fontstyle or '' ) .wikitext( inner ) .done() .wikitext( ']]' ); if args.mini ~= nil then inner = 't'; else inner = 'talk'; end ul.tag( 'li' ) .addClass( 'nv-talk' ) .wikitext( '[[' .. talkpage .. '|' ) .tag( 'span ' ) .attr( 'title', 'Discuss this template' ) .cssText( args.fontstyle or '' ) .wikitext( inner ) .done() .wikitext( ']]' ); if args.mini ~= nil then inner = 'e'; else inner = 'edit'; end ul.tag( 'li' ) .addClass( 'nv-edit' ) .wikitext( '[' .. editurl .. ' ' ) .tag( 'span ' ) .attr( 'title', 'Edit this template' ) .cssText( args.fontstyle or '' ) .wikitext( inner ) .done() .wikitext( ']' ); if args.brackets ~= nil then div.tag('span') .css('margin-left', '-0.125em') .cssText( args.fontstyle or '' ) .wikitext( '&#93;' ) .newline(); end return div; end function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = 'right' end elseif args.navbar == 'plain' or args.navbar == 'off' or (not args.name and (border == 'subgroup' or border == 'child' or border == 'none')) then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' then spacerSide = 'left' end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = 'right' end if args.name then local div = HtmlBuilder.create('div'); local args = { args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' }; div = formNavBar( div, args ); titleCell.node( div ) else titleCell .tag('span') .addClass('error') .css('float', 'left') .css('white-space', 'nowrap') .wikitext('Error: No name provided') end end -- Render the spacer div. if spacerSide then titleCell .tag('span') .css('float', spacerSide) .css('width', '6em') .wikitext('&nbsp;') end end -- -- Above/Below rows -- function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.aboveclass) .cssText(args.basestyle) .cssText(args.abovestyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.above) end function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.belowclass) .cssText(args.basestyle) .cssText(args.belowstyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.below) end function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end -- -- List rows -- function renderListRow(tbl, listnum) local row = addTableRow(tbl) if listnum == 1 and args.imageleft then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 2px 0px 0px') .cssText(args.imageleftstyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.imageleft) end if args['group' .. listnum] then local groupCell = row.tag('th') groupCell .attr('scope', 'row') .addClass('navbox-group') .addClass(args.groupclass) .cssText(args.basestyle) if args.groupwidth then groupCell.css('width', args.groupwidth) end groupCell .cssText(args.groupstyle) .cssText(args['group' .. listnum .. 'style']) .wikitext(args['group' .. listnum]) end local listCell = row.tag('td') if args['group' .. listnum] then listCell .css('text-align', 'left') .css('border-left-width', '2px') .css('border-left-style', 'solid') else listCell.attr('colspan', 2) end if not args.groupwidth then listCell.css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell .css('padding', '0px') .cssText(args.liststyle) .cssText(rowstyle) .cssText(args['list' .. listnum .. 'style']) .addClass('navbox-list') .addClass('navbox-' .. evenOdd) .addClass(args.listclass) .tag('div') .css('padding', (listnum == 1 and args.list1padding) or args.listpadding or '0em 0.25em') .newline() .wikitext(args['list' .. listnum]) if listnum == 1 and args.image then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 0px 0px 2px') .cssText(args.imagestyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.image) end end -- -- Tracking categories -- function renderTrackingCategories(builder) local frame = mw.getCurrentFrame() if not frame then return end local s = frame:preprocess('{{#ifeq:{{NAMESPACE}}|{{ns:10}}|1|0}}{{SUBPAGENAME}}') if mw.ustring.sub(s, 1, 1) == '0' then return end -- not in template space local subpage = mw.ustring.lower(mw.ustring.sub(s, 2)) if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for i, cat in ipairs(getTrackingCategories()) do builder.wikitext('[[Category:' .. cat .. ']]') end end function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasCustomListSpacing() then table.insert(cats, 'Navigational boxes with custom list spacing') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end return cats end function needsHorizontalLists() if border == 'child' or border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = {'plainlist', 'hlist', 'hlist hnum', 'hlist vcard', 'vcard hlist'} for i, cls in ipairs(listClasses) do if args.listclass == cls or args.bodyclass == cls then return false end end return true end function hasCustomListSpacing() return args.liststyle == 'padding: 0.25em 0; line-height: 1.3em;' or args.liststyle == 'padding:0.25em 0; line-height:1.4em; width:auto;' or args.liststyle == 'padding:0.4em 0; line-height:1.4em;' end function hasBackgroundColors() return args.titlestyle or args.groupstyle end -- -- Main navbox tables -- function renderMainTable() local tbl = HtmlBuilder.create('table') .attr('cellspacing', 0) .addClass('nowraplinks') .addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl .addClass('collapsible') .addClass(args.state or 'autocollapse') end tbl.css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl .addClass('navbox-subgroup') .cssText(args.bodystyle) .cssText(args.style) else -- regular navobx - bodystyle and style will be applied to the wrapper table tbl .addClass('navbox-inner') .css('background', 'transparent') .css('color', 'inherit') end tbl.cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = HtmlBuilder.create() if border == 'none' then res.node(tbl) elseif border == 'subgroup' or border == 'child' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res .tag('/div', {unclosed = true}) .done() .node(tbl) .tag('div', {unclosed = true}) else res .tag('table') .attr('cellspacing', 0) .addClass('navbox') .css('border-spacing', 0) .cssText(args.bodystyle) .cssText(args.style) .tag('tr') .tag('td') .css('padding', '2px') .node(tbl) end renderTrackingCategories(res) return tostring(res) end function p.navbox(frame) -- ParserFunctions considers the empty string to be false, so to preserve the previous -- behavior of {{navbox}}, change any empty arguments to nil, so Lua will consider -- them false too. local args = {} for k, v in pairs(frame:getParent().args) do if v ~= '' then args[k] = v end end return p._navbox(args) end function p.navbar(frame) -- ParserFunctions considers the empty string to be false, so to preserve the previous -- behavior of {{navbox}}, change any empty arguments to nil, so Lua will consider -- them false too. local args = {} for k, v in pairs(frame:getParent().args) do if v ~= '' then args[k] = v end end local div = HtmlBuilder.create('div') return tostring( formNavBar( div, args ) ) end return p on5gm5e6k6c5tke101h3an2xsx2fv5v 9870 9869 2013-03-16T00:43:30Z w>Dragons flight 0 missed an option 9870 Scribunto text/plain -- -- This module will implement {{Navbox}} -- local p = {} local HtmlBuilder = require('Module:HtmlBuilder') local args local frame local tableRowAdded = false local border local listnums = {} function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl .tag('tr') .css('height', '2px') .tag('td') end tableRowAdded = true return tbl.tag('tr') end -- -- Title row -- function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow .tag('th') .attr('scope', 'row') .addClass('navbox-group') .addClass(args.titlegroupclass) .cssText(args.basestyle) .cssText(args.groupstyle) .cssText(args.titlegroupstyle) .wikitext(args.titlegroup) end local titleCell = titleRow.tag('th').attr('scope', 'col') if args.titlegroup then titleCell .css('border-left', '2px solid #fdfdfd') .css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell .cssText(args.basestyle) .cssText(args.titlestyle) .addClass('navbox-title') .attr('colspan', titleColspan) renderNavBar(titleCell) titleCell .tag('div') .addClass(args.titleclass) .css('font-size', '110%') .newline() .wikitext(args.title) end function formNavBar( div, args ) local class = 'noprint plainlinks hlist navbar'; local title; args[1] = trim( args[1] or '' ); if args[1] == '' then title = mw.title.new( '' ); elseif args[1]:sub(1,1) == ':' then title = mw.title.new( args[1]:sub(2) ); else title = mw.title.new( args[1] ); if title.namespace == 0 then title = mw.title.new( 'Template:' .. args[1] ); end end local mainpage, talkpage, editurl; mainpage = title.fullText; talkpage = title.talkPageTitle; talkpage = talkpage.fullText or ''; editurl = title:fullUrl( 'action=edit' ); if args.mini ~= nil then class = class .. ' mini'; end div .addClass( class ) .cssText( args.style or '' ) if args.mini == nil and args.plain == nil then div.tag( 'span' ) .css( 'word-spacing', 0 ) .cssText( args.fontstyle or '' ) .wikitext( args.text or 'This box:' ); end if args.brackets ~= nil then div.wikitext(' '); div.tag('span') .css('margin-right', '-0.125em') .cssText( args.fontstyle or '' ) .wikitext( '&#91;' ) .newline(); end local ul = div.tag('ul'); local inner if args.mini ~= nil then inner = 'v'; else inner = 'view'; end ul.tag( 'li' ) .addClass( 'nv-view' ) .wikitext( '[[' .. mainpage .. '|' ) .tag( 'span ' ) .attr( 'title', 'View this template' ) .cssText( args.fontstyle or '' ) .wikitext( inner ) .done() .wikitext( ']]' ); if args.mini ~= nil then inner = 't'; else inner = 'talk'; end ul.tag( 'li' ) .addClass( 'nv-talk' ) .wikitext( '[[' .. talkpage .. '|' ) .tag( 'span ' ) .attr( 'title', 'Discuss this template' ) .cssText( args.fontstyle or '' ) .wikitext( inner ) .done() .wikitext( ']]' ); if args.noedit == nil then if args.mini ~= nil then inner = 'e'; else inner = 'edit'; end ul.tag( 'li' ) .addClass( 'nv-edit' ) .wikitext( '[' .. editurl .. ' ' ) .tag( 'span ' ) .attr( 'title', 'Edit this template' ) .cssText( args.fontstyle or '' ) .wikitext( inner ) .done() .wikitext( ']' ); end if args.brackets ~= nil then div.tag('span') .css('margin-left', '-0.125em') .cssText( args.fontstyle or '' ) .wikitext( '&#93;' ) .newline(); end return div; end function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = 'right' end elseif args.navbar == 'plain' or args.navbar == 'off' or (not args.name and (border == 'subgroup' or border == 'child' or border == 'none')) then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' then spacerSide = 'left' end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = 'right' end if args.name then local div = HtmlBuilder.create('div'); local args = { args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' }; div = formNavBar( div, args ); titleCell.node( div ) else titleCell .tag('span') .addClass('error') .css('float', 'left') .css('white-space', 'nowrap') .wikitext('Error: No name provided') end end -- Render the spacer div. if spacerSide then titleCell .tag('span') .css('float', spacerSide) .css('width', '6em') .wikitext('&nbsp;') end end -- -- Above/Below rows -- function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.aboveclass) .cssText(args.basestyle) .cssText(args.abovestyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.above) end function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.belowclass) .cssText(args.basestyle) .cssText(args.belowstyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.below) end function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end -- -- List rows -- function renderListRow(tbl, listnum) local row = addTableRow(tbl) if listnum == 1 and args.imageleft then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 2px 0px 0px') .cssText(args.imageleftstyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.imageleft) end if args['group' .. listnum] then local groupCell = row.tag('th') groupCell .attr('scope', 'row') .addClass('navbox-group') .addClass(args.groupclass) .cssText(args.basestyle) if args.groupwidth then groupCell.css('width', args.groupwidth) end groupCell .cssText(args.groupstyle) .cssText(args['group' .. listnum .. 'style']) .wikitext(args['group' .. listnum]) end local listCell = row.tag('td') if args['group' .. listnum] then listCell .css('text-align', 'left') .css('border-left-width', '2px') .css('border-left-style', 'solid') else listCell.attr('colspan', 2) end if not args.groupwidth then listCell.css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell .css('padding', '0px') .cssText(args.liststyle) .cssText(rowstyle) .cssText(args['list' .. listnum .. 'style']) .addClass('navbox-list') .addClass('navbox-' .. evenOdd) .addClass(args.listclass) .tag('div') .css('padding', (listnum == 1 and args.list1padding) or args.listpadding or '0em 0.25em') .newline() .wikitext(args['list' .. listnum]) if listnum == 1 and args.image then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 0px 0px 2px') .cssText(args.imagestyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.image) end end -- -- Tracking categories -- function renderTrackingCategories(builder) local frame = mw.getCurrentFrame() if not frame then return end local s = frame:preprocess('{{#ifeq:{{NAMESPACE}}|{{ns:10}}|1|0}}{{SUBPAGENAME}}') if mw.ustring.sub(s, 1, 1) == '0' then return end -- not in template space local subpage = mw.ustring.lower(mw.ustring.sub(s, 2)) if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for i, cat in ipairs(getTrackingCategories()) do builder.wikitext('[[Category:' .. cat .. ']]') end end function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasCustomListSpacing() then table.insert(cats, 'Navigational boxes with custom list spacing') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end return cats end function needsHorizontalLists() if border == 'child' or border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = {'plainlist', 'hlist', 'hlist hnum', 'hlist vcard', 'vcard hlist'} for i, cls in ipairs(listClasses) do if args.listclass == cls or args.bodyclass == cls then return false end end return true end function hasCustomListSpacing() return args.liststyle == 'padding: 0.25em 0; line-height: 1.3em;' or args.liststyle == 'padding:0.25em 0; line-height:1.4em; width:auto;' or args.liststyle == 'padding:0.4em 0; line-height:1.4em;' end function hasBackgroundColors() return args.titlestyle or args.groupstyle end -- -- Main navbox tables -- function renderMainTable() local tbl = HtmlBuilder.create('table') .attr('cellspacing', 0) .addClass('nowraplinks') .addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl .addClass('collapsible') .addClass(args.state or 'autocollapse') end tbl.css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl .addClass('navbox-subgroup') .cssText(args.bodystyle) .cssText(args.style) else -- regular navobx - bodystyle and style will be applied to the wrapper table tbl .addClass('navbox-inner') .css('background', 'transparent') .css('color', 'inherit') end tbl.cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = HtmlBuilder.create() if border == 'none' then res.node(tbl) elseif border == 'subgroup' or border == 'child' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res .tag('/div', {unclosed = true}) .done() .node(tbl) .tag('div', {unclosed = true}) else res .tag('table') .attr('cellspacing', 0) .addClass('navbox') .css('border-spacing', 0) .cssText(args.bodystyle) .cssText(args.style) .tag('tr') .tag('td') .css('padding', '2px') .node(tbl) end renderTrackingCategories(res) return tostring(res) end function p.navbox(frame) -- ParserFunctions considers the empty string to be false, so to preserve the previous -- behavior of {{navbox}}, change any empty arguments to nil, so Lua will consider -- them false too. local args = {} for k, v in pairs(frame:getParent().args) do if v ~= '' then args[k] = v end end return p._navbox(args) end function p.navbar(frame) -- ParserFunctions considers the empty string to be false, so to preserve the previous -- behavior of {{navbox}}, change any empty arguments to nil, so Lua will consider -- them false too. local args = {} for k, v in pairs(frame:getParent().args) do if v ~= '' then args[k] = v end end local div = HtmlBuilder.create('div') return tostring( formNavBar( div, args ) ) end return p acs23fmxz9elonjfawaletf3vd6iryb 9871 9870 2013-03-16T01:45:21Z w>Toohool 0 edit for succinctness 9871 Scribunto text/plain -- -- This module will implement {{Navbox}} -- local p = {} local HtmlBuilder = require('Module:HtmlBuilder') local args local frame local tableRowAdded = false local border local listnums = {} function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl .tag('tr') .css('height', '2px') .tag('td') end tableRowAdded = true return tbl.tag('tr') end -- -- Title row -- function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow .tag('th') .attr('scope', 'row') .addClass('navbox-group') .addClass(args.titlegroupclass) .cssText(args.basestyle) .cssText(args.groupstyle) .cssText(args.titlegroupstyle) .wikitext(args.titlegroup) end local titleCell = titleRow.tag('th').attr('scope', 'col') if args.titlegroup then titleCell .css('border-left', '2px solid #fdfdfd') .css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell .cssText(args.basestyle) .cssText(args.titlestyle) .addClass('navbox-title') .attr('colspan', titleColspan) renderNavBar(titleCell) titleCell .tag('div') .addClass(args.titleclass) .css('font-size', '110%') .newline() .wikitext(args.title) end function formNavBar( args ) if not args[1] then local span = HtmlBuilder.create('span') span .addClass('error') .css('float', 'left') .css('white-space', 'nowrap') .wikitext('Error: No name provided') return span end local title; local pageName = trim( args[1] ) if pageName:sub(1,1) == ':' then title = mw.title.new( pageName:sub(2) ); else title = mw.title.new( pageName ); if title.namespace == 0 then title = mw.title.makeTitle( 'Template', pageName ); end end local mainpage = title.fullText; local talkpage = title.talkPageTitle and title.talkPageTitle.fullText or '' local editurl = title:fullUrl( 'action=edit' ); local viewLink, talkLink, editLink = 'view', 'talk', 'edit' if args.mini then viewLink, talkLink, editLink = 'v', 't', 'e' end local div = HtmlBuilder.create( 'div' ) div .addClass( 'noprint' ) .addClass( 'plainlinks' ) .addClass( 'hlist' ) .addClass( 'navbar') .cssText( args.style ) if args.mini then div.addClass('mini') end if not (args.mini or args.plain) then div .tag( 'span' ) .css( 'word-spacing', 0 ) .cssText( args.fontstyle ) .wikitext( args.text or 'This box:' ) .wikitext( ' ' ) end if args.brackets then div .tag('span') .css('margin-right', '-0.125em') .cssText( args.fontstyle ) .wikitext( '&#91;' ) .newline(); end local ul = div.tag('ul'); ul .tag( 'li' ) .addClass( 'nv-view' ) .wikitext( '[[' .. mainpage .. '|' ) .tag( 'span ' ) .attr( 'title', 'View this template' ) .cssText( args.fontstyle or '' ) .wikitext( viewLink ) .done() .wikitext( ']]' ) .done() .tag( 'li' ) .addClass( 'nv-talk' ) .wikitext( '[[' .. talkpage .. '|' ) .tag( 'span ' ) .attr( 'title', 'Discuss this template' ) .cssText( args.fontstyle or '' ) .wikitext( talkLink ) .done() .wikitext( ']]' ); if not args.noedit then ul .tag( 'li' ) .addClass( 'nv-edit' ) .wikitext( '[' .. editurl .. ' ' ) .tag( 'span ' ) .attr( 'title', 'Edit this template' ) .cssText( args.fontstyle or '' ) .wikitext( editLink ) .done() .wikitext( ']' ); end if args.brackets then div .tag('span') .css('margin-left', '-0.125em') .cssText( args.fontstyle or '' ) .wikitext( '&#93;' ) .newline(); end return div; end function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = 'right' end elseif args.navbar == 'plain' or args.navbar == 'off' or (not args.name and (border == 'subgroup' or border == 'child' or border == 'none')) then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' then spacerSide = 'left' end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = 'right' end titleCell.node(formNavBar({ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' })) end -- Render the spacer div. if spacerSide then titleCell .tag('span') .css('float', spacerSide) .css('width', '6em') .wikitext('&nbsp;') end end -- -- Above/Below rows -- function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.aboveclass) .cssText(args.basestyle) .cssText(args.abovestyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.above) end function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.belowclass) .cssText(args.basestyle) .cssText(args.belowstyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.below) end function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end -- -- List rows -- function renderListRow(tbl, listnum) local row = addTableRow(tbl) if listnum == 1 and args.imageleft then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 2px 0px 0px') .cssText(args.imageleftstyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.imageleft) end if args['group' .. listnum] then local groupCell = row.tag('th') groupCell .attr('scope', 'row') .addClass('navbox-group') .addClass(args.groupclass) .cssText(args.basestyle) if args.groupwidth then groupCell.css('width', args.groupwidth) end groupCell .cssText(args.groupstyle) .cssText(args['group' .. listnum .. 'style']) .wikitext(args['group' .. listnum]) end local listCell = row.tag('td') if args['group' .. listnum] then listCell .css('text-align', 'left') .css('border-left-width', '2px') .css('border-left-style', 'solid') else listCell.attr('colspan', 2) end if not args.groupwidth then listCell.css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell .css('padding', '0px') .cssText(args.liststyle) .cssText(rowstyle) .cssText(args['list' .. listnum .. 'style']) .addClass('navbox-list') .addClass('navbox-' .. evenOdd) .addClass(args.listclass) .tag('div') .css('padding', (listnum == 1 and args.list1padding) or args.listpadding or '0em 0.25em') .newline() .wikitext(args['list' .. listnum]) if listnum == 1 and args.image then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 0px 0px 2px') .cssText(args.imagestyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.image) end end -- -- Tracking categories -- function renderTrackingCategories(builder) local frame = mw.getCurrentFrame() if not frame then return end local s = frame:preprocess('{{#ifeq:{{NAMESPACE}}|{{ns:10}}|1|0}}{{SUBPAGENAME}}') if mw.ustring.sub(s, 1, 1) == '0' then return end -- not in template space local subpage = mw.ustring.lower(mw.ustring.sub(s, 2)) if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for i, cat in ipairs(getTrackingCategories()) do builder.wikitext('[[Category:' .. cat .. ']]') end end function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasCustomListSpacing() then table.insert(cats, 'Navigational boxes with custom list spacing') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end return cats end function needsHorizontalLists() if border == 'child' or border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = {'plainlist', 'hlist', 'hlist hnum', 'hlist vcard', 'vcard hlist'} for i, cls in ipairs(listClasses) do if args.listclass == cls or args.bodyclass == cls then return false end end return true end function hasCustomListSpacing() return args.liststyle == 'padding: 0.25em 0; line-height: 1.3em;' or args.liststyle == 'padding:0.25em 0; line-height:1.4em; width:auto;' or args.liststyle == 'padding:0.4em 0; line-height:1.4em;' end function hasBackgroundColors() return args.titlestyle or args.groupstyle end -- -- Main navbox tables -- function renderMainTable() local tbl = HtmlBuilder.create('table') .attr('cellspacing', 0) .addClass('nowraplinks') .addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl .addClass('collapsible') .addClass(args.state or 'autocollapse') end tbl.css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl .addClass('navbox-subgroup') .cssText(args.bodystyle) .cssText(args.style) else -- regular navobx - bodystyle and style will be applied to the wrapper table tbl .addClass('navbox-inner') .css('background', 'transparent') .css('color', 'inherit') end tbl.cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = HtmlBuilder.create() if border == 'none' then res.node(tbl) elseif border == 'subgroup' or border == 'child' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res .tag('/div', {unclosed = true}) .done() .node(tbl) .tag('div', {unclosed = true}) else res .tag('table') .attr('cellspacing', 0) .addClass('navbox') .css('border-spacing', 0) .cssText(args.bodystyle) .cssText(args.style) .tag('tr') .tag('td') .css('padding', '2px') .node(tbl) end renderTrackingCategories(res) return tostring(res) end function p.navbox(frame) -- ParserFunctions considers the empty string to be false, so to preserve the previous -- behavior of {{navbox}}, change any empty arguments to nil, so Lua will consider -- them false too. local args = {} for k, v in pairs(frame:getParent().args) do if v ~= '' then args[k] = v end end return p._navbox(args) end function p.navbar(frame) -- ParserFunctions considers the empty string to be false, so to preserve the previous -- behavior of {{navbox}}, change any empty arguments to nil, so Lua will consider -- them false too. local args = {} for k, v in pairs(frame:getParent().args) do if v ~= '' then args[k] = v end end return tostring( formNavBar( args ) ) end return p 8deal6fesyyj1a8sxu5uvet6lxlq03g 9872 9871 2013-03-16T02:49:32Z w>Toohool 0 navbar code moved to [[Module:Navbar]] 9872 Scribunto text/plain -- -- This module will implement {{Navbox}} -- local p = {} local HtmlBuilder = require('Module:HtmlBuilder') local Navbar = require('Module:Navbar') local args local frame local tableRowAdded = false local border local listnums = {} function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl .tag('tr') .css('height', '2px') .tag('td') end tableRowAdded = true return tbl.tag('tr') end -- -- Title row -- function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow .tag('th') .attr('scope', 'row') .addClass('navbox-group') .addClass(args.titlegroupclass) .cssText(args.basestyle) .cssText(args.groupstyle) .cssText(args.titlegroupstyle) .wikitext(args.titlegroup) end local titleCell = titleRow.tag('th').attr('scope', 'col') if args.titlegroup then titleCell .css('border-left', '2px solid #fdfdfd') .css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell .cssText(args.basestyle) .cssText(args.titlestyle) .addClass('navbox-title') .attr('colspan', titleColspan) renderNavBar(titleCell) titleCell .tag('div') .addClass(args.titleclass) .css('font-size', '110%') .newline() .wikitext(args.title) end function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = 'right' end elseif args.navbar == 'plain' or args.navbar == 'off' or (not args.name and (border == 'subgroup' or border == 'child' or border == 'none')) then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' then spacerSide = 'left' end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = 'right' end titleCell.wikitext(Navbar.navbar({ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' })) end -- Render the spacer div. if spacerSide then titleCell .tag('span') .css('float', spacerSide) .css('width', '6em') .wikitext('&nbsp;') end end -- -- Above/Below rows -- function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.aboveclass) .cssText(args.basestyle) .cssText(args.abovestyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.above) end function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.belowclass) .cssText(args.basestyle) .cssText(args.belowstyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.below) end function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end -- -- List rows -- function renderListRow(tbl, listnum) local row = addTableRow(tbl) if listnum == 1 and args.imageleft then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 2px 0px 0px') .cssText(args.imageleftstyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.imageleft) end if args['group' .. listnum] then local groupCell = row.tag('th') groupCell .attr('scope', 'row') .addClass('navbox-group') .addClass(args.groupclass) .cssText(args.basestyle) if args.groupwidth then groupCell.css('width', args.groupwidth) end groupCell .cssText(args.groupstyle) .cssText(args['group' .. listnum .. 'style']) .wikitext(args['group' .. listnum]) end local listCell = row.tag('td') if args['group' .. listnum] then listCell .css('text-align', 'left') .css('border-left-width', '2px') .css('border-left-style', 'solid') else listCell.attr('colspan', 2) end if not args.groupwidth then listCell.css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell .css('padding', '0px') .cssText(args.liststyle) .cssText(rowstyle) .cssText(args['list' .. listnum .. 'style']) .addClass('navbox-list') .addClass('navbox-' .. evenOdd) .addClass(args.listclass) .tag('div') .css('padding', (listnum == 1 and args.list1padding) or args.listpadding or '0em 0.25em') .newline() .wikitext(args['list' .. listnum]) if listnum == 1 and args.image then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 0px 0px 2px') .cssText(args.imagestyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.image) end end -- -- Tracking categories -- function renderTrackingCategories(builder) local frame = mw.getCurrentFrame() if not frame then return end local s = frame:preprocess('{{#ifeq:{{NAMESPACE}}|{{ns:10}}|1|0}}{{SUBPAGENAME}}') if mw.ustring.sub(s, 1, 1) == '0' then return end -- not in template space local subpage = mw.ustring.lower(mw.ustring.sub(s, 2)) if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for i, cat in ipairs(getTrackingCategories()) do builder.wikitext('[[Category:' .. cat .. ']]') end end function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasCustomListSpacing() then table.insert(cats, 'Navigational boxes with custom list spacing') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end return cats end function needsHorizontalLists() if border == 'child' or border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = {'plainlist', 'hlist', 'hlist hnum', 'hlist vcard', 'vcard hlist'} for i, cls in ipairs(listClasses) do if args.listclass == cls or args.bodyclass == cls then return false end end return true end function hasCustomListSpacing() return args.liststyle == 'padding: 0.25em 0; line-height: 1.3em;' or args.liststyle == 'padding:0.25em 0; line-height:1.4em; width:auto;' or args.liststyle == 'padding:0.4em 0; line-height:1.4em;' end function hasBackgroundColors() return args.titlestyle or args.groupstyle end -- -- Main navbox tables -- function renderMainTable() local tbl = HtmlBuilder.create('table') .attr('cellspacing', 0) .addClass('nowraplinks') .addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl .addClass('collapsible') .addClass(args.state or 'autocollapse') end tbl.css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl .addClass('navbox-subgroup') .cssText(args.bodystyle) .cssText(args.style) else -- regular navobx - bodystyle and style will be applied to the wrapper table tbl .addClass('navbox-inner') .css('background', 'transparent') .css('color', 'inherit') end tbl.cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = HtmlBuilder.create() if border == 'none' then res.node(tbl) elseif border == 'subgroup' or border == 'child' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res .tag('/div', {unclosed = true}) .done() .node(tbl) .tag('div', {unclosed = true}) else res .tag('table') .attr('cellspacing', 0) .addClass('navbox') .css('border-spacing', 0) .cssText(args.bodystyle) .cssText(args.style) .tag('tr') .tag('td') .css('padding', '2px') .node(tbl) end renderTrackingCategories(res) return tostring(res) end function p.navbox(frame) -- ParserFunctions considers the empty string to be false, so to preserve the previous -- behavior of {{navbox}}, change any empty arguments to nil, so Lua will consider -- them false too. local args = {} for k, v in pairs(frame:getParent().args) do if v ~= '' then args[k] = v end end return p._navbox(args) end return p lx0mr0vqhndoc36mxv320d9wj0wvs2h 9873 9872 2013-03-19T00:58:25Z w>Dragons flight 0 Protected Module:Navbox: [[WP:High-risk templates|Highly visible template]]: Used on a significant number of pages, but also still in testing. ([Edit=Allow only autoconfirmed users] (indefinite) [Move=Allow only autoconfirmed users] (indefinite)) 9872 Scribunto text/plain -- -- This module will implement {{Navbox}} -- local p = {} local HtmlBuilder = require('Module:HtmlBuilder') local Navbar = require('Module:Navbar') local args local frame local tableRowAdded = false local border local listnums = {} function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl .tag('tr') .css('height', '2px') .tag('td') end tableRowAdded = true return tbl.tag('tr') end -- -- Title row -- function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow .tag('th') .attr('scope', 'row') .addClass('navbox-group') .addClass(args.titlegroupclass) .cssText(args.basestyle) .cssText(args.groupstyle) .cssText(args.titlegroupstyle) .wikitext(args.titlegroup) end local titleCell = titleRow.tag('th').attr('scope', 'col') if args.titlegroup then titleCell .css('border-left', '2px solid #fdfdfd') .css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell .cssText(args.basestyle) .cssText(args.titlestyle) .addClass('navbox-title') .attr('colspan', titleColspan) renderNavBar(titleCell) titleCell .tag('div') .addClass(args.titleclass) .css('font-size', '110%') .newline() .wikitext(args.title) end function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = 'right' end elseif args.navbar == 'plain' or args.navbar == 'off' or (not args.name and (border == 'subgroup' or border == 'child' or border == 'none')) then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' then spacerSide = 'left' end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = 'right' end titleCell.wikitext(Navbar.navbar({ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' })) end -- Render the spacer div. if spacerSide then titleCell .tag('span') .css('float', spacerSide) .css('width', '6em') .wikitext('&nbsp;') end end -- -- Above/Below rows -- function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.aboveclass) .cssText(args.basestyle) .cssText(args.abovestyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.above) end function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.belowclass) .cssText(args.basestyle) .cssText(args.belowstyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.below) end function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end -- -- List rows -- function renderListRow(tbl, listnum) local row = addTableRow(tbl) if listnum == 1 and args.imageleft then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 2px 0px 0px') .cssText(args.imageleftstyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.imageleft) end if args['group' .. listnum] then local groupCell = row.tag('th') groupCell .attr('scope', 'row') .addClass('navbox-group') .addClass(args.groupclass) .cssText(args.basestyle) if args.groupwidth then groupCell.css('width', args.groupwidth) end groupCell .cssText(args.groupstyle) .cssText(args['group' .. listnum .. 'style']) .wikitext(args['group' .. listnum]) end local listCell = row.tag('td') if args['group' .. listnum] then listCell .css('text-align', 'left') .css('border-left-width', '2px') .css('border-left-style', 'solid') else listCell.attr('colspan', 2) end if not args.groupwidth then listCell.css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell .css('padding', '0px') .cssText(args.liststyle) .cssText(rowstyle) .cssText(args['list' .. listnum .. 'style']) .addClass('navbox-list') .addClass('navbox-' .. evenOdd) .addClass(args.listclass) .tag('div') .css('padding', (listnum == 1 and args.list1padding) or args.listpadding or '0em 0.25em') .newline() .wikitext(args['list' .. listnum]) if listnum == 1 and args.image then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 0px 0px 2px') .cssText(args.imagestyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.image) end end -- -- Tracking categories -- function renderTrackingCategories(builder) local frame = mw.getCurrentFrame() if not frame then return end local s = frame:preprocess('{{#ifeq:{{NAMESPACE}}|{{ns:10}}|1|0}}{{SUBPAGENAME}}') if mw.ustring.sub(s, 1, 1) == '0' then return end -- not in template space local subpage = mw.ustring.lower(mw.ustring.sub(s, 2)) if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for i, cat in ipairs(getTrackingCategories()) do builder.wikitext('[[Category:' .. cat .. ']]') end end function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasCustomListSpacing() then table.insert(cats, 'Navigational boxes with custom list spacing') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end return cats end function needsHorizontalLists() if border == 'child' or border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = {'plainlist', 'hlist', 'hlist hnum', 'hlist vcard', 'vcard hlist'} for i, cls in ipairs(listClasses) do if args.listclass == cls or args.bodyclass == cls then return false end end return true end function hasCustomListSpacing() return args.liststyle == 'padding: 0.25em 0; line-height: 1.3em;' or args.liststyle == 'padding:0.25em 0; line-height:1.4em; width:auto;' or args.liststyle == 'padding:0.4em 0; line-height:1.4em;' end function hasBackgroundColors() return args.titlestyle or args.groupstyle end -- -- Main navbox tables -- function renderMainTable() local tbl = HtmlBuilder.create('table') .attr('cellspacing', 0) .addClass('nowraplinks') .addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl .addClass('collapsible') .addClass(args.state or 'autocollapse') end tbl.css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl .addClass('navbox-subgroup') .cssText(args.bodystyle) .cssText(args.style) else -- regular navobx - bodystyle and style will be applied to the wrapper table tbl .addClass('navbox-inner') .css('background', 'transparent') .css('color', 'inherit') end tbl.cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = HtmlBuilder.create() if border == 'none' then res.node(tbl) elseif border == 'subgroup' or border == 'child' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res .tag('/div', {unclosed = true}) .done() .node(tbl) .tag('div', {unclosed = true}) else res .tag('table') .attr('cellspacing', 0) .addClass('navbox') .css('border-spacing', 0) .cssText(args.bodystyle) .cssText(args.style) .tag('tr') .tag('td') .css('padding', '2px') .node(tbl) end renderTrackingCategories(res) return tostring(res) end function p.navbox(frame) -- ParserFunctions considers the empty string to be false, so to preserve the previous -- behavior of {{navbox}}, change any empty arguments to nil, so Lua will consider -- them false too. local args = {} for k, v in pairs(frame:getParent().args) do if v ~= '' then args[k] = v end end return p._navbox(args) end return p lx0mr0vqhndoc36mxv320d9wj0wvs2h 9874 9873 2013-03-26T02:45:35Z w>Dragons flight 0 Changed protection level of Module:Navbox: [[WP:High-risk templates|Highly visible template or Lua module]] ([Edit=Block all non-admin users] (indefinite) [Move=Block all non-admin users] (indefinite)) 9872 Scribunto text/plain -- -- This module will implement {{Navbox}} -- local p = {} local HtmlBuilder = require('Module:HtmlBuilder') local Navbar = require('Module:Navbar') local args local frame local tableRowAdded = false local border local listnums = {} function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl .tag('tr') .css('height', '2px') .tag('td') end tableRowAdded = true return tbl.tag('tr') end -- -- Title row -- function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow .tag('th') .attr('scope', 'row') .addClass('navbox-group') .addClass(args.titlegroupclass) .cssText(args.basestyle) .cssText(args.groupstyle) .cssText(args.titlegroupstyle) .wikitext(args.titlegroup) end local titleCell = titleRow.tag('th').attr('scope', 'col') if args.titlegroup then titleCell .css('border-left', '2px solid #fdfdfd') .css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell .cssText(args.basestyle) .cssText(args.titlestyle) .addClass('navbox-title') .attr('colspan', titleColspan) renderNavBar(titleCell) titleCell .tag('div') .addClass(args.titleclass) .css('font-size', '110%') .newline() .wikitext(args.title) end function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = 'right' end elseif args.navbar == 'plain' or args.navbar == 'off' or (not args.name and (border == 'subgroup' or border == 'child' or border == 'none')) then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' then spacerSide = 'left' end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = 'right' end titleCell.wikitext(Navbar.navbar({ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' })) end -- Render the spacer div. if spacerSide then titleCell .tag('span') .css('float', spacerSide) .css('width', '6em') .wikitext('&nbsp;') end end -- -- Above/Below rows -- function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.aboveclass) .cssText(args.basestyle) .cssText(args.abovestyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.above) end function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.belowclass) .cssText(args.basestyle) .cssText(args.belowstyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.below) end function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end -- -- List rows -- function renderListRow(tbl, listnum) local row = addTableRow(tbl) if listnum == 1 and args.imageleft then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 2px 0px 0px') .cssText(args.imageleftstyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.imageleft) end if args['group' .. listnum] then local groupCell = row.tag('th') groupCell .attr('scope', 'row') .addClass('navbox-group') .addClass(args.groupclass) .cssText(args.basestyle) if args.groupwidth then groupCell.css('width', args.groupwidth) end groupCell .cssText(args.groupstyle) .cssText(args['group' .. listnum .. 'style']) .wikitext(args['group' .. listnum]) end local listCell = row.tag('td') if args['group' .. listnum] then listCell .css('text-align', 'left') .css('border-left-width', '2px') .css('border-left-style', 'solid') else listCell.attr('colspan', 2) end if not args.groupwidth then listCell.css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell .css('padding', '0px') .cssText(args.liststyle) .cssText(rowstyle) .cssText(args['list' .. listnum .. 'style']) .addClass('navbox-list') .addClass('navbox-' .. evenOdd) .addClass(args.listclass) .tag('div') .css('padding', (listnum == 1 and args.list1padding) or args.listpadding or '0em 0.25em') .newline() .wikitext(args['list' .. listnum]) if listnum == 1 and args.image then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 0px 0px 2px') .cssText(args.imagestyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.image) end end -- -- Tracking categories -- function renderTrackingCategories(builder) local frame = mw.getCurrentFrame() if not frame then return end local s = frame:preprocess('{{#ifeq:{{NAMESPACE}}|{{ns:10}}|1|0}}{{SUBPAGENAME}}') if mw.ustring.sub(s, 1, 1) == '0' then return end -- not in template space local subpage = mw.ustring.lower(mw.ustring.sub(s, 2)) if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for i, cat in ipairs(getTrackingCategories()) do builder.wikitext('[[Category:' .. cat .. ']]') end end function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasCustomListSpacing() then table.insert(cats, 'Navigational boxes with custom list spacing') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end return cats end function needsHorizontalLists() if border == 'child' or border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = {'plainlist', 'hlist', 'hlist hnum', 'hlist vcard', 'vcard hlist'} for i, cls in ipairs(listClasses) do if args.listclass == cls or args.bodyclass == cls then return false end end return true end function hasCustomListSpacing() return args.liststyle == 'padding: 0.25em 0; line-height: 1.3em;' or args.liststyle == 'padding:0.25em 0; line-height:1.4em; width:auto;' or args.liststyle == 'padding:0.4em 0; line-height:1.4em;' end function hasBackgroundColors() return args.titlestyle or args.groupstyle end -- -- Main navbox tables -- function renderMainTable() local tbl = HtmlBuilder.create('table') .attr('cellspacing', 0) .addClass('nowraplinks') .addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl .addClass('collapsible') .addClass(args.state or 'autocollapse') end tbl.css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl .addClass('navbox-subgroup') .cssText(args.bodystyle) .cssText(args.style) else -- regular navobx - bodystyle and style will be applied to the wrapper table tbl .addClass('navbox-inner') .css('background', 'transparent') .css('color', 'inherit') end tbl.cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = HtmlBuilder.create() if border == 'none' then res.node(tbl) elseif border == 'subgroup' or border == 'child' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res .tag('/div', {unclosed = true}) .done() .node(tbl) .tag('div', {unclosed = true}) else res .tag('table') .attr('cellspacing', 0) .addClass('navbox') .css('border-spacing', 0) .cssText(args.bodystyle) .cssText(args.style) .tag('tr') .tag('td') .css('padding', '2px') .node(tbl) end renderTrackingCategories(res) return tostring(res) end function p.navbox(frame) -- ParserFunctions considers the empty string to be false, so to preserve the previous -- behavior of {{navbox}}, change any empty arguments to nil, so Lua will consider -- them false too. local args = {} for k, v in pairs(frame:getParent().args) do if v ~= '' then args[k] = v end end return p._navbox(args) end return p lx0mr0vqhndoc36mxv320d9wj0wvs2h 9875 9874 2013-03-26T14:06:01Z w>Dragons flight 0 Manually force in order parsing of key fields 9875 Scribunto text/plain -- -- This module will implement {{Navbox}} -- local p = {} local HtmlBuilder = require('Module:HtmlBuilder') local Navbar = require('Module:Navbar') local args local frame local tableRowAdded = false local border local listnums = {} function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl .tag('tr') .css('height', '2px') .tag('td') end tableRowAdded = true return tbl.tag('tr') end -- -- Title row -- function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow .tag('th') .attr('scope', 'row') .addClass('navbox-group') .addClass(args.titlegroupclass) .cssText(args.basestyle) .cssText(args.groupstyle) .cssText(args.titlegroupstyle) .wikitext(args.titlegroup) end local titleCell = titleRow.tag('th').attr('scope', 'col') if args.titlegroup then titleCell .css('border-left', '2px solid #fdfdfd') .css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell .cssText(args.basestyle) .cssText(args.titlestyle) .addClass('navbox-title') .attr('colspan', titleColspan) renderNavBar(titleCell) titleCell .tag('div') .addClass(args.titleclass) .css('font-size', '110%') .newline() .wikitext(args.title) end function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = 'right' end elseif args.navbar == 'plain' or args.navbar == 'off' or (not args.name and (border == 'subgroup' or border == 'child' or border == 'none')) then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' then spacerSide = 'left' end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = 'right' end titleCell.wikitext(Navbar.navbar({ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' })) end -- Render the spacer div. if spacerSide then titleCell .tag('span') .css('float', spacerSide) .css('width', '6em') .wikitext('&nbsp;') end end -- -- Above/Below rows -- function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.aboveclass) .cssText(args.basestyle) .cssText(args.abovestyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.above) end function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.belowclass) .cssText(args.basestyle) .cssText(args.belowstyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.below) end function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end -- -- List rows -- function renderListRow(tbl, listnum) local row = addTableRow(tbl) if listnum == 1 and args.imageleft then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 2px 0px 0px') .cssText(args.imageleftstyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.imageleft) end if args['group' .. listnum] then local groupCell = row.tag('th') groupCell .attr('scope', 'row') .addClass('navbox-group') .addClass(args.groupclass) .cssText(args.basestyle) if args.groupwidth then groupCell.css('width', args.groupwidth) end groupCell .cssText(args.groupstyle) .cssText(args['group' .. listnum .. 'style']) .wikitext(args['group' .. listnum]) end local listCell = row.tag('td') if args['group' .. listnum] then listCell .css('text-align', 'left') .css('border-left-width', '2px') .css('border-left-style', 'solid') else listCell.attr('colspan', 2) end if not args.groupwidth then listCell.css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell .css('padding', '0px') .cssText(args.liststyle) .cssText(rowstyle) .cssText(args['list' .. listnum .. 'style']) .addClass('navbox-list') .addClass('navbox-' .. evenOdd) .addClass(args.listclass) .tag('div') .css('padding', (listnum == 1 and args.list1padding) or args.listpadding or '0em 0.25em') .newline() .wikitext(args['list' .. listnum]) if listnum == 1 and args.image then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 0px 0px 2px') .cssText(args.imagestyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.image) end end -- -- Tracking categories -- function renderTrackingCategories(builder) local frame = mw.getCurrentFrame() if not frame then return end local s = frame:preprocess('{{#ifeq:{{NAMESPACE}}|{{ns:10}}|1|0}}{{SUBPAGENAME}}') if mw.ustring.sub(s, 1, 1) == '0' then return end -- not in template space local subpage = mw.ustring.lower(mw.ustring.sub(s, 2)) if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for i, cat in ipairs(getTrackingCategories()) do builder.wikitext('[[Category:' .. cat .. ']]') end end function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasCustomListSpacing() then table.insert(cats, 'Navigational boxes with custom list spacing') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end return cats end function needsHorizontalLists() if border == 'child' or border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = {'plainlist', 'hlist', 'hlist hnum', 'hlist vcard', 'vcard hlist'} for i, cls in ipairs(listClasses) do if args.listclass == cls or args.bodyclass == cls then return false end end return true end function hasCustomListSpacing() return args.liststyle == 'padding: 0.25em 0; line-height: 1.3em;' or args.liststyle == 'padding:0.25em 0; line-height:1.4em; width:auto;' or args.liststyle == 'padding:0.4em 0; line-height:1.4em;' end function hasBackgroundColors() return args.titlestyle or args.groupstyle end -- -- Main navbox tables -- function renderMainTable() local tbl = HtmlBuilder.create('table') .attr('cellspacing', 0) .addClass('nowraplinks') .addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl .addClass('collapsible') .addClass(args.state or 'autocollapse') end tbl.css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl .addClass('navbox-subgroup') .cssText(args.bodystyle) .cssText(args.style) else -- regular navobx - bodystyle and style will be applied to the wrapper table tbl .addClass('navbox-inner') .css('background', 'transparent') .css('color', 'inherit') end tbl.cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = HtmlBuilder.create() if border == 'none' then res.node(tbl) elseif border == 'subgroup' or border == 'child' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res .tag('/div', {unclosed = true}) .done() .node(tbl) .tag('div', {unclosed = true}) else res .tag('table') .attr('cellspacing', 0) .addClass('navbox') .css('border-spacing', 0) .cssText(args.bodystyle) .cssText(args.style) .tag('tr') .tag('td') .css('padding', '2px') .node(tbl) end renderTrackingCategories(res) return tostring(res) end function p.navbox(frame) -- ParserFunctions considers the empty string to be false, so to preserve the previous -- behavior of {{navbox}}, change any empty arguments to nil, so Lua will consider -- them false too. local args = {} local parent_args = frame:getParent().args; -- Out of order parsing bug. local temp; temp = parent_args.title; temp = parent_args.above; for i = 1, 20 do temp = parent_args["group" .. tostring(i)]; temp = parent_args["list" .. tostring(i)]; end temp = parent_args.below; for k, v in pairs(parent_args) do if v ~= '' then args[k] = v end end return p._navbox(args) end return p if5nsvmxdkb37mht3b6u1h5ouzk6htq 9876 9832 2013-05-20T15:25:36Z w>Nyttend 0 Not needed; we deleted this tracking category because it wasn't being used 9876 Scribunto text/plain -- -- This module will implement {{Navbox}} -- local p = {} local HtmlBuilder = require('Module:HtmlBuilder') local Navbar = require('Module:Navbar') local args local frame local tableRowAdded = false local border local listnums = {} function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl .tag('tr') .css('height', '2px') .tag('td') end tableRowAdded = true return tbl.tag('tr') end -- -- Title row -- function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow .tag('th') .attr('scope', 'row') .addClass('navbox-group') .addClass(args.titlegroupclass) .cssText(args.basestyle) .cssText(args.groupstyle) .cssText(args.titlegroupstyle) .wikitext(args.titlegroup) end local titleCell = titleRow.tag('th').attr('scope', 'col') if args.titlegroup then titleCell .css('border-left', '2px solid #fdfdfd') .css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell .cssText(args.basestyle) .cssText(args.titlestyle) .addClass('navbox-title') .attr('colspan', titleColspan) renderNavBar(titleCell) titleCell .tag('div') .addClass(args.titleclass) .css('font-size', '110%') .newline() .wikitext(args.title) end function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = 'right' end elseif args.navbar == 'plain' or args.navbar == 'off' or (not args.name and (border == 'subgroup' or border == 'child' or border == 'none')) then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' then spacerSide = 'left' end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = 'right' end titleCell.wikitext(Navbar.navbar({ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' })) end -- Render the spacer div. if spacerSide then titleCell .tag('span') .css('float', spacerSide) .css('width', '6em') .wikitext('&nbsp;') end end -- -- Above/Below rows -- function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.aboveclass) .cssText(args.basestyle) .cssText(args.abovestyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.above) end function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.belowclass) .cssText(args.basestyle) .cssText(args.belowstyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.below) end function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end -- -- List rows -- function renderListRow(tbl, listnum) local row = addTableRow(tbl) if listnum == 1 and args.imageleft then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 2px 0px 0px') .cssText(args.imageleftstyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.imageleft) end if args['group' .. listnum] then local groupCell = row.tag('th') groupCell .attr('scope', 'row') .addClass('navbox-group') .addClass(args.groupclass) .cssText(args.basestyle) if args.groupwidth then groupCell.css('width', args.groupwidth) end groupCell .cssText(args.groupstyle) .cssText(args['group' .. listnum .. 'style']) .wikitext(args['group' .. listnum]) end local listCell = row.tag('td') if args['group' .. listnum] then listCell .css('text-align', 'left') .css('border-left-width', '2px') .css('border-left-style', 'solid') else listCell.attr('colspan', 2) end if not args.groupwidth then listCell.css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell .css('padding', '0px') .cssText(args.liststyle) .cssText(rowstyle) .cssText(args['list' .. listnum .. 'style']) .addClass('navbox-list') .addClass('navbox-' .. evenOdd) .addClass(args.listclass) .tag('div') .css('padding', (listnum == 1 and args.list1padding) or args.listpadding or '0em 0.25em') .newline() .wikitext(args['list' .. listnum]) if listnum == 1 and args.image then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 0px 0px 2px') .cssText(args.imagestyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.image) end end -- -- Tracking categories -- function renderTrackingCategories(builder) local frame = mw.getCurrentFrame() if not frame then return end local s = frame:preprocess('{{#ifeq:{{NAMESPACE}}|{{ns:10}}|1|0}}{{SUBPAGENAME}}') if mw.ustring.sub(s, 1, 1) == '0' then return end -- not in template space local subpage = mw.ustring.lower(mw.ustring.sub(s, 2)) if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for i, cat in ipairs(getTrackingCategories()) do builder.wikitext('[[Category:' .. cat .. ']]') end end function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end return cats end function needsHorizontalLists() if border == 'child' or border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = {'plainlist', 'hlist', 'hlist hnum', 'hlist vcard', 'vcard hlist'} for i, cls in ipairs(listClasses) do if args.listclass == cls or args.bodyclass == cls then return false end end return true end function hasBackgroundColors() return args.titlestyle or args.groupstyle end -- -- Main navbox tables -- function renderMainTable() local tbl = HtmlBuilder.create('table') .attr('cellspacing', 0) .addClass('nowraplinks') .addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl .addClass('collapsible') .addClass(args.state or 'autocollapse') end tbl.css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl .addClass('navbox-subgroup') .cssText(args.bodystyle) .cssText(args.style) else -- regular navobx - bodystyle and style will be applied to the wrapper table tbl .addClass('navbox-inner') .css('background', 'transparent') .css('color', 'inherit') end tbl.cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = HtmlBuilder.create() if border == 'none' then res.node(tbl) elseif border == 'subgroup' or border == 'child' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res .tag('/div', {unclosed = true}) .done() .node(tbl) .tag('div', {unclosed = true}) else res .tag('table') .attr('cellspacing', 0) .addClass('navbox') .css('border-spacing', 0) .cssText(args.bodystyle) .cssText(args.style) .tag('tr') .tag('td') .css('padding', '2px') .node(tbl) end renderTrackingCategories(res) return tostring(res) end function p.navbox(frame) -- ParserFunctions considers the empty string to be false, so to preserve the previous -- behavior of {{navbox}}, change any empty arguments to nil, so Lua will consider -- them false too. local args = {} local parent_args = frame:getParent().args; -- Out of order parsing bug. local temp; temp = parent_args.title; temp = parent_args.above; for i = 1, 20 do temp = parent_args["group" .. tostring(i)]; temp = parent_args["list" .. tostring(i)]; end temp = parent_args.below; for k, v in pairs(parent_args) do if v ~= '' then args[k] = v end end return p._navbox(args) end return p 9t8usp6ywmzxmpld8jcunt6ye409jdg 9877 9834 2013-09-29T12:13:40Z w>Edokter 0 Force closing </div> tags to new line; fixes wiki list rendering. 9877 Scribunto text/plain -- -- This module will implement {{Navbox}} -- local p = {} local HtmlBuilder = require('Module:HtmlBuilder') local Navbar = require('Module:Navbar') local args local frame local tableRowAdded = false local border local listnums = {} function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl .tag('tr') .css('height', '2px') .tag('td') end tableRowAdded = true return tbl.tag('tr') end -- -- Title row -- function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow .tag('th') .attr('scope', 'row') .addClass('navbox-group') .addClass(args.titlegroupclass) .cssText(args.basestyle) .cssText(args.groupstyle) .cssText(args.titlegroupstyle) .wikitext(args.titlegroup) end local titleCell = titleRow.tag('th').attr('scope', 'col') if args.titlegroup then titleCell .css('border-left', '2px solid #fdfdfd') .css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell .cssText(args.basestyle) .cssText(args.titlestyle) .addClass('navbox-title') .attr('colspan', titleColspan) renderNavBar(titleCell) titleCell .tag('div') .addClass(args.titleclass) .css('font-size', '110%') .newline() .wikitext(args.title) .newline() end function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = 'right' end elseif args.navbar == 'plain' or args.navbar == 'off' or (not args.name and (border == 'subgroup' or border == 'child' or border == 'none')) then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' then spacerSide = 'left' end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = 'right' end titleCell.wikitext(Navbar.navbar({ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' })) end -- Render the spacer div. if spacerSide then titleCell .tag('span') .css('float', spacerSide) .css('width', '6em') .wikitext('&nbsp;') end end -- -- Above/Below rows -- function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.aboveclass) .cssText(args.basestyle) .cssText(args.abovestyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.above) .newline() end function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.belowclass) .cssText(args.basestyle) .cssText(args.belowstyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.below) .newline() end function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end -- -- List rows -- function renderListRow(tbl, listnum) local row = addTableRow(tbl) if listnum == 1 and args.imageleft then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 2px 0px 0px') .cssText(args.imageleftstyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.imageleft) .newline() end if args['group' .. listnum] then local groupCell = row.tag('th') groupCell .attr('scope', 'row') .addClass('navbox-group') .addClass(args.groupclass) .cssText(args.basestyle) if args.groupwidth then groupCell.css('width', args.groupwidth) end groupCell .cssText(args.groupstyle) .cssText(args['group' .. listnum .. 'style']) .wikitext(args['group' .. listnum]) end local listCell = row.tag('td') if args['group' .. listnum] then listCell .css('text-align', 'left') .css('border-left-width', '2px') .css('border-left-style', 'solid') else listCell.attr('colspan', 2) end if not args.groupwidth then listCell.css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell .css('padding', '0px') .cssText(args.liststyle) .cssText(rowstyle) .cssText(args['list' .. listnum .. 'style']) .addClass('navbox-list') .addClass('navbox-' .. evenOdd) .addClass(args.listclass) .tag('div') .css('padding', (listnum == 1 and args.list1padding) or args.listpadding or '0em 0.25em') .newline() .wikitext(args['list' .. listnum]) .newline() if listnum == 1 and args.image then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 0px 0px 2px') .cssText(args.imagestyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.image) .newline() end end -- -- Tracking categories -- function renderTrackingCategories(builder) local frame = mw.getCurrentFrame() if not frame then return end local s = frame:preprocess('{{#ifeq:{{NAMESPACE}}|{{ns:10}}|1|0}}{{SUBPAGENAME}}') if mw.ustring.sub(s, 1, 1) == '0' then return end -- not in template space local subpage = mw.ustring.lower(mw.ustring.sub(s, 2)) if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for i, cat in ipairs(getTrackingCategories()) do builder.wikitext('[[Category:' .. cat .. ']]') end end function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end return cats end function needsHorizontalLists() if border == 'child' or border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = {'plainlist', 'hlist', 'hlist hnum', 'hlist vcard', 'vcard hlist'} for i, cls in ipairs(listClasses) do if args.listclass == cls or args.bodyclass == cls then return false end end return true end function hasBackgroundColors() return args.titlestyle or args.groupstyle end -- -- Main navbox tables -- function renderMainTable() local tbl = HtmlBuilder.create('table') .attr('cellspacing', 0) .addClass('nowraplinks') .addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl .addClass('collapsible') .addClass(args.state or 'autocollapse') end tbl.css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl .addClass('navbox-subgroup') .cssText(args.bodystyle) .cssText(args.style) else -- regular navobx - bodystyle and style will be applied to the wrapper table tbl .addClass('navbox-inner') .css('background', 'transparent') .css('color', 'inherit') end tbl.cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = HtmlBuilder.create() if border == 'none' then res.node(tbl) elseif border == 'subgroup' or border == 'child' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res .tag('/div', {unclosed = true}) .done() .node(tbl) .tag('div', {unclosed = true}) else res .tag('table') .attr('cellspacing', 0) .addClass('navbox') .css('border-spacing', 0) .cssText(args.bodystyle) .cssText(args.style) .tag('tr') .tag('td') .css('padding', '2px') .node(tbl) end renderTrackingCategories(res) return tostring(res) end function p.navbox(frame) -- ParserFunctions considers the empty string to be false, so to preserve the previous -- behavior of {{navbox}}, change any empty arguments to nil, so Lua will consider -- them false too. local args = {} local parent_args = frame:getParent().args; -- Out of order parsing bug. local temp; temp = parent_args.title; temp = parent_args.above; for i = 1, 20 do temp = parent_args["group" .. tostring(i)]; temp = parent_args["list" .. tostring(i)]; end temp = parent_args.below; for k, v in pairs(parent_args) do if v ~= '' then args[k] = v end end return p._navbox(args) end return p 8pm8vxk80i5xi1ebm9bpwho9ueqe721 9878 9877 2013-09-29T12:15:43Z w>Edokter 0 but not here... 9878 Scribunto text/plain -- -- This module will implement {{Navbox}} -- local p = {} local HtmlBuilder = require('Module:HtmlBuilder') local Navbar = require('Module:Navbar') local args local frame local tableRowAdded = false local border local listnums = {} function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl .tag('tr') .css('height', '2px') .tag('td') end tableRowAdded = true return tbl.tag('tr') end -- -- Title row -- function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow .tag('th') .attr('scope', 'row') .addClass('navbox-group') .addClass(args.titlegroupclass) .cssText(args.basestyle) .cssText(args.groupstyle) .cssText(args.titlegroupstyle) .wikitext(args.titlegroup) end local titleCell = titleRow.tag('th').attr('scope', 'col') if args.titlegroup then titleCell .css('border-left', '2px solid #fdfdfd') .css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell .cssText(args.basestyle) .cssText(args.titlestyle) .addClass('navbox-title') .attr('colspan', titleColspan) renderNavBar(titleCell) titleCell .tag('div') .addClass(args.titleclass) .css('font-size', '110%') .newline() .wikitext(args.title) end function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = 'right' end elseif args.navbar == 'plain' or args.navbar == 'off' or (not args.name and (border == 'subgroup' or border == 'child' or border == 'none')) then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' then spacerSide = 'left' end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = 'right' end titleCell.wikitext(Navbar.navbar({ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' })) end -- Render the spacer div. if spacerSide then titleCell .tag('span') .css('float', spacerSide) .css('width', '6em') .wikitext('&nbsp;') end end -- -- Above/Below rows -- function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.aboveclass) .cssText(args.basestyle) .cssText(args.abovestyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.above) .newline() end function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.belowclass) .cssText(args.basestyle) .cssText(args.belowstyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.below) .newline() end function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end -- -- List rows -- function renderListRow(tbl, listnum) local row = addTableRow(tbl) if listnum == 1 and args.imageleft then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 2px 0px 0px') .cssText(args.imageleftstyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.imageleft) .newline() end if args['group' .. listnum] then local groupCell = row.tag('th') groupCell .attr('scope', 'row') .addClass('navbox-group') .addClass(args.groupclass) .cssText(args.basestyle) if args.groupwidth then groupCell.css('width', args.groupwidth) end groupCell .cssText(args.groupstyle) .cssText(args['group' .. listnum .. 'style']) .wikitext(args['group' .. listnum]) end local listCell = row.tag('td') if args['group' .. listnum] then listCell .css('text-align', 'left') .css('border-left-width', '2px') .css('border-left-style', 'solid') else listCell.attr('colspan', 2) end if not args.groupwidth then listCell.css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell .css('padding', '0px') .cssText(args.liststyle) .cssText(rowstyle) .cssText(args['list' .. listnum .. 'style']) .addClass('navbox-list') .addClass('navbox-' .. evenOdd) .addClass(args.listclass) .tag('div') .css('padding', (listnum == 1 and args.list1padding) or args.listpadding or '0em 0.25em') .newline() .wikitext(args['list' .. listnum]) .newline() if listnum == 1 and args.image then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 0px 0px 2px') .cssText(args.imagestyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.image) .newline() end end -- -- Tracking categories -- function renderTrackingCategories(builder) local frame = mw.getCurrentFrame() if not frame then return end local s = frame:preprocess('{{#ifeq:{{NAMESPACE}}|{{ns:10}}|1|0}}{{SUBPAGENAME}}') if mw.ustring.sub(s, 1, 1) == '0' then return end -- not in template space local subpage = mw.ustring.lower(mw.ustring.sub(s, 2)) if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for i, cat in ipairs(getTrackingCategories()) do builder.wikitext('[[Category:' .. cat .. ']]') end end function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end return cats end function needsHorizontalLists() if border == 'child' or border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = {'plainlist', 'hlist', 'hlist hnum', 'hlist vcard', 'vcard hlist'} for i, cls in ipairs(listClasses) do if args.listclass == cls or args.bodyclass == cls then return false end end return true end function hasBackgroundColors() return args.titlestyle or args.groupstyle end -- -- Main navbox tables -- function renderMainTable() local tbl = HtmlBuilder.create('table') .attr('cellspacing', 0) .addClass('nowraplinks') .addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl .addClass('collapsible') .addClass(args.state or 'autocollapse') end tbl.css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl .addClass('navbox-subgroup') .cssText(args.bodystyle) .cssText(args.style) else -- regular navobx - bodystyle and style will be applied to the wrapper table tbl .addClass('navbox-inner') .css('background', 'transparent') .css('color', 'inherit') end tbl.cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = HtmlBuilder.create() if border == 'none' then res.node(tbl) elseif border == 'subgroup' or border == 'child' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res .tag('/div', {unclosed = true}) .done() .node(tbl) .tag('div', {unclosed = true}) else res .tag('table') .attr('cellspacing', 0) .addClass('navbox') .css('border-spacing', 0) .cssText(args.bodystyle) .cssText(args.style) .tag('tr') .tag('td') .css('padding', '2px') .node(tbl) end renderTrackingCategories(res) return tostring(res) end function p.navbox(frame) -- ParserFunctions considers the empty string to be false, so to preserve the previous -- behavior of {{navbox}}, change any empty arguments to nil, so Lua will consider -- them false too. local args = {} local parent_args = frame:getParent().args; -- Out of order parsing bug. local temp; temp = parent_args.title; temp = parent_args.above; for i = 1, 20 do temp = parent_args["group" .. tostring(i)]; temp = parent_args["list" .. tostring(i)]; end temp = parent_args.below; for k, v in pairs(parent_args) do if v ~= '' then args[k] = v end end return p._navbox(args) end return p 20acf5qtj3kbqrp768savi2trbhr3i0 9879 9878 2013-10-03T19:22:04Z w>Edokter 0 Revert my fix; causes unwanted linebreaks that triggers <p>s. Needs a different solution. 9879 Scribunto text/plain -- -- This module will implement {{Navbox}} -- local p = {} local HtmlBuilder = require('Module:HtmlBuilder') local Navbar = require('Module:Navbar') local args local frame local tableRowAdded = false local border local listnums = {} function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl .tag('tr') .css('height', '2px') .tag('td') end tableRowAdded = true return tbl.tag('tr') end -- -- Title row -- function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow .tag('th') .attr('scope', 'row') .addClass('navbox-group') .addClass(args.titlegroupclass) .cssText(args.basestyle) .cssText(args.groupstyle) .cssText(args.titlegroupstyle) .wikitext(args.titlegroup) end local titleCell = titleRow.tag('th').attr('scope', 'col') if args.titlegroup then titleCell .css('border-left', '2px solid #fdfdfd') .css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell .cssText(args.basestyle) .cssText(args.titlestyle) .addClass('navbox-title') .attr('colspan', titleColspan) renderNavBar(titleCell) titleCell .tag('div') .addClass(args.titleclass) .css('font-size', '110%') .newline() .wikitext(args.title) end function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = 'right' end elseif args.navbar == 'plain' or args.navbar == 'off' or (not args.name and (border == 'subgroup' or border == 'child' or border == 'none')) then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' then spacerSide = 'left' end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = 'right' end titleCell.wikitext(Navbar.navbar({ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' })) end -- Render the spacer div. if spacerSide then titleCell .tag('span') .css('float', spacerSide) .css('width', '6em') .wikitext('&nbsp;') end end -- -- Above/Below rows -- function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.aboveclass) .cssText(args.basestyle) .cssText(args.abovestyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.above) end function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.belowclass) .cssText(args.basestyle) .cssText(args.belowstyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.below) end function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end -- -- List rows -- function renderListRow(tbl, listnum) local row = addTableRow(tbl) if listnum == 1 and args.imageleft then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 2px 0px 0px') .cssText(args.imageleftstyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.imageleft) end if args['group' .. listnum] then local groupCell = row.tag('th') groupCell .attr('scope', 'row') .addClass('navbox-group') .addClass(args.groupclass) .cssText(args.basestyle) if args.groupwidth then groupCell.css('width', args.groupwidth) end groupCell .cssText(args.groupstyle) .cssText(args['group' .. listnum .. 'style']) .wikitext(args['group' .. listnum]) end local listCell = row.tag('td') if args['group' .. listnum] then listCell .css('text-align', 'left') .css('border-left-width', '2px') .css('border-left-style', 'solid') else listCell.attr('colspan', 2) end if not args.groupwidth then listCell.css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell .css('padding', '0px') .cssText(args.liststyle) .cssText(rowstyle) .cssText(args['list' .. listnum .. 'style']) .addClass('navbox-list') .addClass('navbox-' .. evenOdd) .addClass(args.listclass) .tag('div') .css('padding', (listnum == 1 and args.list1padding) or args.listpadding or '0em 0.25em') .newline() .wikitext(args['list' .. listnum]) if listnum == 1 and args.image then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 0px 0px 2px') .cssText(args.imagestyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.image) end end -- -- Tracking categories -- function renderTrackingCategories(builder) local frame = mw.getCurrentFrame() if not frame then return end local s = frame:preprocess('{{#ifeq:{{NAMESPACE}}|{{ns:10}}|1|0}}{{SUBPAGENAME}}') if mw.ustring.sub(s, 1, 1) == '0' then return end -- not in template space local subpage = mw.ustring.lower(mw.ustring.sub(s, 2)) if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for i, cat in ipairs(getTrackingCategories()) do builder.wikitext('[[Category:' .. cat .. ']]') end end function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end return cats end function needsHorizontalLists() if border == 'child' or border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = {'plainlist', 'hlist', 'hlist hnum', 'hlist vcard', 'vcard hlist'} for i, cls in ipairs(listClasses) do if args.listclass == cls or args.bodyclass == cls then return false end end return true end function hasBackgroundColors() return args.titlestyle or args.groupstyle end -- -- Main navbox tables -- function renderMainTable() local tbl = HtmlBuilder.create('table') .attr('cellspacing', 0) .addClass('nowraplinks') .addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl .addClass('collapsible') .addClass(args.state or 'autocollapse') end tbl.css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl .addClass('navbox-subgroup') .cssText(args.bodystyle) .cssText(args.style) else -- regular navobx - bodystyle and style will be applied to the wrapper table tbl .addClass('navbox-inner') .css('background', 'transparent') .css('color', 'inherit') end tbl.cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = HtmlBuilder.create() if border == 'none' then res.node(tbl) elseif border == 'subgroup' or border == 'child' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res .tag('/div', {unclosed = true}) .done() .node(tbl) .tag('div', {unclosed = true}) else res .tag('table') .attr('cellspacing', 0) .addClass('navbox') .css('border-spacing', 0) .cssText(args.bodystyle) .cssText(args.style) .tag('tr') .tag('td') .css('padding', '2px') .node(tbl) end renderTrackingCategories(res) return tostring(res) end function p.navbox(frame) -- ParserFunctions considers the empty string to be false, so to preserve the previous -- behavior of {{navbox}}, change any empty arguments to nil, so Lua will consider -- them false too. local args = {} local parent_args = frame:getParent().args; -- Out of order parsing bug. local temp; temp = parent_args.title; temp = parent_args.above; for i = 1, 20 do temp = parent_args["group" .. tostring(i)]; temp = parent_args["list" .. tostring(i)]; end temp = parent_args.below; for k, v in pairs(parent_args) do if v ~= '' then args[k] = v end end return p._navbox(args) end return p 9t8usp6ywmzxmpld8jcunt6ye409jdg 9880 9879 2013-10-09T13:17:44Z w>De728631 0 per edit request at template talk 9880 Scribunto text/plain -- -- This module will implement {{Navbox}} -- local p = {} local HtmlBuilder = require('Module:HtmlBuilder') local Navbar = require('Module:Navbar') local args local frame local tableRowAdded = false local border local listnums = {} function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl .tag('tr') .css('height', '2px') .tag('td') end tableRowAdded = true return tbl.tag('tr') end -- -- Title row -- function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow .tag('th') .attr('scope', 'row') .addClass('navbox-group') .addClass(args.titlegroupclass) .cssText(args.basestyle) .cssText(args.groupstyle) .cssText(args.titlegroupstyle) .wikitext(args.titlegroup) end local titleCell = titleRow.tag('th').attr('scope', 'col') if args.titlegroup then titleCell .css('border-left', '2px solid #fdfdfd') .css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell .cssText(args.basestyle) .cssText(args.titlestyle) .addClass('navbox-title') .attr('colspan', titleColspan) renderNavBar(titleCell) titleCell .tag('div') .addClass(args.titleclass) .css('font-size', '110%') .newline() .wikitext(args.title) end function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = 'right' end elseif args.navbar == 'plain' or args.navbar == 'off' or (not args.name and (border == 'subgroup' or border == 'child' or border == 'none')) then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' then spacerSide = 'left' end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = 'right' end titleCell.wikitext(Navbar.navbar({ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' })) end -- Render the spacer div. if spacerSide then titleCell .tag('span') .css('float', spacerSide) .css('width', '6em') .wikitext('&nbsp;') end end -- -- Above/Below rows -- function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.aboveclass) .cssText(args.basestyle) .cssText(args.abovestyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.above) end function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.belowclass) .cssText(args.basestyle) .cssText(args.belowstyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.below) end function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end -- -- List rows -- function renderListRow(tbl, listnum) local row = addTableRow(tbl) if listnum == 1 and args.imageleft then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 2px 0px 0px') .cssText(args.imageleftstyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.imageleft) end if args['group' .. listnum] then local groupCell = row.tag('th') groupCell .attr('scope', 'row') .addClass('navbox-group') .addClass(args.groupclass) .cssText(args.basestyle) if args.groupwidth then groupCell.css('width', args.groupwidth) end groupCell .cssText(args.groupstyle) .cssText(args['group' .. listnum .. 'style']) .wikitext(args['group' .. listnum]) end local listCell = row.tag('td') if args['group' .. listnum] then listCell .css('text-align', 'left') .css('border-left-width', '2px') .css('border-left-style', 'solid') else listCell.attr('colspan', 2) end if not args.groupwidth then listCell.css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell .css('padding', '0px') .cssText(args.liststyle) .cssText(rowstyle) .cssText(args['list' .. listnum .. 'style']) .addClass('navbox-list') .addClass('navbox-' .. evenOdd) .addClass(args.listclass) .tag('div') .css('padding', (listnum == 1 and args.list1padding) or args.listpadding or '0em 0.25em') .newline() .wikitext(args['list' .. listnum]) if listnum == 1 and args.image then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 0px 0px 2px') .cssText(args.imagestyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.image) end end -- -- Tracking categories -- function renderTrackingCategories(builder) local frame = mw.getCurrentFrame() if not frame then return end local s = frame:preprocess('{{#ifeq:{{NAMESPACE}}|{{ns:10}}|1|0}}{{SUBPAGENAME}}') if mw.ustring.sub(s, 1, 1) == '0' then return end -- not in template space local subpage = mw.ustring.lower(mw.ustring.sub(s, 2)) if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for i, cat in ipairs(getTrackingCategories()) do builder.wikitext('[[Category:' .. cat .. ']]') end end function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end return cats end function needsHorizontalLists() if border == 'child' or border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = {'plainlist', 'hlist', 'hlist hnum', 'hlist hwrap', 'hlist vcard', 'vcard hlist'} for i, cls in ipairs(listClasses) do if args.listclass == cls or args.bodyclass == cls then return false end end return true end function hasBackgroundColors() return args.titlestyle or args.groupstyle end -- -- Main navbox tables -- function renderMainTable() local tbl = HtmlBuilder.create('table') .attr('cellspacing', 0) .addClass('nowraplinks') .addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl .addClass('collapsible') .addClass(args.state or 'autocollapse') end tbl.css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl .addClass('navbox-subgroup') .cssText(args.bodystyle) .cssText(args.style) else -- regular navobx - bodystyle and style will be applied to the wrapper table tbl .addClass('navbox-inner') .css('background', 'transparent') .css('color', 'inherit') end tbl.cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = HtmlBuilder.create() if border == 'none' then res.node(tbl) elseif border == 'subgroup' or border == 'child' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res .tag('/div', {unclosed = true}) .done() .node(tbl) .tag('div', {unclosed = true}) else res .tag('table') .attr('cellspacing', 0) .addClass('navbox') .css('border-spacing', 0) .cssText(args.bodystyle) .cssText(args.style) .tag('tr') .tag('td') .css('padding', '2px') .node(tbl) end renderTrackingCategories(res) return tostring(res) end function p.navbox(frame) -- ParserFunctions considers the empty string to be false, so to preserve the previous -- behavior of {{navbox}}, change any empty arguments to nil, so Lua will consider -- them false too. local args = {} local parent_args = frame:getParent().args; -- Out of order parsing bug. local temp; temp = parent_args.title; temp = parent_args.above; for i = 1, 20 do temp = parent_args["group" .. tostring(i)]; temp = parent_args["list" .. tostring(i)]; end temp = parent_args.below; for k, v in pairs(parent_args) do if v ~= '' then args[k] = v end end return p._navbox(args) end return p ab4gpdpd3br3u5g9c8fpbd53jnasie6 9881 9880 2013-11-21T22:41:58Z w>WOSlinker 0 add hlist vevent to tracking options as per edit request 9881 Scribunto text/plain -- -- This module will implement {{Navbox}} -- local p = {} local HtmlBuilder = require('Module:HtmlBuilder') local Navbar = require('Module:Navbar') local args local frame local tableRowAdded = false local border local listnums = {} function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl .tag('tr') .css('height', '2px') .tag('td') end tableRowAdded = true return tbl.tag('tr') end -- -- Title row -- function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow .tag('th') .attr('scope', 'row') .addClass('navbox-group') .addClass(args.titlegroupclass) .cssText(args.basestyle) .cssText(args.groupstyle) .cssText(args.titlegroupstyle) .wikitext(args.titlegroup) end local titleCell = titleRow.tag('th').attr('scope', 'col') if args.titlegroup then titleCell .css('border-left', '2px solid #fdfdfd') .css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell .cssText(args.basestyle) .cssText(args.titlestyle) .addClass('navbox-title') .attr('colspan', titleColspan) renderNavBar(titleCell) titleCell .tag('div') .addClass(args.titleclass) .css('font-size', '110%') .newline() .wikitext(args.title) end function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = 'right' end elseif args.navbar == 'plain' or args.navbar == 'off' or (not args.name and (border == 'subgroup' or border == 'child' or border == 'none')) then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' then spacerSide = 'left' end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = 'right' end titleCell.wikitext(Navbar.navbar({ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' })) end -- Render the spacer div. if spacerSide then titleCell .tag('span') .css('float', spacerSide) .css('width', '6em') .wikitext('&nbsp;') end end -- -- Above/Below rows -- function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.aboveclass) .cssText(args.basestyle) .cssText(args.abovestyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.above) end function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.belowclass) .cssText(args.basestyle) .cssText(args.belowstyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.below) end function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end -- -- List rows -- function renderListRow(tbl, listnum) local row = addTableRow(tbl) if listnum == 1 and args.imageleft then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 2px 0px 0px') .cssText(args.imageleftstyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.imageleft) end if args['group' .. listnum] then local groupCell = row.tag('th') groupCell .attr('scope', 'row') .addClass('navbox-group') .addClass(args.groupclass) .cssText(args.basestyle) if args.groupwidth then groupCell.css('width', args.groupwidth) end groupCell .cssText(args.groupstyle) .cssText(args['group' .. listnum .. 'style']) .wikitext(args['group' .. listnum]) end local listCell = row.tag('td') if args['group' .. listnum] then listCell .css('text-align', 'left') .css('border-left-width', '2px') .css('border-left-style', 'solid') else listCell.attr('colspan', 2) end if not args.groupwidth then listCell.css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell .css('padding', '0px') .cssText(args.liststyle) .cssText(rowstyle) .cssText(args['list' .. listnum .. 'style']) .addClass('navbox-list') .addClass('navbox-' .. evenOdd) .addClass(args.listclass) .tag('div') .css('padding', (listnum == 1 and args.list1padding) or args.listpadding or '0em 0.25em') .newline() .wikitext(args['list' .. listnum]) if listnum == 1 and args.image then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 0px 0px 2px') .cssText(args.imagestyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.image) end end -- -- Tracking categories -- function renderTrackingCategories(builder) local frame = mw.getCurrentFrame() if not frame then return end local s = frame:preprocess('{{#ifeq:{{NAMESPACE}}|{{ns:10}}|1|0}}{{SUBPAGENAME}}') if mw.ustring.sub(s, 1, 1) == '0' then return end -- not in template space local subpage = mw.ustring.lower(mw.ustring.sub(s, 2)) if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for i, cat in ipairs(getTrackingCategories()) do builder.wikitext('[[Category:' .. cat .. ']]') end end function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end return cats end function needsHorizontalLists() if border == 'child' or border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = {'plainlist', 'hlist', 'hlist hnum', 'hlist hwrap', 'hlist vcard', 'vcard hlist', 'hlist vevent'} for i, cls in ipairs(listClasses) do if args.listclass == cls or args.bodyclass == cls then return false end end return true end function hasBackgroundColors() return args.titlestyle or args.groupstyle end -- -- Main navbox tables -- function renderMainTable() local tbl = HtmlBuilder.create('table') .attr('cellspacing', 0) .addClass('nowraplinks') .addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl .addClass('collapsible') .addClass(args.state or 'autocollapse') end tbl.css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl .addClass('navbox-subgroup') .cssText(args.bodystyle) .cssText(args.style) else -- regular navobx - bodystyle and style will be applied to the wrapper table tbl .addClass('navbox-inner') .css('background', 'transparent') .css('color', 'inherit') end tbl.cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = HtmlBuilder.create() if border == 'none' then res.node(tbl) elseif border == 'subgroup' or border == 'child' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res .tag('/div', {unclosed = true}) .done() .node(tbl) .tag('div', {unclosed = true}) else res .tag('table') .attr('cellspacing', 0) .addClass('navbox') .css('border-spacing', 0) .cssText(args.bodystyle) .cssText(args.style) .tag('tr') .tag('td') .css('padding', '2px') .node(tbl) end renderTrackingCategories(res) return tostring(res) end function p.navbox(frame) -- ParserFunctions considers the empty string to be false, so to preserve the previous -- behavior of {{navbox}}, change any empty arguments to nil, so Lua will consider -- them false too. local args = {} local parent_args = frame:getParent().args; -- Out of order parsing bug. local temp; temp = parent_args.title; temp = parent_args.above; for i = 1, 20 do temp = parent_args["group" .. tostring(i)]; temp = parent_args["list" .. tostring(i)]; end temp = parent_args.below; for k, v in pairs(parent_args) do if v ~= '' then args[k] = v end end return p._navbox(args) end return p lc7dg62zlhmriz1nt6clcvp9ujupy8s 9882 9881 2014-02-25T22:53:48Z w>TheDJ 0 Template:Navbox/testcases 9882 Scribunto text/plain -- -- This module will implement {{Navbox}} -- local p = {} local HtmlBuilder = require('Module:HtmlBuilder') local Navbar = require('Module:Navbar') local args local frame local tableRowAdded = false local border local listnums = {} function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl .tag('tr') .css('height', '2px') .tag('td').attr('colspan', getAboveBelowColspan()) end tableRowAdded = true return tbl.tag('tr') end -- -- Title row -- function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow .tag('th') .attr('scope', 'row') .addClass('navbox-group') .addClass(args.titlegroupclass) .cssText(args.basestyle) .cssText(args.groupstyle) .cssText(args.titlegroupstyle) .wikitext(args.titlegroup) end local titleCell = titleRow.tag('th').attr('scope', 'col') if args.titlegroup then titleCell .css('border-left', '2px solid #fdfdfd') .css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell .cssText(args.basestyle) .cssText(args.titlestyle) .addClass('navbox-title') .attr('colspan', titleColspan) renderNavBar(titleCell) titleCell .tag('div') .addClass(args.titleclass) .css('font-size', '110%') .newline() .wikitext(args.title) end function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = 'right' end elseif args.navbar == 'plain' or args.navbar == 'off' or (not args.name and (border == 'subgroup' or border == 'child' or border == 'none')) then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' then spacerSide = 'left' end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = 'right' end titleCell.wikitext(Navbar.navbar({ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' })) end -- Render the spacer div. if spacerSide then titleCell .tag('span') .css('float', spacerSide) .css('width', '6em') .wikitext('&nbsp;') end end -- -- Above/Below rows -- function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.aboveclass) .cssText(args.basestyle) .cssText(args.abovestyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.above) end function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.belowclass) .cssText(args.basestyle) .cssText(args.belowstyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.below) end function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end -- -- List rows -- function renderListRow(tbl, listnum) local row = addTableRow(tbl) if listnum == 1 and args.imageleft then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 2px 0px 0px') .cssText(args.imageleftstyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.imageleft) end if args['group' .. listnum] then local groupCell = row.tag('th') groupCell .attr('scope', 'row') .addClass('navbox-group') .addClass(args.groupclass) .cssText(args.basestyle) if args.groupwidth then groupCell.css('width', args.groupwidth) end groupCell .cssText(args.groupstyle) .cssText(args['group' .. listnum .. 'style']) .wikitext(args['group' .. listnum]) end local listCell = row.tag('td') if args['group' .. listnum] then listCell .css('text-align', 'left') .css('border-left-width', '2px') .css('border-left-style', 'solid') else listCell.attr('colspan', 2) end if not args.groupwidth then listCell.css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell .css('padding', '0px') .cssText(args.liststyle) .cssText(rowstyle) .cssText(args['list' .. listnum .. 'style']) .addClass('navbox-list') .addClass('navbox-' .. evenOdd) .addClass(args.listclass) .tag('div') .css('padding', (listnum == 1 and args.list1padding) or args.listpadding or '0em 0.25em') .newline() .wikitext(args['list' .. listnum]) if listnum == 1 and args.image then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 0px 0px 2px') .cssText(args.imagestyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.image) end end -- -- Tracking categories -- function renderTrackingCategories(builder) local frame = mw.getCurrentFrame() if not frame then return end local s = frame:preprocess('{{#ifeq:{{NAMESPACE}}|{{ns:10}}|1|0}}{{SUBPAGENAME}}') if mw.ustring.sub(s, 1, 1) == '0' then return end -- not in template space local subpage = mw.ustring.lower(mw.ustring.sub(s, 2)) if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for i, cat in ipairs(getTrackingCategories()) do builder.wikitext('[[Category:' .. cat .. ']]') end end function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end return cats end function needsHorizontalLists() if border == 'child' or border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = {'plainlist', 'hlist', 'hlist hnum', 'hlist hwrap', 'hlist vcard', 'vcard hlist', 'hlist vevent'} for i, cls in ipairs(listClasses) do if args.listclass == cls or args.bodyclass == cls then return false end end return true end function hasBackgroundColors() return args.titlestyle or args.groupstyle end -- -- Main navbox tables -- function renderMainTable() local tbl = HtmlBuilder.create('table') .attr('cellspacing', 0) .addClass('nowraplinks') .addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl .addClass('collapsible') .addClass(args.state or 'autocollapse') end tbl.css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl .addClass('navbox-subgroup') .cssText(args.bodystyle) .cssText(args.style) else -- regular navobx - bodystyle and style will be applied to the wrapper table tbl .addClass('navbox-inner') .css('background', 'transparent') .css('color', 'inherit') end tbl.cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = HtmlBuilder.create() if border == 'none' then res.node(tbl) elseif border == 'subgroup' or border == 'child' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res .tag('/div', {unclosed = true}) .done() .node(tbl) .tag('div', {unclosed = true}) else res .tag('table') .attr('cellspacing', 0) .addClass('navbox') .css('border-spacing', 0) .cssText(args.bodystyle) .cssText(args.style) .tag('tr') .tag('td') .css('padding', '2px') .node(tbl) end renderTrackingCategories(res) return tostring(res) end function p.navbox(frame) -- ParserFunctions considers the empty string to be false, so to preserve the previous -- behavior of {{navbox}}, change any empty arguments to nil, so Lua will consider -- them false too. local args = {} local parent_args = frame:getParent().args; -- Out of order parsing bug. local temp; temp = parent_args.title; temp = parent_args.above; for i = 1, 20 do temp = parent_args["group" .. tostring(i)]; temp = parent_args["list" .. tostring(i)]; end temp = parent_args.below; for k, v in pairs(parent_args) do if v ~= '' then args[k] = v end end return p._navbox(args) end return p 2fr90wdoymnmkgdl1q1mton1y1tjbsw 9883 9882 2014-02-25T22:54:42Z w>TheDJ 0 that was not "show preview" button 9883 Scribunto text/plain -- -- This module will implement {{Navbox}} -- local p = {} local HtmlBuilder = require('Module:HtmlBuilder') local Navbar = require('Module:Navbar') local args local frame local tableRowAdded = false local border local listnums = {} function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl .tag('tr') .css('height', '2px') .tag('td') end tableRowAdded = true return tbl.tag('tr') end -- -- Title row -- function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow .tag('th') .attr('scope', 'row') .addClass('navbox-group') .addClass(args.titlegroupclass) .cssText(args.basestyle) .cssText(args.groupstyle) .cssText(args.titlegroupstyle) .wikitext(args.titlegroup) end local titleCell = titleRow.tag('th').attr('scope', 'col') if args.titlegroup then titleCell .css('border-left', '2px solid #fdfdfd') .css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell .cssText(args.basestyle) .cssText(args.titlestyle) .addClass('navbox-title') .attr('colspan', titleColspan) renderNavBar(titleCell) titleCell .tag('div') .addClass(args.titleclass) .css('font-size', '110%') .newline() .wikitext(args.title) end function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = 'right' end elseif args.navbar == 'plain' or args.navbar == 'off' or (not args.name and (border == 'subgroup' or border == 'child' or border == 'none')) then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' then spacerSide = 'left' end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = 'right' end titleCell.wikitext(Navbar.navbar({ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' })) end -- Render the spacer div. if spacerSide then titleCell .tag('span') .css('float', spacerSide) .css('width', '6em') .wikitext('&nbsp;') end end -- -- Above/Below rows -- function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.aboveclass) .cssText(args.basestyle) .cssText(args.abovestyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.above) end function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.belowclass) .cssText(args.basestyle) .cssText(args.belowstyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .newline() .wikitext(args.below) end function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end -- -- List rows -- function renderListRow(tbl, listnum) local row = addTableRow(tbl) if listnum == 1 and args.imageleft then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 2px 0px 0px') .cssText(args.imageleftstyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.imageleft) end if args['group' .. listnum] then local groupCell = row.tag('th') groupCell .attr('scope', 'row') .addClass('navbox-group') .addClass(args.groupclass) .cssText(args.basestyle) if args.groupwidth then groupCell.css('width', args.groupwidth) end groupCell .cssText(args.groupstyle) .cssText(args['group' .. listnum .. 'style']) .wikitext(args['group' .. listnum]) end local listCell = row.tag('td') if args['group' .. listnum] then listCell .css('text-align', 'left') .css('border-left-width', '2px') .css('border-left-style', 'solid') else listCell.attr('colspan', 2) end if not args.groupwidth then listCell.css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell .css('padding', '0px') .cssText(args.liststyle) .cssText(rowstyle) .cssText(args['list' .. listnum .. 'style']) .addClass('navbox-list') .addClass('navbox-' .. evenOdd) .addClass(args.listclass) .tag('div') .css('padding', (listnum == 1 and args.list1padding) or args.listpadding or '0em 0.25em') .newline() .wikitext(args['list' .. listnum]) if listnum == 1 and args.image then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 0px 0px 2px') .cssText(args.imagestyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .newline() .wikitext(args.image) end end -- -- Tracking categories -- function renderTrackingCategories(builder) local frame = mw.getCurrentFrame() if not frame then return end local s = frame:preprocess('{{#ifeq:{{NAMESPACE}}|{{ns:10}}|1|0}}{{SUBPAGENAME}}') if mw.ustring.sub(s, 1, 1) == '0' then return end -- not in template space local subpage = mw.ustring.lower(mw.ustring.sub(s, 2)) if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for i, cat in ipairs(getTrackingCategories()) do builder.wikitext('[[Category:' .. cat .. ']]') end end function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end return cats end function needsHorizontalLists() if border == 'child' or border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = {'plainlist', 'hlist', 'hlist hnum', 'hlist hwrap', 'hlist vcard', 'vcard hlist', 'hlist vevent'} for i, cls in ipairs(listClasses) do if args.listclass == cls or args.bodyclass == cls then return false end end return true end function hasBackgroundColors() return args.titlestyle or args.groupstyle end -- -- Main navbox tables -- function renderMainTable() local tbl = HtmlBuilder.create('table') .attr('cellspacing', 0) .addClass('nowraplinks') .addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl .addClass('collapsible') .addClass(args.state or 'autocollapse') end tbl.css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl .addClass('navbox-subgroup') .cssText(args.bodystyle) .cssText(args.style) else -- regular navobx - bodystyle and style will be applied to the wrapper table tbl .addClass('navbox-inner') .css('background', 'transparent') .css('color', 'inherit') end tbl.cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = HtmlBuilder.create() if border == 'none' then res.node(tbl) elseif border == 'subgroup' or border == 'child' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res .tag('/div', {unclosed = true}) .done() .node(tbl) .tag('div', {unclosed = true}) else res .tag('table') .attr('cellspacing', 0) .addClass('navbox') .css('border-spacing', 0) .cssText(args.bodystyle) .cssText(args.style) .tag('tr') .tag('td') .css('padding', '2px') .node(tbl) end renderTrackingCategories(res) return tostring(res) end function p.navbox(frame) -- ParserFunctions considers the empty string to be false, so to preserve the previous -- behavior of {{navbox}}, change any empty arguments to nil, so Lua will consider -- them false too. local args = {} local parent_args = frame:getParent().args; -- Out of order parsing bug. local temp; temp = parent_args.title; temp = parent_args.above; for i = 1, 20 do temp = parent_args["group" .. tostring(i)]; temp = parent_args["list" .. tostring(i)]; end temp = parent_args.below; for k, v in pairs(parent_args) do if v ~= '' then args[k] = v end end return p._navbox(args) end return p lc7dg62zlhmriz1nt6clcvp9ujupy8s 9884 9883 2014-03-14T16:36:10Z w>Edokter 0 Update from sandbox 9884 Scribunto text/plain -- -- This module will implement {{Navbox}} -- local p = {} local HtmlBuilder = require('Module:HtmlBuilder') local Navbar = require('Module:Navbar') local args local frame local tableRowAdded = false local border local listnums = {} function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end function addNewline(s) if s:match('^[*:;#]') or s:match('^{|') then return '\n' .. s ..'\n' else return s end end function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl .tag('tr') .css('height', '2px') .tag('td') .attr('colspan',2) end tableRowAdded = true return tbl.tag('tr') end -- -- Title row -- function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow .tag('th') .attr('scope', 'row') .addClass('navbox-group') .addClass(args.titlegroupclass) .cssText(args.basestyle) .cssText(args.groupstyle) .cssText(args.titlegroupstyle) .wikitext(args.titlegroup) end local titleCell = titleRow.tag('th').attr('scope', 'col') if args.titlegroup then titleCell .css('border-left', '2px solid #fdfdfd') .css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell .cssText(args.basestyle) .cssText(args.titlestyle) .addClass('navbox-title') .attr('colspan', titleColspan) renderNavBar(titleCell) titleCell .tag('div') .addClass(args.titleclass) .css('font-size', '110%') .wikitext(addNewline(args.title)) end function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = 'right' end elseif args.navbar == 'plain' or args.navbar == 'off' or (not args.name and (border == 'subgroup' or border == 'child' or border == 'none')) then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' then spacerSide = 'left' end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = 'right' end titleCell.wikitext(Navbar.navbar({ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' })) end -- Render the spacer div. if spacerSide then titleCell .tag('span') .css('float', spacerSide) .css('width', '6em') .wikitext('&nbsp;') end end -- -- Above/Below rows -- function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.aboveclass) .cssText(args.basestyle) .cssText(args.abovestyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .wikitext(addNewline(args.above)) end function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.belowclass) .cssText(args.basestyle) .cssText(args.belowstyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .wikitext(addNewline(args.below)) end function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end -- -- List rows -- function renderListRow(tbl, listnum) local row = addTableRow(tbl) if listnum == 1 and args.imageleft then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 2px 0px 0px') .cssText(args.imageleftstyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .wikitext(addNewline(args.imageleft)) end if args['group' .. listnum] then local groupCell = row.tag('th') groupCell .attr('scope', 'row') .addClass('navbox-group') .addClass(args.groupclass) .cssText(args.basestyle) if args.groupwidth then groupCell.css('width', args.groupwidth) end groupCell .cssText(args.groupstyle) .cssText(args['group' .. listnum .. 'style']) .wikitext(args['group' .. listnum]) end local listCell = row.tag('td') if args['group' .. listnum] then listCell .css('text-align', 'left') .css('border-left-width', '2px') .css('border-left-style', 'solid') else listCell.attr('colspan', 2) end if not args.groupwidth then listCell.css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell .css('padding', '0px') .cssText(args.liststyle) .cssText(rowstyle) .cssText(args['list' .. listnum .. 'style']) .addClass('navbox-list') .addClass('navbox-' .. evenOdd) .addClass(args.listclass) .tag('div') .css('padding', (listnum == 1 and args.list1padding) or args.listpadding or '0em 0.25em') .wikitext(addNewline(args['list' .. listnum])) if listnum == 1 and args.image then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 0px 0px 2px') .cssText(args.imagestyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .wikitext(addNewline(args.image)) end end -- -- Tracking categories -- function renderTrackingCategories(builder) local frame = mw.getCurrentFrame() if not frame then return end local s = frame:preprocess('{{#ifeq:{{NAMESPACE}}|{{ns:10}}|1|0}}{{SUBPAGENAME}}') if mw.ustring.sub(s, 1, 1) == '0' then return end -- not in template space local subpage = mw.ustring.lower(mw.ustring.sub(s, 2)) if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for i, cat in ipairs(getTrackingCategories()) do builder.wikitext('[[Category:' .. cat .. ']]') end end function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end return cats end function needsHorizontalLists() if border == 'child' or border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = {'plainlist', 'hlist', 'hlist hnum', 'hlist hwrap', 'hlist vcard', 'vcard hlist', 'hlist vevent'} for i, cls in ipairs(listClasses) do if args.listclass == cls or args.bodyclass == cls then return false end end return true end function hasBackgroundColors() return args.titlestyle or args.groupstyle end -- -- Main navbox tables -- function renderMainTable() local tbl = HtmlBuilder.create('table') .attr('cellspacing', 0) .addClass('nowraplinks') .addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl .addClass('collapsible') .addClass(args.state or 'autocollapse') end tbl.css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl .addClass('navbox-subgroup') .cssText(args.bodystyle) .cssText(args.style) else -- regular navobx - bodystyle and style will be applied to the wrapper table tbl .addClass('navbox-inner') .css('background', 'transparent') .css('color', 'inherit') end tbl.cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = HtmlBuilder.create() if border == 'none' then res.node(tbl) elseif border == 'subgroup' or border == 'child' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res .tag('/div', {unclosed = true}) .done() .node(tbl) .tag('div', {unclosed = true}) else res .tag('table') .attr('cellspacing', 0) .addClass('navbox') .css('border-spacing', 0) .cssText(args.bodystyle) .cssText(args.style) .tag('tr') .tag('td') .css('padding', '2px') .node(tbl) end renderTrackingCategories(res) return tostring(res) end function p.navbox(frame) -- ParserFunctions considers the empty string to be false, so to preserve the previous -- behavior of {{navbox}}, change any empty arguments to nil, so Lua will consider -- them false too. local args = {} local parent_args = frame:getParent().args; -- Out of order parsing bug. local temp; temp = parent_args.title; temp = parent_args.above; for i = 1, 20 do temp = parent_args["group" .. tostring(i)]; temp = parent_args["list" .. tostring(i)]; end temp = parent_args.below; for k, v in pairs(parent_args) do if v ~= '' then args[k] = v end end return p._navbox(args) end return p jdvfqqyspcigotxwr887ml3ybc6igrm 9885 9884 2014-05-07T12:09:13Z w>Ged UK 0 Changed protection level of Module:Navbox: lowering to template protection ([Edit=Allow only template editors and admins] (indefinite) [Move=Allow only template editors and admins] (indefinite)) 9884 Scribunto text/plain -- -- This module will implement {{Navbox}} -- local p = {} local HtmlBuilder = require('Module:HtmlBuilder') local Navbar = require('Module:Navbar') local args local frame local tableRowAdded = false local border local listnums = {} function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end function addNewline(s) if s:match('^[*:;#]') or s:match('^{|') then return '\n' .. s ..'\n' else return s end end function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl .tag('tr') .css('height', '2px') .tag('td') .attr('colspan',2) end tableRowAdded = true return tbl.tag('tr') end -- -- Title row -- function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow .tag('th') .attr('scope', 'row') .addClass('navbox-group') .addClass(args.titlegroupclass) .cssText(args.basestyle) .cssText(args.groupstyle) .cssText(args.titlegroupstyle) .wikitext(args.titlegroup) end local titleCell = titleRow.tag('th').attr('scope', 'col') if args.titlegroup then titleCell .css('border-left', '2px solid #fdfdfd') .css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell .cssText(args.basestyle) .cssText(args.titlestyle) .addClass('navbox-title') .attr('colspan', titleColspan) renderNavBar(titleCell) titleCell .tag('div') .addClass(args.titleclass) .css('font-size', '110%') .wikitext(addNewline(args.title)) end function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = 'right' end elseif args.navbar == 'plain' or args.navbar == 'off' or (not args.name and (border == 'subgroup' or border == 'child' or border == 'none')) then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' then spacerSide = 'left' end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = 'right' end titleCell.wikitext(Navbar.navbar({ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' })) end -- Render the spacer div. if spacerSide then titleCell .tag('span') .css('float', spacerSide) .css('width', '6em') .wikitext('&nbsp;') end end -- -- Above/Below rows -- function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.aboveclass) .cssText(args.basestyle) .cssText(args.abovestyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .wikitext(addNewline(args.above)) end function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.belowclass) .cssText(args.basestyle) .cssText(args.belowstyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .wikitext(addNewline(args.below)) end function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end -- -- List rows -- function renderListRow(tbl, listnum) local row = addTableRow(tbl) if listnum == 1 and args.imageleft then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 2px 0px 0px') .cssText(args.imageleftstyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .wikitext(addNewline(args.imageleft)) end if args['group' .. listnum] then local groupCell = row.tag('th') groupCell .attr('scope', 'row') .addClass('navbox-group') .addClass(args.groupclass) .cssText(args.basestyle) if args.groupwidth then groupCell.css('width', args.groupwidth) end groupCell .cssText(args.groupstyle) .cssText(args['group' .. listnum .. 'style']) .wikitext(args['group' .. listnum]) end local listCell = row.tag('td') if args['group' .. listnum] then listCell .css('text-align', 'left') .css('border-left-width', '2px') .css('border-left-style', 'solid') else listCell.attr('colspan', 2) end if not args.groupwidth then listCell.css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell .css('padding', '0px') .cssText(args.liststyle) .cssText(rowstyle) .cssText(args['list' .. listnum .. 'style']) .addClass('navbox-list') .addClass('navbox-' .. evenOdd) .addClass(args.listclass) .tag('div') .css('padding', (listnum == 1 and args.list1padding) or args.listpadding or '0em 0.25em') .wikitext(addNewline(args['list' .. listnum])) if listnum == 1 and args.image then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 0px 0px 2px') .cssText(args.imagestyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .wikitext(addNewline(args.image)) end end -- -- Tracking categories -- function renderTrackingCategories(builder) local frame = mw.getCurrentFrame() if not frame then return end local s = frame:preprocess('{{#ifeq:{{NAMESPACE}}|{{ns:10}}|1|0}}{{SUBPAGENAME}}') if mw.ustring.sub(s, 1, 1) == '0' then return end -- not in template space local subpage = mw.ustring.lower(mw.ustring.sub(s, 2)) if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for i, cat in ipairs(getTrackingCategories()) do builder.wikitext('[[Category:' .. cat .. ']]') end end function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end return cats end function needsHorizontalLists() if border == 'child' or border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = {'plainlist', 'hlist', 'hlist hnum', 'hlist hwrap', 'hlist vcard', 'vcard hlist', 'hlist vevent'} for i, cls in ipairs(listClasses) do if args.listclass == cls or args.bodyclass == cls then return false end end return true end function hasBackgroundColors() return args.titlestyle or args.groupstyle end -- -- Main navbox tables -- function renderMainTable() local tbl = HtmlBuilder.create('table') .attr('cellspacing', 0) .addClass('nowraplinks') .addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl .addClass('collapsible') .addClass(args.state or 'autocollapse') end tbl.css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl .addClass('navbox-subgroup') .cssText(args.bodystyle) .cssText(args.style) else -- regular navobx - bodystyle and style will be applied to the wrapper table tbl .addClass('navbox-inner') .css('background', 'transparent') .css('color', 'inherit') end tbl.cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = HtmlBuilder.create() if border == 'none' then res.node(tbl) elseif border == 'subgroup' or border == 'child' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res .tag('/div', {unclosed = true}) .done() .node(tbl) .tag('div', {unclosed = true}) else res .tag('table') .attr('cellspacing', 0) .addClass('navbox') .css('border-spacing', 0) .cssText(args.bodystyle) .cssText(args.style) .tag('tr') .tag('td') .css('padding', '2px') .node(tbl) end renderTrackingCategories(res) return tostring(res) end function p.navbox(frame) -- ParserFunctions considers the empty string to be false, so to preserve the previous -- behavior of {{navbox}}, change any empty arguments to nil, so Lua will consider -- them false too. local args = {} local parent_args = frame:getParent().args; -- Out of order parsing bug. local temp; temp = parent_args.title; temp = parent_args.above; for i = 1, 20 do temp = parent_args["group" .. tostring(i)]; temp = parent_args["list" .. tostring(i)]; end temp = parent_args.below; for k, v in pairs(parent_args) do if v ~= '' then args[k] = v end end return p._navbox(args) end return p jdvfqqyspcigotxwr887ml3ybc6igrm 9886 9885 2014-05-07T16:59:40Z w>Jackmcbarn 0 don't use globals 9886 Scribunto text/plain -- -- This module will implement {{Navbox}} -- local p = {} local HtmlBuilder = require('Module:HtmlBuilder') local Navbar = require('Module:Navbar') local args local frame local tableRowAdded = false local border local listnums = {} local function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end local function addNewline(s) if s:match('^[*:;#]') or s:match('^{|') then return '\n' .. s ..'\n' else return s end end local function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl .tag('tr') .css('height', '2px') .tag('td') .attr('colspan',2) end tableRowAdded = true return tbl.tag('tr') end local function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = 'right' end elseif args.navbar == 'plain' or args.navbar == 'off' or (not args.name and (border == 'subgroup' or border == 'child' or border == 'none')) then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' then spacerSide = 'left' end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = 'right' end titleCell.wikitext(Navbar.navbar({ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' })) end -- Render the spacer div. if spacerSide then titleCell .tag('span') .css('float', spacerSide) .css('width', '6em') .wikitext('&nbsp;') end end -- -- Title row -- local function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow .tag('th') .attr('scope', 'row') .addClass('navbox-group') .addClass(args.titlegroupclass) .cssText(args.basestyle) .cssText(args.groupstyle) .cssText(args.titlegroupstyle) .wikitext(args.titlegroup) end local titleCell = titleRow.tag('th').attr('scope', 'col') if args.titlegroup then titleCell .css('border-left', '2px solid #fdfdfd') .css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell .cssText(args.basestyle) .cssText(args.titlestyle) .addClass('navbox-title') .attr('colspan', titleColspan) renderNavBar(titleCell) titleCell .tag('div') .addClass(args.titleclass) .css('font-size', '110%') .wikitext(addNewline(args.title)) end -- -- Above/Below rows -- local function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end local function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.aboveclass) .cssText(args.basestyle) .cssText(args.abovestyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .wikitext(addNewline(args.above)) end local function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.belowclass) .cssText(args.basestyle) .cssText(args.belowstyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .wikitext(addNewline(args.below)) end -- -- List rows -- local function renderListRow(tbl, listnum) local row = addTableRow(tbl) if listnum == 1 and args.imageleft then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 2px 0px 0px') .cssText(args.imageleftstyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .wikitext(addNewline(args.imageleft)) end if args['group' .. listnum] then local groupCell = row.tag('th') groupCell .attr('scope', 'row') .addClass('navbox-group') .addClass(args.groupclass) .cssText(args.basestyle) if args.groupwidth then groupCell.css('width', args.groupwidth) end groupCell .cssText(args.groupstyle) .cssText(args['group' .. listnum .. 'style']) .wikitext(args['group' .. listnum]) end local listCell = row.tag('td') if args['group' .. listnum] then listCell .css('text-align', 'left') .css('border-left-width', '2px') .css('border-left-style', 'solid') else listCell.attr('colspan', 2) end if not args.groupwidth then listCell.css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell .css('padding', '0px') .cssText(args.liststyle) .cssText(rowstyle) .cssText(args['list' .. listnum .. 'style']) .addClass('navbox-list') .addClass('navbox-' .. evenOdd) .addClass(args.listclass) .tag('div') .css('padding', (listnum == 1 and args.list1padding) or args.listpadding or '0em 0.25em') .wikitext(addNewline(args['list' .. listnum])) if listnum == 1 and args.image then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 0px 0px 2px') .cssText(args.imagestyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .wikitext(addNewline(args.image)) end end -- -- Tracking categories -- local function renderTrackingCategories(builder) local frame = mw.getCurrentFrame() if not frame then return end local s = frame:preprocess('{{#ifeq:{{NAMESPACE}}|{{ns:10}}|1|0}}{{SUBPAGENAME}}') if mw.ustring.sub(s, 1, 1) == '0' then return end -- not in template space local subpage = mw.ustring.lower(mw.ustring.sub(s, 2)) if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for i, cat in ipairs(getTrackingCategories()) do builder.wikitext('[[Category:' .. cat .. ']]') end end local function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end return cats end local function needsHorizontalLists() if border == 'child' or border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = {'plainlist', 'hlist', 'hlist hnum', 'hlist hwrap', 'hlist vcard', 'vcard hlist', 'hlist vevent'} for i, cls in ipairs(listClasses) do if args.listclass == cls or args.bodyclass == cls then return false end end return true end local function hasBackgroundColors() return args.titlestyle or args.groupstyle end -- -- Main navbox tables -- local function renderMainTable() local tbl = HtmlBuilder.create('table') .attr('cellspacing', 0) .addClass('nowraplinks') .addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl .addClass('collapsible') .addClass(args.state or 'autocollapse') end tbl.css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl .addClass('navbox-subgroup') .cssText(args.bodystyle) .cssText(args.style) else -- regular navobx - bodystyle and style will be applied to the wrapper table tbl .addClass('navbox-inner') .css('background', 'transparent') .css('color', 'inherit') end tbl.cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = HtmlBuilder.create() if border == 'none' then res.node(tbl) elseif border == 'subgroup' or border == 'child' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res .tag('/div', {unclosed = true}) .done() .node(tbl) .tag('div', {unclosed = true}) else res .tag('table') .attr('cellspacing', 0) .addClass('navbox') .css('border-spacing', 0) .cssText(args.bodystyle) .cssText(args.style) .tag('tr') .tag('td') .css('padding', '2px') .node(tbl) end renderTrackingCategories(res) return tostring(res) end function p.navbox(frame) -- ParserFunctions considers the empty string to be false, so to preserve the previous -- behavior of {{navbox}}, change any empty arguments to nil, so Lua will consider -- them false too. local args = {} local parent_args = frame:getParent().args; -- Out of order parsing bug. local temp; temp = parent_args.title; temp = parent_args.above; for i = 1, 20 do temp = parent_args["group" .. tostring(i)]; temp = parent_args["list" .. tostring(i)]; end temp = parent_args.below; for k, v in pairs(parent_args) do if v ~= '' then args[k] = v end end return p._navbox(args) end return p k56d3r60toypdxhrgnfte6l7o5vf8wc 9887 9886 2014-05-07T17:09:32Z w>Jackmcbarn 0 apparently none of the test cases test tracking categories. fix a bunch of script errors 9887 Scribunto text/plain -- -- This module will implement {{Navbox}} -- local p = {} local HtmlBuilder = require('Module:HtmlBuilder') local Navbar = require('Module:Navbar') local args local frame local tableRowAdded = false local border local listnums = {} local function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end local function addNewline(s) if s:match('^[*:;#]') or s:match('^{|') then return '\n' .. s ..'\n' else return s end end local function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl .tag('tr') .css('height', '2px') .tag('td') .attr('colspan',2) end tableRowAdded = true return tbl.tag('tr') end local function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = 'right' end elseif args.navbar == 'plain' or args.navbar == 'off' or (not args.name and (border == 'subgroup' or border == 'child' or border == 'none')) then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' then spacerSide = 'left' end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = 'right' end titleCell.wikitext(Navbar.navbar({ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' })) end -- Render the spacer div. if spacerSide then titleCell .tag('span') .css('float', spacerSide) .css('width', '6em') .wikitext('&nbsp;') end end -- -- Title row -- local function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow .tag('th') .attr('scope', 'row') .addClass('navbox-group') .addClass(args.titlegroupclass) .cssText(args.basestyle) .cssText(args.groupstyle) .cssText(args.titlegroupstyle) .wikitext(args.titlegroup) end local titleCell = titleRow.tag('th').attr('scope', 'col') if args.titlegroup then titleCell .css('border-left', '2px solid #fdfdfd') .css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell .cssText(args.basestyle) .cssText(args.titlestyle) .addClass('navbox-title') .attr('colspan', titleColspan) renderNavBar(titleCell) titleCell .tag('div') .addClass(args.titleclass) .css('font-size', '110%') .wikitext(addNewline(args.title)) end -- -- Above/Below rows -- local function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end local function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.aboveclass) .cssText(args.basestyle) .cssText(args.abovestyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .wikitext(addNewline(args.above)) end local function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.belowclass) .cssText(args.basestyle) .cssText(args.belowstyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .wikitext(addNewline(args.below)) end -- -- List rows -- local function renderListRow(tbl, listnum) local row = addTableRow(tbl) if listnum == 1 and args.imageleft then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 2px 0px 0px') .cssText(args.imageleftstyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .wikitext(addNewline(args.imageleft)) end if args['group' .. listnum] then local groupCell = row.tag('th') groupCell .attr('scope', 'row') .addClass('navbox-group') .addClass(args.groupclass) .cssText(args.basestyle) if args.groupwidth then groupCell.css('width', args.groupwidth) end groupCell .cssText(args.groupstyle) .cssText(args['group' .. listnum .. 'style']) .wikitext(args['group' .. listnum]) end local listCell = row.tag('td') if args['group' .. listnum] then listCell .css('text-align', 'left') .css('border-left-width', '2px') .css('border-left-style', 'solid') else listCell.attr('colspan', 2) end if not args.groupwidth then listCell.css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell .css('padding', '0px') .cssText(args.liststyle) .cssText(rowstyle) .cssText(args['list' .. listnum .. 'style']) .addClass('navbox-list') .addClass('navbox-' .. evenOdd) .addClass(args.listclass) .tag('div') .css('padding', (listnum == 1 and args.list1padding) or args.listpadding or '0em 0.25em') .wikitext(addNewline(args['list' .. listnum])) if listnum == 1 and args.image then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 0px 0px 2px') .cssText(args.imagestyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .wikitext(addNewline(args.image)) end end -- -- Tracking categories -- local function needsHorizontalLists() if border == 'child' or border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = {'plainlist', 'hlist', 'hlist hnum', 'hlist hwrap', 'hlist vcard', 'vcard hlist', 'hlist vevent'} for i, cls in ipairs(listClasses) do if args.listclass == cls or args.bodyclass == cls then return false end end return true end local function hasBackgroundColors() return args.titlestyle or args.groupstyle end local function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end return cats end local function renderTrackingCategories(builder) local frame = mw.getCurrentFrame() if not frame then return end local s = frame:preprocess('{{#ifeq:{{NAMESPACE}}|{{ns:10}}|1|0}}{{SUBPAGENAME}}') if mw.ustring.sub(s, 1, 1) == '0' then return end -- not in template space local subpage = mw.ustring.lower(mw.ustring.sub(s, 2)) if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for i, cat in ipairs(getTrackingCategories()) do builder.wikitext('[[Category:' .. cat .. ']]') end end -- -- Main navbox tables -- local function renderMainTable() local tbl = HtmlBuilder.create('table') .attr('cellspacing', 0) .addClass('nowraplinks') .addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl .addClass('collapsible') .addClass(args.state or 'autocollapse') end tbl.css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl .addClass('navbox-subgroup') .cssText(args.bodystyle) .cssText(args.style) else -- regular navobx - bodystyle and style will be applied to the wrapper table tbl .addClass('navbox-inner') .css('background', 'transparent') .css('color', 'inherit') end tbl.cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = HtmlBuilder.create() if border == 'none' then res.node(tbl) elseif border == 'subgroup' or border == 'child' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res .tag('/div', {unclosed = true}) .done() .node(tbl) .tag('div', {unclosed = true}) else res .tag('table') .attr('cellspacing', 0) .addClass('navbox') .css('border-spacing', 0) .cssText(args.bodystyle) .cssText(args.style) .tag('tr') .tag('td') .css('padding', '2px') .node(tbl) end renderTrackingCategories(res) return tostring(res) end function p.navbox(frame) -- ParserFunctions considers the empty string to be false, so to preserve the previous -- behavior of {{navbox}}, change any empty arguments to nil, so Lua will consider -- them false too. local args = {} local parent_args = frame:getParent().args; -- Out of order parsing bug. local temp; temp = parent_args.title; temp = parent_args.above; for i = 1, 20 do temp = parent_args["group" .. tostring(i)]; temp = parent_args["list" .. tostring(i)]; end temp = parent_args.below; for k, v in pairs(parent_args) do if v ~= '' then args[k] = v end end return p._navbox(args) end return p 3cuqaswwjkpq3axf9sw4rade8v99rld 9888 9887 2014-05-23T21:14:08Z w>Jackmcbarn 0 use _navbar (copied from sandbox) 9888 Scribunto text/plain -- -- This module will implement {{Navbox}} -- local p = {} local HtmlBuilder = require('Module:HtmlBuilder') local navbar = require('Module:Navbar')._navbar local args local frame local tableRowAdded = false local border local listnums = {} local function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end local function addNewline(s) if s:match('^[*:;#]') or s:match('^{|') then return '\n' .. s ..'\n' else return s end end local function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl .tag('tr') .css('height', '2px') .tag('td') .attr('colspan',2) end tableRowAdded = true return tbl.tag('tr') end local function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = 'right' end elseif args.navbar == 'plain' or args.navbar == 'off' or (not args.name and (border == 'subgroup' or border == 'child' or border == 'none')) then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' then spacerSide = 'left' end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = 'right' end titleCell.wikitext(navbar{ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' }) end -- Render the spacer div. if spacerSide then titleCell .tag('span') .css('float', spacerSide) .css('width', '6em') .wikitext('&nbsp;') end end -- -- Title row -- local function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow .tag('th') .attr('scope', 'row') .addClass('navbox-group') .addClass(args.titlegroupclass) .cssText(args.basestyle) .cssText(args.groupstyle) .cssText(args.titlegroupstyle) .wikitext(args.titlegroup) end local titleCell = titleRow.tag('th').attr('scope', 'col') if args.titlegroup then titleCell .css('border-left', '2px solid #fdfdfd') .css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell .cssText(args.basestyle) .cssText(args.titlestyle) .addClass('navbox-title') .attr('colspan', titleColspan) renderNavBar(titleCell) titleCell .tag('div') .addClass(args.titleclass) .css('font-size', '110%') .wikitext(addNewline(args.title)) end -- -- Above/Below rows -- local function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end local function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.aboveclass) .cssText(args.basestyle) .cssText(args.abovestyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .wikitext(addNewline(args.above)) end local function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.belowclass) .cssText(args.basestyle) .cssText(args.belowstyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .wikitext(addNewline(args.below)) end -- -- List rows -- local function renderListRow(tbl, listnum) local row = addTableRow(tbl) if listnum == 1 and args.imageleft then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 2px 0px 0px') .cssText(args.imageleftstyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .wikitext(addNewline(args.imageleft)) end if args['group' .. listnum] then local groupCell = row.tag('th') groupCell .attr('scope', 'row') .addClass('navbox-group') .addClass(args.groupclass) .cssText(args.basestyle) if args.groupwidth then groupCell.css('width', args.groupwidth) end groupCell .cssText(args.groupstyle) .cssText(args['group' .. listnum .. 'style']) .wikitext(args['group' .. listnum]) end local listCell = row.tag('td') if args['group' .. listnum] then listCell .css('text-align', 'left') .css('border-left-width', '2px') .css('border-left-style', 'solid') else listCell.attr('colspan', 2) end if not args.groupwidth then listCell.css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell .css('padding', '0px') .cssText(args.liststyle) .cssText(rowstyle) .cssText(args['list' .. listnum .. 'style']) .addClass('navbox-list') .addClass('navbox-' .. evenOdd) .addClass(args.listclass) .tag('div') .css('padding', (listnum == 1 and args.list1padding) or args.listpadding or '0em 0.25em') .wikitext(addNewline(args['list' .. listnum])) if listnum == 1 and args.image then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 0px 0px 2px') .cssText(args.imagestyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .wikitext(addNewline(args.image)) end end -- -- Tracking categories -- local function needsHorizontalLists() if border == 'child' or border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = {'plainlist', 'hlist', 'hlist hnum', 'hlist hwrap', 'hlist vcard', 'vcard hlist', 'hlist vevent'} for i, cls in ipairs(listClasses) do if args.listclass == cls or args.bodyclass == cls then return false end end return true end local function hasBackgroundColors() return args.titlestyle or args.groupstyle end local function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end return cats end local function renderTrackingCategories(builder) local frame = mw.getCurrentFrame() if not frame then return end local s = frame:preprocess('{{#ifeq:{{NAMESPACE}}|{{ns:10}}|1|0}}{{SUBPAGENAME}}') if mw.ustring.sub(s, 1, 1) == '0' then return end -- not in template space local subpage = mw.ustring.lower(mw.ustring.sub(s, 2)) if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for i, cat in ipairs(getTrackingCategories()) do builder.wikitext('[[Category:' .. cat .. ']]') end end -- -- Main navbox tables -- local function renderMainTable() local tbl = HtmlBuilder.create('table') .attr('cellspacing', 0) .addClass('nowraplinks') .addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl .addClass('collapsible') .addClass(args.state or 'autocollapse') end tbl.css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl .addClass('navbox-subgroup') .cssText(args.bodystyle) .cssText(args.style) else -- regular navobx - bodystyle and style will be applied to the wrapper table tbl .addClass('navbox-inner') .css('background', 'transparent') .css('color', 'inherit') end tbl.cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = HtmlBuilder.create() if border == 'none' then res.node(tbl) elseif border == 'subgroup' or border == 'child' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res .tag('/div', {unclosed = true}) .done() .node(tbl) .tag('div', {unclosed = true}) else res .tag('table') .attr('cellspacing', 0) .addClass('navbox') .css('border-spacing', 0) .cssText(args.bodystyle) .cssText(args.style) .tag('tr') .tag('td') .css('padding', '2px') .node(tbl) end renderTrackingCategories(res) return tostring(res) end function p.navbox(frame) -- ParserFunctions considers the empty string to be false, so to preserve the previous -- behavior of {{navbox}}, change any empty arguments to nil, so Lua will consider -- them false too. local args = {} local parent_args = frame:getParent().args; -- Out of order parsing bug. local temp; temp = parent_args.title; temp = parent_args.above; for i = 1, 20 do temp = parent_args["group" .. tostring(i)]; temp = parent_args["list" .. tostring(i)]; end temp = parent_args.below; for k, v in pairs(parent_args) do if v ~= '' then args[k] = v end end return p._navbox(args) end return p hbs2c6whhvjf52xewo181mrcc6qve9y 9889 9888 2014-05-24T16:41:12Z w>Jackmcbarn 0 it's possible for Module:Navbar to autodetect the name sometimes. also, remove check that can never be true 9889 Scribunto text/plain -- -- This module will implement {{Navbox}} -- local p = {} local HtmlBuilder = require('Module:HtmlBuilder') local navbar = require('Module:Navbar')._navbar local args local frame local tableRowAdded = false local border local listnums = {} local function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end local function addNewline(s) if s:match('^[*:;#]') or s:match('^{|') then return '\n' .. s ..'\n' else return s end end local function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl .tag('tr') .css('height', '2px') .tag('td') .attr('colspan',2) end tableRowAdded = true return tbl.tag('tr') end local function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = 'right' end elseif args.navbar == 'plain' or (not args.name and mw.getCurrentFrame():getParent():getTitle() ~= 'Template:Navbox' and (border == 'subgroup' or border == 'child' or border == 'none')) then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' then spacerSide = 'left' end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = 'right' end titleCell.wikitext(navbar{ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' }) end -- Render the spacer div. if spacerSide then titleCell .tag('span') .css('float', spacerSide) .css('width', '6em') .wikitext('&nbsp;') end end -- -- Title row -- local function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow .tag('th') .attr('scope', 'row') .addClass('navbox-group') .addClass(args.titlegroupclass) .cssText(args.basestyle) .cssText(args.groupstyle) .cssText(args.titlegroupstyle) .wikitext(args.titlegroup) end local titleCell = titleRow.tag('th').attr('scope', 'col') if args.titlegroup then titleCell .css('border-left', '2px solid #fdfdfd') .css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell .cssText(args.basestyle) .cssText(args.titlestyle) .addClass('navbox-title') .attr('colspan', titleColspan) renderNavBar(titleCell) titleCell .tag('div') .addClass(args.titleclass) .css('font-size', '110%') .wikitext(addNewline(args.title)) end -- -- Above/Below rows -- local function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end local function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.aboveclass) .cssText(args.basestyle) .cssText(args.abovestyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .wikitext(addNewline(args.above)) end local function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.belowclass) .cssText(args.basestyle) .cssText(args.belowstyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .wikitext(addNewline(args.below)) end -- -- List rows -- local function renderListRow(tbl, listnum) local row = addTableRow(tbl) if listnum == 1 and args.imageleft then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 2px 0px 0px') .cssText(args.imageleftstyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .wikitext(addNewline(args.imageleft)) end if args['group' .. listnum] then local groupCell = row.tag('th') groupCell .attr('scope', 'row') .addClass('navbox-group') .addClass(args.groupclass) .cssText(args.basestyle) if args.groupwidth then groupCell.css('width', args.groupwidth) end groupCell .cssText(args.groupstyle) .cssText(args['group' .. listnum .. 'style']) .wikitext(args['group' .. listnum]) end local listCell = row.tag('td') if args['group' .. listnum] then listCell .css('text-align', 'left') .css('border-left-width', '2px') .css('border-left-style', 'solid') else listCell.attr('colspan', 2) end if not args.groupwidth then listCell.css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell .css('padding', '0px') .cssText(args.liststyle) .cssText(rowstyle) .cssText(args['list' .. listnum .. 'style']) .addClass('navbox-list') .addClass('navbox-' .. evenOdd) .addClass(args.listclass) .tag('div') .css('padding', (listnum == 1 and args.list1padding) or args.listpadding or '0em 0.25em') .wikitext(addNewline(args['list' .. listnum])) if listnum == 1 and args.image then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 0px 0px 2px') .cssText(args.imagestyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .wikitext(addNewline(args.image)) end end -- -- Tracking categories -- local function needsHorizontalLists() if border == 'child' or border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = {'plainlist', 'hlist', 'hlist hnum', 'hlist hwrap', 'hlist vcard', 'vcard hlist', 'hlist vevent'} for i, cls in ipairs(listClasses) do if args.listclass == cls or args.bodyclass == cls then return false end end return true end local function hasBackgroundColors() return args.titlestyle or args.groupstyle end local function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end return cats end local function renderTrackingCategories(builder) local frame = mw.getCurrentFrame() if not frame then return end local s = frame:preprocess('{{#ifeq:{{NAMESPACE}}|{{ns:10}}|1|0}}{{SUBPAGENAME}}') if mw.ustring.sub(s, 1, 1) == '0' then return end -- not in template space local subpage = mw.ustring.lower(mw.ustring.sub(s, 2)) if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for i, cat in ipairs(getTrackingCategories()) do builder.wikitext('[[Category:' .. cat .. ']]') end end -- -- Main navbox tables -- local function renderMainTable() local tbl = HtmlBuilder.create('table') .attr('cellspacing', 0) .addClass('nowraplinks') .addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl .addClass('collapsible') .addClass(args.state or 'autocollapse') end tbl.css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl .addClass('navbox-subgroup') .cssText(args.bodystyle) .cssText(args.style) else -- regular navobx - bodystyle and style will be applied to the wrapper table tbl .addClass('navbox-inner') .css('background', 'transparent') .css('color', 'inherit') end tbl.cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = HtmlBuilder.create() if border == 'none' then res.node(tbl) elseif border == 'subgroup' or border == 'child' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res .tag('/div', {unclosed = true}) .done() .node(tbl) .tag('div', {unclosed = true}) else res .tag('table') .attr('cellspacing', 0) .addClass('navbox') .css('border-spacing', 0) .cssText(args.bodystyle) .cssText(args.style) .tag('tr') .tag('td') .css('padding', '2px') .node(tbl) end renderTrackingCategories(res) return tostring(res) end function p.navbox(frame) -- ParserFunctions considers the empty string to be false, so to preserve the previous -- behavior of {{navbox}}, change any empty arguments to nil, so Lua will consider -- them false too. local args = {} local parent_args = frame:getParent().args; -- Out of order parsing bug. local temp; temp = parent_args.title; temp = parent_args.above; for i = 1, 20 do temp = parent_args["group" .. tostring(i)]; temp = parent_args["list" .. tostring(i)]; end temp = parent_args.below; for k, v in pairs(parent_args) do if v ~= '' then args[k] = v end end return p._navbox(args) end return p jkqdse6s8z5leghaoh27r1bflmk1l0u 9890 9889 2014-05-24T16:42:34Z w>Jackmcbarn 0 check is inverted 9890 Scribunto text/plain -- -- This module will implement {{Navbox}} -- local p = {} local HtmlBuilder = require('Module:HtmlBuilder') local navbar = require('Module:Navbar')._navbar local args local frame local tableRowAdded = false local border local listnums = {} local function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end local function addNewline(s) if s:match('^[*:;#]') or s:match('^{|') then return '\n' .. s ..'\n' else return s end end local function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl .tag('tr') .css('height', '2px') .tag('td') .attr('colspan',2) end tableRowAdded = true return tbl.tag('tr') end local function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = 'right' end elseif args.navbar == 'plain' or (not args.name and mw.getCurrentFrame():getParent():getTitle() == 'Template:Navbox' and (border == 'subgroup' or border == 'child' or border == 'none')) then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' then spacerSide = 'left' end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = 'right' end titleCell.wikitext(navbar{ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' }) end -- Render the spacer div. if spacerSide then titleCell .tag('span') .css('float', spacerSide) .css('width', '6em') .wikitext('&nbsp;') end end -- -- Title row -- local function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow .tag('th') .attr('scope', 'row') .addClass('navbox-group') .addClass(args.titlegroupclass) .cssText(args.basestyle) .cssText(args.groupstyle) .cssText(args.titlegroupstyle) .wikitext(args.titlegroup) end local titleCell = titleRow.tag('th').attr('scope', 'col') if args.titlegroup then titleCell .css('border-left', '2px solid #fdfdfd') .css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell .cssText(args.basestyle) .cssText(args.titlestyle) .addClass('navbox-title') .attr('colspan', titleColspan) renderNavBar(titleCell) titleCell .tag('div') .addClass(args.titleclass) .css('font-size', '110%') .wikitext(addNewline(args.title)) end -- -- Above/Below rows -- local function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end local function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.aboveclass) .cssText(args.basestyle) .cssText(args.abovestyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .wikitext(addNewline(args.above)) end local function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.belowclass) .cssText(args.basestyle) .cssText(args.belowstyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .wikitext(addNewline(args.below)) end -- -- List rows -- local function renderListRow(tbl, listnum) local row = addTableRow(tbl) if listnum == 1 and args.imageleft then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 2px 0px 0px') .cssText(args.imageleftstyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .wikitext(addNewline(args.imageleft)) end if args['group' .. listnum] then local groupCell = row.tag('th') groupCell .attr('scope', 'row') .addClass('navbox-group') .addClass(args.groupclass) .cssText(args.basestyle) if args.groupwidth then groupCell.css('width', args.groupwidth) end groupCell .cssText(args.groupstyle) .cssText(args['group' .. listnum .. 'style']) .wikitext(args['group' .. listnum]) end local listCell = row.tag('td') if args['group' .. listnum] then listCell .css('text-align', 'left') .css('border-left-width', '2px') .css('border-left-style', 'solid') else listCell.attr('colspan', 2) end if not args.groupwidth then listCell.css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell .css('padding', '0px') .cssText(args.liststyle) .cssText(rowstyle) .cssText(args['list' .. listnum .. 'style']) .addClass('navbox-list') .addClass('navbox-' .. evenOdd) .addClass(args.listclass) .tag('div') .css('padding', (listnum == 1 and args.list1padding) or args.listpadding or '0em 0.25em') .wikitext(addNewline(args['list' .. listnum])) if listnum == 1 and args.image then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 0px 0px 2px') .cssText(args.imagestyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .wikitext(addNewline(args.image)) end end -- -- Tracking categories -- local function needsHorizontalLists() if border == 'child' or border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = {'plainlist', 'hlist', 'hlist hnum', 'hlist hwrap', 'hlist vcard', 'vcard hlist', 'hlist vevent'} for i, cls in ipairs(listClasses) do if args.listclass == cls or args.bodyclass == cls then return false end end return true end local function hasBackgroundColors() return args.titlestyle or args.groupstyle end local function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end return cats end local function renderTrackingCategories(builder) local frame = mw.getCurrentFrame() if not frame then return end local s = frame:preprocess('{{#ifeq:{{NAMESPACE}}|{{ns:10}}|1|0}}{{SUBPAGENAME}}') if mw.ustring.sub(s, 1, 1) == '0' then return end -- not in template space local subpage = mw.ustring.lower(mw.ustring.sub(s, 2)) if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for i, cat in ipairs(getTrackingCategories()) do builder.wikitext('[[Category:' .. cat .. ']]') end end -- -- Main navbox tables -- local function renderMainTable() local tbl = HtmlBuilder.create('table') .attr('cellspacing', 0) .addClass('nowraplinks') .addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl .addClass('collapsible') .addClass(args.state or 'autocollapse') end tbl.css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl .addClass('navbox-subgroup') .cssText(args.bodystyle) .cssText(args.style) else -- regular navobx - bodystyle and style will be applied to the wrapper table tbl .addClass('navbox-inner') .css('background', 'transparent') .css('color', 'inherit') end tbl.cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = HtmlBuilder.create() if border == 'none' then res.node(tbl) elseif border == 'subgroup' or border == 'child' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res .tag('/div', {unclosed = true}) .done() .node(tbl) .tag('div', {unclosed = true}) else res .tag('table') .attr('cellspacing', 0) .addClass('navbox') .css('border-spacing', 0) .cssText(args.bodystyle) .cssText(args.style) .tag('tr') .tag('td') .css('padding', '2px') .node(tbl) end renderTrackingCategories(res) return tostring(res) end function p.navbox(frame) -- ParserFunctions considers the empty string to be false, so to preserve the previous -- behavior of {{navbox}}, change any empty arguments to nil, so Lua will consider -- them false too. local args = {} local parent_args = frame:getParent().args; -- Out of order parsing bug. local temp; temp = parent_args.title; temp = parent_args.above; for i = 1, 20 do temp = parent_args["group" .. tostring(i)]; temp = parent_args["list" .. tostring(i)]; end temp = parent_args.below; for k, v in pairs(parent_args) do if v ~= '' then args[k] = v end end return p._navbox(args) end return p 32ckkphn9945tkbsahd06jfctiddfim 9891 9890 2014-05-24T20:37:57Z w>Jackmcbarn 0 don't require the wrapper template 9891 Scribunto text/plain -- -- This module will implement {{Navbox}} -- local p = {} local HtmlBuilder = require('Module:HtmlBuilder') local navbar = require('Module:Navbar')._navbar local args local frame local tableRowAdded = false local border local listnums = {} local function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end local function addNewline(s) if s:match('^[*:;#]') or s:match('^{|') then return '\n' .. s ..'\n' else return s end end local function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl .tag('tr') .css('height', '2px') .tag('td') .attr('colspan',2) end tableRowAdded = true return tbl.tag('tr') end local function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = 'right' end elseif args.navbar == 'plain' or (not args.name and mw.getCurrentFrame():getParent():getTitle() == 'Template:Navbox' and (border == 'subgroup' or border == 'child' or border == 'none')) then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' then spacerSide = 'left' end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = 'right' end titleCell.wikitext(navbar{ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' }) end -- Render the spacer div. if spacerSide then titleCell .tag('span') .css('float', spacerSide) .css('width', '6em') .wikitext('&nbsp;') end end -- -- Title row -- local function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow .tag('th') .attr('scope', 'row') .addClass('navbox-group') .addClass(args.titlegroupclass) .cssText(args.basestyle) .cssText(args.groupstyle) .cssText(args.titlegroupstyle) .wikitext(args.titlegroup) end local titleCell = titleRow.tag('th').attr('scope', 'col') if args.titlegroup then titleCell .css('border-left', '2px solid #fdfdfd') .css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell .cssText(args.basestyle) .cssText(args.titlestyle) .addClass('navbox-title') .attr('colspan', titleColspan) renderNavBar(titleCell) titleCell .tag('div') .addClass(args.titleclass) .css('font-size', '110%') .wikitext(addNewline(args.title)) end -- -- Above/Below rows -- local function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end local function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.aboveclass) .cssText(args.basestyle) .cssText(args.abovestyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .wikitext(addNewline(args.above)) end local function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.belowclass) .cssText(args.basestyle) .cssText(args.belowstyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .wikitext(addNewline(args.below)) end -- -- List rows -- local function renderListRow(tbl, listnum) local row = addTableRow(tbl) if listnum == 1 and args.imageleft then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 2px 0px 0px') .cssText(args.imageleftstyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .wikitext(addNewline(args.imageleft)) end if args['group' .. listnum] then local groupCell = row.tag('th') groupCell .attr('scope', 'row') .addClass('navbox-group') .addClass(args.groupclass) .cssText(args.basestyle) if args.groupwidth then groupCell.css('width', args.groupwidth) end groupCell .cssText(args.groupstyle) .cssText(args['group' .. listnum .. 'style']) .wikitext(args['group' .. listnum]) end local listCell = row.tag('td') if args['group' .. listnum] then listCell .css('text-align', 'left') .css('border-left-width', '2px') .css('border-left-style', 'solid') else listCell.attr('colspan', 2) end if not args.groupwidth then listCell.css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell .css('padding', '0px') .cssText(args.liststyle) .cssText(rowstyle) .cssText(args['list' .. listnum .. 'style']) .addClass('navbox-list') .addClass('navbox-' .. evenOdd) .addClass(args.listclass) .tag('div') .css('padding', (listnum == 1 and args.list1padding) or args.listpadding or '0em 0.25em') .wikitext(addNewline(args['list' .. listnum])) if listnum == 1 and args.image then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 0px 0px 2px') .cssText(args.imagestyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .wikitext(addNewline(args.image)) end end -- -- Tracking categories -- local function needsHorizontalLists() if border == 'child' or border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = {'plainlist', 'hlist', 'hlist hnum', 'hlist hwrap', 'hlist vcard', 'vcard hlist', 'hlist vevent'} for i, cls in ipairs(listClasses) do if args.listclass == cls or args.bodyclass == cls then return false end end return true end local function hasBackgroundColors() return args.titlestyle or args.groupstyle end local function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end return cats end local function renderTrackingCategories(builder) local frame = mw.getCurrentFrame() if not frame then return end local s = frame:preprocess('{{#ifeq:{{NAMESPACE}}|{{ns:10}}|1|0}}{{SUBPAGENAME}}') if mw.ustring.sub(s, 1, 1) == '0' then return end -- not in template space local subpage = mw.ustring.lower(mw.ustring.sub(s, 2)) if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for i, cat in ipairs(getTrackingCategories()) do builder.wikitext('[[Category:' .. cat .. ']]') end end -- -- Main navbox tables -- local function renderMainTable() local tbl = HtmlBuilder.create('table') .attr('cellspacing', 0) .addClass('nowraplinks') .addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl .addClass('collapsible') .addClass(args.state or 'autocollapse') end tbl.css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl .addClass('navbox-subgroup') .cssText(args.bodystyle) .cssText(args.style) else -- regular navobx - bodystyle and style will be applied to the wrapper table tbl .addClass('navbox-inner') .css('background', 'transparent') .css('color', 'inherit') end tbl.cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = HtmlBuilder.create() if border == 'none' then res.node(tbl) elseif border == 'subgroup' or border == 'child' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res .tag('/div', {unclosed = true}) .done() .node(tbl) .tag('div', {unclosed = true}) else res .tag('table') .attr('cellspacing', 0) .addClass('navbox') .css('border-spacing', 0) .cssText(args.bodystyle) .cssText(args.style) .tag('tr') .tag('td') .css('padding', '2px') .node(tbl) end renderTrackingCategories(res) return tostring(res) end function p.navbox(frame) -- ParserFunctions considers the empty string to be false, so to preserve the previous -- behavior of {{navbox}}, change any empty arguments to nil, so Lua will consider -- them false too. local args = {} local parentTitle = frame:getParent():getTitle() local frame_args = (parentTitle == 'Template:Navbox' or parentTitle == 'Template:Navbox/sandbox') and frame:getParent().args or frame.args; -- Out of order parsing bug. local temp; temp = frame_args.title; temp = frame_args.above; for i = 1, 20 do temp = frame_args["group" .. tostring(i)]; temp = frame_args["list" .. tostring(i)]; end temp = frame_args.below; for k, v in pairs(frame_args) do if v ~= '' then args[k] = v end end return p._navbox(args) end return p 31l17gofozy0oqtrwmgd1axmtq4rvzw 9892 9891 2014-06-14T14:55:42Z w>Jackmcbarn 0 various fixes from sandbox 9892 Scribunto text/plain -- -- This module will implement {{Navbox}} -- local p = {} local HtmlBuilder = require('Module:HtmlBuilder') local navbar = require('Module:Navbar')._navbar local getArgs -- lazily initialized local args local tableRowAdded = false local border local listnums = {} local function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end local function addNewline(s) if s:match('^[*:;#]') or s:match('^{|') then return '\n' .. s ..'\n' else return s end end local function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl .tag('tr') .css('height', '2px') .tag('td') .attr('colspan',2) end tableRowAdded = true return tbl.tag('tr') end local function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = 'right' end elseif args.navbar == 'plain' or (not args.name and mw.getCurrentFrame():getParent():getTitle() == 'Template:Navbox' and (border == 'subgroup' or border == 'child' or border == 'none')) then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' then spacerSide = 'left' end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = 'right' end titleCell.wikitext(navbar{ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' }) end -- Render the spacer div. if spacerSide then titleCell .tag('span') .css('float', spacerSide) .css('width', '6em') .wikitext('&nbsp;') end end -- -- Title row -- local function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow .tag('th') .attr('scope', 'row') .addClass('navbox-group') .addClass(args.titlegroupclass) .cssText(args.basestyle) .cssText(args.groupstyle) .cssText(args.titlegroupstyle) .wikitext(args.titlegroup) end local titleCell = titleRow.tag('th').attr('scope', 'col') if args.titlegroup then titleCell .css('border-left', '2px solid #fdfdfd') .css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell .cssText(args.basestyle) .cssText(args.titlestyle) .addClass('navbox-title') .attr('colspan', titleColspan) renderNavBar(titleCell) titleCell .tag('div') .addClass(args.titleclass) .css('font-size', '110%') .wikitext(addNewline(args.title)) end -- -- Above/Below rows -- local function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end local function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.aboveclass) .cssText(args.basestyle) .cssText(args.abovestyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .wikitext(addNewline(args.above)) end local function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.belowclass) .cssText(args.basestyle) .cssText(args.belowstyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .wikitext(addNewline(args.below)) end -- -- List rows -- local function renderListRow(tbl, listnum) local row = addTableRow(tbl) if listnum == 1 and args.imageleft then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 2px 0px 0px') .cssText(args.imageleftstyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .wikitext(addNewline(args.imageleft)) end if args['group' .. listnum] then local groupCell = row.tag('th') groupCell .attr('scope', 'row') .addClass('navbox-group') .addClass(args.groupclass) .cssText(args.basestyle) if args.groupwidth then groupCell.css('width', args.groupwidth) end groupCell .cssText(args.groupstyle) .cssText(args['group' .. listnum .. 'style']) .wikitext(args['group' .. listnum]) end local listCell = row.tag('td') if args['group' .. listnum] then listCell .css('text-align', 'left') .css('border-left-width', '2px') .css('border-left-style', 'solid') else listCell.attr('colspan', 2) end if not args.groupwidth then listCell.css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell .css('padding', '0px') .cssText(args.liststyle) .cssText(rowstyle) .cssText(args['list' .. listnum .. 'style']) .addClass('navbox-list') .addClass('navbox-' .. evenOdd) .addClass(args.listclass) .tag('div') .css('padding', (listnum == 1 and args.list1padding) or args.listpadding or '0em 0.25em') .wikitext(addNewline(args['list' .. listnum])) if listnum == 1 and args.image then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 0px 0px 2px') .cssText(args.imagestyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .wikitext(addNewline(args.image)) end end -- -- Tracking categories -- local function needsHorizontalLists() if border == 'child' or border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = {'plainlist', 'hlist', 'hlist hnum', 'hlist hwrap', 'hlist vcard', 'vcard hlist', 'hlist vevent'} for i, cls in ipairs(listClasses) do if args.listclass == cls or args.bodyclass == cls then return false end end return true end local function hasBackgroundColors() return args.titlestyle or args.groupstyle end local function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end return cats end local function renderTrackingCategories(builder) local title = mw.title.getCurrentTitle() if title.namespace ~= 10 then return end -- not in template space local subpage = title.subpageText if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for i, cat in ipairs(getTrackingCategories()) do builder.wikitext('[[Category:' .. cat .. ']]') end end -- -- Main navbox tables -- local function renderMainTable() local tbl = HtmlBuilder.create('table') .attr('cellspacing', 0) .addClass('nowraplinks') .addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl .addClass('collapsible') .addClass(args.state or 'autocollapse') end tbl.css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl .addClass('navbox-subgroup') .cssText(args.bodystyle) .cssText(args.style) else -- regular navobx - bodystyle and style will be applied to the wrapper table tbl .addClass('navbox-inner') .css('background', 'transparent') .css('color', 'inherit') end tbl.cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = HtmlBuilder.create() if border == 'none' then res.node(tbl) elseif border == 'subgroup' or border == 'child' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res .tag('/div', {unclosed = true}) .done() .node(tbl) .tag('div', {unclosed = true}) else res .tag('table') .attr('cellspacing', 0) .addClass('navbox') .css('border-spacing', 0) .cssText(args.bodystyle) .cssText(args.style) .tag('tr') .tag('td') .css('padding', '2px') .node(tbl) end renderTrackingCategories(res) return tostring(res) end function p.navbox(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end args = getArgs(frame, {wrappers = 'Template:Navbox'}) -- Read the arguments in the order they'll be output in, to make references number in the right order. local _ _ = args.title _ = args.above for i = 1, 20 do _ = args["group" .. tostring(i)] _ = args["list" .. tostring(i)] end _ = args.below return p._navbox(args) end return p igxqdo7p0p0dc30nz8t68ewo6gpwh7v 9893 9892 2014-06-15T16:56:01Z w>WOSlinker 0 change hasBackgroundColors to check titlestyle/groupstyle/basestyle contains the word background 9893 Scribunto text/plain -- -- This module will implement {{Navbox}} -- local p = {} local HtmlBuilder = require('Module:HtmlBuilder') local navbar = require('Module:Navbar')._navbar local getArgs -- lazily initialized local args local tableRowAdded = false local border local listnums = {} local function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end local function addNewline(s) if s:match('^[*:;#]') or s:match('^{|') then return '\n' .. s ..'\n' else return s end end local function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl .tag('tr') .css('height', '2px') .tag('td') .attr('colspan',2) end tableRowAdded = true return tbl.tag('tr') end local function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = 'right' end elseif args.navbar == 'plain' or (not args.name and mw.getCurrentFrame():getParent():getTitle() == 'Template:Navbox' and (border == 'subgroup' or border == 'child' or border == 'none')) then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' then spacerSide = 'left' end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = 'right' end titleCell.wikitext(navbar{ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' }) end -- Render the spacer div. if spacerSide then titleCell .tag('span') .css('float', spacerSide) .css('width', '6em') .wikitext('&nbsp;') end end -- -- Title row -- local function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow .tag('th') .attr('scope', 'row') .addClass('navbox-group') .addClass(args.titlegroupclass) .cssText(args.basestyle) .cssText(args.groupstyle) .cssText(args.titlegroupstyle) .wikitext(args.titlegroup) end local titleCell = titleRow.tag('th').attr('scope', 'col') if args.titlegroup then titleCell .css('border-left', '2px solid #fdfdfd') .css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell .cssText(args.basestyle) .cssText(args.titlestyle) .addClass('navbox-title') .attr('colspan', titleColspan) renderNavBar(titleCell) titleCell .tag('div') .addClass(args.titleclass) .css('font-size', '110%') .wikitext(addNewline(args.title)) end -- -- Above/Below rows -- local function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end local function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.aboveclass) .cssText(args.basestyle) .cssText(args.abovestyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .wikitext(addNewline(args.above)) end local function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) .tag('td') .addClass('navbox-abovebelow') .addClass(args.belowclass) .cssText(args.basestyle) .cssText(args.belowstyle) .attr('colspan', getAboveBelowColspan()) .tag('div') .wikitext(addNewline(args.below)) end -- -- List rows -- local function renderListRow(tbl, listnum) local row = addTableRow(tbl) if listnum == 1 and args.imageleft then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 2px 0px 0px') .cssText(args.imageleftstyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .wikitext(addNewline(args.imageleft)) end if args['group' .. listnum] then local groupCell = row.tag('th') groupCell .attr('scope', 'row') .addClass('navbox-group') .addClass(args.groupclass) .cssText(args.basestyle) if args.groupwidth then groupCell.css('width', args.groupwidth) end groupCell .cssText(args.groupstyle) .cssText(args['group' .. listnum .. 'style']) .wikitext(args['group' .. listnum]) end local listCell = row.tag('td') if args['group' .. listnum] then listCell .css('text-align', 'left') .css('border-left-width', '2px') .css('border-left-style', 'solid') else listCell.attr('colspan', 2) end if not args.groupwidth then listCell.css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell .css('padding', '0px') .cssText(args.liststyle) .cssText(rowstyle) .cssText(args['list' .. listnum .. 'style']) .addClass('navbox-list') .addClass('navbox-' .. evenOdd) .addClass(args.listclass) .tag('div') .css('padding', (listnum == 1 and args.list1padding) or args.listpadding or '0em 0.25em') .wikitext(addNewline(args['list' .. listnum])) if listnum == 1 and args.image then row .tag('td') .addClass('navbox-image') .addClass(args.imageclass) .css('width', '0%') .css('padding', '0px 0px 0px 2px') .cssText(args.imagestyle) .attr('rowspan', 2 * #listnums - 1) .tag('div') .wikitext(addNewline(args.image)) end end -- -- Tracking categories -- local function needsHorizontalLists() if border == 'child' or border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = {'plainlist', 'hlist', 'hlist hnum', 'hlist hwrap', 'hlist vcard', 'vcard hlist', 'hlist vevent'} for i, cls in ipairs(listClasses) do if args.listclass == cls or args.bodyclass == cls then return false end end return true end local function hasBackgroundColors() return mw.ustring.match(args.titlestyle or '','background') or mw.ustring.match(args.groupstyle or '','background') or mw.ustring.match(args.basestyle or '','background') end local function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end return cats end local function renderTrackingCategories(builder) local title = mw.title.getCurrentTitle() if title.namespace ~= 10 then return end -- not in template space local subpage = title.subpageText if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for i, cat in ipairs(getTrackingCategories()) do builder.wikitext('[[Category:' .. cat .. ']]') end end -- -- Main navbox tables -- local function renderMainTable() local tbl = HtmlBuilder.create('table') .attr('cellspacing', 0) .addClass('nowraplinks') .addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl .addClass('collapsible') .addClass(args.state or 'autocollapse') end tbl.css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl .addClass('navbox-subgroup') .cssText(args.bodystyle) .cssText(args.style) else -- regular navobx - bodystyle and style will be applied to the wrapper table tbl .addClass('navbox-inner') .css('background', 'transparent') .css('color', 'inherit') end tbl.cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = HtmlBuilder.create() if border == 'none' then res.node(tbl) elseif border == 'subgroup' or border == 'child' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res .tag('/div', {unclosed = true}) .done() .node(tbl) .tag('div', {unclosed = true}) else res .tag('table') .attr('cellspacing', 0) .addClass('navbox') .css('border-spacing', 0) .cssText(args.bodystyle) .cssText(args.style) .tag('tr') .tag('td') .css('padding', '2px') .node(tbl) end renderTrackingCategories(res) return tostring(res) end function p.navbox(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end args = getArgs(frame, {wrappers = 'Template:Navbox'}) -- Read the arguments in the order they'll be output in, to make references number in the right order. local _ _ = args.title _ = args.above for i = 1, 20 do _ = args["group" .. tostring(i)] _ = args["list" .. tostring(i)] end _ = args.below return p._navbox(args) end return p ffjbkwfc97nn52m7mejsnxq0yr2xod5 9894 9836 2014-11-14T19:12:58Z w>Frietjes 0 switch to mw.html per talk page (no objections) 9894 Scribunto text/plain -- -- This module implements {{Navbox}} -- local p = {} local navbar = require('Module:Navbar')._navbar local getArgs -- lazily initialized local args local tableRowAdded = false local border local listnums = {} local function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end local function addNewline(s) if s:match('^[*:;#]') or s:match('^{|') then return '\n' .. s ..'\n' else return s end end local function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl :tag('tr') :css('height', '2px') :tag('td') :attr('colspan',2) end tableRowAdded = true return tbl:tag('tr') end local function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = 'right' end elseif args.navbar == 'plain' or (not args.name and mw.getCurrentFrame():getParent():getTitle() == 'Template:Navbox' and (border == 'subgroup' or border == 'child' or border == 'none')) then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' then spacerSide = 'left' end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = 'right' end titleCell:wikitext(navbar{ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' }) end -- Render the spacer div. if spacerSide then titleCell :tag('span') :css('float', spacerSide) :css('width', '6em') :wikitext('&nbsp;') end end -- -- Title row -- local function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow :tag('th') :attr('scope', 'row') :addClass('navbox-group') :addClass(args.titlegroupclass) :cssText(args.basestyle) :cssText(args.groupstyle) :cssText(args.titlegroupstyle) :wikitext(args.titlegroup) end local titleCell = titleRow:tag('th'):attr('scope', 'col') if args.titlegroup then titleCell :css('border-left', '2px solid #fdfdfd') :css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell :cssText(args.basestyle) :cssText(args.titlestyle) :addClass('navbox-title') :attr('colspan', titleColspan) renderNavBar(titleCell) titleCell :tag('div') :addClass(args.titleclass) :css('font-size', '110%') :wikitext(addNewline(args.title)) end -- -- Above/Below rows -- local function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end local function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) :tag('td') :addClass('navbox-abovebelow') :addClass(args.aboveclass) :cssText(args.basestyle) :cssText(args.abovestyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(addNewline(args.above)) end local function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) :tag('td') :addClass('navbox-abovebelow') :addClass(args.belowclass) :cssText(args.basestyle) :cssText(args.belowstyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(addNewline(args.below)) end -- -- List rows -- local function renderListRow(tbl, listnum) local row = addTableRow(tbl) if listnum == 1 and args.imageleft then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '0%') :css('padding', '0px 2px 0px 0px') :cssText(args.imageleftstyle) :attr('rowspan', 2 * #listnums - 1) :tag('div') :wikitext(addNewline(args.imageleft)) end if args['group' .. listnum] then local groupCell = row:tag('th') groupCell :attr('scope', 'row') :addClass('navbox-group') :addClass(args.groupclass) :cssText(args.basestyle) if args.groupwidth then groupCell:css('width', args.groupwidth) end groupCell :cssText(args.groupstyle) :cssText(args['group' .. listnum .. 'style']) :wikitext(args['group' .. listnum]) end local listCell = row:tag('td') if args['group' .. listnum] then listCell :css('text-align', 'left') :css('border-left-width', '2px') :css('border-left-style', 'solid') else listCell:attr('colspan', 2) end if not args.groupwidth then listCell:css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell :css('padding', '0px') :cssText(args.liststyle) :cssText(rowstyle) :cssText(args['list' .. listnum .. 'style']) :addClass('navbox-list') :addClass('navbox-' .. evenOdd) :addClass(args.listclass) :tag('div') :css('padding', (listnum == 1 and args.list1padding) or args.listpadding or '0em 0.25em') :wikitext(addNewline(args['list' .. listnum])) if listnum == 1 and args.image then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '0%') :css('padding', '0px 0px 0px 2px') :cssText(args.imagestyle) :attr('rowspan', 2 * #listnums - 1) :tag('div') :wikitext(addNewline(args.image)) end end -- -- Tracking categories -- local function needsHorizontalLists() if border == 'child' or border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = {'plainlist', 'hlist', 'hlist hnum', 'hlist hwrap', 'hlist vcard', 'vcard hlist', 'hlist vevent'} for i, cls in ipairs(listClasses) do if args.listclass == cls or args.bodyclass == cls then return false end end return true end local function hasBackgroundColors() return mw.ustring.match(args.titlestyle or '','background') or mw.ustring.match(args.groupstyle or '','background') or mw.ustring.match(args.basestyle or '','background') end local function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end return cats end local function renderTrackingCategories(builder) local title = mw.title.getCurrentTitle() if title.namespace ~= 10 then return end -- not in template space local subpage = title.subpageText if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for i, cat in ipairs(getTrackingCategories()) do builder:wikitext('[[Category:' .. cat .. ']]') end end -- -- Main navbox tables -- local function renderMainTable() local tbl = mw.html.create('table') :attr('cellspacing', 0) :addClass('nowraplinks') :addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl :addClass('collapsible') :addClass(args.state or 'autocollapse') end tbl:css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl :addClass('navbox-subgroup') :cssText(args.bodystyle) :cssText(args.style) else -- regular navobx - bodystyle and style will be applied to the wrapper table tbl :addClass('navbox-inner') :css('background', 'transparent') :css('color', 'inherit') end tbl:cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = mw.html.create() if border == 'none' then res:node(tbl) elseif border == 'subgroup' or border == 'child' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res :wikitext('</div>') -- XXX: hack due to lack of unclosed support in mw.html. :node(tbl) :wikitext('<div>') -- XXX: hack due to lack of unclosed support in mw.html. else res :tag('table') :attr('cellspacing', 0) :addClass('navbox') :css('border-spacing', 0) :cssText(args.bodystyle) :cssText(args.style) :tag('tr') :tag('td') :css('padding', '2px') :node(tbl) end renderTrackingCategories(res) return tostring(res) end function p.navbox(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end args = getArgs(frame, {wrappers = 'Template:Navbox'}) -- Read the arguments in the order they'll be output in, to make references number in the right order. local _ _ = args.title _ = args.above for i = 1, 20 do _ = args["group" .. tostring(i)] _ = args["list" .. tostring(i)] end _ = args.below return p._navbox(args) end return p a1dtgc3ieb69sr5arpvzu579alji5pw 9895 9894 2014-11-14T20:28:13Z w>Edokter 0 Remove cellspacing attribute (obsolete), cell-spacing CSS moved to Common.css. 9895 Scribunto text/plain -- -- This module implements {{Navbox}} -- local p = {} local navbar = require('Module:Navbar')._navbar local getArgs -- lazily initialized local args local tableRowAdded = false local border local listnums = {} local function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end local function addNewline(s) if s:match('^[*:;#]') or s:match('^{|') then return '\n' .. s ..'\n' else return s end end local function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl :tag('tr') :css('height', '2px') :tag('td') :attr('colspan',2) end tableRowAdded = true return tbl:tag('tr') end local function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = 'right' end elseif args.navbar == 'plain' or (not args.name and mw.getCurrentFrame():getParent():getTitle() == 'Template:Navbox' and (border == 'subgroup' or border == 'child' or border == 'none')) then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' then spacerSide = 'left' end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = 'right' end titleCell:wikitext(navbar{ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' }) end -- Render the spacer div. if spacerSide then titleCell :tag('span') :css('float', spacerSide) :css('width', '6em') :wikitext('&nbsp;') end end -- -- Title row -- local function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow :tag('th') :attr('scope', 'row') :addClass('navbox-group') :addClass(args.titlegroupclass) :cssText(args.basestyle) :cssText(args.groupstyle) :cssText(args.titlegroupstyle) :wikitext(args.titlegroup) end local titleCell = titleRow:tag('th'):attr('scope', 'col') if args.titlegroup then titleCell :css('border-left', '2px solid #fdfdfd') :css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell :cssText(args.basestyle) :cssText(args.titlestyle) :addClass('navbox-title') :attr('colspan', titleColspan) renderNavBar(titleCell) titleCell :tag('div') :addClass(args.titleclass) :css('font-size', '110%') :wikitext(addNewline(args.title)) end -- -- Above/Below rows -- local function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end local function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) :tag('td') :addClass('navbox-abovebelow') :addClass(args.aboveclass) :cssText(args.basestyle) :cssText(args.abovestyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(addNewline(args.above)) end local function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) :tag('td') :addClass('navbox-abovebelow') :addClass(args.belowclass) :cssText(args.basestyle) :cssText(args.belowstyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(addNewline(args.below)) end -- -- List rows -- local function renderListRow(tbl, listnum) local row = addTableRow(tbl) if listnum == 1 and args.imageleft then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '0%') :css('padding', '0px 2px 0px 0px') :cssText(args.imageleftstyle) :attr('rowspan', 2 * #listnums - 1) :tag('div') :wikitext(addNewline(args.imageleft)) end if args['group' .. listnum] then local groupCell = row:tag('th') groupCell :attr('scope', 'row') :addClass('navbox-group') :addClass(args.groupclass) :cssText(args.basestyle) if args.groupwidth then groupCell:css('width', args.groupwidth) end groupCell :cssText(args.groupstyle) :cssText(args['group' .. listnum .. 'style']) :wikitext(args['group' .. listnum]) end local listCell = row:tag('td') if args['group' .. listnum] then listCell :css('text-align', 'left') :css('border-left-width', '2px') :css('border-left-style', 'solid') else listCell:attr('colspan', 2) end if not args.groupwidth then listCell:css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell :css('padding', '0px') :cssText(args.liststyle) :cssText(rowstyle) :cssText(args['list' .. listnum .. 'style']) :addClass('navbox-list') :addClass('navbox-' .. evenOdd) :addClass(args.listclass) :tag('div') :css('padding', (listnum == 1 and args.list1padding) or args.listpadding or '0em 0.25em') :wikitext(addNewline(args['list' .. listnum])) if listnum == 1 and args.image then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '0%') :css('padding', '0px 0px 0px 2px') :cssText(args.imagestyle) :attr('rowspan', 2 * #listnums - 1) :tag('div') :wikitext(addNewline(args.image)) end end -- -- Tracking categories -- local function needsHorizontalLists() if border == 'child' or border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = {'plainlist', 'hlist', 'hlist hnum', 'hlist hwrap', 'hlist vcard', 'vcard hlist', 'hlist vevent'} for i, cls in ipairs(listClasses) do if args.listclass == cls or args.bodyclass == cls then return false end end return true end local function hasBackgroundColors() return mw.ustring.match(args.titlestyle or '','background') or mw.ustring.match(args.groupstyle or '','background') or mw.ustring.match(args.basestyle or '','background') end local function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end return cats end local function renderTrackingCategories(builder) local title = mw.title.getCurrentTitle() if title.namespace ~= 10 then return end -- not in template space local subpage = title.subpageText if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for i, cat in ipairs(getTrackingCategories()) do builder:wikitext('[[Category:' .. cat .. ']]') end end -- -- Main navbox tables -- local function renderMainTable() local tbl = mw.html.create('table') :addClass('nowraplinks') :addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl :addClass('collapsible') :addClass(args.state or 'autocollapse') end if border == 'subgroup' or border == 'child' or border == 'none' then tbl :addClass('navbox-subgroup') :cssText(args.bodystyle) :cssText(args.style) else -- regular navobx - bodystyle and style will be applied to the wrapper table tbl :addClass('navbox-inner') :css('background', 'transparent') :css('color', 'inherit') end tbl:cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = mw.html.create() if border == 'none' then res:node(tbl) elseif border == 'subgroup' or border == 'child' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res :wikitext('</div>') -- XXX: hack due to lack of unclosed support in mw.html. :node(tbl) :wikitext('<div>') -- XXX: hack due to lack of unclosed support in mw.html. else res :tag('table') :addClass('navbox') :cssText(args.bodystyle) :cssText(args.style) :tag('tr') :tag('td') :css('padding', '2px') :node(tbl) end renderTrackingCategories(res) return tostring(res) end function p.navbox(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end args = getArgs(frame, {wrappers = 'Template:Navbox'}) -- Read the arguments in the order they'll be output in, to make references number in the right order. local _ _ = args.title _ = args.above for i = 1, 20 do _ = args["group" .. tostring(i)] _ = args["list" .. tostring(i)] end _ = args.below return p._navbox(args) end return p 1whouh55w3rczmhycqi6yrvis44gs63 9896 9895 2014-11-14T23:02:29Z w>Edokter 0 Revert border-spacing; collapses cells in hand-build navboxes. 9896 Scribunto text/plain -- -- This module implements {{Navbox}} -- local p = {} local navbar = require('Module:Navbar')._navbar local getArgs -- lazily initialized local args local tableRowAdded = false local border local listnums = {} local function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end local function addNewline(s) if s:match('^[*:;#]') or s:match('^{|') then return '\n' .. s ..'\n' else return s end end local function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl :tag('tr') :css('height', '2px') :tag('td') :attr('colspan',2) end tableRowAdded = true return tbl:tag('tr') end local function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = 'right' end elseif args.navbar == 'plain' or (not args.name and mw.getCurrentFrame():getParent():getTitle() == 'Template:Navbox' and (border == 'subgroup' or border == 'child' or border == 'none')) then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' then spacerSide = 'left' end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = 'right' end titleCell:wikitext(navbar{ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' }) end -- Render the spacer div. if spacerSide then titleCell :tag('span') :css('float', spacerSide) :css('width', '6em') :wikitext('&nbsp;') end end -- -- Title row -- local function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow :tag('th') :attr('scope', 'row') :addClass('navbox-group') :addClass(args.titlegroupclass) :cssText(args.basestyle) :cssText(args.groupstyle) :cssText(args.titlegroupstyle) :wikitext(args.titlegroup) end local titleCell = titleRow:tag('th'):attr('scope', 'col') if args.titlegroup then titleCell :css('border-left', '2px solid #fdfdfd') :css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell :cssText(args.basestyle) :cssText(args.titlestyle) :addClass('navbox-title') :attr('colspan', titleColspan) renderNavBar(titleCell) titleCell :tag('div') :addClass(args.titleclass) :css('font-size', '110%') :wikitext(addNewline(args.title)) end -- -- Above/Below rows -- local function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end local function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) :tag('td') :addClass('navbox-abovebelow') :addClass(args.aboveclass) :cssText(args.basestyle) :cssText(args.abovestyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(addNewline(args.above)) end local function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) :tag('td') :addClass('navbox-abovebelow') :addClass(args.belowclass) :cssText(args.basestyle) :cssText(args.belowstyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(addNewline(args.below)) end -- -- List rows -- local function renderListRow(tbl, listnum) local row = addTableRow(tbl) if listnum == 1 and args.imageleft then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '0%') :css('padding', '0px 2px 0px 0px') :cssText(args.imageleftstyle) :attr('rowspan', 2 * #listnums - 1) :tag('div') :wikitext(addNewline(args.imageleft)) end if args['group' .. listnum] then local groupCell = row:tag('th') groupCell :attr('scope', 'row') :addClass('navbox-group') :addClass(args.groupclass) :cssText(args.basestyle) if args.groupwidth then groupCell:css('width', args.groupwidth) end groupCell :cssText(args.groupstyle) :cssText(args['group' .. listnum .. 'style']) :wikitext(args['group' .. listnum]) end local listCell = row:tag('td') if args['group' .. listnum] then listCell :css('text-align', 'left') :css('border-left-width', '2px') :css('border-left-style', 'solid') else listCell:attr('colspan', 2) end if not args.groupwidth then listCell:css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell :css('padding', '0px') :cssText(args.liststyle) :cssText(rowstyle) :cssText(args['list' .. listnum .. 'style']) :addClass('navbox-list') :addClass('navbox-' .. evenOdd) :addClass(args.listclass) :tag('div') :css('padding', (listnum == 1 and args.list1padding) or args.listpadding or '0em 0.25em') :wikitext(addNewline(args['list' .. listnum])) if listnum == 1 and args.image then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '0%') :css('padding', '0px 0px 0px 2px') :cssText(args.imagestyle) :attr('rowspan', 2 * #listnums - 1) :tag('div') :wikitext(addNewline(args.image)) end end -- -- Tracking categories -- local function needsHorizontalLists() if border == 'child' or border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = {'plainlist', 'hlist', 'hlist hnum', 'hlist hwrap', 'hlist vcard', 'vcard hlist', 'hlist vevent'} for i, cls in ipairs(listClasses) do if args.listclass == cls or args.bodyclass == cls then return false end end return true end local function hasBackgroundColors() return mw.ustring.match(args.titlestyle or '','background') or mw.ustring.match(args.groupstyle or '','background') or mw.ustring.match(args.basestyle or '','background') end local function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end return cats end local function renderTrackingCategories(builder) local title = mw.title.getCurrentTitle() if title.namespace ~= 10 then return end -- not in template space local subpage = title.subpageText if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for i, cat in ipairs(getTrackingCategories()) do builder:wikitext('[[Category:' .. cat .. ']]') end end -- -- Main navbox tables -- local function renderMainTable() local tbl = mw.html.create('table') :addClass('nowraplinks') :addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl :addClass('collapsible') :addClass(args.state or 'autocollapse') end tbl:css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl :addClass('navbox-subgroup') :cssText(args.bodystyle) :cssText(args.style) else -- regular navobx - bodystyle and style will be applied to the wrapper table tbl :addClass('navbox-inner') :css('background', 'transparent') :css('color', 'inherit') end tbl:cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = mw.html.create() if border == 'none' then res:node(tbl) elseif border == 'subgroup' or border == 'child' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res :wikitext('</div>') -- XXX: hack due to lack of unclosed support in mw.html. :node(tbl) :wikitext('<div>') -- XXX: hack due to lack of unclosed support in mw.html. else res :tag('table') :addClass('navbox') :css('border-spacing', 0) :cssText(args.bodystyle) :cssText(args.style) :tag('tr') :tag('td') :css('padding', '2px') :node(tbl) end renderTrackingCategories(res) return tostring(res) end function p.navbox(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end args = getArgs(frame, {wrappers = 'Template:Navbox'}) -- Read the arguments in the order they'll be output in, to make references number in the right order. local _ _ = args.title _ = args.above for i = 1, 20 do _ = args["group" .. tostring(i)] _ = args["list" .. tostring(i)] end _ = args.below return p._navbox(args) end return p qkbuev2zcibqjho3yekr8u78lx2ro9i 9897 9896 2014-11-16T05:41:17Z w>Dinoguy1000 0 minor whitespace: trim trailing spaces; tabs --> spaces 9897 Scribunto text/plain -- -- This module implements {{Navbox}} -- local p = {} local navbar = require('Module:Navbar')._navbar local getArgs -- lazily initialized local args local tableRowAdded = false local border local listnums = {} local function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end local function addNewline(s) if s:match('^[*:;#]') or s:match('^{|') then return '\n' .. s ..'\n' else return s end end local function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl :tag('tr') :css('height', '2px') :tag('td') :attr('colspan',2) end tableRowAdded = true return tbl:tag('tr') end local function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = 'right' end elseif args.navbar == 'plain' or (not args.name and mw.getCurrentFrame():getParent():getTitle() == 'Template:Navbox' and (border == 'subgroup' or border == 'child' or border == 'none')) then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' then spacerSide = 'left' end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = 'right' end titleCell:wikitext(navbar{ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' }) end -- Render the spacer div. if spacerSide then titleCell :tag('span') :css('float', spacerSide) :css('width', '6em') :wikitext('&nbsp;') end end -- -- Title row -- local function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow :tag('th') :attr('scope', 'row') :addClass('navbox-group') :addClass(args.titlegroupclass) :cssText(args.basestyle) :cssText(args.groupstyle) :cssText(args.titlegroupstyle) :wikitext(args.titlegroup) end local titleCell = titleRow:tag('th'):attr('scope', 'col') if args.titlegroup then titleCell :css('border-left', '2px solid #fdfdfd') :css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell :cssText(args.basestyle) :cssText(args.titlestyle) :addClass('navbox-title') :attr('colspan', titleColspan) renderNavBar(titleCell) titleCell :tag('div') :addClass(args.titleclass) :css('font-size', '110%') :wikitext(addNewline(args.title)) end -- -- Above/Below rows -- local function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end local function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) :tag('td') :addClass('navbox-abovebelow') :addClass(args.aboveclass) :cssText(args.basestyle) :cssText(args.abovestyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(addNewline(args.above)) end local function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) :tag('td') :addClass('navbox-abovebelow') :addClass(args.belowclass) :cssText(args.basestyle) :cssText(args.belowstyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(addNewline(args.below)) end -- -- List rows -- local function renderListRow(tbl, listnum) local row = addTableRow(tbl) if listnum == 1 and args.imageleft then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '0%') :css('padding', '0px 2px 0px 0px') :cssText(args.imageleftstyle) :attr('rowspan', 2 * #listnums - 1) :tag('div') :wikitext(addNewline(args.imageleft)) end if args['group' .. listnum] then local groupCell = row:tag('th') groupCell :attr('scope', 'row') :addClass('navbox-group') :addClass(args.groupclass) :cssText(args.basestyle) if args.groupwidth then groupCell:css('width', args.groupwidth) end groupCell :cssText(args.groupstyle) :cssText(args['group' .. listnum .. 'style']) :wikitext(args['group' .. listnum]) end local listCell = row:tag('td') if args['group' .. listnum] then listCell :css('text-align', 'left') :css('border-left-width', '2px') :css('border-left-style', 'solid') else listCell:attr('colspan', 2) end if not args.groupwidth then listCell:css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell :css('padding', '0px') :cssText(args.liststyle) :cssText(rowstyle) :cssText(args['list' .. listnum .. 'style']) :addClass('navbox-list') :addClass('navbox-' .. evenOdd) :addClass(args.listclass) :tag('div') :css('padding', (listnum == 1 and args.list1padding) or args.listpadding or '0em 0.25em') :wikitext(addNewline(args['list' .. listnum])) if listnum == 1 and args.image then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '0%') :css('padding', '0px 0px 0px 2px') :cssText(args.imagestyle) :attr('rowspan', 2 * #listnums - 1) :tag('div') :wikitext(addNewline(args.image)) end end -- -- Tracking categories -- local function needsHorizontalLists() if border == 'child' or border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = {'plainlist', 'hlist', 'hlist hnum', 'hlist hwrap', 'hlist vcard', 'vcard hlist', 'hlist vevent'} for i, cls in ipairs(listClasses) do if args.listclass == cls or args.bodyclass == cls then return false end end return true end local function hasBackgroundColors() return mw.ustring.match(args.titlestyle or '','background') or mw.ustring.match(args.groupstyle or '','background') or mw.ustring.match(args.basestyle or '','background') end local function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end return cats end local function renderTrackingCategories(builder) local title = mw.title.getCurrentTitle() if title.namespace ~= 10 then return end -- not in template space local subpage = title.subpageText if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for i, cat in ipairs(getTrackingCategories()) do builder:wikitext('[[Category:' .. cat .. ']]') end end -- -- Main navbox tables -- local function renderMainTable() local tbl = mw.html.create('table') :addClass('nowraplinks') :addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl :addClass('collapsible') :addClass(args.state or 'autocollapse') end tbl:css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl :addClass('navbox-subgroup') :cssText(args.bodystyle) :cssText(args.style) else -- regular navobx - bodystyle and style will be applied to the wrapper table tbl :addClass('navbox-inner') :css('background', 'transparent') :css('color', 'inherit') end tbl:cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = mw.html.create() if border == 'none' then res:node(tbl) elseif border == 'subgroup' or border == 'child' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res :wikitext('</div>') -- XXX: hack due to lack of unclosed support in mw.html. :node(tbl) :wikitext('<div>') -- XXX: hack due to lack of unclosed support in mw.html. else res :tag('table') :addClass('navbox') :css('border-spacing', 0) :cssText(args.bodystyle) :cssText(args.style) :tag('tr') :tag('td') :css('padding', '2px') :node(tbl) end renderTrackingCategories(res) return tostring(res) end function p.navbox(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end args = getArgs(frame, {wrappers = 'Template:Navbox'}) -- Read the arguments in the order they'll be output in, to make references number in the right order. local _ _ = args.title _ = args.above for i = 1, 20 do _ = args["group" .. tostring(i)] _ = args["list" .. tostring(i)] end _ = args.below return p._navbox(args) end return p 4ha4enr5eoj2ajnayh49xrneg6suwgw 9898 9897 2014-11-26T04:35:27Z w>Jackmcbarn 0 move border check to inner if to avoid bad navbar displaying 9898 Scribunto text/plain -- -- This module implements {{Navbox}} -- local p = {} local navbar = require('Module:Navbar')._navbar local getArgs -- lazily initialized local args local tableRowAdded = false local border local listnums = {} local function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end local function addNewline(s) if s:match('^[*:;#]') or s:match('^{|') then return '\n' .. s ..'\n' else return s end end local function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl :tag('tr') :css('height', '2px') :tag('td') :attr('colspan',2) end tableRowAdded = true return tbl:tag('tr') end local function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = 'right' end elseif args.navbar == 'plain' or (not args.name and mw.getCurrentFrame():getParent():getTitle():gsub('/sandbox$', '') == 'Template:Navbox') then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' and (border == 'subgroup' or border == 'child' or border == 'none') then spacerSide = 'left' end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = 'right' end titleCell:wikitext(navbar{ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' }) end -- Render the spacer div. if spacerSide then titleCell :tag('span') :css('float', spacerSide) :css('width', '6em') :wikitext('&nbsp;') end end -- -- Title row -- local function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow :tag('th') :attr('scope', 'row') :addClass('navbox-group') :addClass(args.titlegroupclass) :cssText(args.basestyle) :cssText(args.groupstyle) :cssText(args.titlegroupstyle) :wikitext(args.titlegroup) end local titleCell = titleRow:tag('th'):attr('scope', 'col') if args.titlegroup then titleCell :css('border-left', '2px solid #fdfdfd') :css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell :cssText(args.basestyle) :cssText(args.titlestyle) :addClass('navbox-title') :attr('colspan', titleColspan) renderNavBar(titleCell) titleCell :tag('div') :addClass(args.titleclass) :css('font-size', '110%') :wikitext(addNewline(args.title)) end -- -- Above/Below rows -- local function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end local function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) :tag('td') :addClass('navbox-abovebelow') :addClass(args.aboveclass) :cssText(args.basestyle) :cssText(args.abovestyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(addNewline(args.above)) end local function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) :tag('td') :addClass('navbox-abovebelow') :addClass(args.belowclass) :cssText(args.basestyle) :cssText(args.belowstyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(addNewline(args.below)) end -- -- List rows -- local function renderListRow(tbl, listnum) local row = addTableRow(tbl) if listnum == 1 and args.imageleft then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '0%') :css('padding', '0px 2px 0px 0px') :cssText(args.imageleftstyle) :attr('rowspan', 2 * #listnums - 1) :tag('div') :wikitext(addNewline(args.imageleft)) end if args['group' .. listnum] then local groupCell = row:tag('th') groupCell :attr('scope', 'row') :addClass('navbox-group') :addClass(args.groupclass) :cssText(args.basestyle) if args.groupwidth then groupCell:css('width', args.groupwidth) end groupCell :cssText(args.groupstyle) :cssText(args['group' .. listnum .. 'style']) :wikitext(args['group' .. listnum]) end local listCell = row:tag('td') if args['group' .. listnum] then listCell :css('text-align', 'left') :css('border-left-width', '2px') :css('border-left-style', 'solid') else listCell:attr('colspan', 2) end if not args.groupwidth then listCell:css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell :css('padding', '0px') :cssText(args.liststyle) :cssText(rowstyle) :cssText(args['list' .. listnum .. 'style']) :addClass('navbox-list') :addClass('navbox-' .. evenOdd) :addClass(args.listclass) :tag('div') :css('padding', (listnum == 1 and args.list1padding) or args.listpadding or '0em 0.25em') :wikitext(addNewline(args['list' .. listnum])) if listnum == 1 and args.image then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '0%') :css('padding', '0px 0px 0px 2px') :cssText(args.imagestyle) :attr('rowspan', 2 * #listnums - 1) :tag('div') :wikitext(addNewline(args.image)) end end -- -- Tracking categories -- local function needsHorizontalLists() if border == 'child' or border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = {'plainlist', 'hlist', 'hlist hnum', 'hlist hwrap', 'hlist vcard', 'vcard hlist', 'hlist vevent'} for i, cls in ipairs(listClasses) do if args.listclass == cls or args.bodyclass == cls then return false end end return true end local function hasBackgroundColors() return mw.ustring.match(args.titlestyle or '','background') or mw.ustring.match(args.groupstyle or '','background') or mw.ustring.match(args.basestyle or '','background') end local function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end return cats end local function renderTrackingCategories(builder) local title = mw.title.getCurrentTitle() if title.namespace ~= 10 then return end -- not in template space local subpage = title.subpageText if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for i, cat in ipairs(getTrackingCategories()) do builder:wikitext('[[Category:' .. cat .. ']]') end end -- -- Main navbox tables -- local function renderMainTable() local tbl = mw.html.create('table') :addClass('nowraplinks') :addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl :addClass('collapsible') :addClass(args.state or 'autocollapse') end tbl:css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl :addClass('navbox-subgroup') :cssText(args.bodystyle) :cssText(args.style) else -- regular navobx - bodystyle and style will be applied to the wrapper table tbl :addClass('navbox-inner') :css('background', 'transparent') :css('color', 'inherit') end tbl:cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = mw.html.create() if border == 'none' then res:node(tbl) elseif border == 'subgroup' or border == 'child' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res :wikitext('</div>') -- XXX: hack due to lack of unclosed support in mw.html. :node(tbl) :wikitext('<div>') -- XXX: hack due to lack of unclosed support in mw.html. else res :tag('table') :addClass('navbox') :css('border-spacing', 0) :cssText(args.bodystyle) :cssText(args.style) :tag('tr') :tag('td') :css('padding', '2px') :node(tbl) end renderTrackingCategories(res) return tostring(res) end function p.navbox(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end args = getArgs(frame, {wrappers = 'Template:Navbox'}) -- Read the arguments in the order they'll be output in, to make references number in the right order. local _ _ = args.title _ = args.above for i = 1, 20 do _ = args["group" .. tostring(i)] _ = args["list" .. tostring(i)] end _ = args.below return p._navbox(args) end return p 10vzmhktyui6wge3yuqeh208nd6rgj2 9899 9898 2014-11-30T16:22:22Z w>Jackmcbarn 0 looks like we really shouldn't have been checking border here at all 9899 Scribunto text/plain -- -- This module implements {{Navbox}} -- local p = {} local navbar = require('Module:Navbar')._navbar local getArgs -- lazily initialized local args local tableRowAdded = false local border local listnums = {} local function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end local function addNewline(s) if s:match('^[*:;#]') or s:match('^{|') then return '\n' .. s ..'\n' else return s end end local function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl :tag('tr') :css('height', '2px') :tag('td') :attr('colspan',2) end tableRowAdded = true return tbl:tag('tr') end local function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = 'right' end elseif args.navbar == 'plain' or (not args.name and mw.getCurrentFrame():getParent():getTitle():gsub('/sandbox$', '') == 'Template:Navbox') then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' then spacerSide = 'left' end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = 'right' end titleCell:wikitext(navbar{ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' }) end -- Render the spacer div. if spacerSide then titleCell :tag('span') :css('float', spacerSide) :css('width', '6em') :wikitext('&nbsp;') end end -- -- Title row -- local function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow :tag('th') :attr('scope', 'row') :addClass('navbox-group') :addClass(args.titlegroupclass) :cssText(args.basestyle) :cssText(args.groupstyle) :cssText(args.titlegroupstyle) :wikitext(args.titlegroup) end local titleCell = titleRow:tag('th'):attr('scope', 'col') if args.titlegroup then titleCell :css('border-left', '2px solid #fdfdfd') :css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell :cssText(args.basestyle) :cssText(args.titlestyle) :addClass('navbox-title') :attr('colspan', titleColspan) renderNavBar(titleCell) titleCell :tag('div') :addClass(args.titleclass) :css('font-size', '110%') :wikitext(addNewline(args.title)) end -- -- Above/Below rows -- local function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end local function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) :tag('td') :addClass('navbox-abovebelow') :addClass(args.aboveclass) :cssText(args.basestyle) :cssText(args.abovestyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(addNewline(args.above)) end local function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) :tag('td') :addClass('navbox-abovebelow') :addClass(args.belowclass) :cssText(args.basestyle) :cssText(args.belowstyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(addNewline(args.below)) end -- -- List rows -- local function renderListRow(tbl, listnum) local row = addTableRow(tbl) if listnum == 1 and args.imageleft then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '0%') :css('padding', '0px 2px 0px 0px') :cssText(args.imageleftstyle) :attr('rowspan', 2 * #listnums - 1) :tag('div') :wikitext(addNewline(args.imageleft)) end if args['group' .. listnum] then local groupCell = row:tag('th') groupCell :attr('scope', 'row') :addClass('navbox-group') :addClass(args.groupclass) :cssText(args.basestyle) if args.groupwidth then groupCell:css('width', args.groupwidth) end groupCell :cssText(args.groupstyle) :cssText(args['group' .. listnum .. 'style']) :wikitext(args['group' .. listnum]) end local listCell = row:tag('td') if args['group' .. listnum] then listCell :css('text-align', 'left') :css('border-left-width', '2px') :css('border-left-style', 'solid') else listCell:attr('colspan', 2) end if not args.groupwidth then listCell:css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell :css('padding', '0px') :cssText(args.liststyle) :cssText(rowstyle) :cssText(args['list' .. listnum .. 'style']) :addClass('navbox-list') :addClass('navbox-' .. evenOdd) :addClass(args.listclass) :tag('div') :css('padding', (listnum == 1 and args.list1padding) or args.listpadding or '0em 0.25em') :wikitext(addNewline(args['list' .. listnum])) if listnum == 1 and args.image then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '0%') :css('padding', '0px 0px 0px 2px') :cssText(args.imagestyle) :attr('rowspan', 2 * #listnums - 1) :tag('div') :wikitext(addNewline(args.image)) end end -- -- Tracking categories -- local function needsHorizontalLists() if border == 'child' or border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = {'plainlist', 'hlist', 'hlist hnum', 'hlist hwrap', 'hlist vcard', 'vcard hlist', 'hlist vevent'} for i, cls in ipairs(listClasses) do if args.listclass == cls or args.bodyclass == cls then return false end end return true end local function hasBackgroundColors() return mw.ustring.match(args.titlestyle or '','background') or mw.ustring.match(args.groupstyle or '','background') or mw.ustring.match(args.basestyle or '','background') end local function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end return cats end local function renderTrackingCategories(builder) local title = mw.title.getCurrentTitle() if title.namespace ~= 10 then return end -- not in template space local subpage = title.subpageText if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for i, cat in ipairs(getTrackingCategories()) do builder:wikitext('[[Category:' .. cat .. ']]') end end -- -- Main navbox tables -- local function renderMainTable() local tbl = mw.html.create('table') :addClass('nowraplinks') :addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl :addClass('collapsible') :addClass(args.state or 'autocollapse') end tbl:css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl :addClass('navbox-subgroup') :cssText(args.bodystyle) :cssText(args.style) else -- regular navobx - bodystyle and style will be applied to the wrapper table tbl :addClass('navbox-inner') :css('background', 'transparent') :css('color', 'inherit') end tbl:cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = mw.html.create() if border == 'none' then res:node(tbl) elseif border == 'subgroup' or border == 'child' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res :wikitext('</div>') -- XXX: hack due to lack of unclosed support in mw.html. :node(tbl) :wikitext('<div>') -- XXX: hack due to lack of unclosed support in mw.html. else res :tag('table') :addClass('navbox') :css('border-spacing', 0) :cssText(args.bodystyle) :cssText(args.style) :tag('tr') :tag('td') :css('padding', '2px') :node(tbl) end renderTrackingCategories(res) return tostring(res) end function p.navbox(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end args = getArgs(frame, {wrappers = 'Template:Navbox'}) -- Read the arguments in the order they'll be output in, to make references number in the right order. local _ _ = args.title _ = args.above for i = 1, 20 do _ = args["group" .. tostring(i)] _ = args["list" .. tostring(i)] end _ = args.below return p._navbox(args) end return p 0xz6w9qh3qly5ymbn3g095ijl4yfqxn 9900 9899 2015-03-30T08:36:42Z w>Dinoguy1000 0 update from sandbox, per [[Template talk:Navbox#mw-collapsible]] (specific changes: spaces to tabs; switch from using the collapsible tables script to mw-collapsible) 9900 Scribunto text/plain -- -- This module implements {{Navbox}} -- local p = {} local navbar = require('Module:Navbar')._navbar local getArgs -- lazily initialized local args local tableRowAdded = false local border local listnums = {} local function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end local function addNewline(s) if s:match('^[*:;#]') or s:match('^{|') then return '\n' .. s ..'\n' else return s end end local function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl :tag('tr') :css('height', '2px') :tag('td') :attr('colspan',2) end tableRowAdded = true return tbl:tag('tr') end local function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = 'right' end elseif args.navbar == 'plain' or (not args.name and mw.getCurrentFrame():getParent():getTitle():gsub('/sandbox$', '') == 'Template:Navbox') then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' then spacerSide = 'left' end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = 'right' end titleCell:wikitext(navbar{ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' }) end -- Render the spacer div. if spacerSide then titleCell :tag('span') :css('float', spacerSide) :css('width', '6em') :wikitext('&nbsp;') end end -- -- Title row -- local function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow :tag('th') :attr('scope', 'row') :addClass('navbox-group') :addClass(args.titlegroupclass) :cssText(args.basestyle) :cssText(args.groupstyle) :cssText(args.titlegroupstyle) :wikitext(args.titlegroup) end local titleCell = titleRow:tag('th'):attr('scope', 'col') if args.titlegroup then titleCell :css('border-left', '2px solid #fdfdfd') :css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell :cssText(args.basestyle) :cssText(args.titlestyle) :addClass('navbox-title') :attr('colspan', titleColspan) renderNavBar(titleCell) titleCell :tag('div') :addClass(args.titleclass) :css('font-size', '110%') :wikitext(addNewline(args.title)) end -- -- Above/Below rows -- local function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end local function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) :tag('td') :addClass('navbox-abovebelow') :addClass(args.aboveclass) :cssText(args.basestyle) :cssText(args.abovestyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(addNewline(args.above)) end local function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) :tag('td') :addClass('navbox-abovebelow') :addClass(args.belowclass) :cssText(args.basestyle) :cssText(args.belowstyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(addNewline(args.below)) end -- -- List rows -- local function renderListRow(tbl, listnum) local row = addTableRow(tbl) if listnum == 1 and args.imageleft then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '0%') :css('padding', '0px 2px 0px 0px') :cssText(args.imageleftstyle) :attr('rowspan', 2 * #listnums - 1) :tag('div') :wikitext(addNewline(args.imageleft)) end if args['group' .. listnum] then local groupCell = row:tag('th') groupCell :attr('scope', 'row') :addClass('navbox-group') :addClass(args.groupclass) :cssText(args.basestyle) if args.groupwidth then groupCell:css('width', args.groupwidth) end groupCell :cssText(args.groupstyle) :cssText(args['group' .. listnum .. 'style']) :wikitext(args['group' .. listnum]) end local listCell = row:tag('td') if args['group' .. listnum] then listCell :css('text-align', 'left') :css('border-left-width', '2px') :css('border-left-style', 'solid') else listCell:attr('colspan', 2) end if not args.groupwidth then listCell:css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell :css('padding', '0px') :cssText(args.liststyle) :cssText(rowstyle) :cssText(args['list' .. listnum .. 'style']) :addClass('navbox-list') :addClass('navbox-' .. evenOdd) :addClass(args.listclass) :tag('div') :css('padding', (listnum == 1 and args.list1padding) or args.listpadding or '0em 0.25em') :wikitext(addNewline(args['list' .. listnum])) if listnum == 1 and args.image then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '0%') :css('padding', '0px 0px 0px 2px') :cssText(args.imagestyle) :attr('rowspan', 2 * #listnums - 1) :tag('div') :wikitext(addNewline(args.image)) end end -- -- Tracking categories -- local function needsHorizontalLists() if border == 'child' or border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = {'plainlist', 'hlist', 'hlist hnum', 'hlist hwrap', 'hlist vcard', 'vcard hlist', 'hlist vevent'} for i, cls in ipairs(listClasses) do if args.listclass == cls or args.bodyclass == cls then return false end end return true end local function hasBackgroundColors() return mw.ustring.match(args.titlestyle or '','background') or mw.ustring.match(args.groupstyle or '','background') or mw.ustring.match(args.basestyle or '','background') end local function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end return cats end local function renderTrackingCategories(builder) local title = mw.title.getCurrentTitle() if title.namespace ~= 10 then return end -- not in template space local subpage = title.subpageText if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for i, cat in ipairs(getTrackingCategories()) do builder:wikitext('[[Category:' .. cat .. ']]') end end -- -- Main navbox tables -- local function renderMainTable() local tbl = mw.html.create('table') :addClass('nowraplinks') :addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl :addClass('mw-collapsible') -- mw-collapsible doesn't have an "autocollapse" feature, so fall back on collapsed by default for now :addClass(args.state and 'mw-' .. args.state or 'mw-collapsed') end tbl:css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl :addClass('navbox-subgroup') :cssText(args.bodystyle) :cssText(args.style) else -- regular navbox - bodystyle and style will be applied to the wrapper table tbl :addClass('navbox-inner') :css('background', 'transparent') :css('color', 'inherit') end tbl:cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = mw.html.create() if border == 'none' then res:node(tbl) elseif border == 'subgroup' or border == 'child' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res :wikitext('</div>') -- XXX: hack due to lack of unclosed support in mw.html. :node(tbl) :wikitext('<div>') -- XXX: hack due to lack of unclosed support in mw.html. else res :tag('table') :addClass('navbox') :css('border-spacing', 0) :cssText(args.bodystyle) :cssText(args.style) :tag('tr') :tag('td') :css('padding', '2px') :node(tbl) end renderTrackingCategories(res) return tostring(res) end function p.navbox(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end args = getArgs(frame, {wrappers = 'Template:Navbox'}) -- Read the arguments in the order they'll be output in, to make references number in the right order. local _ _ = args.title _ = args.above for i = 1, 20 do _ = args["group" .. tostring(i)] _ = args["list" .. tostring(i)] end _ = args.below return p._navbox(args) end return p 64r0kcw4fmw3hn0uv6f8oxty6y8nqz3 9901 9900 2015-03-30T12:13:43Z w>WOSlinker 0 Undid revision 654151214, The new Show/Hide doesn't work very well on Navboxes with blue backgrounds 9901 Scribunto text/plain -- -- This module implements {{Navbox}} -- local p = {} local navbar = require('Module:Navbar')._navbar local getArgs -- lazily initialized local args local tableRowAdded = false local border local listnums = {} local function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end local function addNewline(s) if s:match('^[*:;#]') or s:match('^{|') then return '\n' .. s ..'\n' else return s end end local function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl :tag('tr') :css('height', '2px') :tag('td') :attr('colspan',2) end tableRowAdded = true return tbl:tag('tr') end local function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = 'right' end elseif args.navbar == 'plain' or (not args.name and mw.getCurrentFrame():getParent():getTitle():gsub('/sandbox$', '') == 'Template:Navbox') then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' then spacerSide = 'left' end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = 'right' end titleCell:wikitext(navbar{ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' }) end -- Render the spacer div. if spacerSide then titleCell :tag('span') :css('float', spacerSide) :css('width', '6em') :wikitext('&nbsp;') end end -- -- Title row -- local function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow :tag('th') :attr('scope', 'row') :addClass('navbox-group') :addClass(args.titlegroupclass) :cssText(args.basestyle) :cssText(args.groupstyle) :cssText(args.titlegroupstyle) :wikitext(args.titlegroup) end local titleCell = titleRow:tag('th'):attr('scope', 'col') if args.titlegroup then titleCell :css('border-left', '2px solid #fdfdfd') :css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell :cssText(args.basestyle) :cssText(args.titlestyle) :addClass('navbox-title') :attr('colspan', titleColspan) renderNavBar(titleCell) titleCell :tag('div') :addClass(args.titleclass) :css('font-size', '110%') :wikitext(addNewline(args.title)) end -- -- Above/Below rows -- local function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end local function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) :tag('td') :addClass('navbox-abovebelow') :addClass(args.aboveclass) :cssText(args.basestyle) :cssText(args.abovestyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(addNewline(args.above)) end local function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) :tag('td') :addClass('navbox-abovebelow') :addClass(args.belowclass) :cssText(args.basestyle) :cssText(args.belowstyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(addNewline(args.below)) end -- -- List rows -- local function renderListRow(tbl, listnum) local row = addTableRow(tbl) if listnum == 1 and args.imageleft then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '0%') :css('padding', '0px 2px 0px 0px') :cssText(args.imageleftstyle) :attr('rowspan', 2 * #listnums - 1) :tag('div') :wikitext(addNewline(args.imageleft)) end if args['group' .. listnum] then local groupCell = row:tag('th') groupCell :attr('scope', 'row') :addClass('navbox-group') :addClass(args.groupclass) :cssText(args.basestyle) if args.groupwidth then groupCell:css('width', args.groupwidth) end groupCell :cssText(args.groupstyle) :cssText(args['group' .. listnum .. 'style']) :wikitext(args['group' .. listnum]) end local listCell = row:tag('td') if args['group' .. listnum] then listCell :css('text-align', 'left') :css('border-left-width', '2px') :css('border-left-style', 'solid') else listCell:attr('colspan', 2) end if not args.groupwidth then listCell:css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell :css('padding', '0px') :cssText(args.liststyle) :cssText(rowstyle) :cssText(args['list' .. listnum .. 'style']) :addClass('navbox-list') :addClass('navbox-' .. evenOdd) :addClass(args.listclass) :tag('div') :css('padding', (listnum == 1 and args.list1padding) or args.listpadding or '0em 0.25em') :wikitext(addNewline(args['list' .. listnum])) if listnum == 1 and args.image then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '0%') :css('padding', '0px 0px 0px 2px') :cssText(args.imagestyle) :attr('rowspan', 2 * #listnums - 1) :tag('div') :wikitext(addNewline(args.image)) end end -- -- Tracking categories -- local function needsHorizontalLists() if border == 'child' or border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = {'plainlist', 'hlist', 'hlist hnum', 'hlist hwrap', 'hlist vcard', 'vcard hlist', 'hlist vevent'} for i, cls in ipairs(listClasses) do if args.listclass == cls or args.bodyclass == cls then return false end end return true end local function hasBackgroundColors() return mw.ustring.match(args.titlestyle or '','background') or mw.ustring.match(args.groupstyle or '','background') or mw.ustring.match(args.basestyle or '','background') end local function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end return cats end local function renderTrackingCategories(builder) local title = mw.title.getCurrentTitle() if title.namespace ~= 10 then return end -- not in template space local subpage = title.subpageText if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for i, cat in ipairs(getTrackingCategories()) do builder:wikitext('[[Category:' .. cat .. ']]') end end -- -- Main navbox tables -- local function renderMainTable() local tbl = mw.html.create('table') :addClass('nowraplinks') :addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl :addClass('collapsible') :addClass(args.state or 'autocollapse') end tbl:css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl :addClass('navbox-subgroup') :cssText(args.bodystyle) :cssText(args.style) else -- regular navobx - bodystyle and style will be applied to the wrapper table tbl :addClass('navbox-inner') :css('background', 'transparent') :css('color', 'inherit') end tbl:cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = mw.html.create() if border == 'none' then res:node(tbl) elseif border == 'subgroup' or border == 'child' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res :wikitext('</div>') -- XXX: hack due to lack of unclosed support in mw.html. :node(tbl) :wikitext('<div>') -- XXX: hack due to lack of unclosed support in mw.html. else res :tag('table') :addClass('navbox') :css('border-spacing', 0) :cssText(args.bodystyle) :cssText(args.style) :tag('tr') :tag('td') :css('padding', '2px') :node(tbl) end renderTrackingCategories(res) return tostring(res) end function p.navbox(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end args = getArgs(frame, {wrappers = 'Template:Navbox'}) -- Read the arguments in the order they'll be output in, to make references number in the right order. local _ _ = args.title _ = args.above for i = 1, 20 do _ = args["group" .. tostring(i)] _ = args["list" .. tostring(i)] end _ = args.below return p._navbox(args) end return p 0xz6w9qh3qly5ymbn3g095ijl4yfqxn 9902 9837 2015-07-21T16:28:31Z w>Edokter 0 Slight adjustment 9902 Scribunto text/plain -- -- This module implements {{Navbox}} -- local p = {} local navbar = require('Module:Navbar')._navbar local getArgs -- lazily initialized local args local tableRowAdded = false local border local listnums = {} local function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end local function addNewline(s) if s:match('^[*:;#]') or s:match('^{|') then return '\n' .. s ..'\n' else return s end end local function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl :tag('tr') :css('height', '2px') :tag('td') :attr('colspan',2) end tableRowAdded = true return tbl:tag('tr') end local function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = 'right' end elseif args.navbar == 'plain' or (not args.name and mw.getCurrentFrame():getParent():getTitle():gsub('/sandbox$', '') == 'Template:Navbox') then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' then spacerSide = 'left' end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = 'right' end titleCell:wikitext(navbar{ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' }) end -- Render the spacer div. if spacerSide then titleCell :tag('span') :css('float', spacerSide) :css('width', '6em') :wikitext('&nbsp;') end end -- -- Title row -- local function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow :tag('th') :attr('scope', 'row') :addClass('navbox-group') :addClass(args.titlegroupclass) :cssText(args.basestyle) :cssText(args.groupstyle) :cssText(args.titlegroupstyle) :wikitext(args.titlegroup) end local titleCell = titleRow:tag('th'):attr('scope', 'col') if args.titlegroup then titleCell :css('border-left', '2px solid #fdfdfd') :css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell :cssText(args.basestyle) :cssText(args.titlestyle) :addClass('navbox-title') :attr('colspan', titleColspan) renderNavBar(titleCell) titleCell :tag('div') :addClass(args.titleclass) :css('font-size', '114%') :wikitext(addNewline(args.title)) end -- -- Above/Below rows -- local function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end local function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) :tag('td') :addClass('navbox-abovebelow') :addClass(args.aboveclass) :cssText(args.basestyle) :cssText(args.abovestyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(addNewline(args.above)) end local function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) :tag('td') :addClass('navbox-abovebelow') :addClass(args.belowclass) :cssText(args.basestyle) :cssText(args.belowstyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(addNewline(args.below)) end -- -- List rows -- local function renderListRow(tbl, listnum) local row = addTableRow(tbl) if listnum == 1 and args.imageleft then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '0%') :css('padding', '0px 2px 0px 0px') :cssText(args.imageleftstyle) :attr('rowspan', 2 * #listnums - 1) :tag('div') :wikitext(addNewline(args.imageleft)) end if args['group' .. listnum] then local groupCell = row:tag('th') groupCell :attr('scope', 'row') :addClass('navbox-group') :addClass(args.groupclass) :cssText(args.basestyle) if args.groupwidth then groupCell:css('width', args.groupwidth) end groupCell :cssText(args.groupstyle) :cssText(args['group' .. listnum .. 'style']) :wikitext(args['group' .. listnum]) end local listCell = row:tag('td') if args['group' .. listnum] then listCell :css('text-align', 'left') :css('border-left-width', '2px') :css('border-left-style', 'solid') else listCell:attr('colspan', 2) end if not args.groupwidth then listCell:css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell :css('padding', '0px') :cssText(args.liststyle) :cssText(rowstyle) :cssText(args['list' .. listnum .. 'style']) :addClass('navbox-list') :addClass('navbox-' .. evenOdd) :addClass(args.listclass) :tag('div') :css('padding', (listnum == 1 and args.list1padding) or args.listpadding or '0em 0.25em') :wikitext(addNewline(args['list' .. listnum])) if listnum == 1 and args.image then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '0%') :css('padding', '0px 0px 0px 2px') :cssText(args.imagestyle) :attr('rowspan', 2 * #listnums - 1) :tag('div') :wikitext(addNewline(args.image)) end end -- -- Tracking categories -- local function needsHorizontalLists() if border == 'child' or border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = {'plainlist', 'hlist', 'hlist hnum', 'hlist hwrap', 'hlist vcard', 'vcard hlist', 'hlist vevent'} for i, cls in ipairs(listClasses) do if args.listclass == cls or args.bodyclass == cls then return false end end return true end local function hasBackgroundColors() return mw.ustring.match(args.titlestyle or '','background') or mw.ustring.match(args.groupstyle or '','background') or mw.ustring.match(args.basestyle or '','background') end local function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end return cats end local function renderTrackingCategories(builder) local title = mw.title.getCurrentTitle() if title.namespace ~= 10 then return end -- not in template space local subpage = title.subpageText if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for i, cat in ipairs(getTrackingCategories()) do builder:wikitext('[[Category:' .. cat .. ']]') end end -- -- Main navbox tables -- local function renderMainTable() local tbl = mw.html.create('table') :addClass('nowraplinks') :addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl :addClass('collapsible') :addClass(args.state or 'autocollapse') end tbl:css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl :addClass('navbox-subgroup') :cssText(args.bodystyle) :cssText(args.style) else -- regular navobx - bodystyle and style will be applied to the wrapper table tbl :addClass('navbox-inner') :css('background', 'transparent') :css('color', 'inherit') end tbl:cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = mw.html.create() if border == 'none' then res:node(tbl) elseif border == 'subgroup' or border == 'child' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res :wikitext('</div>') -- XXX: hack due to lack of unclosed support in mw.html. :node(tbl) :wikitext('<div>') -- XXX: hack due to lack of unclosed support in mw.html. else res :tag('table') :addClass('navbox') :css('border-spacing', 0) :cssText(args.bodystyle) :cssText(args.style) :tag('tr') :tag('td') :css('padding', '2px') :node(tbl) end renderTrackingCategories(res) return tostring(res) end function p.navbox(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end args = getArgs(frame, {wrappers = 'Template:Navbox'}) -- Read the arguments in the order they'll be output in, to make references number in the right order. local _ _ = args.title _ = args.above for i = 1, 20 do _ = args["group" .. tostring(i)] _ = args["list" .. tostring(i)] end _ = args.below return p._navbox(args) end return p 1rj6vywxpnvqp6r8diqisbair73cwdp 9903 9902 2015-09-07T11:05:33Z w>Izkala 0 Add colour tracking per ER 9903 Scribunto text/plain -- -- This module implements {{Navbox}} -- local p = {} local navbar = require('Module:Navbar')._navbar local getArgs -- lazily initialized local args local tableRowAdded = false local border local listnums = {} local function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end local function addNewline(s) if s:match('^[*:;#]') or s:match('^{|') then return '\n' .. s ..'\n' else return s end end local function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl :tag('tr') :css('height', '2px') :tag('td') :attr('colspan',2) end tableRowAdded = true return tbl:tag('tr') end local function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = 'right' end elseif args.navbar == 'plain' or (not args.name and mw.getCurrentFrame():getParent():getTitle():gsub('/sandbox$', '') == 'Template:Navbox') then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' then spacerSide = 'left' end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = 'right' end titleCell:wikitext(navbar{ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' }) end -- Render the spacer div. if spacerSide then titleCell :tag('span') :css('float', spacerSide) :css('width', '6em') :wikitext('&nbsp;') end end -- -- Title row -- local function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow :tag('th') :attr('scope', 'row') :addClass('navbox-group') :addClass(args.titlegroupclass) :cssText(args.basestyle) :cssText(args.groupstyle) :cssText(args.titlegroupstyle) :wikitext(args.titlegroup) end local titleCell = titleRow:tag('th'):attr('scope', 'col') if args.titlegroup then titleCell :css('border-left', '2px solid #fdfdfd') :css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell :cssText(args.basestyle) :cssText(args.titlestyle) :addClass('navbox-title') :attr('colspan', titleColspan) renderNavBar(titleCell) titleCell :tag('div') :addClass(args.titleclass) :css('font-size', '110%') :wikitext(addNewline(args.title)) end -- -- Above/Below rows -- local function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end local function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) :tag('td') :addClass('navbox-abovebelow') :addClass(args.aboveclass) :cssText(args.basestyle) :cssText(args.abovestyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(addNewline(args.above)) end local function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) :tag('td') :addClass('navbox-abovebelow') :addClass(args.belowclass) :cssText(args.basestyle) :cssText(args.belowstyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(addNewline(args.below)) end -- -- List rows -- local function renderListRow(tbl, listnum) local row = addTableRow(tbl) if listnum == 1 and args.imageleft then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '0%') :css('padding', '0px 2px 0px 0px') :cssText(args.imageleftstyle) :attr('rowspan', 2 * #listnums - 1) :tag('div') :wikitext(addNewline(args.imageleft)) end if args['group' .. listnum] then local groupCell = row:tag('th') groupCell :attr('scope', 'row') :addClass('navbox-group') :addClass(args.groupclass) :cssText(args.basestyle) if args.groupwidth then groupCell:css('width', args.groupwidth) end groupCell :cssText(args.groupstyle) :cssText(args['group' .. listnum .. 'style']) :wikitext(args['group' .. listnum]) end local listCell = row:tag('td') if args['group' .. listnum] then listCell :css('text-align', 'left') :css('border-left-width', '2px') :css('border-left-style', 'solid') else listCell:attr('colspan', 2) end if not args.groupwidth then listCell:css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell :css('padding', '0px') :cssText(args.liststyle) :cssText(rowstyle) :cssText(args['list' .. listnum .. 'style']) :addClass('navbox-list') :addClass('navbox-' .. evenOdd) :addClass(args.listclass) :tag('div') :css('padding', (listnum == 1 and args.list1padding) or args.listpadding or '0em 0.25em') :wikitext(addNewline(args['list' .. listnum])) if listnum == 1 and args.image then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '0%') :css('padding', '0px 0px 0px 2px') :cssText(args.imagestyle) :attr('rowspan', 2 * #listnums - 1) :tag('div') :wikitext(addNewline(args.image)) end end -- -- Tracking categories -- local function needsHorizontalLists() if border == 'child' or border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = {'plainlist', 'hlist', 'hlist hnum', 'hlist hwrap', 'hlist vcard', 'vcard hlist', 'hlist vevent'} for i, cls in ipairs(listClasses) do if args.listclass == cls or args.bodyclass == cls then return false end end return true end local function hasBackgroundColors() return mw.ustring.match(args.titlestyle or '','background') or mw.ustring.match(args.groupstyle or '','background') or mw.ustring.match(args.basestyle or '','background') end local function isIllegible() local styleratio = require('Module:Color contrast')._styleratio for key, style in pairs(args) do if key:match("style$") then if styleratio { style, "black", "white" } < 4.5 then return true end end end return false end local function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end if isIllegible() then table.insert(cats, 'Potentially illegible navboxes') end return cats end local function renderTrackingCategories(builder) local title = mw.title.getCurrentTitle() if title.namespace ~= 10 then return end -- not in template space local subpage = title.subpageText if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for i, cat in ipairs(getTrackingCategories()) do builder:wikitext('[[Category:' .. cat .. ']]') end end -- -- Main navbox tables -- local function renderMainTable() local tbl = mw.html.create('table') :addClass('nowraplinks') :addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl :addClass('mw-collapsible') -- mw-collapsible doesn't have an "autocollapse" feature, so fall back on collapsed by default for now :addClass(args.state and 'mw-' .. args.state or 'mw-collapsed') end tbl:css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl :addClass('navbox-subgroup') :cssText(args.bodystyle) :cssText(args.style) else -- regular navbox - bodystyle and style will be applied to the wrapper table tbl :addClass('navbox-inner') :css('background', 'transparent') :css('color', 'inherit') end tbl:cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs local nowraplist = args.nowraplists and require('Module:Nowrap list')._main for k, v in pairs(args) do local listnum = string.match(k, '^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end -- preprocess lists in listX, above, and below if nowraplists has been set if nowraplist and (listnum or string.match(k, '^above') or string.match(k, '^below')) then args[k] = nowraplist(v) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = mw.html.create() if border == 'none' then res:node(tbl) elseif border == 'subgroup' or border == 'child' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res :wikitext('</div>') -- XXX: hack due to lack of unclosed support in mw.html. :node(tbl) :wikitext('<div>') -- XXX: hack due to lack of unclosed support in mw.html. else res :tag('table') :addClass('navbox') :css('border-spacing', 0) :cssText(args.bodystyle) :cssText(args.style) :tag('tr') :tag('td') :css('padding', '2px') :node(tbl) end renderTrackingCategories(res) return tostring(res) end function p.navbox(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end args = getArgs(frame, {wrappers = 'Template:Navbox'}) -- Read the arguments in the order they'll be output in, to make references number in the right order. local _ _ = args.title _ = args.above for i = 1, 20 do _ = args["group" .. tostring(i)] _ = args["list" .. tostring(i)] end _ = args.below return p._navbox(args) end return p ivfwpayb89jsk0gzhshvbtp50lhibyw 9904 9903 2015-09-07T11:33:05Z w>WOSlinker 0 Undid revision 679881839 by [[Special:Contributions/Alakzi|Alakzi]] ([[User talk:Alakzi|talk]]) - This change has more than just color tracking in it and is causing issues, see talk page 9904 Scribunto text/plain -- -- This module implements {{Navbox}} -- local p = {} local navbar = require('Module:Navbar')._navbar local getArgs -- lazily initialized local args local tableRowAdded = false local border local listnums = {} local function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end local function addNewline(s) if s:match('^[*:;#]') or s:match('^{|') then return '\n' .. s ..'\n' else return s end end local function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl :tag('tr') :css('height', '2px') :tag('td') :attr('colspan',2) end tableRowAdded = true return tbl:tag('tr') end local function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = 'right' end elseif args.navbar == 'plain' or (not args.name and mw.getCurrentFrame():getParent():getTitle():gsub('/sandbox$', '') == 'Template:Navbox') then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' then spacerSide = 'left' end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = 'right' end titleCell:wikitext(navbar{ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' }) end -- Render the spacer div. if spacerSide then titleCell :tag('span') :css('float', spacerSide) :css('width', '6em') :wikitext('&nbsp;') end end -- -- Title row -- local function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow :tag('th') :attr('scope', 'row') :addClass('navbox-group') :addClass(args.titlegroupclass) :cssText(args.basestyle) :cssText(args.groupstyle) :cssText(args.titlegroupstyle) :wikitext(args.titlegroup) end local titleCell = titleRow:tag('th'):attr('scope', 'col') if args.titlegroup then titleCell :css('border-left', '2px solid #fdfdfd') :css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell :cssText(args.basestyle) :cssText(args.titlestyle) :addClass('navbox-title') :attr('colspan', titleColspan) renderNavBar(titleCell) titleCell :tag('div') :addClass(args.titleclass) :css('font-size', '114%') :wikitext(addNewline(args.title)) end -- -- Above/Below rows -- local function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end local function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) :tag('td') :addClass('navbox-abovebelow') :addClass(args.aboveclass) :cssText(args.basestyle) :cssText(args.abovestyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(addNewline(args.above)) end local function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) :tag('td') :addClass('navbox-abovebelow') :addClass(args.belowclass) :cssText(args.basestyle) :cssText(args.belowstyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(addNewline(args.below)) end -- -- List rows -- local function renderListRow(tbl, listnum) local row = addTableRow(tbl) if listnum == 1 and args.imageleft then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '0%') :css('padding', '0px 2px 0px 0px') :cssText(args.imageleftstyle) :attr('rowspan', 2 * #listnums - 1) :tag('div') :wikitext(addNewline(args.imageleft)) end if args['group' .. listnum] then local groupCell = row:tag('th') groupCell :attr('scope', 'row') :addClass('navbox-group') :addClass(args.groupclass) :cssText(args.basestyle) if args.groupwidth then groupCell:css('width', args.groupwidth) end groupCell :cssText(args.groupstyle) :cssText(args['group' .. listnum .. 'style']) :wikitext(args['group' .. listnum]) end local listCell = row:tag('td') if args['group' .. listnum] then listCell :css('text-align', 'left') :css('border-left-width', '2px') :css('border-left-style', 'solid') else listCell:attr('colspan', 2) end if not args.groupwidth then listCell:css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell :css('padding', '0px') :cssText(args.liststyle) :cssText(rowstyle) :cssText(args['list' .. listnum .. 'style']) :addClass('navbox-list') :addClass('navbox-' .. evenOdd) :addClass(args.listclass) :tag('div') :css('padding', (listnum == 1 and args.list1padding) or args.listpadding or '0em 0.25em') :wikitext(addNewline(args['list' .. listnum])) if listnum == 1 and args.image then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '0%') :css('padding', '0px 0px 0px 2px') :cssText(args.imagestyle) :attr('rowspan', 2 * #listnums - 1) :tag('div') :wikitext(addNewline(args.image)) end end -- -- Tracking categories -- local function needsHorizontalLists() if border == 'child' or border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = {'plainlist', 'hlist', 'hlist hnum', 'hlist hwrap', 'hlist vcard', 'vcard hlist', 'hlist vevent'} for i, cls in ipairs(listClasses) do if args.listclass == cls or args.bodyclass == cls then return false end end return true end local function hasBackgroundColors() return mw.ustring.match(args.titlestyle or '','background') or mw.ustring.match(args.groupstyle or '','background') or mw.ustring.match(args.basestyle or '','background') end local function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end return cats end local function renderTrackingCategories(builder) local title = mw.title.getCurrentTitle() if title.namespace ~= 10 then return end -- not in template space local subpage = title.subpageText if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for i, cat in ipairs(getTrackingCategories()) do builder:wikitext('[[Category:' .. cat .. ']]') end end -- -- Main navbox tables -- local function renderMainTable() local tbl = mw.html.create('table') :addClass('nowraplinks') :addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl :addClass('collapsible') :addClass(args.state or 'autocollapse') end tbl:css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl :addClass('navbox-subgroup') :cssText(args.bodystyle) :cssText(args.style) else -- regular navobx - bodystyle and style will be applied to the wrapper table tbl :addClass('navbox-inner') :css('background', 'transparent') :css('color', 'inherit') end tbl:cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = mw.html.create() if border == 'none' then res:node(tbl) elseif border == 'subgroup' or border == 'child' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res :wikitext('</div>') -- XXX: hack due to lack of unclosed support in mw.html. :node(tbl) :wikitext('<div>') -- XXX: hack due to lack of unclosed support in mw.html. else res :tag('table') :addClass('navbox') :css('border-spacing', 0) :cssText(args.bodystyle) :cssText(args.style) :tag('tr') :tag('td') :css('padding', '2px') :node(tbl) end renderTrackingCategories(res) return tostring(res) end function p.navbox(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end args = getArgs(frame, {wrappers = 'Template:Navbox'}) -- Read the arguments in the order they'll be output in, to make references number in the right order. local _ _ = args.title _ = args.above for i = 1, 20 do _ = args["group" .. tostring(i)] _ = args["list" .. tostring(i)] end _ = args.below return p._navbox(args) end return p 1rj6vywxpnvqp6r8diqisbair73cwdp 9905 9904 2015-09-07T11:52:09Z w>Izkala 0 Sync and fix styleratio invocation 9905 Scribunto text/plain -- -- This module implements {{Navbox}} -- local p = {} local navbar = require('Module:Navbar')._navbar local getArgs -- lazily initialized local args local tableRowAdded = false local border local listnums = {} local function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end local function addNewline(s) if s:match('^[*:;#]') or s:match('^{|') then return '\n' .. s ..'\n' else return s end end local function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl :tag('tr') :css('height', '2px') :tag('td') :attr('colspan',2) end tableRowAdded = true return tbl:tag('tr') end local function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = 'right' end elseif args.navbar == 'plain' or (not args.name and mw.getCurrentFrame():getParent():getTitle():gsub('/sandbox$', '') == 'Template:Navbox') then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' then spacerSide = 'left' end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = 'right' end titleCell:wikitext(navbar{ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' }) end -- Render the spacer div. if spacerSide then titleCell :tag('span') :css('float', spacerSide) :css('width', '6em') :wikitext('&nbsp;') end end -- -- Title row -- local function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow :tag('th') :attr('scope', 'row') :addClass('navbox-group') :addClass(args.titlegroupclass) :cssText(args.basestyle) :cssText(args.groupstyle) :cssText(args.titlegroupstyle) :wikitext(args.titlegroup) end local titleCell = titleRow:tag('th'):attr('scope', 'col') if args.titlegroup then titleCell :css('border-left', '2px solid #fdfdfd') :css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell :cssText(args.basestyle) :cssText(args.titlestyle) :addClass('navbox-title') :attr('colspan', titleColspan) renderNavBar(titleCell) titleCell :tag('div') :addClass(args.titleclass) :css('font-size', '114%') :wikitext(addNewline(args.title)) end -- -- Above/Below rows -- local function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end local function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) :tag('td') :addClass('navbox-abovebelow') :addClass(args.aboveclass) :cssText(args.basestyle) :cssText(args.abovestyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(addNewline(args.above)) end local function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) :tag('td') :addClass('navbox-abovebelow') :addClass(args.belowclass) :cssText(args.basestyle) :cssText(args.belowstyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(addNewline(args.below)) end -- -- List rows -- local function renderListRow(tbl, listnum) local row = addTableRow(tbl) if listnum == 1 and args.imageleft then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '0%') :css('padding', '0px 2px 0px 0px') :cssText(args.imageleftstyle) :attr('rowspan', 2 * #listnums - 1) :tag('div') :wikitext(addNewline(args.imageleft)) end if args['group' .. listnum] then local groupCell = row:tag('th') groupCell :attr('scope', 'row') :addClass('navbox-group') :addClass(args.groupclass) :cssText(args.basestyle) if args.groupwidth then groupCell:css('width', args.groupwidth) end groupCell :cssText(args.groupstyle) :cssText(args['group' .. listnum .. 'style']) :wikitext(args['group' .. listnum]) end local listCell = row:tag('td') if args['group' .. listnum] then listCell :css('text-align', 'left') :css('border-left-width', '2px') :css('border-left-style', 'solid') else listCell:attr('colspan', 2) end if not args.groupwidth then listCell:css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell :css('padding', '0px') :cssText(args.liststyle) :cssText(rowstyle) :cssText(args['list' .. listnum .. 'style']) :addClass('navbox-list') :addClass('navbox-' .. evenOdd) :addClass(args.listclass) :tag('div') :css('padding', (listnum == 1 and args.list1padding) or args.listpadding or '0em 0.25em') :wikitext(addNewline(args['list' .. listnum])) if listnum == 1 and args.image then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '0%') :css('padding', '0px 0px 0px 2px') :cssText(args.imagestyle) :attr('rowspan', 2 * #listnums - 1) :tag('div') :wikitext(addNewline(args.image)) end end -- -- Tracking categories -- local function needsHorizontalLists() if border == 'child' or border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = {'plainlist', 'hlist', 'hlist hnum', 'hlist hwrap', 'hlist vcard', 'vcard hlist', 'hlist vevent'} for i, cls in ipairs(listClasses) do if args.listclass == cls or args.bodyclass == cls then return false end end return true end local function hasBackgroundColors() return mw.ustring.match(args.titlestyle or '','background') or mw.ustring.match(args.groupstyle or '','background') or mw.ustring.match(args.basestyle or '','background') end local function isIllegible() local styleratio = require('Module:Color contrast')._styleratio for key, style in pairs(args) do if key:match("style$") then if styleratio{style} < 4.5 then return true end end end return false end local function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end if isIllegible() then table.insert(cats, 'Potentially illegible navboxes') end return cats end local function renderTrackingCategories(builder) local title = mw.title.getCurrentTitle() if title.namespace ~= 10 then return end -- not in template space local subpage = title.subpageText if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for i, cat in ipairs(getTrackingCategories()) do builder:wikitext('[[Category:' .. cat .. ']]') end end -- -- Main navbox tables -- local function renderMainTable() local tbl = mw.html.create('table') :addClass('nowraplinks') :addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl :addClass('collapsible') :addClass(args.state or 'autocollapse') end tbl:css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl :addClass('navbox-subgroup') :cssText(args.bodystyle) :cssText(args.style) else -- regular navobx - bodystyle and style will be applied to the wrapper table tbl :addClass('navbox-inner') :css('background', 'transparent') :css('color', 'inherit') end tbl:cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = mw.html.create() if border == 'none' then res:node(tbl) elseif border == 'subgroup' or border == 'child' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res :wikitext('</div>') -- XXX: hack due to lack of unclosed support in mw.html. :node(tbl) :wikitext('<div>') -- XXX: hack due to lack of unclosed support in mw.html. else res :tag('table') :addClass('navbox') :css('border-spacing', 0) :cssText(args.bodystyle) :cssText(args.style) :tag('tr') :tag('td') :css('padding', '2px') :node(tbl) end renderTrackingCategories(res) return tostring(res) end function p.navbox(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end args = getArgs(frame, {wrappers = 'Template:Navbox'}) -- Read the arguments in the order they'll be output in, to make references number in the right order. local _ _ = args.title _ = args.above for i = 1, 20 do _ = args["group" .. tostring(i)] _ = args["list" .. tostring(i)] end _ = args.below return p._navbox(args) end return p fftfzsoysgba9tv9qg2q8nycuefdzbp 9906 9905 2015-09-07T11:52:45Z w>Izkala 0 Reverted 1 edit by [[Special:Contributions/Alakzi|Alakzi]] ([[User talk:Alakzi|talk]]): Sigh, I meant to do that in the sandbox. ([[WP:TW|TW]]) 9906 Scribunto text/plain -- -- This module implements {{Navbox}} -- local p = {} local navbar = require('Module:Navbar')._navbar local getArgs -- lazily initialized local args local tableRowAdded = false local border local listnums = {} local function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end local function addNewline(s) if s:match('^[*:;#]') or s:match('^{|') then return '\n' .. s ..'\n' else return s end end local function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl :tag('tr') :css('height', '2px') :tag('td') :attr('colspan',2) end tableRowAdded = true return tbl:tag('tr') end local function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = 'right' end elseif args.navbar == 'plain' or (not args.name and mw.getCurrentFrame():getParent():getTitle():gsub('/sandbox$', '') == 'Template:Navbox') then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' then spacerSide = 'left' end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = 'right' end titleCell:wikitext(navbar{ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' }) end -- Render the spacer div. if spacerSide then titleCell :tag('span') :css('float', spacerSide) :css('width', '6em') :wikitext('&nbsp;') end end -- -- Title row -- local function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow :tag('th') :attr('scope', 'row') :addClass('navbox-group') :addClass(args.titlegroupclass) :cssText(args.basestyle) :cssText(args.groupstyle) :cssText(args.titlegroupstyle) :wikitext(args.titlegroup) end local titleCell = titleRow:tag('th'):attr('scope', 'col') if args.titlegroup then titleCell :css('border-left', '2px solid #fdfdfd') :css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell :cssText(args.basestyle) :cssText(args.titlestyle) :addClass('navbox-title') :attr('colspan', titleColspan) renderNavBar(titleCell) titleCell :tag('div') :addClass(args.titleclass) :css('font-size', '114%') :wikitext(addNewline(args.title)) end -- -- Above/Below rows -- local function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end local function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) :tag('td') :addClass('navbox-abovebelow') :addClass(args.aboveclass) :cssText(args.basestyle) :cssText(args.abovestyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(addNewline(args.above)) end local function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) :tag('td') :addClass('navbox-abovebelow') :addClass(args.belowclass) :cssText(args.basestyle) :cssText(args.belowstyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(addNewline(args.below)) end -- -- List rows -- local function renderListRow(tbl, listnum) local row = addTableRow(tbl) if listnum == 1 and args.imageleft then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '0%') :css('padding', '0px 2px 0px 0px') :cssText(args.imageleftstyle) :attr('rowspan', 2 * #listnums - 1) :tag('div') :wikitext(addNewline(args.imageleft)) end if args['group' .. listnum] then local groupCell = row:tag('th') groupCell :attr('scope', 'row') :addClass('navbox-group') :addClass(args.groupclass) :cssText(args.basestyle) if args.groupwidth then groupCell:css('width', args.groupwidth) end groupCell :cssText(args.groupstyle) :cssText(args['group' .. listnum .. 'style']) :wikitext(args['group' .. listnum]) end local listCell = row:tag('td') if args['group' .. listnum] then listCell :css('text-align', 'left') :css('border-left-width', '2px') :css('border-left-style', 'solid') else listCell:attr('colspan', 2) end if not args.groupwidth then listCell:css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell :css('padding', '0px') :cssText(args.liststyle) :cssText(rowstyle) :cssText(args['list' .. listnum .. 'style']) :addClass('navbox-list') :addClass('navbox-' .. evenOdd) :addClass(args.listclass) :tag('div') :css('padding', (listnum == 1 and args.list1padding) or args.listpadding or '0em 0.25em') :wikitext(addNewline(args['list' .. listnum])) if listnum == 1 and args.image then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '0%') :css('padding', '0px 0px 0px 2px') :cssText(args.imagestyle) :attr('rowspan', 2 * #listnums - 1) :tag('div') :wikitext(addNewline(args.image)) end end -- -- Tracking categories -- local function needsHorizontalLists() if border == 'child' or border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = {'plainlist', 'hlist', 'hlist hnum', 'hlist hwrap', 'hlist vcard', 'vcard hlist', 'hlist vevent'} for i, cls in ipairs(listClasses) do if args.listclass == cls or args.bodyclass == cls then return false end end return true end local function hasBackgroundColors() return mw.ustring.match(args.titlestyle or '','background') or mw.ustring.match(args.groupstyle or '','background') or mw.ustring.match(args.basestyle or '','background') end local function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end return cats end local function renderTrackingCategories(builder) local title = mw.title.getCurrentTitle() if title.namespace ~= 10 then return end -- not in template space local subpage = title.subpageText if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for i, cat in ipairs(getTrackingCategories()) do builder:wikitext('[[Category:' .. cat .. ']]') end end -- -- Main navbox tables -- local function renderMainTable() local tbl = mw.html.create('table') :addClass('nowraplinks') :addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl :addClass('collapsible') :addClass(args.state or 'autocollapse') end tbl:css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl :addClass('navbox-subgroup') :cssText(args.bodystyle) :cssText(args.style) else -- regular navobx - bodystyle and style will be applied to the wrapper table tbl :addClass('navbox-inner') :css('background', 'transparent') :css('color', 'inherit') end tbl:cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = mw.html.create() if border == 'none' then res:node(tbl) elseif border == 'subgroup' or border == 'child' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res :wikitext('</div>') -- XXX: hack due to lack of unclosed support in mw.html. :node(tbl) :wikitext('<div>') -- XXX: hack due to lack of unclosed support in mw.html. else res :tag('table') :addClass('navbox') :css('border-spacing', 0) :cssText(args.bodystyle) :cssText(args.style) :tag('tr') :tag('td') :css('padding', '2px') :node(tbl) end renderTrackingCategories(res) return tostring(res) end function p.navbox(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end args = getArgs(frame, {wrappers = 'Template:Navbox'}) -- Read the arguments in the order they'll be output in, to make references number in the right order. local _ _ = args.title _ = args.above for i = 1, 20 do _ = args["group" .. tostring(i)] _ = args["list" .. tostring(i)] end _ = args.below return p._navbox(args) end return p 1rj6vywxpnvqp6r8diqisbair73cwdp 9907 9906 2015-09-07T12:29:40Z w>WOSlinker 0 reapply just Add colour tracking changes from sandbox 9907 Scribunto text/plain -- -- This module implements {{Navbox}} -- local p = {} local navbar = require('Module:Navbar')._navbar local getArgs -- lazily initialized local args local tableRowAdded = false local border local listnums = {} local function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end local function addNewline(s) if s:match('^[*:;#]') or s:match('^{|') then return '\n' .. s ..'\n' else return s end end local function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl :tag('tr') :css('height', '2px') :tag('td') :attr('colspan',2) end tableRowAdded = true return tbl:tag('tr') end local function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = 'right' end elseif args.navbar == 'plain' or (not args.name and mw.getCurrentFrame():getParent():getTitle():gsub('/sandbox$', '') == 'Template:Navbox') then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' then spacerSide = 'left' end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = 'right' end titleCell:wikitext(navbar{ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' }) end -- Render the spacer div. if spacerSide then titleCell :tag('span') :css('float', spacerSide) :css('width', '6em') :wikitext('&nbsp;') end end -- -- Title row -- local function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow :tag('th') :attr('scope', 'row') :addClass('navbox-group') :addClass(args.titlegroupclass) :cssText(args.basestyle) :cssText(args.groupstyle) :cssText(args.titlegroupstyle) :wikitext(args.titlegroup) end local titleCell = titleRow:tag('th'):attr('scope', 'col') if args.titlegroup then titleCell :css('border-left', '2px solid #fdfdfd') :css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell :cssText(args.basestyle) :cssText(args.titlestyle) :addClass('navbox-title') :attr('colspan', titleColspan) renderNavBar(titleCell) titleCell :tag('div') :addClass(args.titleclass) :css('font-size', '114%') :wikitext(addNewline(args.title)) end -- -- Above/Below rows -- local function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end local function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) :tag('td') :addClass('navbox-abovebelow') :addClass(args.aboveclass) :cssText(args.basestyle) :cssText(args.abovestyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(addNewline(args.above)) end local function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) :tag('td') :addClass('navbox-abovebelow') :addClass(args.belowclass) :cssText(args.basestyle) :cssText(args.belowstyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(addNewline(args.below)) end -- -- List rows -- local function renderListRow(tbl, listnum) local row = addTableRow(tbl) if listnum == 1 and args.imageleft then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '0%') :css('padding', '0px 2px 0px 0px') :cssText(args.imageleftstyle) :attr('rowspan', 2 * #listnums - 1) :tag('div') :wikitext(addNewline(args.imageleft)) end if args['group' .. listnum] then local groupCell = row:tag('th') groupCell :attr('scope', 'row') :addClass('navbox-group') :addClass(args.groupclass) :cssText(args.basestyle) if args.groupwidth then groupCell:css('width', args.groupwidth) end groupCell :cssText(args.groupstyle) :cssText(args['group' .. listnum .. 'style']) :wikitext(args['group' .. listnum]) end local listCell = row:tag('td') if args['group' .. listnum] then listCell :css('text-align', 'left') :css('border-left-width', '2px') :css('border-left-style', 'solid') else listCell:attr('colspan', 2) end if not args.groupwidth then listCell:css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell :css('padding', '0px') :cssText(args.liststyle) :cssText(rowstyle) :cssText(args['list' .. listnum .. 'style']) :addClass('navbox-list') :addClass('navbox-' .. evenOdd) :addClass(args.listclass) :tag('div') :css('padding', (listnum == 1 and args.list1padding) or args.listpadding or '0em 0.25em') :wikitext(addNewline(args['list' .. listnum])) if listnum == 1 and args.image then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '0%') :css('padding', '0px 0px 0px 2px') :cssText(args.imagestyle) :attr('rowspan', 2 * #listnums - 1) :tag('div') :wikitext(addNewline(args.image)) end end -- -- Tracking categories -- local function needsHorizontalLists() if border == 'child' or border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = {'plainlist', 'hlist', 'hlist hnum', 'hlist hwrap', 'hlist vcard', 'vcard hlist', 'hlist vevent'} for i, cls in ipairs(listClasses) do if args.listclass == cls or args.bodyclass == cls then return false end end return true end local function hasBackgroundColors() return mw.ustring.match(args.titlestyle or '','background') or mw.ustring.match(args.groupstyle or '','background') or mw.ustring.match(args.basestyle or '','background') end local function isIllegible() local styleratio = require('Module:Color contrast')._styleratio for key, style in pairs(args) do if tostring(key):match("style$") then if styleratio{style} < 4.5 then return true end end end return false end local function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end if isIllegible() then table.insert(cats, 'Potentially illegible navboxes') end return cats end local function renderTrackingCategories(builder) local title = mw.title.getCurrentTitle() if title.namespace ~= 10 then return end -- not in template space local subpage = title.subpageText if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for i, cat in ipairs(getTrackingCategories()) do builder:wikitext('[[Category:' .. cat .. ']]') end end -- -- Main navbox tables -- local function renderMainTable() local tbl = mw.html.create('table') :addClass('nowraplinks') :addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl :addClass('collapsible') :addClass(args.state or 'autocollapse') end tbl:css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl :addClass('navbox-subgroup') :cssText(args.bodystyle) :cssText(args.style) else -- regular navobx - bodystyle and style will be applied to the wrapper table tbl :addClass('navbox-inner') :css('background', 'transparent') :css('color', 'inherit') end tbl:cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = mw.html.create() if border == 'none' then res:node(tbl) elseif border == 'subgroup' or border == 'child' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res :wikitext('</div>') -- XXX: hack due to lack of unclosed support in mw.html. :node(tbl) :wikitext('<div>') -- XXX: hack due to lack of unclosed support in mw.html. else res :tag('table') :addClass('navbox') :css('border-spacing', 0) :cssText(args.bodystyle) :cssText(args.style) :tag('tr') :tag('td') :css('padding', '2px') :node(tbl) end renderTrackingCategories(res) return tostring(res) end function p.navbox(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end args = getArgs(frame, {wrappers = 'Template:Navbox'}) -- Read the arguments in the order they'll be output in, to make references number in the right order. local _ _ = args.title _ = args.above for i = 1, 20 do _ = args["group" .. tostring(i)] _ = args["list" .. tostring(i)] end _ = args.below return p._navbox(args) end return p 1klq6c8c3l6ru63nks17i2259qb4a3v 9908 9907 2015-09-07T13:20:32Z w>Izkala 0 Kill nowikis 9908 Scribunto text/plain -- -- This module implements {{Navbox}} -- local p = {} local navbar = require('Module:Navbar')._navbar local getArgs -- lazily initialized local args local tableRowAdded = false local border local listnums = {} local function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end local function addNewline(s) if s:match('^[*:;#]') or s:match('^{|') then return '\n' .. s ..'\n' else return s end end local function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl :tag('tr') :css('height', '2px') :tag('td') :attr('colspan',2) end tableRowAdded = true return tbl:tag('tr') end local function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = 'right' end elseif args.navbar == 'plain' or (not args.name and mw.getCurrentFrame():getParent():getTitle():gsub('/sandbox$', '') == 'Template:Navbox') then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' then spacerSide = 'left' end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = 'right' end titleCell:wikitext(navbar{ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' }) end -- Render the spacer div. if spacerSide then titleCell :tag('span') :css('float', spacerSide) :css('width', '6em') :wikitext('&nbsp;') end end -- -- Title row -- local function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow :tag('th') :attr('scope', 'row') :addClass('navbox-group') :addClass(args.titlegroupclass) :cssText(args.basestyle) :cssText(args.groupstyle) :cssText(args.titlegroupstyle) :wikitext(args.titlegroup) end local titleCell = titleRow:tag('th'):attr('scope', 'col') if args.titlegroup then titleCell :css('border-left', '2px solid #fdfdfd') :css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell :cssText(args.basestyle) :cssText(args.titlestyle) :addClass('navbox-title') :attr('colspan', titleColspan) renderNavBar(titleCell) titleCell :tag('div') :addClass(args.titleclass) :css('font-size', '114%') :wikitext(addNewline(args.title)) end -- -- Above/Below rows -- local function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end local function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) :tag('td') :addClass('navbox-abovebelow') :addClass(args.aboveclass) :cssText(args.basestyle) :cssText(args.abovestyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(addNewline(args.above)) end local function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) :tag('td') :addClass('navbox-abovebelow') :addClass(args.belowclass) :cssText(args.basestyle) :cssText(args.belowstyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(addNewline(args.below)) end -- -- List rows -- local function renderListRow(tbl, listnum) local row = addTableRow(tbl) if listnum == 1 and args.imageleft then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '0%') :css('padding', '0px 2px 0px 0px') :cssText(args.imageleftstyle) :attr('rowspan', 2 * #listnums - 1) :tag('div') :wikitext(addNewline(args.imageleft)) end if args['group' .. listnum] then local groupCell = row:tag('th') groupCell :attr('scope', 'row') :addClass('navbox-group') :addClass(args.groupclass) :cssText(args.basestyle) if args.groupwidth then groupCell:css('width', args.groupwidth) end groupCell :cssText(args.groupstyle) :cssText(args['group' .. listnum .. 'style']) :wikitext(args['group' .. listnum]) end local listCell = row:tag('td') if args['group' .. listnum] then listCell :css('text-align', 'left') :css('border-left-width', '2px') :css('border-left-style', 'solid') else listCell:attr('colspan', 2) end if not args.groupwidth then listCell:css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell :css('padding', '0px') :cssText(args.liststyle) :cssText(rowstyle) :cssText(args['list' .. listnum .. 'style']) :addClass('navbox-list') :addClass('navbox-' .. evenOdd) :addClass(args.listclass) :tag('div') :css('padding', (listnum == 1 and args.list1padding) or args.listpadding or '0em 0.25em') :wikitext(addNewline(args['list' .. listnum])) if listnum == 1 and args.image then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '0%') :css('padding', '0px 0px 0px 2px') :cssText(args.imagestyle) :attr('rowspan', 2 * #listnums - 1) :tag('div') :wikitext(addNewline(args.image)) end end -- -- Tracking categories -- local function needsHorizontalLists() if border == 'child' or border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = {'plainlist', 'hlist', 'hlist hnum', 'hlist hwrap', 'hlist vcard', 'vcard hlist', 'hlist vevent'} for i, cls in ipairs(listClasses) do if args.listclass == cls or args.bodyclass == cls then return false end end return true end local function hasBackgroundColors() return mw.ustring.match(args.titlestyle or '','background') or mw.ustring.match(args.groupstyle or '','background') or mw.ustring.match(args.basestyle or '','background') end local function isIllegible() local styleratio = require('Module:Color contrast')._styleratio for key, style in pairs(args) do if tostring(key):match("style$") then if styleratio{mw.text.unstripNoWiki(style)} < 4.5 then return true end end end return false end local function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end if isIllegible() then table.insert(cats, 'Potentially illegible navboxes') end return cats end local function renderTrackingCategories(builder) local title = mw.title.getCurrentTitle() if title.namespace ~= 10 then return end -- not in template space local subpage = title.subpageText if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for i, cat in ipairs(getTrackingCategories()) do builder:wikitext('[[Category:' .. cat .. ']]') end end -- -- Main navbox tables -- local function renderMainTable() local tbl = mw.html.create('table') :addClass('nowraplinks') :addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl :addClass('collapsible') :addClass(args.state or 'autocollapse') end tbl:css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl :addClass('navbox-subgroup') :cssText(args.bodystyle) :cssText(args.style) else -- regular navobx - bodystyle and style will be applied to the wrapper table tbl :addClass('navbox-inner') :css('background', 'transparent') :css('color', 'inherit') end tbl:cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = mw.html.create() if border == 'none' then res:node(tbl) elseif border == 'subgroup' or border == 'child' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res :wikitext('</div>') -- XXX: hack due to lack of unclosed support in mw.html. :node(tbl) :wikitext('<div>') -- XXX: hack due to lack of unclosed support in mw.html. else res :tag('table') :addClass('navbox') :css('border-spacing', 0) :cssText(args.bodystyle) :cssText(args.style) :tag('tr') :tag('td') :css('padding', '2px') :node(tbl) end renderTrackingCategories(res) return tostring(res) end function p.navbox(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end args = getArgs(frame, {wrappers = 'Template:Navbox'}) -- Read the arguments in the order they'll be output in, to make references number in the right order. local _ _ = args.title _ = args.above for i = 1, 20 do _ = args["group" .. tostring(i)] _ = args["list" .. tostring(i)] end _ = args.below return p._navbox(args) end return p 3dyarw6vanz71pn4xumxab8tmen8xhp 9909 9908 2016-07-16T02:34:17Z w>Matt Fitzpatrick 0 navigation div instead of single-cell table wrapper 9909 Scribunto text/plain -- -- This module implements {{Navbox}} -- local p = {} local navbar = require('Module:Navbar')._navbar local getArgs -- lazily initialized local args local tableRowAdded = false local border local listnums = {} local function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end local function addNewline(s) if s:match('^[*:;#]') or s:match('^{|') then return '\n' .. s ..'\n' else return s end end local function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl :tag('tr') :css('height', '2px') :tag('td') :attr('colspan',2) end tableRowAdded = true return tbl:tag('tr') end local function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = 'right' end elseif args.navbar == 'plain' or (not args.name and mw.getCurrentFrame():getParent():getTitle():gsub('/sandbox$', '') == 'Template:Navbox') then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' then spacerSide = 'left' end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = 'right' end titleCell:wikitext(navbar{ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' }) end -- Render the spacer div. if spacerSide then titleCell :tag('span') :css('float', spacerSide) :css('width', '6em') :wikitext('&nbsp;') end end -- -- Title row -- local function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow :tag('th') :attr('scope', 'row') :addClass('navbox-group') :addClass(args.titlegroupclass) :cssText(args.basestyle) :cssText(args.groupstyle) :cssText(args.titlegroupstyle) :wikitext(args.titlegroup) end local titleCell = titleRow:tag('th'):attr('scope', 'col') if args.titlegroup then titleCell :css('border-left', '2px solid #fdfdfd') :css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell :cssText(args.basestyle) :cssText(args.titlestyle) :addClass('navbox-title') :attr('colspan', titleColspan) renderNavBar(titleCell) titleCell :tag('div') :attr('id', mw.uri.anchorEncode(args.title)) :addClass(args.titleclass) :css('font-size', '114%') :wikitext(addNewline(args.title)) end -- -- Above/Below rows -- local function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end local function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) :tag('td') :addClass('navbox-abovebelow') :addClass(args.aboveclass) :cssText(args.basestyle) :cssText(args.abovestyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(addNewline(args.above)) end local function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) :tag('td') :addClass('navbox-abovebelow') :addClass(args.belowclass) :cssText(args.basestyle) :cssText(args.belowstyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(addNewline(args.below)) end -- -- List rows -- local function renderListRow(tbl, listnum) local row = addTableRow(tbl) if listnum == 1 and args.imageleft then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '0%') :css('padding', '0px 2px 0px 0px') :cssText(args.imageleftstyle) :attr('rowspan', 2 * #listnums - 1) :tag('div') :wikitext(addNewline(args.imageleft)) end if args['group' .. listnum] then local groupCell = row:tag('th') groupCell :attr('scope', 'row') :addClass('navbox-group') :addClass(args.groupclass) :cssText(args.basestyle) if args.groupwidth then groupCell:css('width', args.groupwidth) end groupCell :cssText(args.groupstyle) :cssText(args['group' .. listnum .. 'style']) :wikitext(args['group' .. listnum]) end local listCell = row:tag('td') if args['group' .. listnum] then listCell :css('text-align', 'left') :css('border-left-width', '2px') :css('border-left-style', 'solid') else listCell:attr('colspan', 2) end if not args.groupwidth then listCell:css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell :css('padding', '0px') :cssText(args.liststyle) :cssText(rowstyle) :cssText(args['list' .. listnum .. 'style']) :addClass('navbox-list') :addClass('navbox-' .. evenOdd) :addClass(args.listclass) :tag('div') :css('padding', (listnum == 1 and args.list1padding) or args.listpadding or '0em 0.25em') :wikitext(addNewline(args['list' .. listnum])) if listnum == 1 and args.image then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '0%') :css('padding', '0px 0px 0px 2px') :cssText(args.imagestyle) :attr('rowspan', 2 * #listnums - 1) :tag('div') :wikitext(addNewline(args.image)) end end -- -- Tracking categories -- local function needsHorizontalLists() if border == 'child' or border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = {'plainlist', 'hlist', 'hlist hnum', 'hlist hwrap', 'hlist vcard', 'vcard hlist', 'hlist vevent'} for i, cls in ipairs(listClasses) do if args.listclass == cls or args.bodyclass == cls then return false end end return true end local function hasBackgroundColors() return mw.ustring.match(args.titlestyle or '','background') or mw.ustring.match(args.groupstyle or '','background') or mw.ustring.match(args.basestyle or '','background') end local function isIllegible() local styleratio = require('Module:Color contrast')._styleratio for key, style in pairs(args) do if tostring(key):match("style$") then if styleratio{mw.text.unstripNoWiki(style)} < 4.5 then return true end end end return false end local function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end if isIllegible() then table.insert(cats, 'Potentially illegible navboxes') end return cats end local function renderTrackingCategories(builder) local title = mw.title.getCurrentTitle() if title.namespace ~= 10 then return end -- not in template space local subpage = title.subpageText if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for i, cat in ipairs(getTrackingCategories()) do builder:wikitext('[[Category:' .. cat .. ']]') end end -- -- Main navbox tables -- local function renderMainTable() local tbl = mw.html.create('table') :addClass('nowraplinks') :addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl :addClass('collapsible') :addClass(args.state or 'autocollapse') end tbl:css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl :addClass('navbox-subgroup') :cssText(args.bodystyle) :cssText(args.style) else -- regular navobx - bodystyle and style will be applied to the wrapper table tbl :addClass('navbox-inner') :css('background', 'transparent') :css('color', 'inherit') end tbl:cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = mw.html.create() if border == 'none' then local nav = res:tag('div') :attr('role', 'navigation') :node(tbl) if args.title then nav:attr('aria-labelledby', mw.uri.anchorEncode(args.title)) else nav:attr('aria-label', 'Navbox') end elseif border == 'subgroup' or border == 'child' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res :wikitext('</div>') -- XXX: hack due to lack of unclosed support in mw.html. :node(tbl) :wikitext('<div>') -- XXX: hack due to lack of unclosed support in mw.html. else local nav = res:tag('div') :attr('role', 'navigation') :addClass('navbox') :cssText(args.bodystyle) :cssText(args.style) :css('padding', '3px') :node(tbl) if args.title then nav:attr('aria-labelledby', mw.uri.anchorEncode(args.title)) else nav:attr('aria-label', 'Navbox') end end renderTrackingCategories(res) return tostring(res) end function p.navbox(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end args = getArgs(frame, {wrappers = 'Template:Navbox'}) -- Read the arguments in the order they'll be output in, to make references number in the right order. local _ _ = args.title _ = args.above for i = 1, 20 do _ = args["group" .. tostring(i)] _ = args["list" .. tostring(i)] end _ = args.below return p._navbox(args) end return p smnmdi096gpuoasugwpikvx61zw066c 9910 9909 2017-03-05T09:29:01Z w>Jc86035 0 Added tracking category for PetScan purposes 9910 Scribunto text/plain -- -- This module implements {{Navbox}} -- local p = {} local navbar = require('Module:Navbar')._navbar local getArgs -- lazily initialized local args local tableRowAdded = false local border local listnums = {} local function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end local function addNewline(s) if s:match('^[*:;#]') or s:match('^{|') then return '\n' .. s ..'\n' else return s end end local function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl :tag('tr') :css('height', '2px') :tag('td') :attr('colspan',2) end tableRowAdded = true return tbl:tag('tr') end local function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = 'right' end elseif args.navbar == 'plain' or (not args.name and mw.getCurrentFrame():getParent():getTitle():gsub('/sandbox$', '') == 'Template:Navbox') then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' then spacerSide = 'left' end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = 'right' end titleCell:wikitext(navbar{ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' }) end -- Render the spacer div. if spacerSide then titleCell :tag('span') :css('float', spacerSide) :css('width', '6em') :wikitext('&nbsp;') end end -- -- Title row -- local function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow :tag('th') :attr('scope', 'row') :addClass('navbox-group') :addClass(args.titlegroupclass) :cssText(args.basestyle) :cssText(args.groupstyle) :cssText(args.titlegroupstyle) :wikitext(args.titlegroup) end local titleCell = titleRow:tag('th'):attr('scope', 'col') if args.titlegroup then titleCell :css('border-left', '2px solid #fdfdfd') :css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell :cssText(args.basestyle) :cssText(args.titlestyle) :addClass('navbox-title') :attr('colspan', titleColspan) renderNavBar(titleCell) titleCell :tag('div') :attr('id', mw.uri.anchorEncode(args.title)) :addClass(args.titleclass) :css('font-size', '114%') :wikitext(addNewline(args.title)) end -- -- Above/Below rows -- local function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end local function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) :tag('td') :addClass('navbox-abovebelow') :addClass(args.aboveclass) :cssText(args.basestyle) :cssText(args.abovestyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(addNewline(args.above)) end local function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) :tag('td') :addClass('navbox-abovebelow') :addClass(args.belowclass) :cssText(args.basestyle) :cssText(args.belowstyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(addNewline(args.below)) end -- -- List rows -- local function renderListRow(tbl, listnum) local row = addTableRow(tbl) if listnum == 1 and args.imageleft then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '0%') :css('padding', '0px 2px 0px 0px') :cssText(args.imageleftstyle) :attr('rowspan', 2 * #listnums - 1) :tag('div') :wikitext(addNewline(args.imageleft)) end if args['group' .. listnum] then local groupCell = row:tag('th') groupCell :attr('scope', 'row') :addClass('navbox-group') :addClass(args.groupclass) :cssText(args.basestyle) if args.groupwidth then groupCell:css('width', args.groupwidth) end groupCell :cssText(args.groupstyle) :cssText(args['group' .. listnum .. 'style']) :wikitext(args['group' .. listnum]) end local listCell = row:tag('td') if args['group' .. listnum] then listCell :css('text-align', 'left') :css('border-left-width', '2px') :css('border-left-style', 'solid') else listCell:attr('colspan', 2) end if not args.groupwidth then listCell:css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell :css('padding', '0px') :cssText(args.liststyle) :cssText(rowstyle) :cssText(args['list' .. listnum .. 'style']) :addClass('navbox-list') :addClass('navbox-' .. evenOdd) :addClass(args.listclass) :tag('div') :css('padding', (listnum == 1 and args.list1padding) or args.listpadding or '0em 0.25em') :wikitext(addNewline(args['list' .. listnum])) if listnum == 1 and args.image then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '0%') :css('padding', '0px 0px 0px 2px') :cssText(args.imagestyle) :attr('rowspan', 2 * #listnums - 1) :tag('div') :wikitext(addNewline(args.image)) end end -- -- Tracking categories -- local function needsHorizontalLists() if border == 'child' or border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = {'plainlist', 'hlist', 'hlist hnum', 'hlist hwrap', 'hlist vcard', 'vcard hlist', 'hlist vevent'} for i, cls in ipairs(listClasses) do if args.listclass == cls or args.bodyclass == cls then return false end end return true end local function hasBackgroundColors() return mw.ustring.match(args.titlestyle or '','background') or mw.ustring.match(args.groupstyle or '','background') or mw.ustring.match(args.basestyle or '','background') end local function isIllegible() local styleratio = require('Module:Color contrast')._styleratio for key, style in pairs(args) do if tostring(key):match("style$") then if styleratio{mw.text.unstripNoWiki(style)} < 4.5 then return true end end end return false end local function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end if isIllegible() then table.insert(cats, 'Potentially illegible navboxes') end if border == 'subgroup' then table.insert(cats, 'Templates containing navbox subgroups') else table.insert(cats, 'Templates containing navboxes') end return cats end local function renderTrackingCategories(builder) local title = mw.title.getCurrentTitle() if title.namespace ~= 10 then return end -- not in template space local subpage = title.subpageText if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for i, cat in ipairs(getTrackingCategories()) do builder:wikitext('[[Category:' .. cat .. ']]') end end -- -- Main navbox tables -- local function renderMainTable() local tbl = mw.html.create('table') :addClass('nowraplinks') :addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl :addClass('collapsible') :addClass(args.state or 'autocollapse') end tbl:css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl :addClass('navbox-subgroup') :cssText(args.bodystyle) :cssText(args.style) else -- regular navobx - bodystyle and style will be applied to the wrapper table tbl :addClass('navbox-inner') :css('background', 'transparent') :css('color', 'inherit') end tbl:cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = mw.html.create() if border == 'none' then local nav = res:tag('div') :attr('role', 'navigation') :node(tbl) if args.title then nav:attr('aria-labelledby', mw.uri.anchorEncode(args.title)) else nav:attr('aria-label', 'Navbox') end elseif border == 'subgroup' or border == 'child' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res :wikitext('</div>') -- XXX: hack due to lack of unclosed support in mw.html. :node(tbl) :wikitext('<div>') -- XXX: hack due to lack of unclosed support in mw.html. else local nav = res:tag('div') :attr('role', 'navigation') :addClass('navbox') :cssText(args.bodystyle) :cssText(args.style) :css('padding', '3px') :node(tbl) if args.title then nav:attr('aria-labelledby', mw.uri.anchorEncode(args.title)) else nav:attr('aria-label', 'Navbox') end end renderTrackingCategories(res) return tostring(res) end function p.navbox(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end args = getArgs(frame, {wrappers = 'Template:Navbox'}) -- Read the arguments in the order they'll be output in, to make references number in the right order. local _ _ = args.title _ = args.above for i = 1, 20 do _ = args["group" .. tostring(i)] _ = args["list" .. tostring(i)] end _ = args.below return p._navbox(args) end return p 3xzjq7trra7vnta40m92d9zcjbg2yaz 9911 9910 2017-03-06T07:14:58Z w>Jc86035 0 Undid revision 768706907 by [[Special:Contributions/Jc86035|Jc86035]] ([[User talk:Jc86035|talk]]) too inefficient to work properly 9911 Scribunto text/plain -- -- This module implements {{Navbox}} -- local p = {} local navbar = require('Module:Navbar')._navbar local getArgs -- lazily initialized local args local tableRowAdded = false local border local listnums = {} local function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end local function addNewline(s) if s:match('^[*:;#]') or s:match('^{|') then return '\n' .. s ..'\n' else return s end end local function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl :tag('tr') :css('height', '2px') :tag('td') :attr('colspan',2) end tableRowAdded = true return tbl:tag('tr') end local function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = 'right' end elseif args.navbar == 'plain' or (not args.name and mw.getCurrentFrame():getParent():getTitle():gsub('/sandbox$', '') == 'Template:Navbox') then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' then spacerSide = 'left' end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = 'right' end titleCell:wikitext(navbar{ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' }) end -- Render the spacer div. if spacerSide then titleCell :tag('span') :css('float', spacerSide) :css('width', '6em') :wikitext('&nbsp;') end end -- -- Title row -- local function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow :tag('th') :attr('scope', 'row') :addClass('navbox-group') :addClass(args.titlegroupclass) :cssText(args.basestyle) :cssText(args.groupstyle) :cssText(args.titlegroupstyle) :wikitext(args.titlegroup) end local titleCell = titleRow:tag('th'):attr('scope', 'col') if args.titlegroup then titleCell :css('border-left', '2px solid #fdfdfd') :css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell :cssText(args.basestyle) :cssText(args.titlestyle) :addClass('navbox-title') :attr('colspan', titleColspan) renderNavBar(titleCell) titleCell :tag('div') :attr('id', mw.uri.anchorEncode(args.title)) :addClass(args.titleclass) :css('font-size', '114%') :wikitext(addNewline(args.title)) end -- -- Above/Below rows -- local function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end local function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) :tag('td') :addClass('navbox-abovebelow') :addClass(args.aboveclass) :cssText(args.basestyle) :cssText(args.abovestyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(addNewline(args.above)) end local function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) :tag('td') :addClass('navbox-abovebelow') :addClass(args.belowclass) :cssText(args.basestyle) :cssText(args.belowstyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(addNewline(args.below)) end -- -- List rows -- local function renderListRow(tbl, listnum) local row = addTableRow(tbl) if listnum == 1 and args.imageleft then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '0%') :css('padding', '0px 2px 0px 0px') :cssText(args.imageleftstyle) :attr('rowspan', 2 * #listnums - 1) :tag('div') :wikitext(addNewline(args.imageleft)) end if args['group' .. listnum] then local groupCell = row:tag('th') groupCell :attr('scope', 'row') :addClass('navbox-group') :addClass(args.groupclass) :cssText(args.basestyle) if args.groupwidth then groupCell:css('width', args.groupwidth) end groupCell :cssText(args.groupstyle) :cssText(args['group' .. listnum .. 'style']) :wikitext(args['group' .. listnum]) end local listCell = row:tag('td') if args['group' .. listnum] then listCell :css('text-align', 'left') :css('border-left-width', '2px') :css('border-left-style', 'solid') else listCell:attr('colspan', 2) end if not args.groupwidth then listCell:css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell :css('padding', '0px') :cssText(args.liststyle) :cssText(rowstyle) :cssText(args['list' .. listnum .. 'style']) :addClass('navbox-list') :addClass('navbox-' .. evenOdd) :addClass(args.listclass) :tag('div') :css('padding', (listnum == 1 and args.list1padding) or args.listpadding or '0em 0.25em') :wikitext(addNewline(args['list' .. listnum])) if listnum == 1 and args.image then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '0%') :css('padding', '0px 0px 0px 2px') :cssText(args.imagestyle) :attr('rowspan', 2 * #listnums - 1) :tag('div') :wikitext(addNewline(args.image)) end end -- -- Tracking categories -- local function needsHorizontalLists() if border == 'child' or border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = {'plainlist', 'hlist', 'hlist hnum', 'hlist hwrap', 'hlist vcard', 'vcard hlist', 'hlist vevent'} for i, cls in ipairs(listClasses) do if args.listclass == cls or args.bodyclass == cls then return false end end return true end local function hasBackgroundColors() return mw.ustring.match(args.titlestyle or '','background') or mw.ustring.match(args.groupstyle or '','background') or mw.ustring.match(args.basestyle or '','background') end local function isIllegible() local styleratio = require('Module:Color contrast')._styleratio for key, style in pairs(args) do if tostring(key):match("style$") then if styleratio{mw.text.unstripNoWiki(style)} < 4.5 then return true end end end return false end local function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end if isIllegible() then table.insert(cats, 'Potentially illegible navboxes') end return cats end local function renderTrackingCategories(builder) local title = mw.title.getCurrentTitle() if title.namespace ~= 10 then return end -- not in template space local subpage = title.subpageText if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for i, cat in ipairs(getTrackingCategories()) do builder:wikitext('[[Category:' .. cat .. ']]') end end -- -- Main navbox tables -- local function renderMainTable() local tbl = mw.html.create('table') :addClass('nowraplinks') :addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl :addClass('collapsible') :addClass(args.state or 'autocollapse') end tbl:css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl :addClass('navbox-subgroup') :cssText(args.bodystyle) :cssText(args.style) else -- regular navobx - bodystyle and style will be applied to the wrapper table tbl :addClass('navbox-inner') :css('background', 'transparent') :css('color', 'inherit') end tbl:cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = mw.html.create() if border == 'none' then local nav = res:tag('div') :attr('role', 'navigation') :node(tbl) if args.title then nav:attr('aria-labelledby', mw.uri.anchorEncode(args.title)) else nav:attr('aria-label', 'Navbox') end elseif border == 'subgroup' or border == 'child' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res :wikitext('</div>') -- XXX: hack due to lack of unclosed support in mw.html. :node(tbl) :wikitext('<div>') -- XXX: hack due to lack of unclosed support in mw.html. else local nav = res:tag('div') :attr('role', 'navigation') :addClass('navbox') :cssText(args.bodystyle) :cssText(args.style) :css('padding', '3px') :node(tbl) if args.title then nav:attr('aria-labelledby', mw.uri.anchorEncode(args.title)) else nav:attr('aria-label', 'Navbox') end end renderTrackingCategories(res) return tostring(res) end function p.navbox(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end args = getArgs(frame, {wrappers = 'Template:Navbox'}) -- Read the arguments in the order they'll be output in, to make references number in the right order. local _ _ = args.title _ = args.above for i = 1, 20 do _ = args["group" .. tostring(i)] _ = args["list" .. tostring(i)] end _ = args.below return p._navbox(args) end return p smnmdi096gpuoasugwpikvx61zw066c 9912 9911 2017-03-12T23:51:56Z w>Johnuniq 0 update from [[Module:Navbox/sandbox]] per talk; this implements automatic striping that applies to a navbox and any subgroup (child) navboxes it contains 9912 Scribunto text/plain -- -- This module implements {{Navbox}} -- local p = {} local navbar = require('Module:Navbar')._navbar local getArgs -- lazily initialized local args local tableRowAdded = false local border local listnums = {} local ODD_EVEN_MARKER = '\127_ODDEVEN_\127' local RESTART_MARKER = '\127_ODDEVEN0_\127' local REGEX_MARKER = '\127_ODDEVEN(%d?)_\127' local function striped(wikitext) -- Return wikitext with markers replaced for odd/even striping. -- Child (subgroup) navboxes are flagged with a category that is removed -- by parent navboxes. The result is that the category shows all pages -- where a child navbox is not contained in a parent navbox. local orphanCat = '[[Category:Navbox orphans]]' if border == 'subgroup' and args.orphan ~= 'yes' then -- No change; striping occurs in outermost navbox. return wikitext .. orphanCat end local first, second = 'odd', 'even' if args.evenodd then if args.evenodd == 'swap' then first, second = second, first else first = args.evenodd second = first end end local changer if first == second then changer = first else local index = 0 changer = function (code) if code == '0' then -- Current occurrence is for a group before a nested table. -- Set it to first as a valid although pointless class. -- The next occurrence will be the first row after a title -- in a subgroup and will also be first. index = 0 return first end index = index + 1 return index % 2 == 1 and first or second end end local regex = orphanCat:gsub('([%[%]])', '%%%1') return (wikitext:gsub(regex, ''):gsub(REGEX_MARKER, changer)) -- () omits gsub count end local function addNewline(s) if s:match('^[*:;#]') or s:match('^{|') then return '\n' .. s ..'\n' else return s end end local function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl :tag('tr') :css('height', '2px') :tag('td') :attr('colspan',2) end tableRowAdded = true return tbl:tag('tr') end local function renderNavBar(titleCell) if args.navbar ~= 'off' and args.navbar ~= 'plain' and not (not args.name and mw.getCurrentFrame():getParent():getTitle():gsub('/sandbox$', '') == 'Template:Navbox') then titleCell:wikitext(navbar{ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' }) end end -- -- Title row -- local function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow :tag('th') :attr('scope', 'row') :addClass('navbox-group') :addClass(args.titlegroupclass) :cssText(args.basestyle) :cssText(args.groupstyle) :cssText(args.titlegroupstyle) :wikitext(args.titlegroup) end local titleCell = titleRow:tag('th'):attr('scope', 'col') if args.titlegroup then titleCell :css('border-left', '2px solid #fdfdfd') :css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell :cssText(args.basestyle) :cssText(args.titlestyle) :addClass('navbox-title') :attr('colspan', titleColspan) renderNavBar(titleCell) titleCell :tag('div') :attr('id', mw.uri.anchorEncode(args.title)) :addClass(args.titleclass) :css('font-size', '114%') :css('margin', '0 4em') :wikitext(addNewline(args.title)) end -- -- Above/Below rows -- local function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end local function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) :tag('td') :addClass('navbox-abovebelow') :addClass(args.aboveclass) :cssText(args.basestyle) :cssText(args.abovestyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(addNewline(args.above)) end local function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) :tag('td') :addClass('navbox-abovebelow') :addClass(args.belowclass) :cssText(args.basestyle) :cssText(args.belowstyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(addNewline(args.below)) end -- -- List rows -- local function renderListRow(tbl, index, listnum) local row = addTableRow(tbl) if index == 1 and args.imageleft then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '0%') :css('padding', '0px 2px 0px 0px') :cssText(args.imageleftstyle) :attr('rowspan', 2 * #listnums - 1) :tag('div') :wikitext(addNewline(args.imageleft)) end if args['group' .. listnum] then local groupCell = row:tag('th') groupCell :attr('scope', 'row') :addClass('navbox-group') :addClass(args.groupclass) :cssText(args.basestyle) if args.groupwidth then groupCell:css('width', args.groupwidth) end groupCell :cssText(args.groupstyle) :cssText(args['group' .. listnum .. 'style']) :wikitext(args['group' .. listnum]) end local listCell = row:tag('td') if args['group' .. listnum] then listCell :css('text-align', 'left') :css('border-left-width', '2px') :css('border-left-style', 'solid') else listCell:attr('colspan', 2) end if not args.groupwidth then listCell:css('width', '100%') end local rowstyle -- usually nil so cssText(rowstyle) usually adds nothing if index % 2 == 1 then rowstyle = args.oddstyle else rowstyle = args.evenstyle end local listText = args['list' .. listnum] local oddEven = ODD_EVEN_MARKER if listText:sub(1, 12) == '</div><table' then -- Assume list text is for a subgroup navbox so no automatic striping for this row. oddEven = listText:find('<th[^>]*"navbox%-title"') and RESTART_MARKER or 'odd' end listCell :css('padding', '0px') :cssText(args.liststyle) :cssText(rowstyle) :cssText(args['list' .. listnum .. 'style']) :addClass('navbox-list') :addClass('navbox-' .. oddEven) :addClass(args.listclass) :tag('div') :css('padding', (index == 1 and args.list1padding) or args.listpadding or '0em 0.25em') :wikitext(addNewline(listText)) if index == 1 and args.image then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '0%') :css('padding', '0px 0px 0px 2px') :cssText(args.imagestyle) :attr('rowspan', 2 * #listnums - 1) :tag('div') :wikitext(addNewline(args.image)) end end -- -- Tracking categories -- local function needsHorizontalLists() if border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = { ['plainlist'] = true, ['hlist'] = true, ['hlist hnum'] = true, ['hlist hwrap'] = true, ['hlist vcard'] = true, ['vcard hlist'] = true, ['hlist vevent'] = true, } return not (listClasses[args.listclass] or listClasses[args.bodyclass]) end local function hasBackgroundColors() for _, key in ipairs({'titlestyle', 'groupstyle', 'basestyle'}) do if tostring(args[key]):find('background', 1, true) then return true end end end local function isIllegible() local styleratio = require('Module:Color contrast')._styleratio for key, style in pairs(args) do if tostring(key):match("style$") then if styleratio{mw.text.unstripNoWiki(style)} < 4.5 then return true end end end return false end local function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end if isIllegible() then table.insert(cats, 'Potentially illegible navboxes') end return cats end local function renderTrackingCategories(builder) local title = mw.title.getCurrentTitle() if title.namespace ~= 10 then return end -- not in template space local subpage = title.subpageText if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for i, cat in ipairs(getTrackingCategories()) do builder:wikitext('[[Category:' .. cat .. ']]') end end -- -- Main navbox tables -- local function renderMainTable() local tbl = mw.html.create('table') :addClass('nowraplinks') :addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl :addClass('collapsible') :addClass(args.state or 'autocollapse') end tbl:css('border-spacing', 0) if border == 'subgroup' or border == 'none' then tbl :addClass('navbox-subgroup') :cssText(args.bodystyle) :cssText(args.style) else -- regular navbox - bodystyle and style will be applied to the wrapper table tbl :addClass('navbox-inner') :css('background', 'transparent') :css('color', 'inherit') end tbl:cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, i, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = mw.text.trim(args.border or args[1] or '') if border == 'child' then border = 'subgroup' end -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = mw.html.create() if border == 'none' then local nav = res:tag('div') :attr('role', 'navigation') :node(tbl) if args.title then nav:attr('aria-labelledby', mw.uri.anchorEncode(args.title)) else nav:attr('aria-label', 'Navbox') end elseif border == 'subgroup' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res :wikitext('</div>') :node(tbl) :wikitext('<div>') else local nav = res:tag('div') :attr('role', 'navigation') :addClass('navbox') :cssText(args.bodystyle) :cssText(args.style) :css('padding', '3px') :node(tbl) if args.title then nav:attr('aria-labelledby', mw.uri.anchorEncode(args.title)) else nav:attr('aria-label', 'Navbox') end end renderTrackingCategories(res) return striped(tostring(res)) end function p.navbox(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end args = getArgs(frame, {wrappers = 'Template:Navbox'}) -- Read the arguments in the order they'll be output in, to make references number in the right order. local _ _ = args.title _ = args.above for i = 1, 20 do _ = args["group" .. tostring(i)] _ = args["list" .. tostring(i)] end _ = args.below return p._navbox(args) end return p 1zs4rs47rg46xpwnpp4yhrr6z5zvxwc 9913 9912 2017-05-04T01:48:46Z w>Johnuniq 0 update from [[Module:Navbox/sandbox]] per [[Template talk:Navbox#Merging nowrap navbox]] to implement nowrapitems=yes to nowrap listN + above + below text 9913 Scribunto text/plain -- -- This module implements {{Navbox}} -- local p = {} local navbar = require('Module:Navbar')._navbar local getArgs -- lazily initialized local args local tableRowAdded = false local border local listnums = {} local ODD_EVEN_MARKER = '\127_ODDEVEN_\127' local RESTART_MARKER = '\127_ODDEVEN0_\127' local REGEX_MARKER = '\127_ODDEVEN(%d?)_\127' local function striped(wikitext) -- Return wikitext with markers replaced for odd/even striping. -- Child (subgroup) navboxes are flagged with a category that is removed -- by parent navboxes. The result is that the category shows all pages -- where a child navbox is not contained in a parent navbox. local orphanCat = '[[Category:Navbox orphans]]' if border == 'subgroup' and args.orphan ~= 'yes' then -- No change; striping occurs in outermost navbox. return wikitext .. orphanCat end local first, second = 'odd', 'even' if args.evenodd then if args.evenodd == 'swap' then first, second = second, first else first = args.evenodd second = first end end local changer if first == second then changer = first else local index = 0 changer = function (code) if code == '0' then -- Current occurrence is for a group before a nested table. -- Set it to first as a valid although pointless class. -- The next occurrence will be the first row after a title -- in a subgroup and will also be first. index = 0 return first end index = index + 1 return index % 2 == 1 and first or second end end local regex = orphanCat:gsub('([%[%]])', '%%%1') return (wikitext:gsub(regex, ''):gsub(REGEX_MARKER, changer)) -- () omits gsub count end local function processItem(item, nowrapitems) if item:sub(1, 2) == '{|' then -- Applying nowrap to lines in a table does not make sense. -- Add newlines to compensate for trim of x in |parm=x in a template. return '\n' .. item ..'\n' end if nowrapitems == 'yes' then local lines = {} for line in (item .. '\n'):gmatch('([^\n]*)\n') do local prefix, content = line:match('^([*:;#]+)%s*(.*)') if prefix and not content:match('^<span class="nowrap">') then line = prefix .. '<span class="nowrap">' .. content .. '</span>' end table.insert(lines, line) end item = table.concat(lines, '\n') end if item:match('^[*:;#]') then return '\n' .. item ..'\n' end return item end local function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl :tag('tr') :css('height', '2px') :tag('td') :attr('colspan',2) end tableRowAdded = true return tbl:tag('tr') end local function renderNavBar(titleCell) if args.navbar ~= 'off' and args.navbar ~= 'plain' and not (not args.name and mw.getCurrentFrame():getParent():getTitle():gsub('/sandbox$', '') == 'Template:Navbox') then titleCell:wikitext(navbar{ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' }) end end -- -- Title row -- local function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow :tag('th') :attr('scope', 'row') :addClass('navbox-group') :addClass(args.titlegroupclass) :cssText(args.basestyle) :cssText(args.groupstyle) :cssText(args.titlegroupstyle) :wikitext(args.titlegroup) end local titleCell = titleRow:tag('th'):attr('scope', 'col') if args.titlegroup then titleCell :css('border-left', '2px solid #fdfdfd') :css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell :cssText(args.basestyle) :cssText(args.titlestyle) :addClass('navbox-title') :attr('colspan', titleColspan) renderNavBar(titleCell) titleCell :tag('div') :attr('id', mw.uri.anchorEncode(args.title)) :addClass(args.titleclass) :css('font-size', '114%') :css('margin', '0 4em') :wikitext(processItem(args.title)) end -- -- Above/Below rows -- local function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end local function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) :tag('td') :addClass('navbox-abovebelow') :addClass(args.aboveclass) :cssText(args.basestyle) :cssText(args.abovestyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(processItem(args.above, args.nowrapitems)) end local function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) :tag('td') :addClass('navbox-abovebelow') :addClass(args.belowclass) :cssText(args.basestyle) :cssText(args.belowstyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(processItem(args.below, args.nowrapitems)) end -- -- List rows -- local function renderListRow(tbl, index, listnum) local row = addTableRow(tbl) if index == 1 and args.imageleft then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '0%') :css('padding', '0px 2px 0px 0px') :cssText(args.imageleftstyle) :attr('rowspan', 2 * #listnums - 1) :tag('div') :wikitext(processItem(args.imageleft)) end if args['group' .. listnum] then local groupCell = row:tag('th') groupCell :attr('scope', 'row') :addClass('navbox-group') :addClass(args.groupclass) :cssText(args.basestyle) if args.groupwidth then groupCell:css('width', args.groupwidth) end groupCell :cssText(args.groupstyle) :cssText(args['group' .. listnum .. 'style']) :wikitext(args['group' .. listnum]) end local listCell = row:tag('td') if args['group' .. listnum] then listCell :css('text-align', 'left') :css('border-left-width', '2px') :css('border-left-style', 'solid') else listCell:attr('colspan', 2) end if not args.groupwidth then listCell:css('width', '100%') end local rowstyle -- usually nil so cssText(rowstyle) usually adds nothing if index % 2 == 1 then rowstyle = args.oddstyle else rowstyle = args.evenstyle end local listText = args['list' .. listnum] local oddEven = ODD_EVEN_MARKER if listText:sub(1, 12) == '</div><table' then -- Assume list text is for a subgroup navbox so no automatic striping for this row. oddEven = listText:find('<th[^>]*"navbox%-title"') and RESTART_MARKER or 'odd' end listCell :css('padding', '0px') :cssText(args.liststyle) :cssText(rowstyle) :cssText(args['list' .. listnum .. 'style']) :addClass('navbox-list') :addClass('navbox-' .. oddEven) :addClass(args.listclass) :tag('div') :css('padding', (index == 1 and args.list1padding) or args.listpadding or '0em 0.25em') :wikitext(processItem(listText, args.nowrapitems)) if index == 1 and args.image then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '0%') :css('padding', '0px 0px 0px 2px') :cssText(args.imagestyle) :attr('rowspan', 2 * #listnums - 1) :tag('div') :wikitext(processItem(args.image)) end end -- -- Tracking categories -- local function needsHorizontalLists() if border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = { ['plainlist'] = true, ['hlist'] = true, ['hlist hnum'] = true, ['hlist hwrap'] = true, ['hlist vcard'] = true, ['vcard hlist'] = true, ['hlist vevent'] = true, } return not (listClasses[args.listclass] or listClasses[args.bodyclass]) end local function hasBackgroundColors() for _, key in ipairs({'titlestyle', 'groupstyle', 'basestyle'}) do if tostring(args[key]):find('background', 1, true) then return true end end end local function isIllegible() local styleratio = require('Module:Color contrast')._styleratio for key, style in pairs(args) do if tostring(key):match("style$") then if styleratio{mw.text.unstripNoWiki(style)} < 4.5 then return true end end end return false end local function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end if isIllegible() then table.insert(cats, 'Potentially illegible navboxes') end return cats end local function renderTrackingCategories(builder) local title = mw.title.getCurrentTitle() if title.namespace ~= 10 then return end -- not in template space local subpage = title.subpageText if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for _, cat in ipairs(getTrackingCategories()) do builder:wikitext('[[Category:' .. cat .. ']]') end end -- -- Main navbox tables -- local function renderMainTable() local tbl = mw.html.create('table') :addClass('nowraplinks') :addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl :addClass('collapsible') :addClass(args.state or 'autocollapse') end tbl:css('border-spacing', 0) if border == 'subgroup' or border == 'none' then tbl :addClass('navbox-subgroup') :cssText(args.bodystyle) :cssText(args.style) else -- regular navbox - bodystyle and style will be applied to the wrapper table tbl :addClass('navbox-inner') :css('background', 'transparent') :css('color', 'inherit') end tbl:cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, i, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, _ in pairs(args) do if type(k) == 'string' then local listnum = k:match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end end table.sort(listnums) border = mw.text.trim(args.border or args[1] or '') if border == 'child' then border = 'subgroup' end -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = mw.html.create() if border == 'none' then local nav = res:tag('div') :attr('role', 'navigation') :node(tbl) if args.title then nav:attr('aria-labelledby', mw.uri.anchorEncode(args.title)) else nav:attr('aria-label', 'Navbox') end elseif border == 'subgroup' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res :wikitext('</div>') :node(tbl) :wikitext('<div>') else local nav = res:tag('div') :attr('role', 'navigation') :addClass('navbox') :cssText(args.bodystyle) :cssText(args.style) :css('padding', '3px') :node(tbl) if args.title then nav:attr('aria-labelledby', mw.uri.anchorEncode(args.title)) else nav:attr('aria-label', 'Navbox') end end renderTrackingCategories(res) return striped(tostring(res)) end function p.navbox(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end args = getArgs(frame, {wrappers = 'Template:Navbox'}) -- Read the arguments in the order they'll be output in, to make references number in the right order. local _ _ = args.title _ = args.above for i = 1, 20 do _ = args["group" .. tostring(i)] _ = args["list" .. tostring(i)] end _ = args.below return p._navbox(args) end return p f3rft1yai95vtrhbdvheou1htgz1xcr 9914 9913 2017-06-01T15:23:23Z w>Matt Fitzpatrick 0 replacing gutter rows with CSS borders; uses temporary navbox-spacing-temp class to avoid cache issues 9914 Scribunto text/plain -- -- This module implements {{Navbox}} -- local p = {} local navbar = require('Module:Navbar')._navbar local getArgs -- lazily initialized local args local border local listnums = {} local ODD_EVEN_MARKER = '\127_ODDEVEN_\127' local RESTART_MARKER = '\127_ODDEVEN0_\127' local REGEX_MARKER = '\127_ODDEVEN(%d?)_\127' local function striped(wikitext) -- Return wikitext with markers replaced for odd/even striping. -- Child (subgroup) navboxes are flagged with a category that is removed -- by parent navboxes. The result is that the category shows all pages -- where a child navbox is not contained in a parent navbox. local orphanCat = '[[Category:Navbox orphans]]' if border == 'subgroup' and args.orphan ~= 'yes' then -- No change; striping occurs in outermost navbox. return wikitext .. orphanCat end local first, second = 'odd', 'even' if args.evenodd then if args.evenodd == 'swap' then first, second = second, first else first = args.evenodd second = first end end local changer if first == second then changer = first else local index = 0 changer = function (code) if code == '0' then -- Current occurrence is for a group before a nested table. -- Set it to first as a valid although pointless class. -- The next occurrence will be the first row after a title -- in a subgroup and will also be first. index = 0 return first end index = index + 1 return index % 2 == 1 and first or second end end local regex = orphanCat:gsub('([%[%]])', '%%%1') return (wikitext:gsub(regex, ''):gsub(REGEX_MARKER, changer)) -- () omits gsub count end local function processItem(item, nowrapitems) if item:sub(1, 2) == '{|' then -- Applying nowrap to lines in a table does not make sense. -- Add newlines to compensate for trim of x in |parm=x in a template. return '\n' .. item ..'\n' end if nowrapitems == 'yes' then local lines = {} for line in (item .. '\n'):gmatch('([^\n]*)\n') do local prefix, content = line:match('^([*:;#]+)%s*(.*)') if prefix and not content:match('^<span class="nowrap">') then line = prefix .. '<span class="nowrap">' .. content .. '</span>' end table.insert(lines, line) end item = table.concat(lines, '\n') end if item:match('^[*:;#]') then return '\n' .. item ..'\n' end return item end local function renderNavBar(titleCell) if args.navbar ~= 'off' and args.navbar ~= 'plain' and not (not args.name and mw.getCurrentFrame():getParent():getTitle():gsub('/sandbox$', '') == 'Template:Navbox') then titleCell:wikitext(navbar{ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' }) end end -- -- Title row -- local function renderTitleRow(tbl) if not args.title then return end local titleRow = tbl:tag('tr') if args.titlegroup then titleRow :tag('th') :attr('scope', 'row') :addClass('navbox-group') :addClass(args.titlegroupclass) :cssText(args.basestyle) :cssText(args.groupstyle) :cssText(args.titlegroupstyle) :wikitext(args.titlegroup) end local titleCell = titleRow:tag('th'):attr('scope', 'col') if args.titlegroup then titleCell :css('border-left', '2px solid #fdfdfd') :css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell :cssText(args.basestyle) :cssText(args.titlestyle) :addClass('navbox-title') :attr('colspan', titleColspan) renderNavBar(titleCell) titleCell :tag('div') :attr('id', mw.uri.anchorEncode(args.title)) :addClass(args.titleclass) :css('font-size', '114%') :css('margin', '0 4em') :wikitext(processItem(args.title)) end -- -- Above/Below rows -- local function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end local function renderAboveRow(tbl) if not args.above then return end tbl:tag('tr') :tag('td') :addClass('navbox-abovebelow') :addClass(args.aboveclass) :cssText(args.basestyle) :cssText(args.abovestyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(processItem(args.above, args.nowrapitems)) end local function renderBelowRow(tbl) if not args.below then return end tbl:tag('tr') :tag('td') :addClass('navbox-abovebelow') :addClass(args.belowclass) :cssText(args.basestyle) :cssText(args.belowstyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(processItem(args.below, args.nowrapitems)) end -- -- List rows -- local function renderListRow(tbl, index, listnum) local row = tbl:tag('tr') if index == 1 and args.imageleft then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '1px') -- Minimize width :css('padding', '0px 2px 0px 0px') :cssText(args.imageleftstyle) :attr('rowspan', #listnums) :tag('div') :wikitext(processItem(args.imageleft)) end if args['group' .. listnum] then local groupCell = row:tag('th') groupCell :attr('scope', 'row') :addClass('navbox-group') :addClass(args.groupclass) :cssText(args.basestyle) :css('width', args.groupwidth or '1%') -- If groupwidth not specified, minimize width groupCell :cssText(args.groupstyle) :cssText(args['group' .. listnum .. 'style']) :wikitext(args['group' .. listnum]) end local listCell = row:tag('td') if args['group' .. listnum] then listCell :css('text-align', 'left') :css('border-left-width', '2px') :css('border-left-style', 'solid') else listCell:attr('colspan', 2) end if not args.groupwidth then listCell:css('width', '100%') end local rowstyle -- usually nil so cssText(rowstyle) usually adds nothing if index % 2 == 1 then rowstyle = args.oddstyle else rowstyle = args.evenstyle end local listText = args['list' .. listnum] local oddEven = ODD_EVEN_MARKER if listText:sub(1, 12) == '</div><table' then -- Assume list text is for a subgroup navbox so no automatic striping for this row. oddEven = listText:find('<th[^>]*"navbox%-title"') and RESTART_MARKER or 'odd' end listCell :css('padding', '0px') :cssText(args.liststyle) :cssText(rowstyle) :cssText(args['list' .. listnum .. 'style']) :addClass('navbox-list') :addClass('navbox-' .. oddEven) :addClass(args.listclass) :tag('div') :css('padding', (index == 1 and args.list1padding) or args.listpadding or '0em 0.25em') :wikitext(processItem(listText, args.nowrapitems)) if index == 1 and args.image then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '1px') -- Minimize width :css('padding', '0px 0px 0px 2px') :cssText(args.imagestyle) :attr('rowspan', #listnums) :tag('div') :wikitext(processItem(args.image)) end end -- -- Tracking categories -- local function needsHorizontalLists() if border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = { ['plainlist'] = true, ['hlist'] = true, ['hlist hnum'] = true, ['hlist hwrap'] = true, ['hlist vcard'] = true, ['vcard hlist'] = true, ['hlist vevent'] = true, } return not (listClasses[args.listclass] or listClasses[args.bodyclass]) end local function hasBackgroundColors() for _, key in ipairs({'titlestyle', 'groupstyle', 'basestyle'}) do if tostring(args[key]):find('background', 1, true) then return true end end end local function isIllegible() local styleratio = require('Module:Color contrast')._styleratio for key, style in pairs(args) do if tostring(key):match("style$") then if styleratio{mw.text.unstripNoWiki(style)} < 4.5 then return true end end end return false end local function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end if isIllegible() then table.insert(cats, 'Potentially illegible navboxes') end return cats end local function renderTrackingCategories(builder) local title = mw.title.getCurrentTitle() if title.namespace ~= 10 then return end -- not in template space local subpage = title.subpageText if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for _, cat in ipairs(getTrackingCategories()) do builder:wikitext('[[Category:' .. cat .. ']]') end end -- -- Main navbox tables -- local function renderMainTable() local tbl = mw.html.create('table') :addClass('nowraplinks') :addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl :addClass('collapsible') :addClass(args.state or 'autocollapse') end tbl:css('border-spacing', 0) if border == 'subgroup' or border == 'none' then tbl :addClass('navbox-subgroup navbox-spacing-temp') :cssText(args.bodystyle) :cssText(args.style) else -- regular navbox - bodystyle and style will be applied to the wrapper table tbl :addClass('navbox-inner') :css('background', 'transparent') :css('color', 'inherit') end tbl:cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, i, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, _ in pairs(args) do if type(k) == 'string' then local listnum = k:match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end end table.sort(listnums) border = mw.text.trim(args.border or args[1] or '') if border == 'child' then border = 'subgroup' end -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = mw.html.create() if border == 'none' then local nav = res:tag('div') :attr('role', 'navigation') :node(tbl) if args.title then nav:attr('aria-labelledby', mw.uri.anchorEncode(args.title)) else nav:attr('aria-label', 'Navbox') end elseif border == 'subgroup' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res :wikitext('</div>') :node(tbl) :wikitext('<div>') else local nav = res:tag('div') :attr('role', 'navigation') :addClass('navbox navbox-spacing-temp') :cssText(args.bodystyle) :cssText(args.style) :css('padding', '3px') :node(tbl) if args.title then nav:attr('aria-labelledby', mw.uri.anchorEncode(args.title)) else nav:attr('aria-label', 'Navbox') end end renderTrackingCategories(res) return striped(tostring(res)) end function p.navbox(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end args = getArgs(frame, {wrappers = 'Template:Navbox'}) -- Read the arguments in the order they'll be output in, to make references number in the right order. local _ _ = args.title _ = args.above for i = 1, 20 do _ = args["group" .. tostring(i)] _ = args["list" .. tostring(i)] end _ = args.below return p._navbox(args) end return p n1c1m7rbp8h9uv56o49gdelzvw1lw41 9915 9914 2017-06-29T00:14:03Z w>Matt Fitzpatrick 0 renderNavBar: quick hack to reset basestyle or titlestyle's box-shadow, if any, for the navbar 9915 Scribunto text/plain -- -- This module implements {{Navbox}} -- local p = {} local navbar = require('Module:Navbar')._navbar local getArgs -- lazily initialized local args local border local listnums = {} local ODD_EVEN_MARKER = '\127_ODDEVEN_\127' local RESTART_MARKER = '\127_ODDEVEN0_\127' local REGEX_MARKER = '\127_ODDEVEN(%d?)_\127' local function striped(wikitext) -- Return wikitext with markers replaced for odd/even striping. -- Child (subgroup) navboxes are flagged with a category that is removed -- by parent navboxes. The result is that the category shows all pages -- where a child navbox is not contained in a parent navbox. local orphanCat = '[[Category:Navbox orphans]]' if border == 'subgroup' and args.orphan ~= 'yes' then -- No change; striping occurs in outermost navbox. return wikitext .. orphanCat end local first, second = 'odd', 'even' if args.evenodd then if args.evenodd == 'swap' then first, second = second, first else first = args.evenodd second = first end end local changer if first == second then changer = first else local index = 0 changer = function (code) if code == '0' then -- Current occurrence is for a group before a nested table. -- Set it to first as a valid although pointless class. -- The next occurrence will be the first row after a title -- in a subgroup and will also be first. index = 0 return first end index = index + 1 return index % 2 == 1 and first or second end end local regex = orphanCat:gsub('([%[%]])', '%%%1') return (wikitext:gsub(regex, ''):gsub(REGEX_MARKER, changer)) -- () omits gsub count end local function processItem(item, nowrapitems) if item:sub(1, 2) == '{|' then -- Applying nowrap to lines in a table does not make sense. -- Add newlines to compensate for trim of x in |parm=x in a template. return '\n' .. item ..'\n' end if nowrapitems == 'yes' then local lines = {} for line in (item .. '\n'):gmatch('([^\n]*)\n') do local prefix, content = line:match('^([*:;#]+)%s*(.*)') if prefix and not content:match('^<span class="nowrap">') then line = prefix .. '<span class="nowrap">' .. content .. '</span>' end table.insert(lines, line) end item = table.concat(lines, '\n') end if item:match('^[*:;#]') then return '\n' .. item ..'\n' end return item end local function renderNavBar(titleCell) if args.navbar ~= 'off' and args.navbar ~= 'plain' and not (not args.name and mw.getCurrentFrame():getParent():getTitle():gsub('/sandbox$', '') == 'Template:Navbox') then titleCell:wikitext(navbar{ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none;' }) end end -- -- Title row -- local function renderTitleRow(tbl) if not args.title then return end local titleRow = tbl:tag('tr') if args.titlegroup then titleRow :tag('th') :attr('scope', 'row') :addClass('navbox-group') :addClass(args.titlegroupclass) :cssText(args.basestyle) :cssText(args.groupstyle) :cssText(args.titlegroupstyle) :wikitext(args.titlegroup) end local titleCell = titleRow:tag('th'):attr('scope', 'col') if args.titlegroup then titleCell :css('border-left', '2px solid #fdfdfd') :css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell :cssText(args.basestyle) :cssText(args.titlestyle) :addClass('navbox-title') :attr('colspan', titleColspan) renderNavBar(titleCell) titleCell :tag('div') :attr('id', mw.uri.anchorEncode(args.title)) :addClass(args.titleclass) :css('font-size', '114%') :css('margin', '0 4em') :wikitext(processItem(args.title)) end -- -- Above/Below rows -- local function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end local function renderAboveRow(tbl) if not args.above then return end tbl:tag('tr') :tag('td') :addClass('navbox-abovebelow') :addClass(args.aboveclass) :cssText(args.basestyle) :cssText(args.abovestyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(processItem(args.above, args.nowrapitems)) end local function renderBelowRow(tbl) if not args.below then return end tbl:tag('tr') :tag('td') :addClass('navbox-abovebelow') :addClass(args.belowclass) :cssText(args.basestyle) :cssText(args.belowstyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(processItem(args.below, args.nowrapitems)) end -- -- List rows -- local function renderListRow(tbl, index, listnum) local row = tbl:tag('tr') if index == 1 and args.imageleft then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '1px') -- Minimize width :css('padding', '0px 2px 0px 0px') :cssText(args.imageleftstyle) :attr('rowspan', #listnums) :tag('div') :wikitext(processItem(args.imageleft)) end if args['group' .. listnum] then local groupCell = row:tag('th') groupCell :attr('scope', 'row') :addClass('navbox-group') :addClass(args.groupclass) :cssText(args.basestyle) :css('width', args.groupwidth or '1%') -- If groupwidth not specified, minimize width groupCell :cssText(args.groupstyle) :cssText(args['group' .. listnum .. 'style']) :wikitext(args['group' .. listnum]) end local listCell = row:tag('td') if args['group' .. listnum] then listCell :css('text-align', 'left') :css('border-left-width', '2px') :css('border-left-style', 'solid') else listCell:attr('colspan', 2) end if not args.groupwidth then listCell:css('width', '100%') end local rowstyle -- usually nil so cssText(rowstyle) usually adds nothing if index % 2 == 1 then rowstyle = args.oddstyle else rowstyle = args.evenstyle end local listText = args['list' .. listnum] local oddEven = ODD_EVEN_MARKER if listText:sub(1, 12) == '</div><table' then -- Assume list text is for a subgroup navbox so no automatic striping for this row. oddEven = listText:find('<th[^>]*"navbox%-title"') and RESTART_MARKER or 'odd' end listCell :css('padding', '0px') :cssText(args.liststyle) :cssText(rowstyle) :cssText(args['list' .. listnum .. 'style']) :addClass('navbox-list') :addClass('navbox-' .. oddEven) :addClass(args.listclass) :tag('div') :css('padding', (index == 1 and args.list1padding) or args.listpadding or '0em 0.25em') :wikitext(processItem(listText, args.nowrapitems)) if index == 1 and args.image then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '1px') -- Minimize width :css('padding', '0px 0px 0px 2px') :cssText(args.imagestyle) :attr('rowspan', #listnums) :tag('div') :wikitext(processItem(args.image)) end end -- -- Tracking categories -- local function needsHorizontalLists() if border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = { ['plainlist'] = true, ['hlist'] = true, ['hlist hnum'] = true, ['hlist hwrap'] = true, ['hlist vcard'] = true, ['vcard hlist'] = true, ['hlist vevent'] = true, } return not (listClasses[args.listclass] or listClasses[args.bodyclass]) end local function hasBackgroundColors() for _, key in ipairs({'titlestyle', 'groupstyle', 'basestyle'}) do if tostring(args[key]):find('background', 1, true) then return true end end end local function isIllegible() local styleratio = require('Module:Color contrast')._styleratio for key, style in pairs(args) do if tostring(key):match("style$") then if styleratio{mw.text.unstripNoWiki(style)} < 4.5 then return true end end end return false end local function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end if isIllegible() then table.insert(cats, 'Potentially illegible navboxes') end return cats end local function renderTrackingCategories(builder) local title = mw.title.getCurrentTitle() if title.namespace ~= 10 then return end -- not in template space local subpage = title.subpageText if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for _, cat in ipairs(getTrackingCategories()) do builder:wikitext('[[Category:' .. cat .. ']]') end end -- -- Main navbox tables -- local function renderMainTable() local tbl = mw.html.create('table') :addClass('nowraplinks') :addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl :addClass('collapsible') :addClass(args.state or 'autocollapse') end tbl:css('border-spacing', 0) if border == 'subgroup' or border == 'none' then tbl :addClass('navbox-subgroup navbox-spacing-temp') :cssText(args.bodystyle) :cssText(args.style) else -- regular navbox - bodystyle and style will be applied to the wrapper table tbl :addClass('navbox-inner') :css('background', 'transparent') :css('color', 'inherit') end tbl:cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, i, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, _ in pairs(args) do if type(k) == 'string' then local listnum = k:match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end end table.sort(listnums) border = mw.text.trim(args.border or args[1] or '') if border == 'child' then border = 'subgroup' end -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = mw.html.create() if border == 'none' then local nav = res:tag('div') :attr('role', 'navigation') :node(tbl) if args.title then nav:attr('aria-labelledby', mw.uri.anchorEncode(args.title)) else nav:attr('aria-label', 'Navbox') end elseif border == 'subgroup' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res :wikitext('</div>') :node(tbl) :wikitext('<div>') else local nav = res:tag('div') :attr('role', 'navigation') :addClass('navbox navbox-spacing-temp') :cssText(args.bodystyle) :cssText(args.style) :css('padding', '3px') :node(tbl) if args.title then nav:attr('aria-labelledby', mw.uri.anchorEncode(args.title)) else nav:attr('aria-label', 'Navbox') end end renderTrackingCategories(res) return striped(tostring(res)) end function p.navbox(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end args = getArgs(frame, {wrappers = 'Template:Navbox'}) -- Read the arguments in the order they'll be output in, to make references number in the right order. local _ _ = args.title _ = args.above for i = 1, 20 do _ = args["group" .. tostring(i)] _ = args["list" .. tostring(i)] end _ = args.below return p._navbox(args) end return p ofcuqszf4n5kik929qhvtozqhn5xi4q 9916 9915 2017-07-12T07:55:41Z w>Matt Fitzpatrick 0 removed .navbox-spacing-temp mask, no longer used by site CSS 9916 Scribunto text/plain -- -- This module implements {{Navbox}} -- local p = {} local navbar = require('Module:Navbar')._navbar local getArgs -- lazily initialized local args local border local listnums = {} local ODD_EVEN_MARKER = '\127_ODDEVEN_\127' local RESTART_MARKER = '\127_ODDEVEN0_\127' local REGEX_MARKER = '\127_ODDEVEN(%d?)_\127' local function striped(wikitext) -- Return wikitext with markers replaced for odd/even striping. -- Child (subgroup) navboxes are flagged with a category that is removed -- by parent navboxes. The result is that the category shows all pages -- where a child navbox is not contained in a parent navbox. local orphanCat = '[[Category:Navbox orphans]]' if border == 'subgroup' and args.orphan ~= 'yes' then -- No change; striping occurs in outermost navbox. return wikitext .. orphanCat end local first, second = 'odd', 'even' if args.evenodd then if args.evenodd == 'swap' then first, second = second, first else first = args.evenodd second = first end end local changer if first == second then changer = first else local index = 0 changer = function (code) if code == '0' then -- Current occurrence is for a group before a nested table. -- Set it to first as a valid although pointless class. -- The next occurrence will be the first row after a title -- in a subgroup and will also be first. index = 0 return first end index = index + 1 return index % 2 == 1 and first or second end end local regex = orphanCat:gsub('([%[%]])', '%%%1') return (wikitext:gsub(regex, ''):gsub(REGEX_MARKER, changer)) -- () omits gsub count end local function processItem(item, nowrapitems) if item:sub(1, 2) == '{|' then -- Applying nowrap to lines in a table does not make sense. -- Add newlines to compensate for trim of x in |parm=x in a template. return '\n' .. item ..'\n' end if nowrapitems == 'yes' then local lines = {} for line in (item .. '\n'):gmatch('([^\n]*)\n') do local prefix, content = line:match('^([*:;#]+)%s*(.*)') if prefix and not content:match('^<span class="nowrap">') then line = prefix .. '<span class="nowrap">' .. content .. '</span>' end table.insert(lines, line) end item = table.concat(lines, '\n') end if item:match('^[*:;#]') then return '\n' .. item ..'\n' end return item end local function renderNavBar(titleCell) if args.navbar ~= 'off' and args.navbar ~= 'plain' and not (not args.name and mw.getCurrentFrame():getParent():getTitle():gsub('/sandbox$', '') == 'Template:Navbox') then titleCell:wikitext(navbar{ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none;' }) end end -- -- Title row -- local function renderTitleRow(tbl) if not args.title then return end local titleRow = tbl:tag('tr') if args.titlegroup then titleRow :tag('th') :attr('scope', 'row') :addClass('navbox-group') :addClass(args.titlegroupclass) :cssText(args.basestyle) :cssText(args.groupstyle) :cssText(args.titlegroupstyle) :wikitext(args.titlegroup) end local titleCell = titleRow:tag('th'):attr('scope', 'col') if args.titlegroup then titleCell :css('border-left', '2px solid #fdfdfd') :css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell :cssText(args.basestyle) :cssText(args.titlestyle) :addClass('navbox-title') :attr('colspan', titleColspan) renderNavBar(titleCell) titleCell :tag('div') :attr('id', mw.uri.anchorEncode(args.title)) :addClass(args.titleclass) :css('font-size', '114%') :css('margin', '0 4em') :wikitext(processItem(args.title)) end -- -- Above/Below rows -- local function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end local function renderAboveRow(tbl) if not args.above then return end tbl:tag('tr') :tag('td') :addClass('navbox-abovebelow') :addClass(args.aboveclass) :cssText(args.basestyle) :cssText(args.abovestyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(processItem(args.above, args.nowrapitems)) end local function renderBelowRow(tbl) if not args.below then return end tbl:tag('tr') :tag('td') :addClass('navbox-abovebelow') :addClass(args.belowclass) :cssText(args.basestyle) :cssText(args.belowstyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(processItem(args.below, args.nowrapitems)) end -- -- List rows -- local function renderListRow(tbl, index, listnum) local row = tbl:tag('tr') if index == 1 and args.imageleft then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '1px') -- Minimize width :css('padding', '0px 2px 0px 0px') :cssText(args.imageleftstyle) :attr('rowspan', #listnums) :tag('div') :wikitext(processItem(args.imageleft)) end if args['group' .. listnum] then local groupCell = row:tag('th') groupCell :attr('scope', 'row') :addClass('navbox-group') :addClass(args.groupclass) :cssText(args.basestyle) :css('width', args.groupwidth or '1%') -- If groupwidth not specified, minimize width groupCell :cssText(args.groupstyle) :cssText(args['group' .. listnum .. 'style']) :wikitext(args['group' .. listnum]) end local listCell = row:tag('td') if args['group' .. listnum] then listCell :css('text-align', 'left') :css('border-left-width', '2px') :css('border-left-style', 'solid') else listCell:attr('colspan', 2) end if not args.groupwidth then listCell:css('width', '100%') end local rowstyle -- usually nil so cssText(rowstyle) usually adds nothing if index % 2 == 1 then rowstyle = args.oddstyle else rowstyle = args.evenstyle end local listText = args['list' .. listnum] local oddEven = ODD_EVEN_MARKER if listText:sub(1, 12) == '</div><table' then -- Assume list text is for a subgroup navbox so no automatic striping for this row. oddEven = listText:find('<th[^>]*"navbox%-title"') and RESTART_MARKER or 'odd' end listCell :css('padding', '0px') :cssText(args.liststyle) :cssText(rowstyle) :cssText(args['list' .. listnum .. 'style']) :addClass('navbox-list') :addClass('navbox-' .. oddEven) :addClass(args.listclass) :tag('div') :css('padding', (index == 1 and args.list1padding) or args.listpadding or '0em 0.25em') :wikitext(processItem(listText, args.nowrapitems)) if index == 1 and args.image then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '1px') -- Minimize width :css('padding', '0px 0px 0px 2px') :cssText(args.imagestyle) :attr('rowspan', #listnums) :tag('div') :wikitext(processItem(args.image)) end end -- -- Tracking categories -- local function needsHorizontalLists() if border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = { ['plainlist'] = true, ['hlist'] = true, ['hlist hnum'] = true, ['hlist hwrap'] = true, ['hlist vcard'] = true, ['vcard hlist'] = true, ['hlist vevent'] = true, } return not (listClasses[args.listclass] or listClasses[args.bodyclass]) end local function hasBackgroundColors() for _, key in ipairs({'titlestyle', 'groupstyle', 'basestyle'}) do if tostring(args[key]):find('background', 1, true) then return true end end end local function isIllegible() local styleratio = require('Module:Color contrast')._styleratio for key, style in pairs(args) do if tostring(key):match("style$") then if styleratio{mw.text.unstripNoWiki(style)} < 4.5 then return true end end end return false end local function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end if isIllegible() then table.insert(cats, 'Potentially illegible navboxes') end return cats end local function renderTrackingCategories(builder) local title = mw.title.getCurrentTitle() if title.namespace ~= 10 then return end -- not in template space local subpage = title.subpageText if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for _, cat in ipairs(getTrackingCategories()) do builder:wikitext('[[Category:' .. cat .. ']]') end end -- -- Main navbox tables -- local function renderMainTable() local tbl = mw.html.create('table') :addClass('nowraplinks') :addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl :addClass('collapsible') :addClass(args.state or 'autocollapse') end tbl:css('border-spacing', 0) if border == 'subgroup' or border == 'none' then tbl :addClass('navbox-subgroup') :cssText(args.bodystyle) :cssText(args.style) else -- regular navbox - bodystyle and style will be applied to the wrapper table tbl :addClass('navbox-inner') :css('background', 'transparent') :css('color', 'inherit') end tbl:cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, i, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, _ in pairs(args) do if type(k) == 'string' then local listnum = k:match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end end table.sort(listnums) border = mw.text.trim(args.border or args[1] or '') if border == 'child' then border = 'subgroup' end -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = mw.html.create() if border == 'none' then local nav = res:tag('div') :attr('role', 'navigation') :node(tbl) if args.title then nav:attr('aria-labelledby', mw.uri.anchorEncode(args.title)) else nav:attr('aria-label', 'Navbox') end elseif border == 'subgroup' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res :wikitext('</div>') :node(tbl) :wikitext('<div>') else local nav = res:tag('div') :attr('role', 'navigation') :addClass('navbox') :cssText(args.bodystyle) :cssText(args.style) :css('padding', '3px') :node(tbl) if args.title then nav:attr('aria-labelledby', mw.uri.anchorEncode(args.title)) else nav:attr('aria-label', 'Navbox') end end renderTrackingCategories(res) return striped(tostring(res)) end function p.navbox(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end args = getArgs(frame, {wrappers = 'Template:Navbox'}) -- Read the arguments in the order they'll be output in, to make references number in the right order. local _ _ = args.title _ = args.above for i = 1, 20 do _ = args["group" .. tostring(i)] _ = args["list" .. tostring(i)] end _ = args.below return p._navbox(args) end return p 2535j56ygjbxd128b319uose3yh7ngf 9917 9916 2018-01-11T12:41:17Z w>Frietjes 0 (1) add tracking for css borders in group/above/belowstyle (2) extended background colour check to above and belowstyle (3) add [[User:Johnuniq|Johnuniq]]'s change to enable using this module directly in [[Template:Navbox subgroup|Navbox subgroup]] 9917 Scribunto text/plain -- -- This module implements {{Navbox}} -- local p = {} local navbar = require('Module:Navbar')._navbar local getArgs -- lazily initialized local args local border local listnums = {} local ODD_EVEN_MARKER = '\127_ODDEVEN_\127' local RESTART_MARKER = '\127_ODDEVEN0_\127' local REGEX_MARKER = '\127_ODDEVEN(%d?)_\127' local function striped(wikitext) -- Return wikitext with markers replaced for odd/even striping. -- Child (subgroup) navboxes are flagged with a category that is removed -- by parent navboxes. The result is that the category shows all pages -- where a child navbox is not contained in a parent navbox. local orphanCat = '[[Category:Navbox orphans]]' if border == 'subgroup' and args.orphan ~= 'yes' then -- No change; striping occurs in outermost navbox. return wikitext .. orphanCat end local first, second = 'odd', 'even' if args.evenodd then if args.evenodd == 'swap' then first, second = second, first else first = args.evenodd second = first end end local changer if first == second then changer = first else local index = 0 changer = function (code) if code == '0' then -- Current occurrence is for a group before a nested table. -- Set it to first as a valid although pointless class. -- The next occurrence will be the first row after a title -- in a subgroup and will also be first. index = 0 return first end index = index + 1 return index % 2 == 1 and first or second end end local regex = orphanCat:gsub('([%[%]])', '%%%1') return (wikitext:gsub(regex, ''):gsub(REGEX_MARKER, changer)) -- () omits gsub count end local function processItem(item, nowrapitems) if item:sub(1, 2) == '{|' then -- Applying nowrap to lines in a table does not make sense. -- Add newlines to compensate for trim of x in |parm=x in a template. return '\n' .. item ..'\n' end if nowrapitems == 'yes' then local lines = {} for line in (item .. '\n'):gmatch('([^\n]*)\n') do local prefix, content = line:match('^([*:;#]+)%s*(.*)') if prefix and not content:match('^<span class="nowrap">') then line = prefix .. '<span class="nowrap">' .. content .. '</span>' end table.insert(lines, line) end item = table.concat(lines, '\n') end if item:match('^[*:;#]') then return '\n' .. item ..'\n' end return item end local function renderNavBar(titleCell) if args.navbar ~= 'off' and args.navbar ~= 'plain' and not (not args.name and mw.getCurrentFrame():getParent():getTitle():gsub('/sandbox$', '') == 'Template:Navbox') then titleCell:wikitext(navbar{ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none;' }) end end -- -- Title row -- local function renderTitleRow(tbl) if not args.title then return end local titleRow = tbl:tag('tr') if args.titlegroup then titleRow :tag('th') :attr('scope', 'row') :addClass('navbox-group') :addClass(args.titlegroupclass) :cssText(args.basestyle) :cssText(args.groupstyle) :cssText(args.titlegroupstyle) :wikitext(args.titlegroup) end local titleCell = titleRow:tag('th'):attr('scope', 'col') if args.titlegroup then titleCell :css('border-left', '2px solid #fdfdfd') :css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell :cssText(args.basestyle) :cssText(args.titlestyle) :addClass('navbox-title') :attr('colspan', titleColspan) renderNavBar(titleCell) titleCell :tag('div') :attr('id', mw.uri.anchorEncode(args.title)) :addClass(args.titleclass) :css('font-size', '114%') :css('margin', '0 4em') :wikitext(processItem(args.title)) end -- -- Above/Below rows -- local function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end local function renderAboveRow(tbl) if not args.above then return end tbl:tag('tr') :tag('td') :addClass('navbox-abovebelow') :addClass(args.aboveclass) :cssText(args.basestyle) :cssText(args.abovestyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(processItem(args.above, args.nowrapitems)) end local function renderBelowRow(tbl) if not args.below then return end tbl:tag('tr') :tag('td') :addClass('navbox-abovebelow') :addClass(args.belowclass) :cssText(args.basestyle) :cssText(args.belowstyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(processItem(args.below, args.nowrapitems)) end -- -- List rows -- local function renderListRow(tbl, index, listnum) local row = tbl:tag('tr') if index == 1 and args.imageleft then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '1px') -- Minimize width :css('padding', '0px 2px 0px 0px') :cssText(args.imageleftstyle) :attr('rowspan', #listnums) :tag('div') :wikitext(processItem(args.imageleft)) end if args['group' .. listnum] then local groupCell = row:tag('th') groupCell :attr('scope', 'row') :addClass('navbox-group') :addClass(args.groupclass) :cssText(args.basestyle) :css('width', args.groupwidth or '1%') -- If groupwidth not specified, minimize width groupCell :cssText(args.groupstyle) :cssText(args['group' .. listnum .. 'style']) :wikitext(args['group' .. listnum]) end local listCell = row:tag('td') if args['group' .. listnum] then listCell :css('text-align', 'left') :css('border-left-width', '2px') :css('border-left-style', 'solid') else listCell:attr('colspan', 2) end if not args.groupwidth then listCell:css('width', '100%') end local rowstyle -- usually nil so cssText(rowstyle) usually adds nothing if index % 2 == 1 then rowstyle = args.oddstyle else rowstyle = args.evenstyle end local listText = args['list' .. listnum] local oddEven = ODD_EVEN_MARKER if listText:sub(1, 12) == '</div><table' then -- Assume list text is for a subgroup navbox so no automatic striping for this row. oddEven = listText:find('<th[^>]*"navbox%-title"') and RESTART_MARKER or 'odd' end listCell :css('padding', '0px') :cssText(args.liststyle) :cssText(rowstyle) :cssText(args['list' .. listnum .. 'style']) :addClass('navbox-list') :addClass('navbox-' .. oddEven) :addClass(args.listclass) :tag('div') :css('padding', (index == 1 and args.list1padding) or args.listpadding or '0em 0.25em') :wikitext(processItem(listText, args.nowrapitems)) if index == 1 and args.image then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '1px') -- Minimize width :css('padding', '0px 0px 0px 2px') :cssText(args.imagestyle) :attr('rowspan', #listnums) :tag('div') :wikitext(processItem(args.image)) end end -- -- Tracking categories -- local function needsHorizontalLists() if border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = { ['plainlist'] = true, ['hlist'] = true, ['hlist hnum'] = true, ['hlist hwrap'] = true, ['hlist vcard'] = true, ['vcard hlist'] = true, ['hlist vevent'] = true, } return not (listClasses[args.listclass] or listClasses[args.bodyclass]) end local function hasBackgroundColors() for _, key in ipairs({'titlestyle', 'groupstyle', 'basestyle', 'abovestyle', 'belowstyle'}) do if tostring(args[key]):find('background', 1, true) then return true end end end local function hasBorders() for _, key in ipairs({'groupstyle', 'basestyle', 'abovestyle', 'belowstyle'}) do if tostring(args[key]):find('border', 1, true) then return true end end end local function isIllegible() local styleratio = require('Module:Color contrast')._styleratio for key, style in pairs(args) do if tostring(key):match("style$") then if styleratio{mw.text.unstripNoWiki(style)} < 4.5 then return true end end end return false end local function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end if isIllegible() then table.insert(cats, 'Potentially illegible navboxes') end if hasBorders() then table.insert(cats, 'Navboxes using borders') end return cats end local function renderTrackingCategories(builder) local title = mw.title.getCurrentTitle() if title.namespace ~= 10 then return end -- not in template space local subpage = title.subpageText if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for _, cat in ipairs(getTrackingCategories()) do builder:wikitext('[[Category:' .. cat .. ']]') end end -- -- Main navbox tables -- local function renderMainTable() local tbl = mw.html.create('table') :addClass('nowraplinks') :addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl :addClass('collapsible') :addClass(args.state or 'autocollapse') end tbl:css('border-spacing', 0) if border == 'subgroup' or border == 'none' then tbl :addClass('navbox-subgroup') :cssText(args.bodystyle) :cssText(args.style) else -- regular navbox - bodystyle and style will be applied to the wrapper table tbl :addClass('navbox-inner') :css('background', 'transparent') :css('color', 'inherit') end tbl:cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, i, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, _ in pairs(args) do if type(k) == 'string' then local listnum = k:match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end end table.sort(listnums) border = mw.text.trim(args.border or args[1] or '') if border == 'child' then border = 'subgroup' end -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = mw.html.create() if border == 'none' then local nav = res:tag('div') :attr('role', 'navigation') :node(tbl) if args.title then nav:attr('aria-labelledby', mw.uri.anchorEncode(args.title)) else nav:attr('aria-label', 'Navbox') end elseif border == 'subgroup' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res :wikitext('</div>') :node(tbl) :wikitext('<div>') else local nav = res:tag('div') :attr('role', 'navigation') :addClass('navbox') :cssText(args.bodystyle) :cssText(args.style) :css('padding', '3px') :node(tbl) if args.title then nav:attr('aria-labelledby', mw.uri.anchorEncode(args.title)) else nav:attr('aria-label', 'Navbox') end end renderTrackingCategories(res) return striped(tostring(res)) end function p.navbox(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end args = getArgs(frame, {wrappers = {'Template:Navbox', 'Template:Navbox subgroup'}}) if frame.args.border then -- This allows Template:Navbox_subgroup to use {{#invoke:Navbox|navbox|border=...}}. args.border = frame.args.border end -- Read the arguments in the order they'll be output in, to make references number in the right order. local _ _ = args.title _ = args.above for i = 1, 20 do _ = args["group" .. tostring(i)] _ = args["list" .. tostring(i)] end _ = args.below return p._navbox(args) end return p agfujr0g49peekpzrn4lgskcr1edwwp 9918 9838 2018-06-15T23:27:24Z w>Matt Fitzpatrick 0 aria-labelledby fallbacks: title, otherwise above, otherwise lone group 9918 Scribunto text/plain -- -- This module implements {{Navbox}} -- local p = {} local navbar = require('Module:Navbar')._navbar local getArgs -- lazily initialized local args local border local listnums = {} local ODD_EVEN_MARKER = '\127_ODDEVEN_\127' local RESTART_MARKER = '\127_ODDEVEN0_\127' local REGEX_MARKER = '\127_ODDEVEN(%d?)_\127' local function striped(wikitext) -- Return wikitext with markers replaced for odd/even striping. -- Child (subgroup) navboxes are flagged with a category that is removed -- by parent navboxes. The result is that the category shows all pages -- where a child navbox is not contained in a parent navbox. local orphanCat = '[[Category:Navbox orphans]]' if border == 'subgroup' and args.orphan ~= 'yes' then -- No change; striping occurs in outermost navbox. return wikitext .. orphanCat end local first, second = 'odd', 'even' if args.evenodd then if args.evenodd == 'swap' then first, second = second, first else first = args.evenodd second = first end end local changer if first == second then changer = first else local index = 0 changer = function (code) if code == '0' then -- Current occurrence is for a group before a nested table. -- Set it to first as a valid although pointless class. -- The next occurrence will be the first row after a title -- in a subgroup and will also be first. index = 0 return first end index = index + 1 return index % 2 == 1 and first or second end end local regex = orphanCat:gsub('([%[%]])', '%%%1') return (wikitext:gsub(regex, ''):gsub(REGEX_MARKER, changer)) -- () omits gsub count end local function processItem(item, nowrapitems) if item:sub(1, 2) == '{|' then -- Applying nowrap to lines in a table does not make sense. -- Add newlines to compensate for trim of x in |parm=x in a template. return '\n' .. item ..'\n' end if nowrapitems == 'yes' then local lines = {} for line in (item .. '\n'):gmatch('([^\n]*)\n') do local prefix, content = line:match('^([*:;#]+)%s*(.*)') if prefix and not content:match('^<span class="nowrap">') then line = prefix .. '<span class="nowrap">' .. content .. '</span>' end table.insert(lines, line) end item = table.concat(lines, '\n') end if item:match('^[*:;#]') then return '\n' .. item ..'\n' end return item end local function renderNavBar(titleCell) if args.navbar ~= 'off' and args.navbar ~= 'plain' and not (not args.name and mw.getCurrentFrame():getParent():getTitle():gsub('/sandbox$', '') == 'Template:Navbox') then titleCell:wikitext(navbar{ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none;' }) end end -- -- Title row -- local function renderTitleRow(tbl) if not args.title then return end local titleRow = tbl:tag('tr') if args.titlegroup then titleRow :tag('th') :attr('scope', 'row') :addClass('navbox-group') :addClass(args.titlegroupclass) :cssText(args.basestyle) :cssText(args.groupstyle) :cssText(args.titlegroupstyle) :wikitext(args.titlegroup) end local titleCell = titleRow:tag('th'):attr('scope', 'col') if args.titlegroup then titleCell :css('border-left', '2px solid #fdfdfd') :css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell :cssText(args.basestyle) :cssText(args.titlestyle) :addClass('navbox-title') :attr('colspan', titleColspan) renderNavBar(titleCell) titleCell :tag('div') -- id for aria-labelledby attribute :attr('id', mw.uri.anchorEncode(args.title)) :addClass(args.titleclass) :css('font-size', '114%') :css('margin', '0 4em') :wikitext(processItem(args.title)) end -- -- Above/Below rows -- local function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end local function renderAboveRow(tbl) if not args.above then return end tbl:tag('tr') :tag('td') :addClass('navbox-abovebelow') :addClass(args.aboveclass) :cssText(args.basestyle) :cssText(args.abovestyle) :attr('colspan', getAboveBelowColspan()) :tag('div') -- id for aria-labelledby attribute, if no title :attr('id', args.title and nil or mw.uri.anchorEncode(args.above)) :wikitext(processItem(args.above, args.nowrapitems)) end local function renderBelowRow(tbl) if not args.below then return end tbl:tag('tr') :tag('td') :addClass('navbox-abovebelow') :addClass(args.belowclass) :cssText(args.basestyle) :cssText(args.belowstyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(processItem(args.below, args.nowrapitems)) end -- -- List rows -- local function renderListRow(tbl, index, listnum) local row = tbl:tag('tr') if index == 1 and args.imageleft then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '1px') -- Minimize width :css('padding', '0px 2px 0px 0px') :cssText(args.imageleftstyle) :attr('rowspan', #listnums) :tag('div') :wikitext(processItem(args.imageleft)) end if args['group' .. listnum] then local groupCell = row:tag('th') -- id for aria-labelledby attribute, if lone group with no title or above if listnum == 1 and not (args.title or args.above or args.group2) then groupCell :attr('id', mw.uri.anchorEncode(args.group1)) end groupCell :attr('scope', 'row') :addClass('navbox-group') :addClass(args.groupclass) :cssText(args.basestyle) :css('width', args.groupwidth or '1%') -- If groupwidth not specified, minimize width groupCell :cssText(args.groupstyle) :cssText(args['group' .. listnum .. 'style']) :wikitext(args['group' .. listnum]) end local listCell = row:tag('td') if args['group' .. listnum] then listCell :css('text-align', 'left') :css('border-left-width', '2px') :css('border-left-style', 'solid') else listCell:attr('colspan', 2) end if not args.groupwidth then listCell:css('width', '100%') end local rowstyle -- usually nil so cssText(rowstyle) usually adds nothing if index % 2 == 1 then rowstyle = args.oddstyle else rowstyle = args.evenstyle end local listText = args['list' .. listnum] local oddEven = ODD_EVEN_MARKER if listText:sub(1, 12) == '</div><table' then -- Assume list text is for a subgroup navbox so no automatic striping for this row. oddEven = listText:find('<th[^>]*"navbox%-title"') and RESTART_MARKER or 'odd' end listCell :css('padding', '0px') :cssText(args.liststyle) :cssText(rowstyle) :cssText(args['list' .. listnum .. 'style']) :addClass('navbox-list') :addClass('navbox-' .. oddEven) :addClass(args.listclass) :tag('div') :css('padding', (index == 1 and args.list1padding) or args.listpadding or '0em 0.25em') :wikitext(processItem(listText, args.nowrapitems)) if index == 1 and args.image then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '1px') -- Minimize width :css('padding', '0px 0px 0px 2px') :cssText(args.imagestyle) :attr('rowspan', #listnums) :tag('div') :wikitext(processItem(args.image)) end end -- -- Tracking categories -- local function needsHorizontalLists() if border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = { ['plainlist'] = true, ['hlist'] = true, ['hlist hnum'] = true, ['hlist hwrap'] = true, ['hlist vcard'] = true, ['vcard hlist'] = true, ['hlist vevent'] = true, } return not (listClasses[args.listclass] or listClasses[args.bodyclass]) end local function hasBackgroundColors() for _, key in ipairs({'titlestyle', 'groupstyle', 'basestyle', 'abovestyle', 'belowstyle'}) do if tostring(args[key]):find('background', 1, true) then return true end end end local function hasBorders() for _, key in ipairs({'groupstyle', 'basestyle', 'abovestyle', 'belowstyle'}) do if tostring(args[key]):find('border', 1, true) then return true end end end local function isIllegible() local styleratio = require('Module:Color contrast')._styleratio for key, style in pairs(args) do if tostring(key):match("style$") then if styleratio{mw.text.unstripNoWiki(style)} < 4.5 then return true end end end return false end local function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end if isIllegible() then table.insert(cats, 'Potentially illegible navboxes') end if hasBorders() then table.insert(cats, 'Navboxes using borders') end return cats end local function renderTrackingCategories(builder) local title = mw.title.getCurrentTitle() if title.namespace ~= 10 then return end -- not in template space local subpage = title.subpageText if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for _, cat in ipairs(getTrackingCategories()) do builder:wikitext('[[Category:' .. cat .. ']]') end end -- -- Main navbox tables -- local function renderMainTable() local tbl = mw.html.create('table') :addClass('nowraplinks') :addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl :addClass('collapsible') :addClass(args.state or 'autocollapse') end tbl:css('border-spacing', 0) if border == 'subgroup' or border == 'none' then tbl :addClass('navbox-subgroup') :cssText(args.bodystyle) :cssText(args.style) else -- regular navbox - bodystyle and style will be applied to the wrapper table tbl :addClass('navbox-inner') :css('background', 'transparent') :css('color', 'inherit') end tbl:cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, i, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, _ in pairs(args) do if type(k) == 'string' then local listnum = k:match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end end table.sort(listnums) border = mw.text.trim(args.border or args[1] or '') if border == 'child' then border = 'subgroup' end -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = mw.html.create() if border == 'none' then local nav = res:tag('div') :attr('role', 'navigation') :node(tbl) -- aria-labelledby title, otherwise above, otherwise lone group if args.title or args.above or (args.group1 and not args.group2) then nav:attr('aria-labelledby', mw.uri.anchorEncode(args.title or args.above or args.group1)) else nav:attr('aria-label', 'Navbox') end elseif border == 'subgroup' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res :wikitext('</div>') :node(tbl) :wikitext('<div>') else local nav = res:tag('div') :attr('role', 'navigation') :addClass('navbox') :cssText(args.bodystyle) :cssText(args.style) :css('padding', '3px') :node(tbl) -- aria-labelledby title, otherwise above, otherwise lone group if args.title or args.above or (args.group1 and not args.group2) then nav:attr('aria-labelledby', mw.uri.anchorEncode(args.title or args.above or args.group1)) else nav:attr('aria-label', 'Navbox') end end renderTrackingCategories(res) return striped(tostring(res)) end function p.navbox(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end args = getArgs(frame, {wrappers = {'Template:Navbox', 'Template:Navbox subgroup'}}) if frame.args.border then -- This allows Template:Navbox_subgroup to use {{#invoke:Navbox|navbox|border=...}}. args.border = frame.args.border end -- Read the arguments in the order they'll be output in, to make references number in the right order. local _ _ = args.title _ = args.above for i = 1, 20 do _ = args["group" .. tostring(i)] _ = args["list" .. tostring(i)] end _ = args.below return p._navbox(args) end return p 81f1ytsur86xnvf3sbmdtnaf8irul1c 9919 9918 2018-07-27T13:10:05Z w>Frietjes 0 don't add title padding to navbar 9919 Scribunto text/plain -- -- This module implements {{Navbox}} -- local p = {} local navbar = require('Module:Navbar')._navbar local getArgs -- lazily initialized local args local border local listnums = {} local ODD_EVEN_MARKER = '\127_ODDEVEN_\127' local RESTART_MARKER = '\127_ODDEVEN0_\127' local REGEX_MARKER = '\127_ODDEVEN(%d?)_\127' local function striped(wikitext) -- Return wikitext with markers replaced for odd/even striping. -- Child (subgroup) navboxes are flagged with a category that is removed -- by parent navboxes. The result is that the category shows all pages -- where a child navbox is not contained in a parent navbox. local orphanCat = '[[Category:Navbox orphans]]' if border == 'subgroup' and args.orphan ~= 'yes' then -- No change; striping occurs in outermost navbox. return wikitext .. orphanCat end local first, second = 'odd', 'even' if args.evenodd then if args.evenodd == 'swap' then first, second = second, first else first = args.evenodd second = first end end local changer if first == second then changer = first else local index = 0 changer = function (code) if code == '0' then -- Current occurrence is for a group before a nested table. -- Set it to first as a valid although pointless class. -- The next occurrence will be the first row after a title -- in a subgroup and will also be first. index = 0 return first end index = index + 1 return index % 2 == 1 and first or second end end local regex = orphanCat:gsub('([%[%]])', '%%%1') return (wikitext:gsub(regex, ''):gsub(REGEX_MARKER, changer)) -- () omits gsub count end local function processItem(item, nowrapitems) if item:sub(1, 2) == '{|' then -- Applying nowrap to lines in a table does not make sense. -- Add newlines to compensate for trim of x in |parm=x in a template. return '\n' .. item ..'\n' end if nowrapitems == 'yes' then local lines = {} for line in (item .. '\n'):gmatch('([^\n]*)\n') do local prefix, content = line:match('^([*:;#]+)%s*(.*)') if prefix and not content:match('^<span class="nowrap">') then line = prefix .. '<span class="nowrap">' .. content .. '</span>' end table.insert(lines, line) end item = table.concat(lines, '\n') end if item:match('^[*:;#]') then return '\n' .. item ..'\n' end return item end local function renderNavBar(titleCell) if args.navbar ~= 'off' and args.navbar ~= 'plain' and not (not args.name and mw.getCurrentFrame():getParent():getTitle():gsub('/sandbox$', '') == 'Template:Navbox') then titleCell:wikitext(navbar{ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none; padding:none;' }) end end -- -- Title row -- local function renderTitleRow(tbl) if not args.title then return end local titleRow = tbl:tag('tr') if args.titlegroup then titleRow :tag('th') :attr('scope', 'row') :addClass('navbox-group') :addClass(args.titlegroupclass) :cssText(args.basestyle) :cssText(args.groupstyle) :cssText(args.titlegroupstyle) :wikitext(args.titlegroup) end local titleCell = titleRow:tag('th'):attr('scope', 'col') if args.titlegroup then titleCell :css('border-left', '2px solid #fdfdfd') :css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell :cssText(args.basestyle) :cssText(args.titlestyle) :addClass('navbox-title') :attr('colspan', titleColspan) renderNavBar(titleCell) titleCell :tag('div') -- id for aria-labelledby attribute :attr('id', mw.uri.anchorEncode(args.title)) :addClass(args.titleclass) :css('font-size', '114%') :css('margin', '0 4em') :wikitext(processItem(args.title)) end -- -- Above/Below rows -- local function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end local function renderAboveRow(tbl) if not args.above then return end tbl:tag('tr') :tag('td') :addClass('navbox-abovebelow') :addClass(args.aboveclass) :cssText(args.basestyle) :cssText(args.abovestyle) :attr('colspan', getAboveBelowColspan()) :tag('div') -- id for aria-labelledby attribute, if no title :attr('id', args.title and nil or mw.uri.anchorEncode(args.above)) :wikitext(processItem(args.above, args.nowrapitems)) end local function renderBelowRow(tbl) if not args.below then return end tbl:tag('tr') :tag('td') :addClass('navbox-abovebelow') :addClass(args.belowclass) :cssText(args.basestyle) :cssText(args.belowstyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(processItem(args.below, args.nowrapitems)) end -- -- List rows -- local function renderListRow(tbl, index, listnum) local row = tbl:tag('tr') if index == 1 and args.imageleft then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '1px') -- Minimize width :css('padding', '0px 2px 0px 0px') :cssText(args.imageleftstyle) :attr('rowspan', #listnums) :tag('div') :wikitext(processItem(args.imageleft)) end if args['group' .. listnum] then local groupCell = row:tag('th') -- id for aria-labelledby attribute, if lone group with no title or above if listnum == 1 and not (args.title or args.above or args.group2) then groupCell :attr('id', mw.uri.anchorEncode(args.group1)) end groupCell :attr('scope', 'row') :addClass('navbox-group') :addClass(args.groupclass) :cssText(args.basestyle) :css('width', args.groupwidth or '1%') -- If groupwidth not specified, minimize width groupCell :cssText(args.groupstyle) :cssText(args['group' .. listnum .. 'style']) :wikitext(args['group' .. listnum]) end local listCell = row:tag('td') if args['group' .. listnum] then listCell :css('text-align', 'left') :css('border-left-width', '2px') :css('border-left-style', 'solid') else listCell:attr('colspan', 2) end if not args.groupwidth then listCell:css('width', '100%') end local rowstyle -- usually nil so cssText(rowstyle) usually adds nothing if index % 2 == 1 then rowstyle = args.oddstyle else rowstyle = args.evenstyle end local listText = args['list' .. listnum] local oddEven = ODD_EVEN_MARKER if listText:sub(1, 12) == '</div><table' then -- Assume list text is for a subgroup navbox so no automatic striping for this row. oddEven = listText:find('<th[^>]*"navbox%-title"') and RESTART_MARKER or 'odd' end listCell :css('padding', '0px') :cssText(args.liststyle) :cssText(rowstyle) :cssText(args['list' .. listnum .. 'style']) :addClass('navbox-list') :addClass('navbox-' .. oddEven) :addClass(args.listclass) :tag('div') :css('padding', (index == 1 and args.list1padding) or args.listpadding or '0em 0.25em') :wikitext(processItem(listText, args.nowrapitems)) if index == 1 and args.image then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '1px') -- Minimize width :css('padding', '0px 0px 0px 2px') :cssText(args.imagestyle) :attr('rowspan', #listnums) :tag('div') :wikitext(processItem(args.image)) end end -- -- Tracking categories -- local function needsHorizontalLists() if border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = { ['plainlist'] = true, ['hlist'] = true, ['hlist hnum'] = true, ['hlist hwrap'] = true, ['hlist vcard'] = true, ['vcard hlist'] = true, ['hlist vevent'] = true, } return not (listClasses[args.listclass] or listClasses[args.bodyclass]) end local function hasBackgroundColors() for _, key in ipairs({'titlestyle', 'groupstyle', 'basestyle', 'abovestyle', 'belowstyle'}) do if tostring(args[key]):find('background', 1, true) then return true end end end local function hasBorders() for _, key in ipairs({'groupstyle', 'basestyle', 'abovestyle', 'belowstyle'}) do if tostring(args[key]):find('border', 1, true) then return true end end end local function isIllegible() local styleratio = require('Module:Color contrast')._styleratio for key, style in pairs(args) do if tostring(key):match("style$") then if styleratio{mw.text.unstripNoWiki(style)} < 4.5 then return true end end end return false end local function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end if isIllegible() then table.insert(cats, 'Potentially illegible navboxes') end if hasBorders() then table.insert(cats, 'Navboxes using borders') end return cats end local function renderTrackingCategories(builder) local title = mw.title.getCurrentTitle() if title.namespace ~= 10 then return end -- not in template space local subpage = title.subpageText if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for _, cat in ipairs(getTrackingCategories()) do builder:wikitext('[[Category:' .. cat .. ']]') end end -- -- Main navbox tables -- local function renderMainTable() local tbl = mw.html.create('table') :addClass('nowraplinks') :addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl :addClass('collapsible') :addClass(args.state or 'autocollapse') end tbl:css('border-spacing', 0) if border == 'subgroup' or border == 'none' then tbl :addClass('navbox-subgroup') :cssText(args.bodystyle) :cssText(args.style) else -- regular navbox - bodystyle and style will be applied to the wrapper table tbl :addClass('navbox-inner') :css('background', 'transparent') :css('color', 'inherit') end tbl:cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, i, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, _ in pairs(args) do if type(k) == 'string' then local listnum = k:match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end end table.sort(listnums) border = mw.text.trim(args.border or args[1] or '') if border == 'child' then border = 'subgroup' end -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = mw.html.create() if border == 'none' then local nav = res:tag('div') :attr('role', 'navigation') :node(tbl) -- aria-labelledby title, otherwise above, otherwise lone group if args.title or args.above or (args.group1 and not args.group2) then nav:attr('aria-labelledby', mw.uri.anchorEncode(args.title or args.above or args.group1)) else nav:attr('aria-label', 'Navbox') end elseif border == 'subgroup' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res :wikitext('</div>') :node(tbl) :wikitext('<div>') else local nav = res:tag('div') :attr('role', 'navigation') :addClass('navbox') :cssText(args.bodystyle) :cssText(args.style) :css('padding', '3px') :node(tbl) -- aria-labelledby title, otherwise above, otherwise lone group if args.title or args.above or (args.group1 and not args.group2) then nav:attr('aria-labelledby', mw.uri.anchorEncode(args.title or args.above or args.group1)) else nav:attr('aria-label', 'Navbox') end end renderTrackingCategories(res) return striped(tostring(res)) end function p.navbox(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end args = getArgs(frame, {wrappers = {'Template:Navbox', 'Template:Navbox subgroup'}}) if frame.args.border then -- This allows Template:Navbox_subgroup to use {{#invoke:Navbox|navbox|border=...}}. args.border = frame.args.border end -- Read the arguments in the order they'll be output in, to make references number in the right order. local _ _ = args.title _ = args.above for i = 1, 20 do _ = args["group" .. tostring(i)] _ = args["list" .. tostring(i)] end _ = args.below return p._navbox(args) end return p 71h1exm6qoiv242ux4k3n47nrsn72mn 9920 9919 2018-07-27T13:10:53Z w>Frietjes 0 typo 9920 Scribunto text/plain -- -- This module implements {{Navbox}} -- local p = {} local navbar = require('Module:Navbar')._navbar local getArgs -- lazily initialized local args local border local listnums = {} local ODD_EVEN_MARKER = '\127_ODDEVEN_\127' local RESTART_MARKER = '\127_ODDEVEN0_\127' local REGEX_MARKER = '\127_ODDEVEN(%d?)_\127' local function striped(wikitext) -- Return wikitext with markers replaced for odd/even striping. -- Child (subgroup) navboxes are flagged with a category that is removed -- by parent navboxes. The result is that the category shows all pages -- where a child navbox is not contained in a parent navbox. local orphanCat = '[[Category:Navbox orphans]]' if border == 'subgroup' and args.orphan ~= 'yes' then -- No change; striping occurs in outermost navbox. return wikitext .. orphanCat end local first, second = 'odd', 'even' if args.evenodd then if args.evenodd == 'swap' then first, second = second, first else first = args.evenodd second = first end end local changer if first == second then changer = first else local index = 0 changer = function (code) if code == '0' then -- Current occurrence is for a group before a nested table. -- Set it to first as a valid although pointless class. -- The next occurrence will be the first row after a title -- in a subgroup and will also be first. index = 0 return first end index = index + 1 return index % 2 == 1 and first or second end end local regex = orphanCat:gsub('([%[%]])', '%%%1') return (wikitext:gsub(regex, ''):gsub(REGEX_MARKER, changer)) -- () omits gsub count end local function processItem(item, nowrapitems) if item:sub(1, 2) == '{|' then -- Applying nowrap to lines in a table does not make sense. -- Add newlines to compensate for trim of x in |parm=x in a template. return '\n' .. item ..'\n' end if nowrapitems == 'yes' then local lines = {} for line in (item .. '\n'):gmatch('([^\n]*)\n') do local prefix, content = line:match('^([*:;#]+)%s*(.*)') if prefix and not content:match('^<span class="nowrap">') then line = prefix .. '<span class="nowrap">' .. content .. '</span>' end table.insert(lines, line) end item = table.concat(lines, '\n') end if item:match('^[*:;#]') then return '\n' .. item ..'\n' end return item end local function renderNavBar(titleCell) if args.navbar ~= 'off' and args.navbar ~= 'plain' and not (not args.name and mw.getCurrentFrame():getParent():getTitle():gsub('/sandbox$', '') == 'Template:Navbox') then titleCell:wikitext(navbar{ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none; padding:0;' }) end end -- -- Title row -- local function renderTitleRow(tbl) if not args.title then return end local titleRow = tbl:tag('tr') if args.titlegroup then titleRow :tag('th') :attr('scope', 'row') :addClass('navbox-group') :addClass(args.titlegroupclass) :cssText(args.basestyle) :cssText(args.groupstyle) :cssText(args.titlegroupstyle) :wikitext(args.titlegroup) end local titleCell = titleRow:tag('th'):attr('scope', 'col') if args.titlegroup then titleCell :css('border-left', '2px solid #fdfdfd') :css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell :cssText(args.basestyle) :cssText(args.titlestyle) :addClass('navbox-title') :attr('colspan', titleColspan) renderNavBar(titleCell) titleCell :tag('div') -- id for aria-labelledby attribute :attr('id', mw.uri.anchorEncode(args.title)) :addClass(args.titleclass) :css('font-size', '114%') :css('margin', '0 4em') :wikitext(processItem(args.title)) end -- -- Above/Below rows -- local function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end local function renderAboveRow(tbl) if not args.above then return end tbl:tag('tr') :tag('td') :addClass('navbox-abovebelow') :addClass(args.aboveclass) :cssText(args.basestyle) :cssText(args.abovestyle) :attr('colspan', getAboveBelowColspan()) :tag('div') -- id for aria-labelledby attribute, if no title :attr('id', args.title and nil or mw.uri.anchorEncode(args.above)) :wikitext(processItem(args.above, args.nowrapitems)) end local function renderBelowRow(tbl) if not args.below then return end tbl:tag('tr') :tag('td') :addClass('navbox-abovebelow') :addClass(args.belowclass) :cssText(args.basestyle) :cssText(args.belowstyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(processItem(args.below, args.nowrapitems)) end -- -- List rows -- local function renderListRow(tbl, index, listnum) local row = tbl:tag('tr') if index == 1 and args.imageleft then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '1px') -- Minimize width :css('padding', '0px 2px 0px 0px') :cssText(args.imageleftstyle) :attr('rowspan', #listnums) :tag('div') :wikitext(processItem(args.imageleft)) end if args['group' .. listnum] then local groupCell = row:tag('th') -- id for aria-labelledby attribute, if lone group with no title or above if listnum == 1 and not (args.title or args.above or args.group2) then groupCell :attr('id', mw.uri.anchorEncode(args.group1)) end groupCell :attr('scope', 'row') :addClass('navbox-group') :addClass(args.groupclass) :cssText(args.basestyle) :css('width', args.groupwidth or '1%') -- If groupwidth not specified, minimize width groupCell :cssText(args.groupstyle) :cssText(args['group' .. listnum .. 'style']) :wikitext(args['group' .. listnum]) end local listCell = row:tag('td') if args['group' .. listnum] then listCell :css('text-align', 'left') :css('border-left-width', '2px') :css('border-left-style', 'solid') else listCell:attr('colspan', 2) end if not args.groupwidth then listCell:css('width', '100%') end local rowstyle -- usually nil so cssText(rowstyle) usually adds nothing if index % 2 == 1 then rowstyle = args.oddstyle else rowstyle = args.evenstyle end local listText = args['list' .. listnum] local oddEven = ODD_EVEN_MARKER if listText:sub(1, 12) == '</div><table' then -- Assume list text is for a subgroup navbox so no automatic striping for this row. oddEven = listText:find('<th[^>]*"navbox%-title"') and RESTART_MARKER or 'odd' end listCell :css('padding', '0px') :cssText(args.liststyle) :cssText(rowstyle) :cssText(args['list' .. listnum .. 'style']) :addClass('navbox-list') :addClass('navbox-' .. oddEven) :addClass(args.listclass) :tag('div') :css('padding', (index == 1 and args.list1padding) or args.listpadding or '0em 0.25em') :wikitext(processItem(listText, args.nowrapitems)) if index == 1 and args.image then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '1px') -- Minimize width :css('padding', '0px 0px 0px 2px') :cssText(args.imagestyle) :attr('rowspan', #listnums) :tag('div') :wikitext(processItem(args.image)) end end -- -- Tracking categories -- local function needsHorizontalLists() if border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = { ['plainlist'] = true, ['hlist'] = true, ['hlist hnum'] = true, ['hlist hwrap'] = true, ['hlist vcard'] = true, ['vcard hlist'] = true, ['hlist vevent'] = true, } return not (listClasses[args.listclass] or listClasses[args.bodyclass]) end local function hasBackgroundColors() for _, key in ipairs({'titlestyle', 'groupstyle', 'basestyle', 'abovestyle', 'belowstyle'}) do if tostring(args[key]):find('background', 1, true) then return true end end end local function hasBorders() for _, key in ipairs({'groupstyle', 'basestyle', 'abovestyle', 'belowstyle'}) do if tostring(args[key]):find('border', 1, true) then return true end end end local function isIllegible() local styleratio = require('Module:Color contrast')._styleratio for key, style in pairs(args) do if tostring(key):match("style$") then if styleratio{mw.text.unstripNoWiki(style)} < 4.5 then return true end end end return false end local function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end if isIllegible() then table.insert(cats, 'Potentially illegible navboxes') end if hasBorders() then table.insert(cats, 'Navboxes using borders') end return cats end local function renderTrackingCategories(builder) local title = mw.title.getCurrentTitle() if title.namespace ~= 10 then return end -- not in template space local subpage = title.subpageText if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for _, cat in ipairs(getTrackingCategories()) do builder:wikitext('[[Category:' .. cat .. ']]') end end -- -- Main navbox tables -- local function renderMainTable() local tbl = mw.html.create('table') :addClass('nowraplinks') :addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl :addClass('collapsible') :addClass(args.state or 'autocollapse') end tbl:css('border-spacing', 0) if border == 'subgroup' or border == 'none' then tbl :addClass('navbox-subgroup') :cssText(args.bodystyle) :cssText(args.style) else -- regular navbox - bodystyle and style will be applied to the wrapper table tbl :addClass('navbox-inner') :css('background', 'transparent') :css('color', 'inherit') end tbl:cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, i, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, _ in pairs(args) do if type(k) == 'string' then local listnum = k:match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end end table.sort(listnums) border = mw.text.trim(args.border or args[1] or '') if border == 'child' then border = 'subgroup' end -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = mw.html.create() if border == 'none' then local nav = res:tag('div') :attr('role', 'navigation') :node(tbl) -- aria-labelledby title, otherwise above, otherwise lone group if args.title or args.above or (args.group1 and not args.group2) then nav:attr('aria-labelledby', mw.uri.anchorEncode(args.title or args.above or args.group1)) else nav:attr('aria-label', 'Navbox') end elseif border == 'subgroup' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res :wikitext('</div>') :node(tbl) :wikitext('<div>') else local nav = res:tag('div') :attr('role', 'navigation') :addClass('navbox') :cssText(args.bodystyle) :cssText(args.style) :css('padding', '3px') :node(tbl) -- aria-labelledby title, otherwise above, otherwise lone group if args.title or args.above or (args.group1 and not args.group2) then nav:attr('aria-labelledby', mw.uri.anchorEncode(args.title or args.above or args.group1)) else nav:attr('aria-label', 'Navbox') end end renderTrackingCategories(res) return striped(tostring(res)) end function p.navbox(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end args = getArgs(frame, {wrappers = {'Template:Navbox', 'Template:Navbox subgroup'}}) if frame.args.border then -- This allows Template:Navbox_subgroup to use {{#invoke:Navbox|navbox|border=...}}. args.border = frame.args.border end -- Read the arguments in the order they'll be output in, to make references number in the right order. local _ _ = args.title _ = args.above for i = 1, 20 do _ = args["group" .. tostring(i)] _ = args["list" .. tostring(i)] end _ = args.below return p._navbox(args) end return p nu5v2o7qy8lkltph07dqtlp1u6unvdl 9921 9920 2018-08-22T04:42:54Z w>Johnuniq 0 implement nocat=true per [[Template talk:Navbox#Module:Navbox]] and [[WP:NOCAT]] 9921 Scribunto text/plain -- -- This module implements {{Navbox}} -- local p = {} local navbar = require('Module:Navbar')._navbar local getArgs -- lazily initialized local args local border local listnums = {} local ODD_EVEN_MARKER = '\127_ODDEVEN_\127' local RESTART_MARKER = '\127_ODDEVEN0_\127' local REGEX_MARKER = '\127_ODDEVEN(%d?)_\127' local function striped(wikitext) -- Return wikitext with markers replaced for odd/even striping. -- Child (subgroup) navboxes are flagged with a category that is removed -- by parent navboxes. The result is that the category shows all pages -- where a child navbox is not contained in a parent navbox. local orphanCat = '[[Category:Navbox orphans]]' if border == 'subgroup' and args.orphan ~= 'yes' then -- No change; striping occurs in outermost navbox. return wikitext .. orphanCat end local first, second = 'odd', 'even' if args.evenodd then if args.evenodd == 'swap' then first, second = second, first else first = args.evenodd second = first end end local changer if first == second then changer = first else local index = 0 changer = function (code) if code == '0' then -- Current occurrence is for a group before a nested table. -- Set it to first as a valid although pointless class. -- The next occurrence will be the first row after a title -- in a subgroup and will also be first. index = 0 return first end index = index + 1 return index % 2 == 1 and first or second end end local regex = orphanCat:gsub('([%[%]])', '%%%1') return (wikitext:gsub(regex, ''):gsub(REGEX_MARKER, changer)) -- () omits gsub count end local function processItem(item, nowrapitems) if item:sub(1, 2) == '{|' then -- Applying nowrap to lines in a table does not make sense. -- Add newlines to compensate for trim of x in |parm=x in a template. return '\n' .. item ..'\n' end if nowrapitems == 'yes' then local lines = {} for line in (item .. '\n'):gmatch('([^\n]*)\n') do local prefix, content = line:match('^([*:;#]+)%s*(.*)') if prefix and not content:match('^<span class="nowrap">') then line = prefix .. '<span class="nowrap">' .. content .. '</span>' end table.insert(lines, line) end item = table.concat(lines, '\n') end if item:match('^[*:;#]') then return '\n' .. item ..'\n' end return item end local function renderNavBar(titleCell) if args.navbar ~= 'off' and args.navbar ~= 'plain' and not (not args.name and mw.getCurrentFrame():getParent():getTitle():gsub('/sandbox$', '') == 'Template:Navbox') then titleCell:wikitext(navbar{ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none; padding:0;' }) end end -- -- Title row -- local function renderTitleRow(tbl) if not args.title then return end local titleRow = tbl:tag('tr') if args.titlegroup then titleRow :tag('th') :attr('scope', 'row') :addClass('navbox-group') :addClass(args.titlegroupclass) :cssText(args.basestyle) :cssText(args.groupstyle) :cssText(args.titlegroupstyle) :wikitext(args.titlegroup) end local titleCell = titleRow:tag('th'):attr('scope', 'col') if args.titlegroup then titleCell :css('border-left', '2px solid #fdfdfd') :css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell :cssText(args.basestyle) :cssText(args.titlestyle) :addClass('navbox-title') :attr('colspan', titleColspan) renderNavBar(titleCell) titleCell :tag('div') -- id for aria-labelledby attribute :attr('id', mw.uri.anchorEncode(args.title)) :addClass(args.titleclass) :css('font-size', '114%') :css('margin', '0 4em') :wikitext(processItem(args.title)) end -- -- Above/Below rows -- local function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end local function renderAboveRow(tbl) if not args.above then return end tbl:tag('tr') :tag('td') :addClass('navbox-abovebelow') :addClass(args.aboveclass) :cssText(args.basestyle) :cssText(args.abovestyle) :attr('colspan', getAboveBelowColspan()) :tag('div') -- id for aria-labelledby attribute, if no title :attr('id', args.title and nil or mw.uri.anchorEncode(args.above)) :wikitext(processItem(args.above, args.nowrapitems)) end local function renderBelowRow(tbl) if not args.below then return end tbl:tag('tr') :tag('td') :addClass('navbox-abovebelow') :addClass(args.belowclass) :cssText(args.basestyle) :cssText(args.belowstyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(processItem(args.below, args.nowrapitems)) end -- -- List rows -- local function renderListRow(tbl, index, listnum) local row = tbl:tag('tr') if index == 1 and args.imageleft then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '1px') -- Minimize width :css('padding', '0px 2px 0px 0px') :cssText(args.imageleftstyle) :attr('rowspan', #listnums) :tag('div') :wikitext(processItem(args.imageleft)) end if args['group' .. listnum] then local groupCell = row:tag('th') -- id for aria-labelledby attribute, if lone group with no title or above if listnum == 1 and not (args.title or args.above or args.group2) then groupCell :attr('id', mw.uri.anchorEncode(args.group1)) end groupCell :attr('scope', 'row') :addClass('navbox-group') :addClass(args.groupclass) :cssText(args.basestyle) :css('width', args.groupwidth or '1%') -- If groupwidth not specified, minimize width groupCell :cssText(args.groupstyle) :cssText(args['group' .. listnum .. 'style']) :wikitext(args['group' .. listnum]) end local listCell = row:tag('td') if args['group' .. listnum] then listCell :css('text-align', 'left') :css('border-left-width', '2px') :css('border-left-style', 'solid') else listCell:attr('colspan', 2) end if not args.groupwidth then listCell:css('width', '100%') end local rowstyle -- usually nil so cssText(rowstyle) usually adds nothing if index % 2 == 1 then rowstyle = args.oddstyle else rowstyle = args.evenstyle end local listText = args['list' .. listnum] local oddEven = ODD_EVEN_MARKER if listText:sub(1, 12) == '</div><table' then -- Assume list text is for a subgroup navbox so no automatic striping for this row. oddEven = listText:find('<th[^>]*"navbox%-title"') and RESTART_MARKER or 'odd' end listCell :css('padding', '0px') :cssText(args.liststyle) :cssText(rowstyle) :cssText(args['list' .. listnum .. 'style']) :addClass('navbox-list') :addClass('navbox-' .. oddEven) :addClass(args.listclass) :tag('div') :css('padding', (index == 1 and args.list1padding) or args.listpadding or '0em 0.25em') :wikitext(processItem(listText, args.nowrapitems)) if index == 1 and args.image then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '1px') -- Minimize width :css('padding', '0px 0px 0px 2px') :cssText(args.imagestyle) :attr('rowspan', #listnums) :tag('div') :wikitext(processItem(args.image)) end end -- -- Tracking categories -- local function needsHorizontalLists() if border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = { ['plainlist'] = true, ['hlist'] = true, ['hlist hnum'] = true, ['hlist hwrap'] = true, ['hlist vcard'] = true, ['vcard hlist'] = true, ['hlist vevent'] = true, } return not (listClasses[args.listclass] or listClasses[args.bodyclass]) end local function hasBackgroundColors() for _, key in ipairs({'titlestyle', 'groupstyle', 'basestyle', 'abovestyle', 'belowstyle'}) do if tostring(args[key]):find('background', 1, true) then return true end end end local function hasBorders() for _, key in ipairs({'groupstyle', 'basestyle', 'abovestyle', 'belowstyle'}) do if tostring(args[key]):find('border', 1, true) then return true end end end local function isIllegible() local styleratio = require('Module:Color contrast')._styleratio for key, style in pairs(args) do if tostring(key):match("style$") then if styleratio{mw.text.unstripNoWiki(style)} < 4.5 then return true end end end return false end local function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end if isIllegible() then table.insert(cats, 'Potentially illegible navboxes') end if hasBorders() then table.insert(cats, 'Navboxes using borders') end return cats end local function renderTrackingCategories(builder) local title = mw.title.getCurrentTitle() if title.namespace ~= 10 then return end -- not in template space local subpage = title.subpageText if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for _, cat in ipairs(getTrackingCategories()) do builder:wikitext('[[Category:' .. cat .. ']]') end end -- -- Main navbox tables -- local function renderMainTable() local tbl = mw.html.create('table') :addClass('nowraplinks') :addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl :addClass('collapsible') :addClass(args.state or 'autocollapse') end tbl:css('border-spacing', 0) if border == 'subgroup' or border == 'none' then tbl :addClass('navbox-subgroup') :cssText(args.bodystyle) :cssText(args.style) else -- regular navbox - bodystyle and style will be applied to the wrapper table tbl :addClass('navbox-inner') :css('background', 'transparent') :css('color', 'inherit') end tbl:cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, i, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, _ in pairs(args) do if type(k) == 'string' then local listnum = k:match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end end table.sort(listnums) border = mw.text.trim(args.border or args[1] or '') if border == 'child' then border = 'subgroup' end -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = mw.html.create() if border == 'none' then local nav = res:tag('div') :attr('role', 'navigation') :node(tbl) -- aria-labelledby title, otherwise above, otherwise lone group if args.title or args.above or (args.group1 and not args.group2) then nav:attr('aria-labelledby', mw.uri.anchorEncode(args.title or args.above or args.group1)) else nav:attr('aria-label', 'Navbox') end elseif border == 'subgroup' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res :wikitext('</div>') :node(tbl) :wikitext('<div>') else local nav = res:tag('div') :attr('role', 'navigation') :addClass('navbox') :cssText(args.bodystyle) :cssText(args.style) :css('padding', '3px') :node(tbl) -- aria-labelledby title, otherwise above, otherwise lone group if args.title or args.above or (args.group1 and not args.group2) then nav:attr('aria-labelledby', mw.uri.anchorEncode(args.title or args.above or args.group1)) else nav:attr('aria-label', 'Navbox') end end if (args.nocat or 'false'):lower() ~= 'false' then renderTrackingCategories(res) end return striped(tostring(res)) end function p.navbox(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end args = getArgs(frame, {wrappers = {'Template:Navbox', 'Template:Navbox subgroup'}}) if frame.args.border then -- This allows Template:Navbox_subgroup to use {{#invoke:Navbox|navbox|border=...}}. args.border = frame.args.border end -- Read the arguments in the order they'll be output in, to make references number in the right order. local _ _ = args.title _ = args.above for i = 1, 20 do _ = args["group" .. tostring(i)] _ = args["list" .. tostring(i)] end _ = args.below return p._navbox(args) end return p 4ms0nulnaotz9n5rvkt9s9olhtxnqs9 9922 9921 2018-08-22T04:52:06Z w>Johnuniq 0 fix confusion (a test I did was not correct) 9922 Scribunto text/plain -- -- This module implements {{Navbox}} -- local p = {} local navbar = require('Module:Navbar')._navbar local getArgs -- lazily initialized local args local border local listnums = {} local ODD_EVEN_MARKER = '\127_ODDEVEN_\127' local RESTART_MARKER = '\127_ODDEVEN0_\127' local REGEX_MARKER = '\127_ODDEVEN(%d?)_\127' local function striped(wikitext) -- Return wikitext with markers replaced for odd/even striping. -- Child (subgroup) navboxes are flagged with a category that is removed -- by parent navboxes. The result is that the category shows all pages -- where a child navbox is not contained in a parent navbox. local orphanCat = '[[Category:Navbox orphans]]' if border == 'subgroup' and args.orphan ~= 'yes' then -- No change; striping occurs in outermost navbox. return wikitext .. orphanCat end local first, second = 'odd', 'even' if args.evenodd then if args.evenodd == 'swap' then first, second = second, first else first = args.evenodd second = first end end local changer if first == second then changer = first else local index = 0 changer = function (code) if code == '0' then -- Current occurrence is for a group before a nested table. -- Set it to first as a valid although pointless class. -- The next occurrence will be the first row after a title -- in a subgroup and will also be first. index = 0 return first end index = index + 1 return index % 2 == 1 and first or second end end local regex = orphanCat:gsub('([%[%]])', '%%%1') return (wikitext:gsub(regex, ''):gsub(REGEX_MARKER, changer)) -- () omits gsub count end local function processItem(item, nowrapitems) if item:sub(1, 2) == '{|' then -- Applying nowrap to lines in a table does not make sense. -- Add newlines to compensate for trim of x in |parm=x in a template. return '\n' .. item ..'\n' end if nowrapitems == 'yes' then local lines = {} for line in (item .. '\n'):gmatch('([^\n]*)\n') do local prefix, content = line:match('^([*:;#]+)%s*(.*)') if prefix and not content:match('^<span class="nowrap">') then line = prefix .. '<span class="nowrap">' .. content .. '</span>' end table.insert(lines, line) end item = table.concat(lines, '\n') end if item:match('^[*:;#]') then return '\n' .. item ..'\n' end return item end local function renderNavBar(titleCell) if args.navbar ~= 'off' and args.navbar ~= 'plain' and not (not args.name and mw.getCurrentFrame():getParent():getTitle():gsub('/sandbox$', '') == 'Template:Navbox') then titleCell:wikitext(navbar{ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none; padding:0;' }) end end -- -- Title row -- local function renderTitleRow(tbl) if not args.title then return end local titleRow = tbl:tag('tr') if args.titlegroup then titleRow :tag('th') :attr('scope', 'row') :addClass('navbox-group') :addClass(args.titlegroupclass) :cssText(args.basestyle) :cssText(args.groupstyle) :cssText(args.titlegroupstyle) :wikitext(args.titlegroup) end local titleCell = titleRow:tag('th'):attr('scope', 'col') if args.titlegroup then titleCell :css('border-left', '2px solid #fdfdfd') :css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell :cssText(args.basestyle) :cssText(args.titlestyle) :addClass('navbox-title') :attr('colspan', titleColspan) renderNavBar(titleCell) titleCell :tag('div') -- id for aria-labelledby attribute :attr('id', mw.uri.anchorEncode(args.title)) :addClass(args.titleclass) :css('font-size', '114%') :css('margin', '0 4em') :wikitext(processItem(args.title)) end -- -- Above/Below rows -- local function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end local function renderAboveRow(tbl) if not args.above then return end tbl:tag('tr') :tag('td') :addClass('navbox-abovebelow') :addClass(args.aboveclass) :cssText(args.basestyle) :cssText(args.abovestyle) :attr('colspan', getAboveBelowColspan()) :tag('div') -- id for aria-labelledby attribute, if no title :attr('id', args.title and nil or mw.uri.anchorEncode(args.above)) :wikitext(processItem(args.above, args.nowrapitems)) end local function renderBelowRow(tbl) if not args.below then return end tbl:tag('tr') :tag('td') :addClass('navbox-abovebelow') :addClass(args.belowclass) :cssText(args.basestyle) :cssText(args.belowstyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(processItem(args.below, args.nowrapitems)) end -- -- List rows -- local function renderListRow(tbl, index, listnum) local row = tbl:tag('tr') if index == 1 and args.imageleft then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '1px') -- Minimize width :css('padding', '0px 2px 0px 0px') :cssText(args.imageleftstyle) :attr('rowspan', #listnums) :tag('div') :wikitext(processItem(args.imageleft)) end if args['group' .. listnum] then local groupCell = row:tag('th') -- id for aria-labelledby attribute, if lone group with no title or above if listnum == 1 and not (args.title or args.above or args.group2) then groupCell :attr('id', mw.uri.anchorEncode(args.group1)) end groupCell :attr('scope', 'row') :addClass('navbox-group') :addClass(args.groupclass) :cssText(args.basestyle) :css('width', args.groupwidth or '1%') -- If groupwidth not specified, minimize width groupCell :cssText(args.groupstyle) :cssText(args['group' .. listnum .. 'style']) :wikitext(args['group' .. listnum]) end local listCell = row:tag('td') if args['group' .. listnum] then listCell :css('text-align', 'left') :css('border-left-width', '2px') :css('border-left-style', 'solid') else listCell:attr('colspan', 2) end if not args.groupwidth then listCell:css('width', '100%') end local rowstyle -- usually nil so cssText(rowstyle) usually adds nothing if index % 2 == 1 then rowstyle = args.oddstyle else rowstyle = args.evenstyle end local listText = args['list' .. listnum] local oddEven = ODD_EVEN_MARKER if listText:sub(1, 12) == '</div><table' then -- Assume list text is for a subgroup navbox so no automatic striping for this row. oddEven = listText:find('<th[^>]*"navbox%-title"') and RESTART_MARKER or 'odd' end listCell :css('padding', '0px') :cssText(args.liststyle) :cssText(rowstyle) :cssText(args['list' .. listnum .. 'style']) :addClass('navbox-list') :addClass('navbox-' .. oddEven) :addClass(args.listclass) :tag('div') :css('padding', (index == 1 and args.list1padding) or args.listpadding or '0em 0.25em') :wikitext(processItem(listText, args.nowrapitems)) if index == 1 and args.image then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '1px') -- Minimize width :css('padding', '0px 0px 0px 2px') :cssText(args.imagestyle) :attr('rowspan', #listnums) :tag('div') :wikitext(processItem(args.image)) end end -- -- Tracking categories -- local function needsHorizontalLists() if border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = { ['plainlist'] = true, ['hlist'] = true, ['hlist hnum'] = true, ['hlist hwrap'] = true, ['hlist vcard'] = true, ['vcard hlist'] = true, ['hlist vevent'] = true, } return not (listClasses[args.listclass] or listClasses[args.bodyclass]) end local function hasBackgroundColors() for _, key in ipairs({'titlestyle', 'groupstyle', 'basestyle', 'abovestyle', 'belowstyle'}) do if tostring(args[key]):find('background', 1, true) then return true end end end local function hasBorders() for _, key in ipairs({'groupstyle', 'basestyle', 'abovestyle', 'belowstyle'}) do if tostring(args[key]):find('border', 1, true) then return true end end end local function isIllegible() local styleratio = require('Module:Color contrast')._styleratio for key, style in pairs(args) do if tostring(key):match("style$") then if styleratio{mw.text.unstripNoWiki(style)} < 4.5 then return true end end end return false end local function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end if isIllegible() then table.insert(cats, 'Potentially illegible navboxes') end if hasBorders() then table.insert(cats, 'Navboxes using borders') end return cats end local function renderTrackingCategories(builder) local title = mw.title.getCurrentTitle() if title.namespace ~= 10 then return end -- not in template space local subpage = title.subpageText if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for _, cat in ipairs(getTrackingCategories()) do builder:wikitext('[[Category:' .. cat .. ']]') end end -- -- Main navbox tables -- local function renderMainTable() local tbl = mw.html.create('table') :addClass('nowraplinks') :addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl :addClass('collapsible') :addClass(args.state or 'autocollapse') end tbl:css('border-spacing', 0) if border == 'subgroup' or border == 'none' then tbl :addClass('navbox-subgroup') :cssText(args.bodystyle) :cssText(args.style) else -- regular navbox - bodystyle and style will be applied to the wrapper table tbl :addClass('navbox-inner') :css('background', 'transparent') :css('color', 'inherit') end tbl:cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, i, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, _ in pairs(args) do if type(k) == 'string' then local listnum = k:match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end end table.sort(listnums) border = mw.text.trim(args.border or args[1] or '') if border == 'child' then border = 'subgroup' end -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = mw.html.create() if border == 'none' then local nav = res:tag('div') :attr('role', 'navigation') :node(tbl) -- aria-labelledby title, otherwise above, otherwise lone group if args.title or args.above or (args.group1 and not args.group2) then nav:attr('aria-labelledby', mw.uri.anchorEncode(args.title or args.above or args.group1)) else nav:attr('aria-label', 'Navbox') end elseif border == 'subgroup' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res :wikitext('</div>') :node(tbl) :wikitext('<div>') else local nav = res:tag('div') :attr('role', 'navigation') :addClass('navbox') :cssText(args.bodystyle) :cssText(args.style) :css('padding', '3px') :node(tbl) -- aria-labelledby title, otherwise above, otherwise lone group if args.title or args.above or (args.group1 and not args.group2) then nav:attr('aria-labelledby', mw.uri.anchorEncode(args.title or args.above or args.group1)) else nav:attr('aria-label', 'Navbox') end end if (args.nocat or 'false'):lower() == 'false' then renderTrackingCategories(res) end return striped(tostring(res)) end function p.navbox(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end args = getArgs(frame, {wrappers = {'Template:Navbox', 'Template:Navbox subgroup'}}) if frame.args.border then -- This allows Template:Navbox_subgroup to use {{#invoke:Navbox|navbox|border=...}}. args.border = frame.args.border end -- Read the arguments in the order they'll be output in, to make references number in the right order. local _ _ = args.title _ = args.above for i = 1, 20 do _ = args["group" .. tostring(i)] _ = args["list" .. tostring(i)] end _ = args.below return p._navbox(args) end return p bvvqswts3ohu6ldq3zhoyv2i09dfe8u 9923 9922 2018-10-23T20:47:30Z w>Frietjes 0 optional list1class to allow templatestyles in [[Module:Navbox Canada]] 9923 Scribunto text/plain -- -- This module implements {{Navbox}} -- local p = {} local navbar = require('Module:Navbar')._navbar local getArgs -- lazily initialized local args local border local listnums = {} local ODD_EVEN_MARKER = '\127_ODDEVEN_\127' local RESTART_MARKER = '\127_ODDEVEN0_\127' local REGEX_MARKER = '\127_ODDEVEN(%d?)_\127' local function striped(wikitext) -- Return wikitext with markers replaced for odd/even striping. -- Child (subgroup) navboxes are flagged with a category that is removed -- by parent navboxes. The result is that the category shows all pages -- where a child navbox is not contained in a parent navbox. local orphanCat = '[[Category:Navbox orphans]]' if border == 'subgroup' and args.orphan ~= 'yes' then -- No change; striping occurs in outermost navbox. return wikitext .. orphanCat end local first, second = 'odd', 'even' if args.evenodd then if args.evenodd == 'swap' then first, second = second, first else first = args.evenodd second = first end end local changer if first == second then changer = first else local index = 0 changer = function (code) if code == '0' then -- Current occurrence is for a group before a nested table. -- Set it to first as a valid although pointless class. -- The next occurrence will be the first row after a title -- in a subgroup and will also be first. index = 0 return first end index = index + 1 return index % 2 == 1 and first or second end end local regex = orphanCat:gsub('([%[%]])', '%%%1') return (wikitext:gsub(regex, ''):gsub(REGEX_MARKER, changer)) -- () omits gsub count end local function processItem(item, nowrapitems) if item:sub(1, 2) == '{|' then -- Applying nowrap to lines in a table does not make sense. -- Add newlines to compensate for trim of x in |parm=x in a template. return '\n' .. item ..'\n' end if nowrapitems == 'yes' then local lines = {} for line in (item .. '\n'):gmatch('([^\n]*)\n') do local prefix, content = line:match('^([*:;#]+)%s*(.*)') if prefix and not content:match('^<span class="nowrap">') then line = prefix .. '<span class="nowrap">' .. content .. '</span>' end table.insert(lines, line) end item = table.concat(lines, '\n') end if item:match('^[*:;#]') then return '\n' .. item ..'\n' end return item end local function renderNavBar(titleCell) if args.navbar ~= 'off' and args.navbar ~= 'plain' and not (not args.name and mw.getCurrentFrame():getParent():getTitle():gsub('/sandbox$', '') == 'Template:Navbox') then titleCell:wikitext(navbar{ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none; padding:0;' }) end end -- -- Title row -- local function renderTitleRow(tbl) if not args.title then return end local titleRow = tbl:tag('tr') if args.titlegroup then titleRow :tag('th') :attr('scope', 'row') :addClass('navbox-group') :addClass(args.titlegroupclass) :cssText(args.basestyle) :cssText(args.groupstyle) :cssText(args.titlegroupstyle) :wikitext(args.titlegroup) end local titleCell = titleRow:tag('th'):attr('scope', 'col') if args.titlegroup then titleCell :css('border-left', '2px solid #fdfdfd') :css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell :cssText(args.basestyle) :cssText(args.titlestyle) :addClass('navbox-title') :attr('colspan', titleColspan) renderNavBar(titleCell) titleCell :tag('div') -- id for aria-labelledby attribute :attr('id', mw.uri.anchorEncode(args.title)) :addClass(args.titleclass) :css('font-size', '114%') :css('margin', '0 4em') :wikitext(processItem(args.title)) end -- -- Above/Below rows -- local function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end local function renderAboveRow(tbl) if not args.above then return end tbl:tag('tr') :tag('td') :addClass('navbox-abovebelow') :addClass(args.aboveclass) :cssText(args.basestyle) :cssText(args.abovestyle) :attr('colspan', getAboveBelowColspan()) :tag('div') -- id for aria-labelledby attribute, if no title :attr('id', args.title and nil or mw.uri.anchorEncode(args.above)) :wikitext(processItem(args.above, args.nowrapitems)) end local function renderBelowRow(tbl) if not args.below then return end tbl:tag('tr') :tag('td') :addClass('navbox-abovebelow') :addClass(args.belowclass) :cssText(args.basestyle) :cssText(args.belowstyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(processItem(args.below, args.nowrapitems)) end -- -- List rows -- local function renderListRow(tbl, index, listnum) local row = tbl:tag('tr') if index == 1 and args.imageleft then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '1px') -- Minimize width :css('padding', '0px 2px 0px 0px') :cssText(args.imageleftstyle) :attr('rowspan', #listnums) :tag('div') :wikitext(processItem(args.imageleft)) end if args['group' .. listnum] then local groupCell = row:tag('th') -- id for aria-labelledby attribute, if lone group with no title or above if listnum == 1 and not (args.title or args.above or args.group2) then groupCell :attr('id', mw.uri.anchorEncode(args.group1)) end groupCell :attr('scope', 'row') :addClass('navbox-group') :addClass(args.groupclass) :cssText(args.basestyle) :css('width', args.groupwidth or '1%') -- If groupwidth not specified, minimize width groupCell :cssText(args.groupstyle) :cssText(args['group' .. listnum .. 'style']) :wikitext(args['group' .. listnum]) end local listCell = row:tag('td') if args['group' .. listnum] then listCell :css('text-align', 'left') :css('border-left-width', '2px') :css('border-left-style', 'solid') else listCell:attr('colspan', 2) end if not args.groupwidth then listCell:css('width', '100%') end local rowstyle -- usually nil so cssText(rowstyle) usually adds nothing if index % 2 == 1 then rowstyle = args.oddstyle else rowstyle = args.evenstyle end local listText = args['list' .. listnum] local oddEven = ODD_EVEN_MARKER if listText:sub(1, 12) == '</div><table' then -- Assume list text is for a subgroup navbox so no automatic striping for this row. oddEven = listText:find('<th[^>]*"navbox%-title"') and RESTART_MARKER or 'odd' end listCell :css('padding', '0px') :cssText(args.liststyle) :cssText(rowstyle) :cssText(args['list' .. listnum .. 'style']) :addClass('navbox-list') :addClass('navbox-' .. oddEven) :addClass(args.listclass) :addClass(args['list' .. listnum .. 'class']) :tag('div') :css('padding', (index == 1 and args.list1padding) or args.listpadding or '0em 0.25em') :wikitext(processItem(listText, args.nowrapitems)) if index == 1 and args.image then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '1px') -- Minimize width :css('padding', '0px 0px 0px 2px') :cssText(args.imagestyle) :attr('rowspan', #listnums) :tag('div') :wikitext(processItem(args.image)) end end -- -- Tracking categories -- local function needsHorizontalLists() if border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = { ['plainlist'] = true, ['hlist'] = true, ['hlist hnum'] = true, ['hlist hwrap'] = true, ['hlist vcard'] = true, ['vcard hlist'] = true, ['hlist vevent'] = true, } return not (listClasses[args.listclass] or listClasses[args.bodyclass]) end local function hasBackgroundColors() for _, key in ipairs({'titlestyle', 'groupstyle', 'basestyle', 'abovestyle', 'belowstyle'}) do if tostring(args[key]):find('background', 1, true) then return true end end end local function hasBorders() for _, key in ipairs({'groupstyle', 'basestyle', 'abovestyle', 'belowstyle'}) do if tostring(args[key]):find('border', 1, true) then return true end end end local function isIllegible() local styleratio = require('Module:Color contrast')._styleratio for key, style in pairs(args) do if tostring(key):match("style$") then if styleratio{mw.text.unstripNoWiki(style)} < 4.5 then return true end end end return false end local function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end if isIllegible() then table.insert(cats, 'Potentially illegible navboxes') end if hasBorders() then table.insert(cats, 'Navboxes using borders') end return cats end local function renderTrackingCategories(builder) local title = mw.title.getCurrentTitle() if title.namespace ~= 10 then return end -- not in template space local subpage = title.subpageText if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for _, cat in ipairs(getTrackingCategories()) do builder:wikitext('[[Category:' .. cat .. ']]') end end -- -- Main navbox tables -- local function renderMainTable() local tbl = mw.html.create('table') :addClass('nowraplinks') :addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl :addClass('collapsible') :addClass(args.state or 'autocollapse') end tbl:css('border-spacing', 0) if border == 'subgroup' or border == 'none' then tbl :addClass('navbox-subgroup') :cssText(args.bodystyle) :cssText(args.style) else -- regular navbox - bodystyle and style will be applied to the wrapper table tbl :addClass('navbox-inner') :css('background', 'transparent') :css('color', 'inherit') end tbl:cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, i, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, _ in pairs(args) do if type(k) == 'string' then local listnum = k:match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end end table.sort(listnums) border = mw.text.trim(args.border or args[1] or '') if border == 'child' then border = 'subgroup' end -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = mw.html.create() if border == 'none' then local nav = res:tag('div') :attr('role', 'navigation') :node(tbl) -- aria-labelledby title, otherwise above, otherwise lone group if args.title or args.above or (args.group1 and not args.group2) then nav:attr('aria-labelledby', mw.uri.anchorEncode(args.title or args.above or args.group1)) else nav:attr('aria-label', 'Navbox') end elseif border == 'subgroup' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res :wikitext('</div>') :node(tbl) :wikitext('<div>') else local nav = res:tag('div') :attr('role', 'navigation') :addClass('navbox') :cssText(args.bodystyle) :cssText(args.style) :css('padding', '3px') :node(tbl) -- aria-labelledby title, otherwise above, otherwise lone group if args.title or args.above or (args.group1 and not args.group2) then nav:attr('aria-labelledby', mw.uri.anchorEncode(args.title or args.above or args.group1)) else nav:attr('aria-label', 'Navbox') end end if (args.nocat or 'false'):lower() == 'false' then renderTrackingCategories(res) end return striped(tostring(res)) end function p.navbox(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end args = getArgs(frame, {wrappers = {'Template:Navbox', 'Template:Navbox subgroup'}}) if frame.args.border then -- This allows Template:Navbox_subgroup to use {{#invoke:Navbox|navbox|border=...}}. args.border = frame.args.border end -- Read the arguments in the order they'll be output in, to make references number in the right order. local _ _ = args.title _ = args.above for i = 1, 20 do _ = args["group" .. tostring(i)] _ = args["list" .. tostring(i)] end _ = args.below return p._navbox(args) end return p s6051h7itvuyod3hww03zyn6uhj01ru 9924 9923 2018-10-26T16:03:01Z w>Frietjes 0 per discussion at [[WT:Lua]], this needs to be initialized in a non-global context 9924 Scribunto text/plain -- -- This module implements {{Navbox}} -- local p = {} local navbar = require('Module:Navbar')._navbar local getArgs -- lazily initialized local args local border local listnums local ODD_EVEN_MARKER = '\127_ODDEVEN_\127' local RESTART_MARKER = '\127_ODDEVEN0_\127' local REGEX_MARKER = '\127_ODDEVEN(%d?)_\127' local function striped(wikitext) -- Return wikitext with markers replaced for odd/even striping. -- Child (subgroup) navboxes are flagged with a category that is removed -- by parent navboxes. The result is that the category shows all pages -- where a child navbox is not contained in a parent navbox. local orphanCat = '[[Category:Navbox orphans]]' if border == 'subgroup' and args.orphan ~= 'yes' then -- No change; striping occurs in outermost navbox. return wikitext .. orphanCat end local first, second = 'odd', 'even' if args.evenodd then if args.evenodd == 'swap' then first, second = second, first else first = args.evenodd second = first end end local changer if first == second then changer = first else local index = 0 changer = function (code) if code == '0' then -- Current occurrence is for a group before a nested table. -- Set it to first as a valid although pointless class. -- The next occurrence will be the first row after a title -- in a subgroup and will also be first. index = 0 return first end index = index + 1 return index % 2 == 1 and first or second end end local regex = orphanCat:gsub('([%[%]])', '%%%1') return (wikitext:gsub(regex, ''):gsub(REGEX_MARKER, changer)) -- () omits gsub count end local function processItem(item, nowrapitems) if item:sub(1, 2) == '{|' then -- Applying nowrap to lines in a table does not make sense. -- Add newlines to compensate for trim of x in |parm=x in a template. return '\n' .. item ..'\n' end if nowrapitems == 'yes' then local lines = {} for line in (item .. '\n'):gmatch('([^\n]*)\n') do local prefix, content = line:match('^([*:;#]+)%s*(.*)') if prefix and not content:match('^<span class="nowrap">') then line = prefix .. '<span class="nowrap">' .. content .. '</span>' end table.insert(lines, line) end item = table.concat(lines, '\n') end if item:match('^[*:;#]') then return '\n' .. item ..'\n' end return item end local function renderNavBar(titleCell) if args.navbar ~= 'off' and args.navbar ~= 'plain' and not (not args.name and mw.getCurrentFrame():getParent():getTitle():gsub('/sandbox$', '') == 'Template:Navbox') then titleCell:wikitext(navbar{ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none; padding:0;' }) end end -- -- Title row -- local function renderTitleRow(tbl) if not args.title then return end local titleRow = tbl:tag('tr') if args.titlegroup then titleRow :tag('th') :attr('scope', 'row') :addClass('navbox-group') :addClass(args.titlegroupclass) :cssText(args.basestyle) :cssText(args.groupstyle) :cssText(args.titlegroupstyle) :wikitext(args.titlegroup) end local titleCell = titleRow:tag('th'):attr('scope', 'col') if args.titlegroup then titleCell :css('border-left', '2px solid #fdfdfd') :css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell :cssText(args.basestyle) :cssText(args.titlestyle) :addClass('navbox-title') :attr('colspan', titleColspan) renderNavBar(titleCell) titleCell :tag('div') -- id for aria-labelledby attribute :attr('id', mw.uri.anchorEncode(args.title)) :addClass(args.titleclass) :css('font-size', '114%') :css('margin', '0 4em') :wikitext(processItem(args.title)) end -- -- Above/Below rows -- local function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end local function renderAboveRow(tbl) if not args.above then return end tbl:tag('tr') :tag('td') :addClass('navbox-abovebelow') :addClass(args.aboveclass) :cssText(args.basestyle) :cssText(args.abovestyle) :attr('colspan', getAboveBelowColspan()) :tag('div') -- id for aria-labelledby attribute, if no title :attr('id', args.title and nil or mw.uri.anchorEncode(args.above)) :wikitext(processItem(args.above, args.nowrapitems)) end local function renderBelowRow(tbl) if not args.below then return end tbl:tag('tr') :tag('td') :addClass('navbox-abovebelow') :addClass(args.belowclass) :cssText(args.basestyle) :cssText(args.belowstyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(processItem(args.below, args.nowrapitems)) end -- -- List rows -- local function renderListRow(tbl, index, listnum) local row = tbl:tag('tr') if index == 1 and args.imageleft then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '1px') -- Minimize width :css('padding', '0px 2px 0px 0px') :cssText(args.imageleftstyle) :attr('rowspan', #listnums) :tag('div') :wikitext(processItem(args.imageleft)) end if args['group' .. listnum] then local groupCell = row:tag('th') -- id for aria-labelledby attribute, if lone group with no title or above if listnum == 1 and not (args.title or args.above or args.group2) then groupCell :attr('id', mw.uri.anchorEncode(args.group1)) end groupCell :attr('scope', 'row') :addClass('navbox-group') :addClass(args.groupclass) :cssText(args.basestyle) :css('width', args.groupwidth or '1%') -- If groupwidth not specified, minimize width groupCell :cssText(args.groupstyle) :cssText(args['group' .. listnum .. 'style']) :wikitext(args['group' .. listnum]) end local listCell = row:tag('td') if args['group' .. listnum] then listCell :css('text-align', 'left') :css('border-left-width', '2px') :css('border-left-style', 'solid') else listCell:attr('colspan', 2) end if not args.groupwidth then listCell:css('width', '100%') end local rowstyle -- usually nil so cssText(rowstyle) usually adds nothing if index % 2 == 1 then rowstyle = args.oddstyle else rowstyle = args.evenstyle end local listText = args['list' .. listnum] local oddEven = ODD_EVEN_MARKER if listText:sub(1, 12) == '</div><table' then -- Assume list text is for a subgroup navbox so no automatic striping for this row. oddEven = listText:find('<th[^>]*"navbox%-title"') and RESTART_MARKER or 'odd' end listCell :css('padding', '0px') :cssText(args.liststyle) :cssText(rowstyle) :cssText(args['list' .. listnum .. 'style']) :addClass('navbox-list') :addClass('navbox-' .. oddEven) :addClass(args.listclass) :addClass(args['list' .. listnum .. 'class']) :tag('div') :css('padding', (index == 1 and args.list1padding) or args.listpadding or '0em 0.25em') :wikitext(processItem(listText, args.nowrapitems)) if index == 1 and args.image then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '1px') -- Minimize width :css('padding', '0px 0px 0px 2px') :cssText(args.imagestyle) :attr('rowspan', #listnums) :tag('div') :wikitext(processItem(args.image)) end end -- -- Tracking categories -- local function needsHorizontalLists() if border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = { ['plainlist'] = true, ['hlist'] = true, ['hlist hnum'] = true, ['hlist hwrap'] = true, ['hlist vcard'] = true, ['vcard hlist'] = true, ['hlist vevent'] = true, } return not (listClasses[args.listclass] or listClasses[args.bodyclass]) end local function hasBackgroundColors() for _, key in ipairs({'titlestyle', 'groupstyle', 'basestyle', 'abovestyle', 'belowstyle'}) do if tostring(args[key]):find('background', 1, true) then return true end end end local function hasBorders() for _, key in ipairs({'groupstyle', 'basestyle', 'abovestyle', 'belowstyle'}) do if tostring(args[key]):find('border', 1, true) then return true end end end local function isIllegible() local styleratio = require('Module:Color contrast')._styleratio for key, style in pairs(args) do if tostring(key):match("style$") then if styleratio{mw.text.unstripNoWiki(style)} < 4.5 then return true end end end return false end local function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end if isIllegible() then table.insert(cats, 'Potentially illegible navboxes') end if hasBorders() then table.insert(cats, 'Navboxes using borders') end return cats end local function renderTrackingCategories(builder) local title = mw.title.getCurrentTitle() if title.namespace ~= 10 then return end -- not in template space local subpage = title.subpageText if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for _, cat in ipairs(getTrackingCategories()) do builder:wikitext('[[Category:' .. cat .. ']]') end end -- -- Main navbox tables -- local function renderMainTable() local tbl = mw.html.create('table') :addClass('nowraplinks') :addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl :addClass('collapsible') :addClass(args.state or 'autocollapse') end tbl:css('border-spacing', 0) if border == 'subgroup' or border == 'none' then tbl :addClass('navbox-subgroup') :cssText(args.bodystyle) :cssText(args.style) else -- regular navbox - bodystyle and style will be applied to the wrapper table tbl :addClass('navbox-inner') :css('background', 'transparent') :css('color', 'inherit') end tbl:cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, i, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs listnums = {} for k, _ in pairs(args) do if type(k) == 'string' then local listnum = k:match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end end table.sort(listnums) border = mw.text.trim(args.border or args[1] or '') if border == 'child' then border = 'subgroup' end -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = mw.html.create() if border == 'none' then local nav = res:tag('div') :attr('role', 'navigation') :node(tbl) -- aria-labelledby title, otherwise above, otherwise lone group if args.title or args.above or (args.group1 and not args.group2) then nav:attr('aria-labelledby', mw.uri.anchorEncode(args.title or args.above or args.group1)) else nav:attr('aria-label', 'Navbox') end elseif border == 'subgroup' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res :wikitext('</div>') :node(tbl) :wikitext('<div>') else local nav = res:tag('div') :attr('role', 'navigation') :addClass('navbox') :cssText(args.bodystyle) :cssText(args.style) :css('padding', '3px') :node(tbl) -- aria-labelledby title, otherwise above, otherwise lone group if args.title or args.above or (args.group1 and not args.group2) then nav:attr('aria-labelledby', mw.uri.anchorEncode(args.title or args.above or args.group1)) else nav:attr('aria-label', 'Navbox') end end if (args.nocat or 'false'):lower() == 'false' then renderTrackingCategories(res) end return striped(tostring(res)) end function p.navbox(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end args = getArgs(frame, {wrappers = {'Template:Navbox', 'Template:Navbox subgroup'}}) if frame.args.border then -- This allows Template:Navbox_subgroup to use {{#invoke:Navbox|navbox|border=...}}. args.border = frame.args.border end -- Read the arguments in the order they'll be output in, to make references number in the right order. local _ _ = args.title _ = args.above for i = 1, 20 do _ = args["group" .. tostring(i)] _ = args["list" .. tostring(i)] end _ = args.below return p._navbox(args) end return p qv8pilaj6uoy41mifmya94jyra7xe3p 9925 9924 2019-08-10T17:25:34Z w>Frietjes 0 per request on talk page 9925 Scribunto text/plain -- -- This module implements {{Navbox}} -- local p = {} local navbar = require('Module:Navbar')._navbar local getArgs -- lazily initialized local args local border local listnums local ODD_EVEN_MARKER = '\127_ODDEVEN_\127' local RESTART_MARKER = '\127_ODDEVEN0_\127' local REGEX_MARKER = '\127_ODDEVEN(%d?)_\127' local function striped(wikitext) -- Return wikitext with markers replaced for odd/even striping. -- Child (subgroup) navboxes are flagged with a category that is removed -- by parent navboxes. The result is that the category shows all pages -- where a child navbox is not contained in a parent navbox. local orphanCat = '[[Category:Navbox orphans]]' if border == 'subgroup' and args.orphan ~= 'yes' then -- No change; striping occurs in outermost navbox. return wikitext .. orphanCat end local first, second = 'odd', 'even' if args.evenodd then if args.evenodd == 'swap' then first, second = second, first else first = args.evenodd second = first end end local changer if first == second then changer = first else local index = 0 changer = function (code) if code == '0' then -- Current occurrence is for a group before a nested table. -- Set it to first as a valid although pointless class. -- The next occurrence will be the first row after a title -- in a subgroup and will also be first. index = 0 return first end index = index + 1 return index % 2 == 1 and first or second end end local regex = orphanCat:gsub('([%[%]])', '%%%1') return (wikitext:gsub(regex, ''):gsub(REGEX_MARKER, changer)) -- () omits gsub count end local function processItem(item, nowrapitems) if item:sub(1, 2) == '{|' then -- Applying nowrap to lines in a table does not make sense. -- Add newlines to compensate for trim of x in |parm=x in a template. return '\n' .. item ..'\n' end if nowrapitems == 'yes' then local lines = {} for line in (item .. '\n'):gmatch('([^\n]*)\n') do local prefix, content = line:match('^([*:;#]+)%s*(.*)') if prefix and not content:match('^<span class="nowrap">') then line = prefix .. '<span class="nowrap">' .. content .. '</span>' end table.insert(lines, line) end item = table.concat(lines, '\n') end if item:match('^[*:;#]') then return '\n' .. item ..'\n' end return item end local function renderNavBar(titleCell) if args.navbar ~= 'off' and args.navbar ~= 'plain' and not (not args.name and mw.getCurrentFrame():getParent():getTitle():gsub('/sandbox$', '') == 'Template:Navbox') then titleCell:wikitext(navbar{ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none; padding:0;' }) end end -- -- Title row -- local function renderTitleRow(tbl) if not args.title then return end local titleRow = tbl:tag('tr') if args.titlegroup then titleRow :tag('th') :attr('scope', 'row') :addClass('navbox-group') :addClass(args.titlegroupclass) :cssText(args.basestyle) :cssText(args.groupstyle) :cssText(args.titlegroupstyle) :wikitext(args.titlegroup) end local titleCell = titleRow:tag('th'):attr('scope', 'col') if args.titlegroup then titleCell :css('border-left', '2px solid #fdfdfd') :css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell :cssText(args.basestyle) :cssText(args.titlestyle) :addClass('navbox-title') :attr('colspan', titleColspan) renderNavBar(titleCell) titleCell :tag('div') -- id for aria-labelledby attribute :attr('id', mw.uri.anchorEncode(args.title)) :addClass(args.titleclass) :css('font-size', '114%') :css('margin', '0 4em') :wikitext(processItem(args.title)) end -- -- Above/Below rows -- local function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end local function renderAboveRow(tbl) if not args.above then return end tbl:tag('tr') :tag('td') :addClass('navbox-abovebelow') :addClass(args.aboveclass) :cssText(args.basestyle) :cssText(args.abovestyle) :attr('colspan', getAboveBelowColspan()) :tag('div') -- id for aria-labelledby attribute, if no title :attr('id', args.title and nil or mw.uri.anchorEncode(args.above)) :wikitext(processItem(args.above, args.nowrapitems)) end local function renderBelowRow(tbl) if not args.below then return end tbl:tag('tr') :tag('td') :addClass('navbox-abovebelow') :addClass(args.belowclass) :cssText(args.basestyle) :cssText(args.belowstyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(processItem(args.below, args.nowrapitems)) end -- -- List rows -- local function renderListRow(tbl, index, listnum) local row = tbl:tag('tr') if index == 1 and args.imageleft then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '1px') -- Minimize width :css('padding', '0px 2px 0px 0px') :cssText(args.imageleftstyle) :attr('rowspan', #listnums) :tag('div') :wikitext(processItem(args.imageleft)) end if args['group' .. listnum] then local groupCell = row:tag('th') -- id for aria-labelledby attribute, if lone group with no title or above if listnum == 1 and not (args.title or args.above or args.group2) then groupCell :attr('id', mw.uri.anchorEncode(args.group1)) end groupCell :attr('scope', 'row') :addClass('navbox-group') :addClass(args.groupclass) :cssText(args.basestyle) :css('width', args.groupwidth or '1%') -- If groupwidth not specified, minimize width groupCell :cssText(args.groupstyle) :cssText(args['group' .. listnum .. 'style']) :wikitext(args['group' .. listnum]) end local listCell = row:tag('td') if args['group' .. listnum] then listCell :css('text-align', 'left') :css('border-left-width', '2px') :css('border-left-style', 'solid') else listCell:attr('colspan', 2) end if not args.groupwidth then listCell:css('width', '100%') end local rowstyle -- usually nil so cssText(rowstyle) usually adds nothing if index % 2 == 1 then rowstyle = args.oddstyle else rowstyle = args.evenstyle end local listText = args['list' .. listnum] local oddEven = ODD_EVEN_MARKER if listText:sub(1, 12) == '</div><table' then -- Assume list text is for a subgroup navbox so no automatic striping for this row. oddEven = listText:find('<th[^>]*"navbox%-title"') and RESTART_MARKER or 'odd' end listCell :css('padding', '0px') :cssText(args.liststyle) :cssText(rowstyle) :cssText(args['list' .. listnum .. 'style']) :addClass('navbox-list') :addClass('navbox-' .. oddEven) :addClass(args.listclass) :addClass(args['list' .. listnum .. 'class']) :tag('div') :css('padding', (index == 1 and args.list1padding) or args.listpadding or '0em 0.25em') :wikitext(processItem(listText, args.nowrapitems)) if index == 1 and args.image then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '1px') -- Minimize width :css('padding', '0px 0px 0px 2px') :cssText(args.imagestyle) :attr('rowspan', #listnums) :tag('div') :wikitext(processItem(args.image)) end end -- -- Tracking categories -- local function needsHorizontalLists() if border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = { ['plainlist'] = true, ['hlist'] = true, ['hlist hnum'] = true, ['hlist hwrap'] = true, ['hlist vcard'] = true, ['vcard hlist'] = true, ['hlist vevent'] = true, } return not (listClasses[args.listclass] or listClasses[args.bodyclass]) end local function hasBackgroundColors() for _, key in ipairs({'titlestyle', 'groupstyle', 'basestyle', 'abovestyle', 'belowstyle'}) do if tostring(args[key]):find('background', 1, true) then return true end end end local function hasBorders() for _, key in ipairs({'groupstyle', 'basestyle', 'abovestyle', 'belowstyle'}) do if tostring(args[key]):find('border', 1, true) then return true end end end local function isIllegible() local styleratio = require('Module:Color contrast')._styleratio for key, style in pairs(args) do if tostring(key):match("style$") then if styleratio{mw.text.unstripNoWiki(style)} < 4.5 then return true end end end return false end local function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end if isIllegible() then table.insert(cats, 'Potentially illegible navboxes') end if hasBorders() then table.insert(cats, 'Navboxes using borders') end return cats end local function renderTrackingCategories(builder) local title = mw.title.getCurrentTitle() if title.namespace ~= 10 then return end -- not in template space local subpage = title.subpageText if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for _, cat in ipairs(getTrackingCategories()) do builder:wikitext('[[Category:' .. cat .. ']]') end end -- -- Main navbox tables -- local function renderMainTable() local tbl = mw.html.create('table') :addClass('nowraplinks') :addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then tbl :addClass('collapsible') :addClass(args.state or 'autocollapse') end tbl:css('border-spacing', 0) if border == 'subgroup' or border == 'none' then tbl :addClass('navbox-subgroup') :cssText(args.bodystyle) :cssText(args.style) else -- regular navbox - bodystyle and style will be applied to the wrapper table tbl :addClass('navbox-inner') :css('background', 'transparent') :css('color', 'inherit') end tbl:cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, i, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs listnums = {} for k, _ in pairs(args) do if type(k) == 'string' then local listnum = k:match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end end table.sort(listnums) border = mw.text.trim(args.border or args[1] or '') if border == 'child' then border = 'subgroup' end -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = mw.html.create() if border == 'none' then local nav = res:tag('div') :attr('role', 'navigation') :node(tbl) -- aria-labelledby title, otherwise above, otherwise lone group if args.title or args.above or (args.group1 and not args.group2) then nav:attr('aria-labelledby', mw.uri.anchorEncode(args.title or args.above or args.group1)) else nav:attr('aria-label', 'Navbox') end elseif border == 'subgroup' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res :wikitext('</div>') :node(tbl) :wikitext('<div>') else local nav = res:tag('div') :attr('role', 'navigation') :addClass('navbox') :addClass(args.navboxclass) :cssText(args.bodystyle) :cssText(args.style) :css('padding', '3px') :node(tbl) -- aria-labelledby title, otherwise above, otherwise lone group if args.title or args.above or (args.group1 and not args.group2) then nav:attr('aria-labelledby', mw.uri.anchorEncode(args.title or args.above or args.group1)) else nav:attr('aria-label', 'Navbox') end end if (args.nocat or 'false'):lower() == 'false' then renderTrackingCategories(res) end return striped(tostring(res)) end function p.navbox(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end args = getArgs(frame, {wrappers = {'Template:Navbox', 'Template:Navbox subgroup'}}) if frame.args.border then -- This allows Template:Navbox_subgroup to use {{#invoke:Navbox|navbox|border=...}}. args.border = frame.args.border end -- Read the arguments in the order they'll be output in, to make references number in the right order. local _ _ = args.title _ = args.above for i = 1, 20 do _ = args["group" .. tostring(i)] _ = args["list" .. tostring(i)] end _ = args.below return p._navbox(args) end return p 0ndhe77fbc0rr1kcpf6axitp7hee0mc 9926 9925 2019-08-18T17:49:23Z w>Izno 0 per tper 9926 Scribunto text/plain -- -- This module implements {{Navbox}} -- local p = {} local navbar = require('Module:Navbar')._navbar local getArgs -- lazily initialized local args local border local listnums local ODD_EVEN_MARKER = '\127_ODDEVEN_\127' local RESTART_MARKER = '\127_ODDEVEN0_\127' local REGEX_MARKER = '\127_ODDEVEN(%d?)_\127' local function striped(wikitext) -- Return wikitext with markers replaced for odd/even striping. -- Child (subgroup) navboxes are flagged with a category that is removed -- by parent navboxes. The result is that the category shows all pages -- where a child navbox is not contained in a parent navbox. local orphanCat = '[[Category:Navbox orphans]]' if border == 'subgroup' and args.orphan ~= 'yes' then -- No change; striping occurs in outermost navbox. return wikitext .. orphanCat end local first, second = 'odd', 'even' if args.evenodd then if args.evenodd == 'swap' then first, second = second, first else first = args.evenodd second = first end end local changer if first == second then changer = first else local index = 0 changer = function (code) if code == '0' then -- Current occurrence is for a group before a nested table. -- Set it to first as a valid although pointless class. -- The next occurrence will be the first row after a title -- in a subgroup and will also be first. index = 0 return first end index = index + 1 return index % 2 == 1 and first or second end end local regex = orphanCat:gsub('([%[%]])', '%%%1') return (wikitext:gsub(regex, ''):gsub(REGEX_MARKER, changer)) -- () omits gsub count end local function processItem(item, nowrapitems) if item:sub(1, 2) == '{|' then -- Applying nowrap to lines in a table does not make sense. -- Add newlines to compensate for trim of x in |parm=x in a template. return '\n' .. item ..'\n' end if nowrapitems == 'yes' then local lines = {} for line in (item .. '\n'):gmatch('([^\n]*)\n') do local prefix, content = line:match('^([*:;#]+)%s*(.*)') if prefix and not content:match('^<span class="nowrap">') then line = prefix .. '<span class="nowrap">' .. content .. '</span>' end table.insert(lines, line) end item = table.concat(lines, '\n') end if item:match('^[*:;#]') then return '\n' .. item ..'\n' end return item end local function renderNavBar(titleCell) if args.navbar ~= 'off' and args.navbar ~= 'plain' and not (not args.name and mw.getCurrentFrame():getParent():getTitle():gsub('/sandbox$', '') == 'Template:Navbox') then titleCell:wikitext(navbar{ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none; padding:0;' }) end end -- -- Title row -- local function renderTitleRow(tbl) if not args.title then return end local titleRow = tbl:tag('tr') if args.titlegroup then titleRow :tag('th') :attr('scope', 'row') :addClass('navbox-group') :addClass(args.titlegroupclass) :cssText(args.basestyle) :cssText(args.groupstyle) :cssText(args.titlegroupstyle) :wikitext(args.titlegroup) end local titleCell = titleRow:tag('th'):attr('scope', 'col') if args.titlegroup then titleCell :css('border-left', '2px solid #fdfdfd') :css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell :cssText(args.basestyle) :cssText(args.titlestyle) :addClass('navbox-title') :attr('colspan', titleColspan) renderNavBar(titleCell) titleCell :tag('div') -- id for aria-labelledby attribute :attr('id', mw.uri.anchorEncode(args.title)) :addClass(args.titleclass) :css('font-size', '114%') :css('margin', '0 4em') :wikitext(processItem(args.title)) end -- -- Above/Below rows -- local function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end local function renderAboveRow(tbl) if not args.above then return end tbl:tag('tr') :tag('td') :addClass('navbox-abovebelow') :addClass(args.aboveclass) :cssText(args.basestyle) :cssText(args.abovestyle) :attr('colspan', getAboveBelowColspan()) :tag('div') -- id for aria-labelledby attribute, if no title :attr('id', args.title and nil or mw.uri.anchorEncode(args.above)) :wikitext(processItem(args.above, args.nowrapitems)) end local function renderBelowRow(tbl) if not args.below then return end tbl:tag('tr') :tag('td') :addClass('navbox-abovebelow') :addClass(args.belowclass) :cssText(args.basestyle) :cssText(args.belowstyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(processItem(args.below, args.nowrapitems)) end -- -- List rows -- local function renderListRow(tbl, index, listnum) local row = tbl:tag('tr') if index == 1 and args.imageleft then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '1px') -- Minimize width :css('padding', '0px 2px 0px 0px') :cssText(args.imageleftstyle) :attr('rowspan', #listnums) :tag('div') :wikitext(processItem(args.imageleft)) end if args['group' .. listnum] then local groupCell = row:tag('th') -- id for aria-labelledby attribute, if lone group with no title or above if listnum == 1 and not (args.title or args.above or args.group2) then groupCell :attr('id', mw.uri.anchorEncode(args.group1)) end groupCell :attr('scope', 'row') :addClass('navbox-group') :addClass(args.groupclass) :cssText(args.basestyle) :css('width', args.groupwidth or '1%') -- If groupwidth not specified, minimize width groupCell :cssText(args.groupstyle) :cssText(args['group' .. listnum .. 'style']) :wikitext(args['group' .. listnum]) end local listCell = row:tag('td') if args['group' .. listnum] then listCell :css('text-align', 'left') :css('border-left-width', '2px') :css('border-left-style', 'solid') else listCell:attr('colspan', 2) end if not args.groupwidth then listCell:css('width', '100%') end local rowstyle -- usually nil so cssText(rowstyle) usually adds nothing if index % 2 == 1 then rowstyle = args.oddstyle else rowstyle = args.evenstyle end local listText = args['list' .. listnum] local oddEven = ODD_EVEN_MARKER if listText:sub(1, 12) == '</div><table' then -- Assume list text is for a subgroup navbox so no automatic striping for this row. oddEven = listText:find('<th[^>]*"navbox%-title"') and RESTART_MARKER or 'odd' end listCell :css('padding', '0px') :cssText(args.liststyle) :cssText(rowstyle) :cssText(args['list' .. listnum .. 'style']) :addClass('navbox-list') :addClass('navbox-' .. oddEven) :addClass(args.listclass) :addClass(args['list' .. listnum .. 'class']) :tag('div') :css('padding', (index == 1 and args.list1padding) or args.listpadding or '0em 0.25em') :wikitext(processItem(listText, args.nowrapitems)) if index == 1 and args.image then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '1px') -- Minimize width :css('padding', '0px 0px 0px 2px') :cssText(args.imagestyle) :attr('rowspan', #listnums) :tag('div') :wikitext(processItem(args.image)) end end -- -- Tracking categories -- local function needsHorizontalLists() if border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = { ['plainlist'] = true, ['hlist'] = true, ['hlist hnum'] = true, ['hlist hwrap'] = true, ['hlist vcard'] = true, ['vcard hlist'] = true, ['hlist vevent'] = true, } return not (listClasses[args.listclass] or listClasses[args.bodyclass]) end local function hasBackgroundColors() for _, key in ipairs({'titlestyle', 'groupstyle', 'basestyle', 'abovestyle', 'belowstyle'}) do if tostring(args[key]):find('background', 1, true) then return true end end end local function hasBorders() for _, key in ipairs({'groupstyle', 'basestyle', 'abovestyle', 'belowstyle'}) do if tostring(args[key]):find('border', 1, true) then return true end end end local function isIllegible() local styleratio = require('Module:Color contrast')._styleratio for key, style in pairs(args) do if tostring(key):match("style$") then if styleratio{mw.text.unstripNoWiki(style)} < 4.5 then return true end end end return false end local function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end if isIllegible() then table.insert(cats, 'Potentially illegible navboxes') end if hasBorders() then table.insert(cats, 'Navboxes using borders') end return cats end local function renderTrackingCategories(builder) local title = mw.title.getCurrentTitle() if title.namespace ~= 10 then return end -- not in template space local subpage = title.subpageText if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for _, cat in ipairs(getTrackingCategories()) do builder:wikitext('[[Category:' .. cat .. ']]') end end -- -- Main navbox tables -- local function renderMainTable() local tbl = mw.html.create('table') :addClass('nowraplinks') :addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then if args.state == 'collapsed' then args.state = 'mw-collapsed' end tbl :addClass('mw-collapsible') :addClass(args.state or 'autocollapse') end tbl:css('border-spacing', 0) if border == 'subgroup' or border == 'none' then tbl :addClass('navbox-subgroup') :cssText(args.bodystyle) :cssText(args.style) else -- regular navbox - bodystyle and style will be applied to the wrapper table tbl :addClass('navbox-inner') :css('background', 'transparent') :css('color', 'inherit') end tbl:cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, i, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs listnums = {} for k, _ in pairs(args) do if type(k) == 'string' then local listnum = k:match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end end table.sort(listnums) border = mw.text.trim(args.border or args[1] or '') if border == 'child' then border = 'subgroup' end -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = mw.html.create() if border == 'none' then local nav = res:tag('div') :attr('role', 'navigation') :node(tbl) -- aria-labelledby title, otherwise above, otherwise lone group if args.title or args.above or (args.group1 and not args.group2) then nav:attr('aria-labelledby', mw.uri.anchorEncode(args.title or args.above or args.group1)) else nav:attr('aria-label', 'Navbox') end elseif border == 'subgroup' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res :wikitext('</div>') :node(tbl) :wikitext('<div>') else local nav = res:tag('div') :attr('role', 'navigation') :addClass('navbox') :addClass(args.navboxclass) :cssText(args.bodystyle) :cssText(args.style) :css('padding', '3px') :node(tbl) -- aria-labelledby title, otherwise above, otherwise lone group if args.title or args.above or (args.group1 and not args.group2) then nav:attr('aria-labelledby', mw.uri.anchorEncode(args.title or args.above or args.group1)) else nav:attr('aria-label', 'Navbox') end end if (args.nocat or 'false'):lower() == 'false' then renderTrackingCategories(res) end return striped(tostring(res)) end function p.navbox(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end args = getArgs(frame, {wrappers = {'Template:Navbox', 'Template:Navbox subgroup'}}) if frame.args.border then -- This allows Template:Navbox_subgroup to use {{#invoke:Navbox|navbox|border=...}}. args.border = frame.args.border end -- Read the arguments in the order they'll be output in, to make references number in the right order. local _ _ = args.title _ = args.above for i = 1, 20 do _ = args["group" .. tostring(i)] _ = args["list" .. tostring(i)] end _ = args.below return p._navbox(args) end return p msqtiqdgm245sn6a5v8eu1ia0vtr1o1 9927 9839 2020-04-01T06:12:46Z w>MusikAnimal 0 1 revision imported 9838 Scribunto text/plain -- -- This module implements {{Navbox}} -- local p = {} local navbar = require('Module:Navbar')._navbar local getArgs -- lazily initialized local args local tableRowAdded = false local border local listnums = {} local function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end local function addNewline(s) if s:match('^[*:;#]') or s:match('^{|') then return '\n' .. s ..'\n' else return s end end local function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl :tag('tr') :css('height', '2px') :tag('td') :attr('colspan',2) end tableRowAdded = true return tbl:tag('tr') end local function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = 'right' end elseif args.navbar == 'plain' or (not args.name and mw.getCurrentFrame():getParent():getTitle():gsub('/sandbox$', '') == 'Template:Navbox') then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' then spacerSide = 'left' end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = 'right' end titleCell:wikitext(navbar{ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' }) end -- Render the spacer div. if spacerSide then titleCell :tag('span') :css('float', spacerSide) :css('width', '6em') :wikitext('&nbsp;') end end -- -- Title row -- local function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow :tag('th') :attr('scope', 'row') :addClass('navbox-group') :addClass(args.titlegroupclass) :cssText(args.basestyle) :cssText(args.groupstyle) :cssText(args.titlegroupstyle) :wikitext(args.titlegroup) end local titleCell = titleRow:tag('th'):attr('scope', 'col') if args.titlegroup then titleCell :css('border-left', '2px solid #fdfdfd') :css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell :cssText(args.basestyle) :cssText(args.titlestyle) :addClass('navbox-title') :attr('colspan', titleColspan) renderNavBar(titleCell) titleCell :tag('div') :addClass(args.titleclass) :css('font-size', '110%') :wikitext(addNewline(args.title)) end -- -- Above/Below rows -- local function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end local function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) :tag('td') :addClass('navbox-abovebelow') :addClass(args.aboveclass) :cssText(args.basestyle) :cssText(args.abovestyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(addNewline(args.above)) end local function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) :tag('td') :addClass('navbox-abovebelow') :addClass(args.belowclass) :cssText(args.basestyle) :cssText(args.belowstyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(addNewline(args.below)) end -- -- List rows -- local function renderListRow(tbl, listnum) local row = addTableRow(tbl) if listnum == 1 and args.imageleft then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '0%') :css('padding', '0px 2px 0px 0px') :cssText(args.imageleftstyle) :attr('rowspan', 2 * #listnums - 1) :tag('div') :wikitext(addNewline(args.imageleft)) end if args['group' .. listnum] then local groupCell = row:tag('th') groupCell :attr('scope', 'row') :addClass('navbox-group') :addClass(args.groupclass) :cssText(args.basestyle) if args.groupwidth then groupCell:css('width', args.groupwidth) end groupCell :cssText(args.groupstyle) :cssText(args['group' .. listnum .. 'style']) :wikitext(args['group' .. listnum]) end local listCell = row:tag('td') if args['group' .. listnum] then listCell :css('text-align', 'left') :css('border-left-width', '2px') :css('border-left-style', 'solid') else listCell:attr('colspan', 2) end if not args.groupwidth then listCell:css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell :css('padding', '0px') :cssText(args.liststyle) :cssText(rowstyle) :cssText(args['list' .. listnum .. 'style']) :addClass('navbox-list') :addClass('navbox-' .. evenOdd) :addClass(args.listclass) :tag('div') :css('padding', (listnum == 1 and args.list1padding) or args.listpadding or '0em 0.25em') :wikitext(addNewline(args['list' .. listnum])) if listnum == 1 and args.image then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '0%') :css('padding', '0px 0px 0px 2px') :cssText(args.imagestyle) :attr('rowspan', 2 * #listnums - 1) :tag('div') :wikitext(addNewline(args.image)) end end -- -- Tracking categories -- local function needsHorizontalLists() if border == 'child' or border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = {'plainlist', 'hlist', 'hlist hnum', 'hlist hwrap', 'hlist vcard', 'vcard hlist', 'hlist vevent'} for i, cls in ipairs(listClasses) do if args.listclass == cls or args.bodyclass == cls then return false end end return true end local function hasBackgroundColors() return mw.ustring.match(args.titlestyle or '','background') or mw.ustring.match(args.groupstyle or '','background') or mw.ustring.match(args.basestyle or '','background') end local function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end return cats end local function renderTrackingCategories(builder) local title = mw.title.getCurrentTitle() if title.namespace ~= 10 then return end -- not in template space local subpage = title.subpageText if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for i, cat in ipairs(getTrackingCategories()) do builder:wikitext('[[Category:' .. cat .. ']]') end end -- -- Main navbox tables -- local function renderMainTable() local tbl = mw.html.create('table') :addClass('nowraplinks') :addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then local state = args.state; if state and state == 'collapsed' then state = 'mw-collapsed' end tbl :addClass('mw-collapsible') :addClass(state or 'autocollapse') end tbl:css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl :addClass('navbox-subgroup') :cssText(args.bodystyle) :cssText(args.style) else -- regular navobx - bodystyle and style will be applied to the wrapper table tbl :addClass('navbox-inner') :css('background', 'transparent') :css('color', 'inherit') end tbl:cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = mw.html.create() if border == 'none' then res:node(tbl) elseif border == 'subgroup' or border == 'child' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res :wikitext('</div>') -- XXX: hack due to lack of unclosed support in mw.html. :node(tbl) :wikitext('<div>') -- XXX: hack due to lack of unclosed support in mw.html. else res :tag('table') :addClass('navbox') :css('border-spacing', 0) :cssText(args.bodystyle) :cssText(args.style) :tag('tr') :tag('td') :css('padding', '2px') :node(tbl) end renderTrackingCategories(res) return tostring(res) end function p.navbox(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end args = getArgs(frame, {wrappers = 'Template:Navbox'}) -- Read the arguments in the order they'll be output in, to make references number in the right order. local _ _ = args.title _ = args.above for i = 1, 20 do _ = args["group" .. tostring(i)] _ = args["list" .. tostring(i)] end _ = args.below return p._navbox(args) end return p lueokrd5tvdv7z282y8esj7lo7e35zu 9928 9927 2020-04-01T06:29:21Z w>MusikAnimal 0 Undid revision 948472523 by [[Special:Contributions/w>MusikAnimal|w>MusikAnimal]] ([[User talk:w>MusikAnimal|talk]]) 9928 Scribunto text/plain -- -- This module implements {{Navbox}} -- local p = {} local navbar = require('Module:Navbar')._navbar local getArgs -- lazily initialized local args local border local listnums local ODD_EVEN_MARKER = '\127_ODDEVEN_\127' local RESTART_MARKER = '\127_ODDEVEN0_\127' local REGEX_MARKER = '\127_ODDEVEN(%d?)_\127' local function striped(wikitext) -- Return wikitext with markers replaced for odd/even striping. -- Child (subgroup) navboxes are flagged with a category that is removed -- by parent navboxes. The result is that the category shows all pages -- where a child navbox is not contained in a parent navbox. local orphanCat = '[[Category:Navbox orphans]]' if border == 'subgroup' and args.orphan ~= 'yes' then -- No change; striping occurs in outermost navbox. return wikitext .. orphanCat end local first, second = 'odd', 'even' if args.evenodd then if args.evenodd == 'swap' then first, second = second, first else first = args.evenodd second = first end end local changer if first == second then changer = first else local index = 0 changer = function (code) if code == '0' then -- Current occurrence is for a group before a nested table. -- Set it to first as a valid although pointless class. -- The next occurrence will be the first row after a title -- in a subgroup and will also be first. index = 0 return first end index = index + 1 return index % 2 == 1 and first or second end end local regex = orphanCat:gsub('([%[%]])', '%%%1') return (wikitext:gsub(regex, ''):gsub(REGEX_MARKER, changer)) -- () omits gsub count end local function processItem(item, nowrapitems) if item:sub(1, 2) == '{|' then -- Applying nowrap to lines in a table does not make sense. -- Add newlines to compensate for trim of x in |parm=x in a template. return '\n' .. item ..'\n' end if nowrapitems == 'yes' then local lines = {} for line in (item .. '\n'):gmatch('([^\n]*)\n') do local prefix, content = line:match('^([*:;#]+)%s*(.*)') if prefix and not content:match('^<span class="nowrap">') then line = prefix .. '<span class="nowrap">' .. content .. '</span>' end table.insert(lines, line) end item = table.concat(lines, '\n') end if item:match('^[*:;#]') then return '\n' .. item ..'\n' end return item end local function renderNavBar(titleCell) if args.navbar ~= 'off' and args.navbar ~= 'plain' and not (not args.name and mw.getCurrentFrame():getParent():getTitle():gsub('/sandbox$', '') == 'Template:Navbox') then titleCell:wikitext(navbar{ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none; padding:0;' }) end end -- -- Title row -- local function renderTitleRow(tbl) if not args.title then return end local titleRow = tbl:tag('tr') if args.titlegroup then titleRow :tag('th') :attr('scope', 'row') :addClass('navbox-group') :addClass(args.titlegroupclass) :cssText(args.basestyle) :cssText(args.groupstyle) :cssText(args.titlegroupstyle) :wikitext(args.titlegroup) end local titleCell = titleRow:tag('th'):attr('scope', 'col') if args.titlegroup then titleCell :css('border-left', '2px solid #fdfdfd') :css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell :cssText(args.basestyle) :cssText(args.titlestyle) :addClass('navbox-title') :attr('colspan', titleColspan) renderNavBar(titleCell) titleCell :tag('div') -- id for aria-labelledby attribute :attr('id', mw.uri.anchorEncode(args.title)) :addClass(args.titleclass) :css('font-size', '114%') :css('margin', '0 4em') :wikitext(processItem(args.title)) end -- -- Above/Below rows -- local function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end local function renderAboveRow(tbl) if not args.above then return end tbl:tag('tr') :tag('td') :addClass('navbox-abovebelow') :addClass(args.aboveclass) :cssText(args.basestyle) :cssText(args.abovestyle) :attr('colspan', getAboveBelowColspan()) :tag('div') -- id for aria-labelledby attribute, if no title :attr('id', args.title and nil or mw.uri.anchorEncode(args.above)) :wikitext(processItem(args.above, args.nowrapitems)) end local function renderBelowRow(tbl) if not args.below then return end tbl:tag('tr') :tag('td') :addClass('navbox-abovebelow') :addClass(args.belowclass) :cssText(args.basestyle) :cssText(args.belowstyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(processItem(args.below, args.nowrapitems)) end -- -- List rows -- local function renderListRow(tbl, index, listnum) local row = tbl:tag('tr') if index == 1 and args.imageleft then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '1px') -- Minimize width :css('padding', '0px 2px 0px 0px') :cssText(args.imageleftstyle) :attr('rowspan', #listnums) :tag('div') :wikitext(processItem(args.imageleft)) end if args['group' .. listnum] then local groupCell = row:tag('th') -- id for aria-labelledby attribute, if lone group with no title or above if listnum == 1 and not (args.title or args.above or args.group2) then groupCell :attr('id', mw.uri.anchorEncode(args.group1)) end groupCell :attr('scope', 'row') :addClass('navbox-group') :addClass(args.groupclass) :cssText(args.basestyle) :css('width', args.groupwidth or '1%') -- If groupwidth not specified, minimize width groupCell :cssText(args.groupstyle) :cssText(args['group' .. listnum .. 'style']) :wikitext(args['group' .. listnum]) end local listCell = row:tag('td') if args['group' .. listnum] then listCell :css('text-align', 'left') :css('border-left-width', '2px') :css('border-left-style', 'solid') else listCell:attr('colspan', 2) end if not args.groupwidth then listCell:css('width', '100%') end local rowstyle -- usually nil so cssText(rowstyle) usually adds nothing if index % 2 == 1 then rowstyle = args.oddstyle else rowstyle = args.evenstyle end local listText = args['list' .. listnum] local oddEven = ODD_EVEN_MARKER if listText:sub(1, 12) == '</div><table' then -- Assume list text is for a subgroup navbox so no automatic striping for this row. oddEven = listText:find('<th[^>]*"navbox%-title"') and RESTART_MARKER or 'odd' end listCell :css('padding', '0px') :cssText(args.liststyle) :cssText(rowstyle) :cssText(args['list' .. listnum .. 'style']) :addClass('navbox-list') :addClass('navbox-' .. oddEven) :addClass(args.listclass) :addClass(args['list' .. listnum .. 'class']) :tag('div') :css('padding', (index == 1 and args.list1padding) or args.listpadding or '0em 0.25em') :wikitext(processItem(listText, args.nowrapitems)) if index == 1 and args.image then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '1px') -- Minimize width :css('padding', '0px 0px 0px 2px') :cssText(args.imagestyle) :attr('rowspan', #listnums) :tag('div') :wikitext(processItem(args.image)) end end -- -- Tracking categories -- local function needsHorizontalLists() if border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = { ['plainlist'] = true, ['hlist'] = true, ['hlist hnum'] = true, ['hlist hwrap'] = true, ['hlist vcard'] = true, ['vcard hlist'] = true, ['hlist vevent'] = true, } return not (listClasses[args.listclass] or listClasses[args.bodyclass]) end local function hasBackgroundColors() for _, key in ipairs({'titlestyle', 'groupstyle', 'basestyle', 'abovestyle', 'belowstyle'}) do if tostring(args[key]):find('background', 1, true) then return true end end end local function hasBorders() for _, key in ipairs({'groupstyle', 'basestyle', 'abovestyle', 'belowstyle'}) do if tostring(args[key]):find('border', 1, true) then return true end end end local function isIllegible() local styleratio = require('Module:Color contrast')._styleratio for key, style in pairs(args) do if tostring(key):match("style$") then if styleratio{mw.text.unstripNoWiki(style)} < 4.5 then return true end end end return false end local function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end if isIllegible() then table.insert(cats, 'Potentially illegible navboxes') end if hasBorders() then table.insert(cats, 'Navboxes using borders') end return cats end local function renderTrackingCategories(builder) local title = mw.title.getCurrentTitle() if title.namespace ~= 10 then return end -- not in template space local subpage = title.subpageText if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for _, cat in ipairs(getTrackingCategories()) do builder:wikitext('[[Category:' .. cat .. ']]') end end -- -- Main navbox tables -- local function renderMainTable() local tbl = mw.html.create('table') :addClass('nowraplinks') :addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then if args.state == 'collapsed' then args.state = 'mw-collapsed' end tbl :addClass('mw-collapsible') :addClass(args.state or 'autocollapse') end tbl:css('border-spacing', 0) if border == 'subgroup' or border == 'none' then tbl :addClass('navbox-subgroup') :cssText(args.bodystyle) :cssText(args.style) else -- regular navbox - bodystyle and style will be applied to the wrapper table tbl :addClass('navbox-inner') :css('background', 'transparent') :css('color', 'inherit') end tbl:cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, i, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs listnums = {} for k, _ in pairs(args) do if type(k) == 'string' then local listnum = k:match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end end table.sort(listnums) border = mw.text.trim(args.border or args[1] or '') if border == 'child' then border = 'subgroup' end -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = mw.html.create() if border == 'none' then local nav = res:tag('div') :attr('role', 'navigation') :node(tbl) -- aria-labelledby title, otherwise above, otherwise lone group if args.title or args.above or (args.group1 and not args.group2) then nav:attr('aria-labelledby', mw.uri.anchorEncode(args.title or args.above or args.group1)) else nav:attr('aria-label', 'Navbox') end elseif border == 'subgroup' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res :wikitext('</div>') :node(tbl) :wikitext('<div>') else local nav = res:tag('div') :attr('role', 'navigation') :addClass('navbox') :addClass(args.navboxclass) :cssText(args.bodystyle) :cssText(args.style) :css('padding', '3px') :node(tbl) -- aria-labelledby title, otherwise above, otherwise lone group if args.title or args.above or (args.group1 and not args.group2) then nav:attr('aria-labelledby', mw.uri.anchorEncode(args.title or args.above or args.group1)) else nav:attr('aria-label', 'Navbox') end end if (args.nocat or 'false'):lower() == 'false' then renderTrackingCategories(res) end return striped(tostring(res)) end function p.navbox(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end args = getArgs(frame, {wrappers = {'Template:Navbox', 'Template:Navbox subgroup'}}) if frame.args.border then -- This allows Template:Navbox_subgroup to use {{#invoke:Navbox|navbox|border=...}}. args.border = frame.args.border end -- Read the arguments in the order they'll be output in, to make references number in the right order. local _ _ = args.title _ = args.above for i = 1, 20 do _ = args["group" .. tostring(i)] _ = args["list" .. tostring(i)] end _ = args.below return p._navbox(args) end return p msqtiqdgm245sn6a5v8eu1ia0vtr1o1 9929 9928 2020-09-03T16:59:00Z w>Primefac 0 remove dependence of deleted template 9929 Scribunto text/plain -- -- This module implements {{Navbox}} -- local p = {} local navbar = require('Module:Navbar')._navbar local getArgs -- lazily initialized local args local border local listnums local ODD_EVEN_MARKER = '\127_ODDEVEN_\127' local RESTART_MARKER = '\127_ODDEVEN0_\127' local REGEX_MARKER = '\127_ODDEVEN(%d?)_\127' local function striped(wikitext) -- Return wikitext with markers replaced for odd/even striping. -- Child (subgroup) navboxes are flagged with a category that is removed -- by parent navboxes. The result is that the category shows all pages -- where a child navbox is not contained in a parent navbox. local orphanCat = '[[Category:Navbox orphans]]' if border == 'subgroup' and args.orphan ~= 'yes' then -- No change; striping occurs in outermost navbox. return wikitext .. orphanCat end local first, second = 'odd', 'even' if args.evenodd then if args.evenodd == 'swap' then first, second = second, first else first = args.evenodd second = first end end local changer if first == second then changer = first else local index = 0 changer = function (code) if code == '0' then -- Current occurrence is for a group before a nested table. -- Set it to first as a valid although pointless class. -- The next occurrence will be the first row after a title -- in a subgroup and will also be first. index = 0 return first end index = index + 1 return index % 2 == 1 and first or second end end local regex = orphanCat:gsub('([%[%]])', '%%%1') return (wikitext:gsub(regex, ''):gsub(REGEX_MARKER, changer)) -- () omits gsub count end local function processItem(item, nowrapitems) if item:sub(1, 2) == '{|' then -- Applying nowrap to lines in a table does not make sense. -- Add newlines to compensate for trim of x in |parm=x in a template. return '\n' .. item ..'\n' end if nowrapitems == 'yes' then local lines = {} for line in (item .. '\n'):gmatch('([^\n]*)\n') do local prefix, content = line:match('^([*:;#]+)%s*(.*)') if prefix and not content:match('^<span class="nowrap">') then line = prefix .. '<span class="nowrap">' .. content .. '</span>' end table.insert(lines, line) end item = table.concat(lines, '\n') end if item:match('^[*:;#]') then return '\n' .. item ..'\n' end return item end local function renderNavBar(titleCell) if args.navbar ~= 'off' and args.navbar ~= 'plain' and not (not args.name and mw.getCurrentFrame():getParent():getTitle():gsub('/sandbox$', '') == 'Template:Navbox') then titleCell:wikitext(navbar{ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none; padding:0;' }) end end -- -- Title row -- local function renderTitleRow(tbl) if not args.title then return end local titleRow = tbl:tag('tr') if args.titlegroup then titleRow :tag('th') :attr('scope', 'row') :addClass('navbox-group') :addClass(args.titlegroupclass) :cssText(args.basestyle) :cssText(args.groupstyle) :cssText(args.titlegroupstyle) :wikitext(args.titlegroup) end local titleCell = titleRow:tag('th'):attr('scope', 'col') if args.titlegroup then titleCell :css('border-left', '2px solid #fdfdfd') :css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell :cssText(args.basestyle) :cssText(args.titlestyle) :addClass('navbox-title') :attr('colspan', titleColspan) renderNavBar(titleCell) titleCell :tag('div') -- id for aria-labelledby attribute :attr('id', mw.uri.anchorEncode(args.title)) :addClass(args.titleclass) :css('font-size', '114%') :css('margin', '0 4em') :wikitext(processItem(args.title)) end -- -- Above/Below rows -- local function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end local function renderAboveRow(tbl) if not args.above then return end tbl:tag('tr') :tag('td') :addClass('navbox-abovebelow') :addClass(args.aboveclass) :cssText(args.basestyle) :cssText(args.abovestyle) :attr('colspan', getAboveBelowColspan()) :tag('div') -- id for aria-labelledby attribute, if no title :attr('id', args.title and nil or mw.uri.anchorEncode(args.above)) :wikitext(processItem(args.above, args.nowrapitems)) end local function renderBelowRow(tbl) if not args.below then return end tbl:tag('tr') :tag('td') :addClass('navbox-abovebelow') :addClass(args.belowclass) :cssText(args.basestyle) :cssText(args.belowstyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(processItem(args.below, args.nowrapitems)) end -- -- List rows -- local function renderListRow(tbl, index, listnum) local row = tbl:tag('tr') if index == 1 and args.imageleft then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '1px') -- Minimize width :css('padding', '0px 2px 0px 0px') :cssText(args.imageleftstyle) :attr('rowspan', #listnums) :tag('div') :wikitext(processItem(args.imageleft)) end if args['group' .. listnum] then local groupCell = row:tag('th') -- id for aria-labelledby attribute, if lone group with no title or above if listnum == 1 and not (args.title or args.above or args.group2) then groupCell :attr('id', mw.uri.anchorEncode(args.group1)) end groupCell :attr('scope', 'row') :addClass('navbox-group') :addClass(args.groupclass) :cssText(args.basestyle) :css('width', args.groupwidth or '1%') -- If groupwidth not specified, minimize width groupCell :cssText(args.groupstyle) :cssText(args['group' .. listnum .. 'style']) :wikitext(args['group' .. listnum]) end local listCell = row:tag('td') if args['group' .. listnum] then listCell :css('text-align', 'left') :css('border-left-width', '2px') :css('border-left-style', 'solid') else listCell:attr('colspan', 2) end if not args.groupwidth then listCell:css('width', '100%') end local rowstyle -- usually nil so cssText(rowstyle) usually adds nothing if index % 2 == 1 then rowstyle = args.oddstyle else rowstyle = args.evenstyle end local listText = args['list' .. listnum] local oddEven = ODD_EVEN_MARKER if listText:sub(1, 12) == '</div><table' then -- Assume list text is for a subgroup navbox so no automatic striping for this row. oddEven = listText:find('<th[^>]*"navbox%-title"') and RESTART_MARKER or 'odd' end listCell :css('padding', '0px') :cssText(args.liststyle) :cssText(rowstyle) :cssText(args['list' .. listnum .. 'style']) :addClass('navbox-list') :addClass('navbox-' .. oddEven) :addClass(args.listclass) :addClass(args['list' .. listnum .. 'class']) :tag('div') :css('padding', (index == 1 and args.list1padding) or args.listpadding or '0em 0.25em') :wikitext(processItem(listText, args.nowrapitems)) if index == 1 and args.image then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '1px') -- Minimize width :css('padding', '0px 0px 0px 2px') :cssText(args.imagestyle) :attr('rowspan', #listnums) :tag('div') :wikitext(processItem(args.image)) end end -- -- Tracking categories -- local function needsHorizontalLists() if border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = { ['plainlist'] = true, ['hlist'] = true, ['hlist hnum'] = true, ['hlist hwrap'] = true, ['hlist vcard'] = true, ['vcard hlist'] = true, ['hlist vevent'] = true, } return not (listClasses[args.listclass] or listClasses[args.bodyclass]) end local function hasBackgroundColors() for _, key in ipairs({'titlestyle', 'groupstyle', 'basestyle', 'abovestyle', 'belowstyle'}) do if tostring(args[key]):find('background', 1, true) then return true end end end local function hasBorders() for _, key in ipairs({'groupstyle', 'basestyle', 'abovestyle', 'belowstyle'}) do if tostring(args[key]):find('border', 1, true) then return true end end end local function isIllegible() local styleratio = require('Module:Color contrast')._styleratio for key, style in pairs(args) do if tostring(key):match("style$") then if styleratio{mw.text.unstripNoWiki(style)} < 4.5 then return true end end end return false end local function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end if isIllegible() then table.insert(cats, 'Potentially illegible navboxes') end if hasBorders() then table.insert(cats, 'Navboxes using borders') end return cats end local function renderTrackingCategories(builder) local title = mw.title.getCurrentTitle() if title.namespace ~= 10 then return end -- not in template space local subpage = title.subpageText if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for _, cat in ipairs(getTrackingCategories()) do builder:wikitext('[[Category:' .. cat .. ']]') end end -- -- Main navbox tables -- local function renderMainTable() local tbl = mw.html.create('table') :addClass('nowraplinks') :addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then if args.state == 'collapsed' then args.state = 'mw-collapsed' end tbl :addClass('mw-collapsible') :addClass(args.state or 'autocollapse') end tbl:css('border-spacing', 0) if border == 'subgroup' or border == 'none' then tbl :addClass('navbox-subgroup') :cssText(args.bodystyle) :cssText(args.style) else -- regular navbox - bodystyle and style will be applied to the wrapper table tbl :addClass('navbox-inner') :css('background', 'transparent') :css('color', 'inherit') end tbl:cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, i, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs listnums = {} for k, _ in pairs(args) do if type(k) == 'string' then local listnum = k:match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end end table.sort(listnums) border = mw.text.trim(args.border or args[1] or '') if border == 'child' then border = 'subgroup' end -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = mw.html.create() if border == 'none' then local nav = res:tag('div') :attr('role', 'navigation') :node(tbl) -- aria-labelledby title, otherwise above, otherwise lone group if args.title or args.above or (args.group1 and not args.group2) then nav:attr('aria-labelledby', mw.uri.anchorEncode(args.title or args.above or args.group1)) else nav:attr('aria-label', 'Navbox') end elseif border == 'subgroup' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res :wikitext('</div>') :node(tbl) :wikitext('<div>') else local nav = res:tag('div') :attr('role', 'navigation') :addClass('navbox') :addClass(args.navboxclass) :cssText(args.bodystyle) :cssText(args.style) :css('padding', '3px') :node(tbl) -- aria-labelledby title, otherwise above, otherwise lone group if args.title or args.above or (args.group1 and not args.group2) then nav:attr('aria-labelledby', mw.uri.anchorEncode(args.title or args.above or args.group1)) else nav:attr('aria-label', 'Navbox') end end if (args.nocat or 'false'):lower() == 'false' then renderTrackingCategories(res) end return striped(tostring(res)) end function p.navbox(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end args = getArgs(frame, {wrappers = {'Template:Navbox'}}) -- Read the arguments in the order they'll be output in, to make references number in the right order. local _ _ = args.title _ = args.above for i = 1, 20 do _ = args["group" .. tostring(i)] _ = args["list" .. tostring(i)] end _ = args.below return p._navbox(args) end return p jfombp9fmnkg50akmwi4tsgcthvgj4f 9930 9929 2020-09-22T16:45:56Z w>Nardog 0 suppress images inside navboxes showing up in Media Viewer 9930 Scribunto text/plain -- -- This module implements {{Navbox}} -- local p = {} local navbar = require('Module:Navbar')._navbar local getArgs -- lazily initialized local args local border local listnums local ODD_EVEN_MARKER = '\127_ODDEVEN_\127' local RESTART_MARKER = '\127_ODDEVEN0_\127' local REGEX_MARKER = '\127_ODDEVEN(%d?)_\127' local function striped(wikitext) -- Return wikitext with markers replaced for odd/even striping. -- Child (subgroup) navboxes are flagged with a category that is removed -- by parent navboxes. The result is that the category shows all pages -- where a child navbox is not contained in a parent navbox. local orphanCat = '[[Category:Navbox orphans]]' if border == 'subgroup' and args.orphan ~= 'yes' then -- No change; striping occurs in outermost navbox. return wikitext .. orphanCat end local first, second = 'odd', 'even' if args.evenodd then if args.evenodd == 'swap' then first, second = second, first else first = args.evenodd second = first end end local changer if first == second then changer = first else local index = 0 changer = function (code) if code == '0' then -- Current occurrence is for a group before a nested table. -- Set it to first as a valid although pointless class. -- The next occurrence will be the first row after a title -- in a subgroup and will also be first. index = 0 return first end index = index + 1 return index % 2 == 1 and first or second end end local regex = orphanCat:gsub('([%[%]])', '%%%1') return (wikitext:gsub(regex, ''):gsub(REGEX_MARKER, changer)) -- () omits gsub count end local function processItem(item, nowrapitems) if item:sub(1, 2) == '{|' then -- Applying nowrap to lines in a table does not make sense. -- Add newlines to compensate for trim of x in |parm=x in a template. return '\n' .. item ..'\n' end if nowrapitems == 'yes' then local lines = {} for line in (item .. '\n'):gmatch('([^\n]*)\n') do local prefix, content = line:match('^([*:;#]+)%s*(.*)') if prefix and not content:match('^<span class="nowrap">') then line = prefix .. '<span class="nowrap">' .. content .. '</span>' end table.insert(lines, line) end item = table.concat(lines, '\n') end if item:match('^[*:;#]') then return '\n' .. item ..'\n' end return item end local function renderNavBar(titleCell) if args.navbar ~= 'off' and args.navbar ~= 'plain' and not (not args.name and mw.getCurrentFrame():getParent():getTitle():gsub('/sandbox$', '') == 'Template:Navbox') then titleCell:wikitext(navbar{ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none; padding:0;' }) end end -- -- Title row -- local function renderTitleRow(tbl) if not args.title then return end local titleRow = tbl:tag('tr') if args.titlegroup then titleRow :tag('th') :attr('scope', 'row') :addClass('navbox-group') :addClass(args.titlegroupclass) :cssText(args.basestyle) :cssText(args.groupstyle) :cssText(args.titlegroupstyle) :wikitext(args.titlegroup) end local titleCell = titleRow:tag('th'):attr('scope', 'col') if args.titlegroup then titleCell :css('border-left', '2px solid #fdfdfd') :css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell :cssText(args.basestyle) :cssText(args.titlestyle) :addClass('navbox-title') :attr('colspan', titleColspan) renderNavBar(titleCell) titleCell :tag('div') -- id for aria-labelledby attribute :attr('id', mw.uri.anchorEncode(args.title)) :addClass(args.titleclass) :css('font-size', '114%') :css('margin', '0 4em') :wikitext(processItem(args.title)) end -- -- Above/Below rows -- local function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end local function renderAboveRow(tbl) if not args.above then return end tbl:tag('tr') :tag('td') :addClass('navbox-abovebelow') :addClass(args.aboveclass) :cssText(args.basestyle) :cssText(args.abovestyle) :attr('colspan', getAboveBelowColspan()) :tag('div') -- id for aria-labelledby attribute, if no title :attr('id', args.title and nil or mw.uri.anchorEncode(args.above)) :wikitext(processItem(args.above, args.nowrapitems)) end local function renderBelowRow(tbl) if not args.below then return end tbl:tag('tr') :tag('td') :addClass('navbox-abovebelow') :addClass(args.belowclass) :cssText(args.basestyle) :cssText(args.belowstyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(processItem(args.below, args.nowrapitems)) end -- -- List rows -- local function renderListRow(tbl, index, listnum) local row = tbl:tag('tr') if index == 1 and args.imageleft then row :tag('td') :addClass('noviewer') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '1px') -- Minimize width :css('padding', '0px 2px 0px 0px') :cssText(args.imageleftstyle) :attr('rowspan', #listnums) :tag('div') :wikitext(processItem(args.imageleft)) end if args['group' .. listnum] then local groupCell = row:tag('th') -- id for aria-labelledby attribute, if lone group with no title or above if listnum == 1 and not (args.title or args.above or args.group2) then groupCell :attr('id', mw.uri.anchorEncode(args.group1)) end groupCell :attr('scope', 'row') :addClass('navbox-group') :addClass(args.groupclass) :cssText(args.basestyle) :css('width', args.groupwidth or '1%') -- If groupwidth not specified, minimize width groupCell :cssText(args.groupstyle) :cssText(args['group' .. listnum .. 'style']) :wikitext(args['group' .. listnum]) end local listCell = row:tag('td') if args['group' .. listnum] then listCell :css('text-align', 'left') :css('border-left-width', '2px') :css('border-left-style', 'solid') else listCell:attr('colspan', 2) end if not args.groupwidth then listCell:css('width', '100%') end local rowstyle -- usually nil so cssText(rowstyle) usually adds nothing if index % 2 == 1 then rowstyle = args.oddstyle else rowstyle = args.evenstyle end local listText = args['list' .. listnum] local oddEven = ODD_EVEN_MARKER if listText:sub(1, 12) == '</div><table' then -- Assume list text is for a subgroup navbox so no automatic striping for this row. oddEven = listText:find('<th[^>]*"navbox%-title"') and RESTART_MARKER or 'odd' end listCell :css('padding', '0px') :cssText(args.liststyle) :cssText(rowstyle) :cssText(args['list' .. listnum .. 'style']) :addClass('navbox-list') :addClass('navbox-' .. oddEven) :addClass(args.listclass) :addClass(args['list' .. listnum .. 'class']) :tag('div') :css('padding', (index == 1 and args.list1padding) or args.listpadding or '0em 0.25em') :wikitext(processItem(listText, args.nowrapitems)) if index == 1 and args.image then row :tag('td') :addClass('noviewer') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '1px') -- Minimize width :css('padding', '0px 0px 0px 2px') :cssText(args.imagestyle) :attr('rowspan', #listnums) :tag('div') :wikitext(processItem(args.image)) end end -- -- Tracking categories -- local function needsHorizontalLists() if border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = { ['plainlist'] = true, ['hlist'] = true, ['hlist hnum'] = true, ['hlist hwrap'] = true, ['hlist vcard'] = true, ['vcard hlist'] = true, ['hlist vevent'] = true, } return not (listClasses[args.listclass] or listClasses[args.bodyclass]) end local function hasBackgroundColors() for _, key in ipairs({'titlestyle', 'groupstyle', 'basestyle', 'abovestyle', 'belowstyle'}) do if tostring(args[key]):find('background', 1, true) then return true end end end local function hasBorders() for _, key in ipairs({'groupstyle', 'basestyle', 'abovestyle', 'belowstyle'}) do if tostring(args[key]):find('border', 1, true) then return true end end end local function isIllegible() local styleratio = require('Module:Color contrast')._styleratio for key, style in pairs(args) do if tostring(key):match("style$") then if styleratio{mw.text.unstripNoWiki(style)} < 4.5 then return true end end end return false end local function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end if isIllegible() then table.insert(cats, 'Potentially illegible navboxes') end if hasBorders() then table.insert(cats, 'Navboxes using borders') end return cats end local function renderTrackingCategories(builder) local title = mw.title.getCurrentTitle() if title.namespace ~= 10 then return end -- not in template space local subpage = title.subpageText if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for _, cat in ipairs(getTrackingCategories()) do builder:wikitext('[[Category:' .. cat .. ']]') end end -- -- Main navbox tables -- local function renderMainTable() local tbl = mw.html.create('table') :addClass('nowraplinks') :addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then if args.state == 'collapsed' then args.state = 'mw-collapsed' end tbl :addClass('mw-collapsible') :addClass(args.state or 'autocollapse') end tbl:css('border-spacing', 0) if border == 'subgroup' or border == 'none' then tbl :addClass('navbox-subgroup') :cssText(args.bodystyle) :cssText(args.style) else -- regular navbox - bodystyle and style will be applied to the wrapper table tbl :addClass('navbox-inner') :css('background', 'transparent') :css('color', 'inherit') end tbl:cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, i, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs listnums = {} for k, _ in pairs(args) do if type(k) == 'string' then local listnum = k:match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end end table.sort(listnums) border = mw.text.trim(args.border or args[1] or '') if border == 'child' then border = 'subgroup' end -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = mw.html.create() if border == 'none' then local nav = res:tag('div') :attr('role', 'navigation') :node(tbl) -- aria-labelledby title, otherwise above, otherwise lone group if args.title or args.above or (args.group1 and not args.group2) then nav:attr('aria-labelledby', mw.uri.anchorEncode(args.title or args.above or args.group1)) else nav:attr('aria-label', 'Navbox') end elseif border == 'subgroup' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res :wikitext('</div>') :node(tbl) :wikitext('<div>') else local nav = res:tag('div') :attr('role', 'navigation') :addClass('navbox') :addClass(args.navboxclass) :cssText(args.bodystyle) :cssText(args.style) :css('padding', '3px') :node(tbl) -- aria-labelledby title, otherwise above, otherwise lone group if args.title or args.above or (args.group1 and not args.group2) then nav:attr('aria-labelledby', mw.uri.anchorEncode(args.title or args.above or args.group1)) else nav:attr('aria-label', 'Navbox') end end if (args.nocat or 'false'):lower() == 'false' then renderTrackingCategories(res) end return striped(tostring(res)) end function p.navbox(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end args = getArgs(frame, {wrappers = {'Template:Navbox'}}) -- Read the arguments in the order they'll be output in, to make references number in the right order. local _ _ = args.title _ = args.above for i = 1, 20 do _ = args["group" .. tostring(i)] _ = args["list" .. tostring(i)] end _ = args.below return p._navbox(args) end return p bc958emdhcifoov0yk148od75bgl1ef 9931 9930 2021-01-01T19:09:08Z w>WOSlinker 0 remove moz and webkit as standard now well supported 9931 Scribunto text/plain -- -- This module implements {{Navbox}} -- local p = {} local navbar = require('Module:Navbar')._navbar local getArgs -- lazily initialized local args local border local listnums local ODD_EVEN_MARKER = '\127_ODDEVEN_\127' local RESTART_MARKER = '\127_ODDEVEN0_\127' local REGEX_MARKER = '\127_ODDEVEN(%d?)_\127' local function striped(wikitext) -- Return wikitext with markers replaced for odd/even striping. -- Child (subgroup) navboxes are flagged with a category that is removed -- by parent navboxes. The result is that the category shows all pages -- where a child navbox is not contained in a parent navbox. local orphanCat = '[[Category:Navbox orphans]]' if border == 'subgroup' and args.orphan ~= 'yes' then -- No change; striping occurs in outermost navbox. return wikitext .. orphanCat end local first, second = 'odd', 'even' if args.evenodd then if args.evenodd == 'swap' then first, second = second, first else first = args.evenodd second = first end end local changer if first == second then changer = first else local index = 0 changer = function (code) if code == '0' then -- Current occurrence is for a group before a nested table. -- Set it to first as a valid although pointless class. -- The next occurrence will be the first row after a title -- in a subgroup and will also be first. index = 0 return first end index = index + 1 return index % 2 == 1 and first or second end end local regex = orphanCat:gsub('([%[%]])', '%%%1') return (wikitext:gsub(regex, ''):gsub(REGEX_MARKER, changer)) -- () omits gsub count end local function processItem(item, nowrapitems) if item:sub(1, 2) == '{|' then -- Applying nowrap to lines in a table does not make sense. -- Add newlines to compensate for trim of x in |parm=x in a template. return '\n' .. item ..'\n' end if nowrapitems == 'yes' then local lines = {} for line in (item .. '\n'):gmatch('([^\n]*)\n') do local prefix, content = line:match('^([*:;#]+)%s*(.*)') if prefix and not content:match('^<span class="nowrap">') then line = prefix .. '<span class="nowrap">' .. content .. '</span>' end table.insert(lines, line) end item = table.concat(lines, '\n') end if item:match('^[*:;#]') then return '\n' .. item ..'\n' end return item end local function renderNavBar(titleCell) if args.navbar ~= 'off' and args.navbar ~= 'plain' and not (not args.name and mw.getCurrentFrame():getParent():getTitle():gsub('/sandbox$', '') == 'Template:Navbox') then titleCell:wikitext(navbar{ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;box-shadow:none;padding:0;' }) end end -- -- Title row -- local function renderTitleRow(tbl) if not args.title then return end local titleRow = tbl:tag('tr') if args.titlegroup then titleRow :tag('th') :attr('scope', 'row') :addClass('navbox-group') :addClass(args.titlegroupclass) :cssText(args.basestyle) :cssText(args.groupstyle) :cssText(args.titlegroupstyle) :wikitext(args.titlegroup) end local titleCell = titleRow:tag('th'):attr('scope', 'col') if args.titlegroup then titleCell :css('border-left', '2px solid #fdfdfd') :css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell :cssText(args.basestyle) :cssText(args.titlestyle) :addClass('navbox-title') :attr('colspan', titleColspan) renderNavBar(titleCell) titleCell :tag('div') -- id for aria-labelledby attribute :attr('id', mw.uri.anchorEncode(args.title)) :addClass(args.titleclass) :css('font-size', '114%') :css('margin', '0 4em') :wikitext(processItem(args.title)) end -- -- Above/Below rows -- local function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end local function renderAboveRow(tbl) if not args.above then return end tbl:tag('tr') :tag('td') :addClass('navbox-abovebelow') :addClass(args.aboveclass) :cssText(args.basestyle) :cssText(args.abovestyle) :attr('colspan', getAboveBelowColspan()) :tag('div') -- id for aria-labelledby attribute, if no title :attr('id', args.title and nil or mw.uri.anchorEncode(args.above)) :wikitext(processItem(args.above, args.nowrapitems)) end local function renderBelowRow(tbl) if not args.below then return end tbl:tag('tr') :tag('td') :addClass('navbox-abovebelow') :addClass(args.belowclass) :cssText(args.basestyle) :cssText(args.belowstyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(processItem(args.below, args.nowrapitems)) end -- -- List rows -- local function renderListRow(tbl, index, listnum) local row = tbl:tag('tr') if index == 1 and args.imageleft then row :tag('td') :addClass('noviewer') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '1px') -- Minimize width :css('padding', '0px 2px 0px 0px') :cssText(args.imageleftstyle) :attr('rowspan', #listnums) :tag('div') :wikitext(processItem(args.imageleft)) end if args['group' .. listnum] then local groupCell = row:tag('th') -- id for aria-labelledby attribute, if lone group with no title or above if listnum == 1 and not (args.title or args.above or args.group2) then groupCell :attr('id', mw.uri.anchorEncode(args.group1)) end groupCell :attr('scope', 'row') :addClass('navbox-group') :addClass(args.groupclass) :cssText(args.basestyle) :css('width', args.groupwidth or '1%') -- If groupwidth not specified, minimize width groupCell :cssText(args.groupstyle) :cssText(args['group' .. listnum .. 'style']) :wikitext(args['group' .. listnum]) end local listCell = row:tag('td') if args['group' .. listnum] then listCell :css('text-align', 'left') :css('border-left-width', '2px') :css('border-left-style', 'solid') else listCell:attr('colspan', 2) end if not args.groupwidth then listCell:css('width', '100%') end local rowstyle -- usually nil so cssText(rowstyle) usually adds nothing if index % 2 == 1 then rowstyle = args.oddstyle else rowstyle = args.evenstyle end local listText = args['list' .. listnum] local oddEven = ODD_EVEN_MARKER if listText:sub(1, 12) == '</div><table' then -- Assume list text is for a subgroup navbox so no automatic striping for this row. oddEven = listText:find('<th[^>]*"navbox%-title"') and RESTART_MARKER or 'odd' end listCell :css('padding', '0px') :cssText(args.liststyle) :cssText(rowstyle) :cssText(args['list' .. listnum .. 'style']) :addClass('navbox-list') :addClass('navbox-' .. oddEven) :addClass(args.listclass) :addClass(args['list' .. listnum .. 'class']) :tag('div') :css('padding', (index == 1 and args.list1padding) or args.listpadding or '0em 0.25em') :wikitext(processItem(listText, args.nowrapitems)) if index == 1 and args.image then row :tag('td') :addClass('noviewer') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '1px') -- Minimize width :css('padding', '0px 0px 0px 2px') :cssText(args.imagestyle) :attr('rowspan', #listnums) :tag('div') :wikitext(processItem(args.image)) end end -- -- Tracking categories -- local function needsHorizontalLists() if border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = { ['plainlist'] = true, ['hlist'] = true, ['hlist hnum'] = true, ['hlist hwrap'] = true, ['hlist vcard'] = true, ['vcard hlist'] = true, ['hlist vevent'] = true, } return not (listClasses[args.listclass] or listClasses[args.bodyclass]) end local function hasBackgroundColors() for _, key in ipairs({'titlestyle', 'groupstyle', 'basestyle', 'abovestyle', 'belowstyle'}) do if tostring(args[key]):find('background', 1, true) then return true end end end local function hasBorders() for _, key in ipairs({'groupstyle', 'basestyle', 'abovestyle', 'belowstyle'}) do if tostring(args[key]):find('border', 1, true) then return true end end end local function isIllegible() local styleratio = require('Module:Color contrast')._styleratio for key, style in pairs(args) do if tostring(key):match("style$") then if styleratio{mw.text.unstripNoWiki(style)} < 4.5 then return true end end end return false end local function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end if isIllegible() then table.insert(cats, 'Potentially illegible navboxes') end if hasBorders() then table.insert(cats, 'Navboxes using borders') end return cats end local function renderTrackingCategories(builder) local title = mw.title.getCurrentTitle() if title.namespace ~= 10 then return end -- not in template space local subpage = title.subpageText if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for _, cat in ipairs(getTrackingCategories()) do builder:wikitext('[[Category:' .. cat .. ']]') end end -- -- Main navbox tables -- local function renderMainTable() local tbl = mw.html.create('table') :addClass('nowraplinks') :addClass(args.bodyclass) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then if args.state == 'collapsed' then args.state = 'mw-collapsed' end tbl :addClass('mw-collapsible') :addClass(args.state or 'autocollapse') end tbl:css('border-spacing', 0) if border == 'subgroup' or border == 'none' then tbl :addClass('navbox-subgroup') :cssText(args.bodystyle) :cssText(args.style) else -- regular navbox - bodystyle and style will be applied to the wrapper table tbl :addClass('navbox-inner') :css('background', 'transparent') :css('color', 'inherit') end tbl:cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, i, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs listnums = {} for k, _ in pairs(args) do if type(k) == 'string' then local listnum = k:match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end end table.sort(listnums) border = mw.text.trim(args.border or args[1] or '') if border == 'child' then border = 'subgroup' end -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = mw.html.create() if border == 'none' then local nav = res:tag('div') :attr('role', 'navigation') :node(tbl) -- aria-labelledby title, otherwise above, otherwise lone group if args.title or args.above or (args.group1 and not args.group2) then nav:attr('aria-labelledby', mw.uri.anchorEncode(args.title or args.above or args.group1)) else nav:attr('aria-label', 'Navbox') end elseif border == 'subgroup' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res :wikitext('</div>') :node(tbl) :wikitext('<div>') else local nav = res:tag('div') :attr('role', 'navigation') :addClass('navbox') :addClass(args.navboxclass) :cssText(args.bodystyle) :cssText(args.style) :css('padding', '3px') :node(tbl) -- aria-labelledby title, otherwise above, otherwise lone group if args.title or args.above or (args.group1 and not args.group2) then nav:attr('aria-labelledby', mw.uri.anchorEncode(args.title or args.above or args.group1)) else nav:attr('aria-label', 'Navbox') end end if (args.nocat or 'false'):lower() == 'false' then renderTrackingCategories(res) end return striped(tostring(res)) end function p.navbox(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end args = getArgs(frame, {wrappers = {'Template:Navbox'}}) -- Read the arguments in the order they'll be output in, to make references number in the right order. local _ _ = args.title _ = args.above for i = 1, 20 do _ = args["group" .. tostring(i)] _ = args["list" .. tostring(i)] end _ = args.below return p._navbox(args) end return p 593o5vewmwprq5tbp3lsyf9qm7266rl 9932 9843 2021-10-29T20:02:39Z meta>GeneralNotability 0 88 revisions imported from [[:w:Module:Navbox]]: blame [[User:Barkeep49]] 9842 Scribunto text/plain -- -- This module implements {{Navbox}} -- local p = {} local navbar = require('Module:Navbar')._navbar local getArgs -- lazily initialized local args local tableRowAdded = false local border local listnums = {} local function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end local function addNewline(s) if s:match('^[*:;#]') or s:match('^{|') then return '\n' .. s ..'\n' else return s end end local function addTableRow(tbl) -- If any other rows have already been added, then we add a 2px gutter row. if tableRowAdded then tbl :tag('tr') :css('height', '2px') :tag('td') :attr('colspan',2) end tableRowAdded = true return tbl:tag('tr') end local function renderNavBar(titleCell) -- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left -- or right to keep the title centered. local spacerSide = nil if args.navbar == 'off' then -- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's -- also no show/hide link, then we need a spacer on the right to achieve the left shift. if args.state == 'plain' then spacerSide = 'right' end elseif args.navbar == 'plain' or (not args.name and mw.getCurrentFrame():getParent():getTitle():gsub('/sandbox$', '') == 'Template:Navbox') then -- No navbar. Need a spacer on the left to balance out the width of the show/hide link. if args.state ~= 'plain' then spacerSide = 'left' end else -- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right -- to balance out the width of the navbar. if args.state == 'plain' then spacerSide = 'right' end titleCell:wikitext(navbar{ args.name, mini = 1, fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;' }) end -- Render the spacer div. if spacerSide then titleCell :tag('span') :css('float', spacerSide) :css('width', '6em') :wikitext('&nbsp;') end end -- -- Title row -- local function renderTitleRow(tbl) if not args.title then return end local titleRow = addTableRow(tbl) if args.titlegroup then titleRow :tag('th') :attr('scope', 'row') :addClass('navbox-group') :addClass(args.titlegroupclass) :cssText(args.basestyle) :cssText(args.groupstyle) :cssText(args.titlegroupstyle) :wikitext(args.titlegroup) end local titleCell = titleRow:tag('th'):attr('scope', 'col') if args.titlegroup then titleCell :css('border-left', '2px solid #fdfdfd') :css('width', '100%') end local titleColspan = 2 if args.imageleft then titleColspan = titleColspan + 1 end if args.image then titleColspan = titleColspan + 1 end if args.titlegroup then titleColspan = titleColspan - 1 end titleCell :cssText(args.basestyle) :cssText(args.titlestyle) :addClass('navbox-title') :attr('colspan', titleColspan) renderNavBar(titleCell) titleCell :tag('div') :addClass(args.titleclass) :css('font-size', '110%') :wikitext(addNewline(args.title)) end -- -- Above/Below rows -- local function getAboveBelowColspan() local ret = 2 if args.imageleft then ret = ret + 1 end if args.image then ret = ret + 1 end return ret end local function renderAboveRow(tbl) if not args.above then return end addTableRow(tbl) :tag('td') :addClass('navbox-abovebelow') :addClass(args.aboveclass) :cssText(args.basestyle) :cssText(args.abovestyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(addNewline(args.above)) end local function renderBelowRow(tbl) if not args.below then return end addTableRow(tbl) :tag('td') :addClass('navbox-abovebelow') :addClass(args.belowclass) :cssText(args.basestyle) :cssText(args.belowstyle) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(addNewline(args.below)) end -- -- List rows -- local function renderListRow(tbl, listnum) local row = addTableRow(tbl) if listnum == 1 and args.imageleft then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '0%') :css('padding', '0px 2px 0px 0px') :cssText(args.imageleftstyle) :attr('rowspan', 2 * #listnums - 1) :tag('div') :wikitext(addNewline(args.imageleft)) end if args['group' .. listnum] then local groupCell = row:tag('th') groupCell :attr('scope', 'row') :addClass('navbox-group') :addClass(args.groupclass) :cssText(args.basestyle) if args.groupwidth then groupCell:css('width', args.groupwidth) end groupCell :cssText(args.groupstyle) :cssText(args['group' .. listnum .. 'style']) :wikitext(args['group' .. listnum]) end local listCell = row:tag('td') if args['group' .. listnum] then listCell :css('text-align', 'left') :css('border-left-width', '2px') :css('border-left-style', 'solid') else listCell:attr('colspan', 2) end if not args.groupwidth then listCell:css('width', '100%') end local isOdd = (listnum % 2) == 1 local rowstyle = args.evenstyle if isOdd then rowstyle = args.oddstyle end local evenOdd if args.evenodd == 'swap' then if isOdd then evenOdd = 'even' else evenOdd = 'odd' end else if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end end listCell :css('padding', '0px') :cssText(args.liststyle) :cssText(rowstyle) :cssText(args['list' .. listnum .. 'style']) :addClass('navbox-list') :addClass('navbox-' .. evenOdd) :addClass(args.listclass) :tag('div') :css('padding', (listnum == 1 and args.list1padding) or args.listpadding or '0em 0.25em') :wikitext(addNewline(args['list' .. listnum])) if listnum == 1 and args.image then row :tag('td') :addClass('navbox-image') :addClass(args.imageclass) :css('width', '0%') :css('padding', '0px 0px 0px 2px') :cssText(args.imagestyle) :attr('rowspan', 2 * #listnums - 1) :tag('div') :wikitext(addNewline(args.image)) end end -- -- Tracking categories -- local function needsHorizontalLists() if border == 'child' or border == 'subgroup' or args.tracking == 'no' then return false end local listClasses = {'plainlist', 'hlist', 'hlist hnum', 'hlist hwrap', 'hlist vcard', 'vcard hlist', 'hlist vevent'} for i, cls in ipairs(listClasses) do if args.listclass == cls or args.bodyclass == cls then return false end end return true end -- there are a lot of list classes in the wild, so we have a function to find -- them and add their TemplateStyles local function addListStyles() local frame = mw.getCurrentFrame() -- TODO?: Should maybe take a table of classes for e.g. hnum, hwrap as above -- I'm going to do the stupid thing first though -- Also not sure hnum and hwrap are going to live in the same TemplateStyles -- as hlist local function _addListStyles(htmlclass, templatestyles) local class_args = { -- rough order of probability of use 'bodyclass', 'listclass', 'aboveclass', 'belowclass', 'titleclass', 'navboxclass', 'groupclass', 'titlegroupclass', 'imageclass' } local patterns = { '^' .. htmlclass .. '$', '%s' .. htmlclass .. '$', '^' .. htmlclass .. '%s', '%s' .. htmlclass .. '%s' } local found = false for _, arg in ipairs(class_args) do for _, pattern in ipairs(patterns) do if mw.ustring.find(args[arg] or '', pattern) then found = true break end end if found then break end end if found then return frame:extensionTag{ name = 'templatestyles', args = { src = templatestyles } } else return '' end end local hlist_styles = _addListStyles('hlist', 'Template:Flatlist/styles.css') local plainlist_styles = _addListStyles('plainlist', 'Template:Plainlist/styles.css') return hlist_styles .. plainlist_styles end local function hasBackgroundColors() return mw.ustring.match(args.titlestyle or '','background') or mw.ustring.match(args.groupstyle or '','background') or mw.ustring.match(args.basestyle or '','background') end local function getTrackingCategories() local cats = {} if needsHorizontalLists() then table.insert(cats, 'Navigational boxes without horizontal lists') end if hasBackgroundColors() then table.insert(cats, 'Navboxes using background colours') end return cats end local function renderTrackingCategories(builder) local title = mw.title.getCurrentTitle() if title.namespace ~= 10 then return end -- not in template space local subpage = title.subpageText if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end for i, cat in ipairs(getTrackingCategories()) do builder:wikitext('[[Category:' .. cat .. ']]') end end -- -- Main navbox tables -- local function renderMainTable() local tbl = mw.html.create('table') :addClass('nowraplinks') :addClass(args.bodyclass) :attr('lang', args.lang) :attr('dir', args.dir or (args.lang and 'auto' or nil)) if args.title and (args.state ~= 'plain' and args.state ~= 'off') then local state = args.state; if state and state == 'collapsed' then state = 'mw-collapsed' end tbl :addClass('mw-collapsible') :addClass(state or 'autocollapse') end tbl:css('border-spacing', 0) if border == 'subgroup' or border == 'child' or border == 'none' then tbl :addClass('navbox-subgroup') :cssText(args.bodystyle) :cssText(args.style) else -- regular navobx - bodystyle and style will be applied to the wrapper table tbl :addClass('navbox-inner') :css('background', 'transparent') :css('color', 'inherit') end tbl:cssText(args.innerstyle) renderTitleRow(tbl) renderAboveRow(tbl) for i, listnum in ipairs(listnums) do renderListRow(tbl, listnum) end renderBelowRow(tbl) return tbl end function p._navbox(navboxArgs) args = navboxArgs for k, v in pairs(args) do local listnum = ('' .. k):match('^list(%d+)$') if listnum then table.insert(listnums, tonumber(listnum)) end end table.sort(listnums) border = trim(args.border or args[1] or '') -- render the main body of the navbox local tbl = renderMainTable() -- render the appropriate wrapper around the navbox, depending on the border param local res = mw.html.create() if border == 'none' then res :wikitext(addListStyles()) :node(tbl) elseif border == 'subgroup' or border == 'child' then -- We assume that this navbox is being rendered in a list cell of a parent navbox, and is -- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the -- padding being applied, and at the end add a <div> to balance out the parent's </div> res :wikitext('</div>') -- XXX: hack due to lack of unclosed support in mw.html. :wikitext(addListStyles()) :node(tbl) :wikitext('<div>') -- XXX: hack due to lack of unclosed support in mw.html. else res :tag('table') :addClass('navbox') :css('border-spacing', 0) :cssText(args.bodystyle) :cssText(args.style) :tag('tr') :tag('td') :css('padding', '2px') :wikitext(addListStyles()) :node(tbl) end renderTrackingCategories(res) return tostring(res) end function p.navbox(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end args = getArgs(frame, {wrappers = 'Template:Navbox'}) -- Read the arguments in the order they'll be output in, to make references number in the right order. local _ _ = args.title _ = args.above for i = 1, 20 do _ = args["group" .. tostring(i)] _ = args["list" .. tostring(i)] end _ = args.below return p._navbox(args) end return p dybtqkrazhidr0oonuj0ixbrkempa36 9933 9932 2023-03-11T20:47:06Z meta>MarcoAurelio 0 Per [[Special:Permalink/24700698#Update for internationalization purpose|edit request]]; contents from [[Special:Permalink/24685594|sandbox version 24685594]] 9933 Scribunto text/plain local p = {} local navbar = require('Module:Navbar')._navbar local cfg = mw.loadData('Module:Navbox/configuration') local getArgs -- lazily initialized local args local format = string.format local function striped(wikitext, border) -- Return wikitext with markers replaced for odd/even striping. -- Child (subgroup) navboxes are flagged with a category that is removed -- by parent navboxes. The result is that the category shows all pages -- where a child navbox is not contained in a parent navbox. local orphanCat = cfg.category.orphan if border == cfg.keyword.border_subgroup and args[cfg.arg.orphan] ~= cfg.keyword.orphan_yes then -- No change; striping occurs in outermost navbox. return wikitext .. orphanCat end local first, second = cfg.class.navbox_odd_part, cfg.class.navbox_even_part if args[cfg.arg.evenodd] then if args[cfg.arg.evenodd] == cfg.keyword.evenodd_swap then first, second = second, first else first = args[cfg.arg.evenodd] second = first end end local changer if first == second then changer = first else local index = 0 changer = function (code) if code == '0' then -- Current occurrence is for a group before a nested table. -- Set it to first as a valid although pointless class. -- The next occurrence will be the first row after a title -- in a subgroup and will also be first. index = 0 return first end index = index + 1 return index % 2 == 1 and first or second end end local regex = orphanCat:gsub('([%[%]])', '%%%1') return (wikitext:gsub(regex, ''):gsub(cfg.marker.regex, changer)) -- () omits gsub count end local function processItem(item, nowrapitems) if item:sub(1, 2) == '{|' then -- Applying nowrap to lines in a table does not make sense. -- Add newlines to compensate for trim of x in |parm=x in a template. return '\n' .. item ..'\n' end if nowrapitems == cfg.keyword.nowrapitems_yes then local lines = {} for line in (item .. '\n'):gmatch('([^\n]*)\n') do local prefix, content = line:match('^([*:;#]+)%s*(.*)') if prefix and not content:match(cfg.pattern.nowrap) then line = format(cfg.nowrap_item, prefix, content) end table.insert(lines, line) end item = table.concat(lines, '\n') end if item:match('^[*:;#]') then return '\n' .. item ..'\n' end return item end local function has_navbar() return args[cfg.arg.navbar] ~= cfg.keyword.navbar_off and args[cfg.arg.navbar] ~= cfg.keyword.navbar_plain and ( args[cfg.arg.name] or mw.getCurrentFrame():getParent():getTitle():gsub(cfg.pattern.sandbox, '') ~= cfg.pattern.navbox ) end local function renderNavBar(titleCell) if has_navbar() then titleCell:wikitext(navbar{ [cfg.navbar.name] = args[cfg.arg.name], [cfg.navbar.mini] = 1, [cfg.navbar.fontstyle] = (args[cfg.arg.basestyle] or '') .. ';' .. (args[cfg.arg.titlestyle] or '') .. ';background:none transparent;border:none;box-shadow:none;padding:0;' }) end end local function renderTitleRow(tbl) if not args[cfg.arg.title] then return end local titleRow = tbl:tag('tr') local titleCell = titleRow:tag('th'):attr('scope', 'col') local titleColspan = 2 if args[cfg.arg.imageleft] then titleColspan = titleColspan + 1 end if args[cfg.arg.image] then titleColspan = titleColspan + 1 end titleCell :cssText(args[cfg.arg.basestyle]) :cssText(args[cfg.arg.titlestyle]) :addClass(cfg.class.navbox_title) :attr('colspan', titleColspan) renderNavBar(titleCell) titleCell :tag('div') -- id for aria-labelledby attribute :attr('id', mw.uri.anchorEncode(args[cfg.arg.title])) :addClass(args[cfg.arg.titleclass]) :css('font-size', '114%') :css('margin', '0 4em') :wikitext(processItem(args[cfg.arg.title])) end local function getAboveBelowColspan() local ret = 2 if args[cfg.arg.imageleft] then ret = ret + 1 end if args[cfg.arg.image] then ret = ret + 1 end return ret end local function renderAboveRow(tbl) if not args[cfg.arg.above] then return end tbl:tag('tr') :tag('td') :addClass(cfg.class.navbox_abovebelow) :addClass(args[cfg.arg.aboveclass]) :cssText(args[cfg.arg.basestyle]) :cssText(args[cfg.arg.abovestyle]) :attr('colspan', getAboveBelowColspan()) :tag('div') -- id for aria-labelledby attribute, if no title :attr('id', args[cfg.arg.title] and nil or mw.uri.anchorEncode(args[cfg.arg.above])) :wikitext(processItem(args[cfg.arg.above], args[cfg.arg.nowrapitems])) end local function renderBelowRow(tbl) if not args[cfg.arg.below] then return end tbl:tag('tr') :tag('td') :addClass(cfg.class.navbox_abovebelow) :addClass(args[cfg.arg.belowclass]) :cssText(args[cfg.arg.basestyle]) :cssText(args[cfg.arg.belowstyle]) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(processItem(args[cfg.arg.below], args[cfg.arg.nowrapitems])) end local function renderListRow(tbl, index, listnum, listnums_size) local row = tbl:tag('tr') if index == 1 and args[cfg.arg.imageleft] then row :tag('td') :addClass(cfg.class.noviewer) :addClass(cfg.class.navbox_image) :addClass(args[cfg.arg.imageclass]) :css('width', '1px') -- Minimize width :css('padding', '0 2px 0 0') :cssText(args[cfg.arg.imageleftstyle]) :attr('rowspan', listnums_size) :tag('div') :wikitext(processItem(args[cfg.arg.imageleft])) end local group_and_num = format(cfg.arg.group_and_num, listnum) local groupstyle_and_num = format(cfg.arg.groupstyle_and_num, listnum) if args[group_and_num] then local groupCell = row:tag('th') -- id for aria-labelledby attribute, if lone group with no title or above if listnum == 1 and not (args[cfg.arg.title] or args[cfg.arg.above] or args[cfg.arg.group2]) then groupCell :attr('id', mw.uri.anchorEncode(args[cfg.arg.group1])) end groupCell :attr('scope', 'row') :addClass(cfg.class.navbox_group) :addClass(args[cfg.arg.groupclass]) :cssText(args[cfg.arg.basestyle]) -- If groupwidth not specified, minimize width :css('width', args[cfg.arg.groupwidth] or '1%') groupCell :cssText(args[cfg.arg.groupstyle]) :cssText(args[groupstyle_and_num]) :wikitext(args[group_and_num]) end local listCell = row:tag('td') if args[group_and_num] then listCell :addClass(cfg.class.navbox_list_with_group) else listCell:attr('colspan', 2) end if not args[cfg.arg.groupwidth] then listCell:css('width', '100%') end local rowstyle -- usually nil so cssText(rowstyle) usually adds nothing if index % 2 == 1 then rowstyle = args[cfg.arg.oddstyle] else rowstyle = args[cfg.arg.evenstyle] end local list_and_num = format(cfg.arg.list_and_num, listnum) local listText = args[list_and_num] local oddEven = cfg.marker.oddeven if listText:sub(1, 12) == '</div><table' then -- Assume list text is for a subgroup navbox so no automatic striping for this row. oddEven = listText:find(cfg.pattern.navbox_title) and cfg.marker.restart or cfg.class.navbox_odd_part end local liststyle_and_num = format(cfg.arg.liststyle_and_num, listnum) local listclass_and_num = format(cfg.arg.listclass_and_num, listnum) listCell :css('padding', '0') :cssText(args[cfg.arg.liststyle]) :cssText(rowstyle) :cssText(args[liststyle_and_num]) :addClass(cfg.class.navbox_list) :addClass(cfg.class.navbox_part .. oddEven) :addClass(args[cfg.arg.listclass]) :addClass(args[listclass_and_num]) :tag('div') :css('padding', (index == 1 and args[cfg.arg.list1padding]) or args[cfg.arg.listpadding] or '0 0.25em' ) :wikitext(processItem(listText, args[cfg.arg.nowrapitems])) if index == 1 and args[cfg.arg.image] then row :tag('td') :addClass(cfg.class.noviewer) :addClass(cfg.class.navbox_image) :addClass(args[cfg.arg.imageclass]) :css('width', '1px') -- Minimize width :css('padding', '0 0 0 2px') :cssText(args[cfg.arg.imagestyle]) :attr('rowspan', listnums_size) :tag('div') :wikitext(processItem(args[cfg.arg.image])) end end local function has_list_class(htmlclass) local patterns = { '^' .. htmlclass .. '$', '%s' .. htmlclass .. '$', '^' .. htmlclass .. '%s', '%s' .. htmlclass .. '%s' } for arg, _ in pairs(args) do if type(arg) == 'string' and mw.ustring.find(arg, cfg.pattern.class) then for _, pattern in ipairs(patterns) do if mw.ustring.find(args[arg] or '', pattern) then return true end end end end return false end -- there are a lot of list classes in the wild, so we add their TemplateStyles local function add_list_styles() local frame = mw.getCurrentFrame() local function add_list_templatestyles(htmlclass, templatestyles) if has_list_class(htmlclass) then return frame:extensionTag{ name = 'templatestyles', args = { src = templatestyles } } else return '' end end local hlist_styles = add_list_templatestyles('hlist', cfg.hlist_templatestyles) local plainlist_styles = add_list_templatestyles('plainlist', cfg.plainlist_templatestyles) -- a second workaround for [[phab:T303378]] -- when that issue is fixed, we can actually use has_navbar not to emit the -- tag here if we want if has_navbar() and hlist_styles == '' then hlist_styles = frame:extensionTag{ name = 'templatestyles', args = { src = cfg.hlist_templatestyles } } end -- hlist -> plainlist is best-effort to preserve old Common.css ordering. -- this ordering is not a guarantee because most navboxes will emit only -- one of these classes [hlist_note] return hlist_styles .. plainlist_styles end local function needsHorizontalLists(border) if border == cfg.keyword.border_subgroup or args[cfg.arg.tracking] == cfg.keyword.tracking_no then return false end return not has_list_class(cfg.pattern.hlist) and not has_list_class(cfg.pattern.plainlist) end local function hasBackgroundColors() for _, key in ipairs({cfg.arg.titlestyle, cfg.arg.groupstyle, cfg.arg.basestyle, cfg.arg.abovestyle, cfg.arg.belowstyle}) do if tostring(args[key]):find('background', 1, true) then return true end end return false end local function hasBorders() for _, key in ipairs({cfg.arg.groupstyle, cfg.arg.basestyle, cfg.arg.abovestyle, cfg.arg.belowstyle}) do if tostring(args[key]):find('border', 1, true) then return true end end return false end local function isIllegible() local styleratio = require('Module:Color contrast')._styleratio for key, style in pairs(args) do if tostring(key):match(cfg.pattern.style) then if styleratio{mw.text.unstripNoWiki(style)} < 4.5 then return true end end end return false end local function getTrackingCategories(border) local cats = {} if needsHorizontalLists(border) then table.insert(cats, cfg.category.horizontal_lists) end if hasBackgroundColors() then table.insert(cats, cfg.category.background_colors) end if isIllegible() then table.insert(cats, cfg.category.illegible) end if hasBorders() then table.insert(cats, cfg.category.borders) end return cats end local function renderTrackingCategories(builder, border) local title = mw.title.getCurrentTitle() if title.namespace ~= 10 then return end -- not in template space local subpage = title.subpageText if subpage == cfg.keyword.subpage_doc or subpage == cfg.keyword.subpage_sandbox or subpage == cfg.keyword.subpage_testcases then return end for _, cat in ipairs(getTrackingCategories(border)) do builder:wikitext('[[Category:' .. cat .. ']]') end end local function renderMainTable(border, listnums) local tbl = mw.html.create('table') :addClass(cfg.class.nowraplinks) :addClass(args[cfg.arg.bodyclass]) local state = args[cfg.arg.state] if args[cfg.arg.title] and state ~= cfg.keyword.state_plain and state ~= cfg.keyword.state_off then if state == cfg.keyword.state_collapsed then state = cfg.class.collapsed end tbl :addClass(cfg.class.collapsible) :addClass(state or cfg.class.autocollapse) end tbl:css('border-spacing', 0) if border == cfg.keyword.border_subgroup or border == cfg.keyword.border_none then tbl :addClass(cfg.class.navbox_subgroup) :cssText(args[cfg.arg.bodystyle]) :cssText(args[cfg.arg.style]) else -- regular navbox - bodystyle and style will be applied to the wrapper table tbl :addClass(cfg.class.navbox_inner) :css('background', 'transparent') :css('color', 'inherit') end tbl:cssText(args[cfg.arg.innerstyle]) renderTitleRow(tbl) renderAboveRow(tbl) local listnums_size = #listnums for i, listnum in ipairs(listnums) do renderListRow(tbl, i, listnum, listnums_size) end renderBelowRow(tbl) return tbl end local function add_navbox_styles(hiding_templatestyles) local frame = mw.getCurrentFrame() -- This is a lambda so that it doesn't need the frame as a parameter local function add_user_styles(templatestyles) if templatestyles and templatestyles ~= '' then return frame:extensionTag{ name = 'templatestyles', args = { src = templatestyles } } end return '' end -- get templatestyles. load base from config so that Lua only needs to do -- the work once of parser tag expansion local base_templatestyles = cfg.templatestyles local templatestyles = add_user_styles(args[cfg.arg.templatestyles]) local child_templatestyles = add_user_styles(args[cfg.arg.child_templatestyles]) -- The 'navbox-styles' div exists to wrap the styles to work around T200206 -- more elegantly. Instead of combinatorial rules, this ends up being linear -- number of CSS rules. return mw.html.create('div') :addClass(cfg.class.navbox_styles) :wikitext( add_list_styles() .. -- see [hlist_note] applied to 'before base_templatestyles' base_templatestyles .. templatestyles .. child_templatestyles .. table.concat(hiding_templatestyles) ) :done() end -- work around [[phab:T303378]] -- for each arg: find all the templatestyles strip markers, insert them into a -- table. then remove all templatestyles markers from the arg local function move_hiding_templatestyles(args) local gfind = string.gfind local gsub = string.gsub local templatestyles_markers = {} local strip_marker_pattern = '(\127[^\127]*UNIQ%-%-templatestyles%-%x+%-QINU[^\127]*\127)' for k, arg in pairs(args) do for marker in gfind(arg, strip_marker_pattern) do table.insert(templatestyles_markers, marker) end args[k] = gsub(arg, strip_marker_pattern, '') end return templatestyles_markers end function p._navbox(navboxArgs) args = navboxArgs local hiding_templatestyles = move_hiding_templatestyles(args) local listnums = {} for k, _ in pairs(args) do if type(k) == 'string' then local listnum = k:match(cfg.pattern.listnum) if listnum then table.insert(listnums, tonumber(listnum)) end end end table.sort(listnums) local border = mw.text.trim(args[cfg.arg.border] or args[1] or '') if border == cfg.keyword.border_child then border = cfg.keyword.border_subgroup end -- render the main body of the navbox local tbl = renderMainTable(border, listnums) local res = mw.html.create() -- render the appropriate wrapper for the navbox, based on the border param if border == cfg.keyword.border_none then res:node(add_navbox_styles(hiding_templatestyles)) local nav = res:tag('div') :attr('role', 'navigation') :node(tbl) -- aria-labelledby title, otherwise above, otherwise lone group if args[cfg.arg.title] or args[cfg.arg.above] or (args[cfg.arg.group1] and not args[cfg.arg.group2]) then nav:attr( 'aria-labelledby', mw.uri.anchorEncode( args[cfg.arg.title] or args[cfg.arg.above] or args[cfg.arg.group1] ) ) else nav:attr('aria-label', cfg.aria_label) end elseif border == cfg.keyword.border_subgroup then -- We assume that this navbox is being rendered in a list cell of a -- parent navbox, and is therefore inside a div with padding:0em 0.25em. -- We start with a </div> to avoid the padding being applied, and at the -- end add a <div> to balance out the parent's </div> res :wikitext('</div>') :node(tbl) :wikitext('<div>') else res:node(add_navbox_styles(hiding_templatestyles)) local nav = res:tag('div') :attr('role', 'navigation') :addClass(cfg.class.navbox) :addClass(args[cfg.arg.navboxclass]) :cssText(args[cfg.arg.bodystyle]) :cssText(args[cfg.arg.style]) :css('padding', '3px') :node(tbl) -- aria-labelledby title, otherwise above, otherwise lone group if args[cfg.arg.title] or args[cfg.arg.above] or (args[cfg.arg.group1] and not args[cfg.arg.group2]) then nav:attr( 'aria-labelledby', mw.uri.anchorEncode(args[cfg.arg.title] or args[cfg.arg.above] or args[cfg.arg.group1]) ) else nav:attr('aria-label', cfg.aria_label) end end if (args[cfg.arg.nocat] or cfg.keyword.nocat_false):lower() == cfg.keyword.nocat_false then renderTrackingCategories(res, border) end return striped(tostring(res), border) end function p.navbox(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end args = getArgs(frame, {wrappers = {cfg.pattern.navbox}}) -- Read the arguments in the order they'll be output in, to make references -- number in the right order. local _ _ = args[cfg.arg.title] _ = args[cfg.arg.above] -- Limit this to 20 as covering 'most' cases (that's a SWAG) and because -- iterator approach won't work here for i = 1, 20 do _ = args[format(cfg.arg.group_and_num, i)] _ = args[format(cfg.arg.list_and_num, i)] end _ = args[cfg.arg.below] return p._navbox(args) end return p t7wpbpsk2issbvsmbic7keehrtse5wh 9934 9046 2026-08-24T13:00:42Z RAPTOR7762 18 104 revisions imported from [[:meta:Module:Navbox]] 9045 Scribunto text/plain require('strict') local p = {} local cfg = mw.loadData('Module:Navbox/configuration') local inArray = require("Module:TableTools").inArray local getArgs -- lazily initialized local hiding_templatestyles = {} -- global passthrough variables local passthrough = { [cfg.arg.above]=true,[cfg.arg.aboveclass]=true,[cfg.arg.abovestyle]=true, [cfg.arg.basestyle]=true, [cfg.arg.below]=true,[cfg.arg.belowclass]=true,[cfg.arg.belowstyle]=true, [cfg.arg.bodyclass]=true, [cfg.arg.groupclass]=true, [cfg.arg.image]=true,[cfg.arg.imageclass]=true,[cfg.arg.imagestyle]=true, [cfg.arg.imageleft]=true,[cfg.arg.imageleftstyle]=true, [cfg.arg.listclass]=true, [cfg.arg.name]=true, [cfg.arg.navbar]=true, [cfg.arg.state]=true, [cfg.arg.title]=true,[cfg.arg.titleclass]=true,[cfg.arg.titlestyle]=true, argHash=true } -- helper functions local andnum = function(s, n) return string.format(cfg.arg[s .. '_and_num'], n) end local isblank = function(v) return (v or '') == '' end local function concatstrings(s) local r = table.concat(s, '') if r:match('^%s*$') then return nil end return r end local function concatstyles(s) local r = '' for _, v in ipairs(s) do v = mw.text.trim(v, "%s;") if not isblank(v) then r = r .. v .. ';' end end if isblank(r) then return nil end return r end local function getSubgroup(args, listnum, listText, prefix) local subArgs = { [cfg.arg.border] = cfg.keyword.border_subgroup, [cfg.arg.navbar] = cfg.keyword.navbar_plain, argHash = 0 } local hasSubArgs = false local subgroups_and_num = prefix and {prefix} or cfg.arg.subgroups_and_num for k, v in pairs(args) do k = tostring(k) for _, w in ipairs(subgroups_and_num) do w = string.format(w, listnum) .. "_" if (#k > #w) and (k:sub(1, #w) == w) then subArgs[k:sub(#w + 1)] = v hasSubArgs = true subArgs.argHash = subArgs.argHash + (v and #v or 0) end end end return hasSubArgs and p._navbox(subArgs) or listText end -- Main functions function p._navbox(args) if args.type == cfg.keyword.with_collapsible_groups then return p._withCollapsibleGroups(args) elseif args.type == cfg.keyword.with_columns then return p._withColumns(args) end local function striped(wikitext, border) -- Return wikitext with markers replaced for odd/even striping. -- Child (subgroup) navboxes are flagged with a category that is removed -- by parent navboxes. The result is that the category shows all pages -- where a child navbox is not contained in a parent navbox. local orphanCat = cfg.category.orphan if border == cfg.keyword.border_subgroup and args[cfg.arg.orphan] ~= cfg.keyword.orphan_yes then -- No change; striping occurs in outermost navbox. return wikitext .. orphanCat end local first, second = cfg.class.navbox_odd_part, cfg.class.navbox_even_part if args[cfg.arg.evenodd] then if args[cfg.arg.evenodd] == cfg.keyword.evenodd_swap then first, second = second, first else first = args[cfg.arg.evenodd] second = first end end local changer if first == second then changer = first else local index = 0 changer = function (code) if code == '0' then -- Current occurrence is for a group before a nested table. -- Set it to first as a valid although pointless class. -- The next occurrence will be the first row after a title -- in a subgroup and will also be first. index = 0 return first end index = index + 1 return index % 2 == 1 and first or second end end local regex = orphanCat:gsub('([%[%]])', '%%%1') return (wikitext:gsub(regex, ''):gsub(cfg.marker.regex, changer)) -- () omits gsub count end local function processItem(item, nowrapitems) if item:sub(1, 2) == '{|' then -- Applying nowrap to lines in a table does not make sense. -- Add newlines to compensate for trim of x in |parm=x in a template. return '\n' .. item .. '\n' end if nowrapitems == cfg.keyword.nowrapitems_yes then local lines = {} for line in (item .. '\n'):gmatch('([^\n]*)\n') do local prefix, content = line:match('^([*:;#]+)%s*(.*)') if prefix and not content:match(cfg.pattern.nowrap) then line = string.format(cfg.nowrap_item, prefix, content) end table.insert(lines, line) end item = table.concat(lines, '\n') end if item:match('^[*:;#]') then return '\n' .. item .. '\n' end return item end local function has_navbar() return args[cfg.arg.navbar] ~= cfg.keyword.navbar_off and args[cfg.arg.navbar] ~= cfg.keyword.navbar_plain and ( args[cfg.arg.name] or mw.getCurrentFrame():getParent():getTitle():gsub(cfg.pattern.sandbox, '') ~= cfg.pattern.navbox ) end -- extract text color from css, which is the only permitted inline CSS for the navbar local function extract_color(css_str) -- return nil because navbar takes its argument into mw.html which handles -- nil gracefully, removing the associated style attribute return mw.ustring.match(';' .. css_str .. ';', '.*;%s*([Cc][Oo][Ll][Oo][Rr]%s*:%s*.-)%s*;') or nil end local function renderNavBar(titleCell) if has_navbar() then local navbar = require('Module:Navbar')._navbar titleCell:wikitext(navbar{ [cfg.navbar.name] = args[cfg.arg.name], [cfg.navbar.mini] = 1, [cfg.navbar.fontstyle] = extract_color( (args[cfg.arg.basestyle] or '') .. ';' .. (args[cfg.arg.titlestyle] or '') ) }) end end local function renderTitleRow(tbl) if not args[cfg.arg.title] then return end local titleRow = tbl:tag('tr') local titleCell = titleRow:tag('th'):attr('scope', 'col') local titleColspan = 2 if args[cfg.arg.imageleft] then titleColspan = titleColspan + 1 end if args[cfg.arg.image] then titleColspan = titleColspan + 1 end titleCell :cssText(args[cfg.arg.basestyle]) :cssText(args[cfg.arg.titlestyle]) :addClass(cfg.class.navbox_title) :attr('colspan', titleColspan) renderNavBar(titleCell) titleCell :tag('div') -- id for aria-labelledby attribute :attr('id', mw.uri.anchorEncode(args[cfg.arg.title]) .. args.argHash) :addClass(args[cfg.arg.titleclass]) :css('font-size', '114%') :css('margin', '0 4em') :wikitext(processItem(args[cfg.arg.title])) end local function getAboveBelowColspan() local ret = 2 if args[cfg.arg.imageleft] then ret = ret + 1 end if args[cfg.arg.image] then ret = ret + 1 end return ret end local function renderAboveRow(tbl) if not args[cfg.arg.above] then return end tbl:tag('tr') :tag('td') :addClass(cfg.class.navbox_abovebelow) :addClass(args[cfg.arg.aboveclass]) :cssText(args[cfg.arg.basestyle]) :cssText(args[cfg.arg.abovestyle]) :attr('colspan', getAboveBelowColspan()) :tag('div') -- id for aria-labelledby attribute, if no title :attr('id', (not args[cfg.arg.title]) and (mw.uri.anchorEncode(args[cfg.arg.above]) .. args.argHash) or nil) :wikitext(processItem(args[cfg.arg.above], args[cfg.arg.nowrapitems])) end local function renderBelowRow(tbl) if not args[cfg.arg.below] then return end tbl:tag('tr') :tag('td') :addClass(cfg.class.navbox_abovebelow) :addClass(args[cfg.arg.belowclass]) :cssText(args[cfg.arg.basestyle]) :cssText(args[cfg.arg.belowstyle]) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(processItem(args[cfg.arg.below], args[cfg.arg.nowrapitems])) end local function renderListRow(tbl, index, listnum, listnums_size) local row = tbl:tag('tr') if index == 1 and args[cfg.arg.imageleft] then row :tag('td') :addClass(cfg.class.noviewer) :addClass(cfg.class.navbox_image) :addClass(args[cfg.arg.imageclass]) :css('width', '1px') -- Minimize width :css('padding', '0 2px 0 0') :cssText(args[cfg.arg.imageleftstyle]) :attr('rowspan', listnums_size) :tag('div') :wikitext(processItem(args[cfg.arg.imageleft])) end local group_and_num = andnum('group', listnum) local groupstyle_and_num = andnum('groupstyle', listnum) if args[group_and_num] then local groupCell = row:tag('th') -- id for aria-labelledby attribute, if lone group with no title or above if listnum == 1 and not (args[cfg.arg.title] or args[cfg.arg.above] or args[cfg.arg.group2]) then groupCell :attr('id', mw.uri.anchorEncode(args[cfg.arg.group1]) .. args.argHash) end groupCell :attr('scope', 'row') :addClass(cfg.class.navbox_group) :addClass(args[cfg.arg.groupclass]) :cssText(args[cfg.arg.basestyle]) -- If groupwidth not specified, minimize width :css('width', args[cfg.arg.groupwidth] or '1%') groupCell :cssText(args[cfg.arg.groupstyle]) :cssText(args[groupstyle_and_num]) :wikitext(args[group_and_num]) end local listCell = row:tag('td') if args[group_and_num] then listCell :addClass(cfg.class.navbox_list_with_group) else listCell:attr('colspan', 2) end if not args[cfg.arg.groupwidth] then listCell:css('width', '100%') end local rowstyle -- usually nil so cssText(rowstyle) usually adds nothing if index % 2 == 1 then rowstyle = args[cfg.arg.oddstyle] else rowstyle = args[cfg.arg.evenstyle] end local list_and_num = andnum('list', listnum) local listText = inArray(cfg.keyword.subgroups, args[list_and_num]) and getSubgroup(args, listnum, args[list_and_num]) or args[list_and_num] local oddEven = cfg.marker.oddeven if listText:sub(1, 12) == '</div><table' then -- Assume list text is for a subgroup navbox so no automatic striping for this row. oddEven = listText:find(cfg.pattern.navbox_title) and cfg.marker.restart or cfg.class.navbox_odd_part end local liststyle_and_num = andnum('liststyle', listnum) local listclass_and_num = andnum('listclass', listnum) listCell :css('padding', '0') :cssText(args[cfg.arg.liststyle]) :cssText(rowstyle) :cssText(args[liststyle_and_num]) :addClass(cfg.class.navbox_list) :addClass(cfg.class.navbox_part .. oddEven) :addClass(args[cfg.arg.listclass]) :addClass(args[listclass_and_num]) :tag('div') :css('padding', (index == 1 and args[cfg.arg.list1padding]) or args[cfg.arg.listpadding] or '0 0.25em' ) :wikitext(processItem(listText, args[cfg.arg.nowrapitems])) if index == 1 and args[cfg.arg.image] then row :tag('td') :addClass(cfg.class.noviewer) :addClass(cfg.class.navbox_image) :addClass(args[cfg.arg.imageclass]) :css('width', '1px') -- Minimize width :css('padding', '0 0 0 2px') :cssText(args[cfg.arg.imagestyle]) :attr('rowspan', listnums_size) :tag('div') :wikitext(processItem(args[cfg.arg.image])) end end local function has_list_class(htmlclass) local patterns = { '^' .. htmlclass .. '$', '%s' .. htmlclass .. '$', '^' .. htmlclass .. '%s', '%s' .. htmlclass .. '%s' } for arg, _ in pairs(args) do if type(arg) == 'string' and mw.ustring.find(arg, cfg.pattern.class) then for _, pattern in ipairs(patterns) do if mw.ustring.find(args[arg] or '', pattern) then return true end end end end return false end -- there are a lot of list classes in the wild, so we add their TemplateStyles local function add_list_styles() local frame = mw.getCurrentFrame() local function add_list_templatestyles(htmlclass, templatestyles) if has_list_class(htmlclass) then return frame:extensionTag{ name = 'templatestyles', args = { src = templatestyles } } else return '' end end local hlist_styles = add_list_templatestyles('hlist', cfg.hlist_templatestyles) local plainlist_styles = add_list_templatestyles('plainlist', cfg.plainlist_templatestyles) -- a second workaround for [[phab:T303378]] -- when that issue is fixed, we can actually use has_navbar not to emit the -- tag here if we want if has_navbar() and hlist_styles == '' then hlist_styles = frame:extensionTag{ name = 'templatestyles', args = { src = cfg.hlist_templatestyles } } end -- hlist -> plainlist is best-effort to preserve old Common.css ordering. -- this ordering is not a guarantee because most navboxes will emit only -- one of these classes [hlist_note] return hlist_styles .. plainlist_styles end local function needsHorizontalLists(border) if border == cfg.keyword.border_subgroup or args[cfg.arg.tracking] == cfg.keyword.tracking_no then return false end return not has_list_class(cfg.pattern.hlist) and not has_list_class(cfg.pattern.plainlist) end local function hasBackgroundColors() for _, key in ipairs({cfg.arg.titlestyle, cfg.arg.groupstyle, cfg.arg.basestyle, cfg.arg.abovestyle, cfg.arg.belowstyle}) do if tostring(args[key]):find('background', 1, true) then return true end end return false end local function hasBorders() for _, key in ipairs({cfg.arg.groupstyle, cfg.arg.basestyle, cfg.arg.abovestyle, cfg.arg.belowstyle}) do if tostring(args[key]):find('border', 1, true) then return true end end return false end local function isIllegible() local styleratio = require('Module:Color contrast')._styleratio for key, style in pairs(args) do if tostring(key):match(cfg.pattern.style) then if styleratio{mw.text.unstripNoWiki(style)} < 4.5 then return true end end end return false end local function getTrackingCategories(border) local cats = {} if needsHorizontalLists(border) then table.insert(cats, cfg.category.horizontal_lists) end if hasBackgroundColors() then table.insert(cats, cfg.category.background_colors) end if isIllegible() then table.insert(cats, cfg.category.illegible) end if hasBorders() then table.insert(cats, cfg.category.borders) end return cats end local function renderTrackingCategories(builder, border) local title = mw.title.getCurrentTitle() if title.namespace ~= 10 then return end -- not in template space local subpage = title.subpageText if subpage == cfg.keyword.subpage_doc or subpage == cfg.keyword.subpage_sandbox or subpage == cfg.keyword.subpage_testcases then return end for _, cat in ipairs(getTrackingCategories(border)) do builder:wikitext('[[Category:' .. cat .. ']]') end end local function renderMainTable(border, listnums) local tbl = mw.html.create('table') :addClass(cfg.class.nowraplinks) :addClass(args[cfg.arg.bodyclass]) local state = args[cfg.arg.state] if args[cfg.arg.title] and state ~= cfg.keyword.state_plain and state ~= cfg.keyword.state_off then if state == cfg.keyword.state_collapsed then state = cfg.class.collapsed end tbl :addClass(cfg.class.collapsible) :addClass(state or cfg.class.autocollapse) end tbl:css('border-spacing', 0) if border == cfg.keyword.border_subgroup or border == cfg.keyword.border_none then tbl :addClass(cfg.class.navbox_subgroup) :cssText(args[cfg.arg.bodystyle]) :cssText(args[cfg.arg.style]) else -- regular navbox - bodystyle and style will be applied to the wrapper table tbl :addClass(cfg.class.navbox_inner) :css('background', 'transparent') :css('color', 'inherit') end tbl:cssText(args[cfg.arg.innerstyle]) renderTitleRow(tbl) renderAboveRow(tbl) local listnums_size = #listnums for i, listnum in ipairs(listnums) do renderListRow(tbl, i, listnum, listnums_size) end renderBelowRow(tbl) return tbl end local function add_navbox_styles(hiding_templatestyles) local frame = mw.getCurrentFrame() -- This is a lambda so that it doesn't need the frame as a parameter local function add_user_styles(templatestyles) if not isblank(templatestyles) then return frame:extensionTag{ name = 'templatestyles', args = { src = templatestyles } } end return '' end -- get templatestyles. load base from config so that Lua only needs to do -- the work once of parser tag expansion local base_templatestyles = cfg.templatestyles local templatestyles = add_user_styles(args[cfg.arg.templatestyles]) local child_templatestyles = add_user_styles(args[cfg.arg.child_templatestyles]) -- The 'navbox-styles' div exists to wrap the styles to work around T200206 -- more elegantly. Instead of combinatorial rules, this ends up being linear -- number of CSS rules. return mw.html.create('div') :addClass(cfg.class.navbox_styles) :wikitext( add_list_styles() .. -- see [hlist_note] applied to 'before base_templatestyles' base_templatestyles .. templatestyles .. child_templatestyles .. table.concat(hiding_templatestyles) ) :done() end -- work around [[phab:T303378]] -- for each arg: find all the templatestyles strip markers, insert them into a -- table. then remove all templatestyles markers from the arg local strip_marker_pattern = '(\127[^\127]*UNIQ%-%-templatestyles%-%x+%-QINU[^\127]*\127)' local argHash = 0 for k, arg in pairs(args) do if type(arg) == 'string' then for marker in string.gfind(arg, strip_marker_pattern) do table.insert(hiding_templatestyles, marker) end argHash = argHash + #arg args[k] = string.gsub(arg, strip_marker_pattern, '') end end if not args.argHash then args.argHash = argHash end local listnums = {} for k, _ in pairs(args) do if type(k) == 'string' then local listnum = k:match(cfg.pattern.listnum) if listnum and args[andnum('list', tonumber(listnum))] then table.insert(listnums, tonumber(listnum)) end end end table.sort(listnums) local border = mw.text.trim(args[cfg.arg.border] or args[1] or '') if border == cfg.keyword.border_child then border = cfg.keyword.border_subgroup end -- render the main body of the navbox local tbl = renderMainTable(border, listnums) local res = mw.html.create() -- render the appropriate wrapper for the navbox, based on the border param if border == cfg.keyword.border_none then res:node(add_navbox_styles(hiding_templatestyles)) local nav = res:tag('div') :attr('role', 'navigation') :node(tbl) -- aria-labelledby title, otherwise above, otherwise lone group if args[cfg.arg.title] or args[cfg.arg.above] or (args[cfg.arg.group1] and not args[cfg.arg.group2]) then nav:attr( 'aria-labelledby', mw.uri.anchorEncode( args[cfg.arg.title] or args[cfg.arg.above] or args[cfg.arg.group1] ) .. args.argHash ) else nav:attr('aria-label', cfg.aria_label .. args.argHash) end elseif border == cfg.keyword.border_subgroup then -- We assume that this navbox is being rendered in a list cell of a -- parent navbox, and is therefore inside a div with padding:0em 0.25em. -- We start with a </div> to avoid the padding being applied, and at the -- end add a <div> to balance out the parent's </div> res :wikitext('</div>') :node(tbl) :wikitext('<div>') else res:node(add_navbox_styles(hiding_templatestyles)) local nav = res:tag('div') :attr('role', 'navigation') :addClass(cfg.class.navbox) :addClass(args[cfg.arg.navboxclass]) :cssText(args[cfg.arg.bodystyle]) :cssText(args[cfg.arg.style]) :css('padding', '3px') :node(tbl) -- aria-labelledby title, otherwise above, otherwise lone group if args[cfg.arg.title] or args[cfg.arg.above] or (args[cfg.arg.group1] and not args[cfg.arg.group2]) then nav:attr( 'aria-labelledby', mw.uri.anchorEncode( args[cfg.arg.title] or args[cfg.arg.above] or args[cfg.arg.group1] ) .. args.argHash ) else nav:attr('aria-label', cfg.aria_label .. args.argHash) end end if (args[cfg.arg.nocat] or cfg.keyword.nocat_false):lower() == cfg.keyword.nocat_false then renderTrackingCategories(res, border) end return striped(tostring(res), border) end --p._navbox function p._withCollapsibleGroups(pargs) -- table for args passed to navbox local targs = {} -- process args local passthroughLocal = { [cfg.arg.bodystyle] = true, [cfg.arg.border] = true, [cfg.arg.style] = true, } for k,v in pairs(pargs) do if k and type(k) == 'string' then if passthrough[k] or passthroughLocal[k] then targs[k] = v elseif (k:match(cfg.pattern.num)) then local n = k:match(cfg.pattern.num) local list_and_num = andnum('list', n) if ((k:match(cfg.pattern.listnum) or k:match(cfg.pattern.contentnum)) and targs[list_and_num] == nil and pargs[andnum('group', n)] == nil and pargs[andnum('sect', n)] == nil and pargs[andnum('section', n)] == nil) then targs[list_and_num] = concatstrings({ pargs[list_and_num] or '', pargs[andnum('content', n)] or '' }) if (targs[list_and_num] and inArray(cfg.keyword.subgroups, targs[list_and_num])) then targs[list_and_num] = getSubgroup(pargs, n, targs[list_and_num]) end elseif ((k:match(cfg.pattern.groupnum) or k:match(cfg.pattern.sectnum) or k:match(cfg.pattern.sectionnum)) and targs[list_and_num] == nil) then local titlestyle = concatstyles({ pargs[cfg.arg.groupstyle] or '', pargs[cfg.arg.secttitlestyle] or '', pargs[andnum('groupstyle', n)] or '', pargs[andnum('sectiontitlestyle', n)] or '' }) local liststyle = concatstyles({ pargs[cfg.arg.liststyle] or '', pargs[cfg.arg.contentstyle] or '', pargs[andnum('liststyle', n)] or '', pargs[andnum('contentstyle', n)] or '' }) local title = concatstrings({ pargs[andnum('group', n)] or '', pargs[andnum('sect', n)] or '', pargs[andnum('section', n)] or '' }) local list = concatstrings({ pargs[list_and_num] or '', pargs[andnum('content', n)] or '' }) if list and inArray(cfg.keyword.subgroups, list) then list = getSubgroup(pargs, n, list) end local abbr_and_num = andnum('abbr', n) local state = (pargs[abbr_and_num] and pargs[abbr_and_num] == pargs[cfg.arg.selected]) and cfg.keyword.state_uncollapsed or (pargs[andnum('state', n)] or cfg.keyword.state_collapsed) targs[list_and_num] =p._navbox({ cfg.keyword.border_child, [cfg.arg.navbar] = cfg.keyword.navbar_plain, [cfg.arg.state] = state, [cfg.arg.basestyle] = pargs[cfg.arg.basestyle], [cfg.arg.title] = title, [cfg.arg.titlestyle] = titlestyle, [andnum('list', 1)] = list, [cfg.arg.liststyle] = liststyle, [cfg.arg.listclass] = pargs[andnum('listclass', n)], [cfg.arg.image] = pargs[andnum('image', n)], [cfg.arg.imageleft] = pargs[andnum('imageleft', n)], [cfg.arg.listpadding] = pargs[cfg.arg.listpadding], argHash = pargs.argHash }) end end end end -- ordering of style and bodystyle targs[cfg.arg.style] = concatstyles({targs[cfg.arg.style] or '', targs[cfg.arg.bodystyle] or ''}) targs[cfg.arg.bodystyle] = nil -- child or subgroup if targs[cfg.arg.border] == nil then targs[cfg.arg.border] = pargs[1] end return p._navbox(targs) end --p._withCollapsibleGroups function p._withColumns(pargs) -- table for args passed to navbox local targs = {} -- tables of column numbers local colheadernums = {} local colnums = {} local colfooternums = {} -- process args local passthroughLocal = { [cfg.arg.evenstyle]=true, [cfg.arg.groupstyle]=true, [cfg.arg.liststyle]=true, [cfg.arg.oddstyle]=true, [cfg.arg.state]=true, } for k,v in pairs(pargs) do if passthrough[k] or passthroughLocal[k] then targs[k] = v elseif type(k) == 'string' then if k:match(cfg.pattern.listnum) then local n = k:match(cfg.pattern.listnum) targs[andnum('liststyle', n + 2)] = pargs[andnum('liststyle', n)] targs[andnum('group', n + 2)] = pargs[andnum('group', n)] targs[andnum('groupstyle', n + 2)] = pargs[andnum('groupstyle', n)] if v and inArray(cfg.keyword.subgroups, v) then targs[andnum('list', n + 2)] = getSubgroup(pargs, n, v) else targs[andnum('list', n + 2)] = v end elseif (k:match(cfg.pattern.colheadernum) and v ~= '') then table.insert(colheadernums, tonumber(k:match(cfg.pattern.colheadernum))) elseif (k:match(cfg.pattern.colnum) and v ~= '') then table.insert(colnums, tonumber(k:match(cfg.pattern.colnum))) elseif (k:match(cfg.pattern.colfooternum) and v ~= '') then table.insert(colfooternums, tonumber(k:match(cfg.pattern.colfooternum))) end end end table.sort(colheadernums) table.sort(colnums) table.sort(colfooternums) -- HTML table for list1 local coltable = mw.html.create( 'table' ):addClass('navbox-columns-table') local row, col local tablestyle = ( (#colheadernums > 0) or (not isblank(pargs[cfg.arg.fullwidth])) ) and 'width:100%' or 'width:auto; margin-left:auto; margin-right:auto' coltable:cssText(concatstyles({ 'border-spacing: 0px; text-align:left', tablestyle, pargs[cfg.arg.coltablestyle] or '' })) --- Header row --- if (#colheadernums > 0) then row = coltable:tag('tr') for k, n in ipairs(colheadernums) do col = row:tag('th'):addClass('navbox-abovebelow') col:cssText(concatstyles({ (k > 1) and 'border-left:2px solid #fdfdfd' or '', 'font-weight:bold', pargs[cfg.arg.colheaderstyle] or '', pargs[andnum('colheaderstyle', n)] or '' })) col:attr('colspan', tonumber(pargs[andnum('colheadercolspan', n)])) col:wikitext(pargs[andnum('colheader', n)]) end end --- Main columns --- row = coltable:tag('tr'):css('vertical-align', 'top') for k, n in ipairs(colnums) do if k == 1 and isblank(pargs[andnum('colheader', 1)]) and isblank(pargs[andnum('colfooter', 1)]) and isblank(pargs[cfg.arg.fullwidth]) then local nopad = inArray( {'off', '0', '0em', '0px'}, mw.ustring.gsub(pargs[cfg.arg.padding] or '', '[;%%]', '')) if not nopad then row:tag('td'):wikitext('&nbsp;&nbsp;&nbsp;') :css('width', (pargs[cfg.arg.padding] or '5em')) end end col = row:tag('td'):addClass('navbox-list') col:cssText(concatstyles({ (k > 1) and 'border-left:2px solid #fdfdfd' or '', 'padding:0px', pargs[cfg.arg.colstyle] or '', ((n%2 == 0) and pargs[cfg.arg.evencolstyle] or pargs[cfg.arg.oddcolstyle]) or '', pargs[andnum('colstyle', n)] or '', 'width:' .. (pargs[andnum('colwidth', n)] or pargs[cfg.arg.colwidth] or '10em') })) local wt = pargs[andnum('col', n)] if wt and inArray(cfg.keyword.subgroups, wt) then wt = getSubgroup(pargs, n, wt, cfg.arg.col_and_num) end col:tag('div'):newline():wikitext(wt):newline() end --- Footer row --- if (#colfooternums > 0) then row = coltable:tag('tr') for k, n in ipairs(colfooternums) do col = row:tag('td'):addClass('navbox-abovebelow') col:cssText(concatstyles({ (k > 1) and 'border-left:2px solid #fdfdfd' or '', 'font-weight:bold', pargs[cfg.arg.colfooterstyle] or '', pargs[andnum('colfooterstyle', n)] or '' })) col:attr('colspan', tonumber(pargs[andnum('colfootercolspan', n)])) col:wikitext(pargs[andnum('colfooter', n)]) end end -- assign table to list1 targs[andnum('list', 1)] = tostring(coltable) if isblank(pargs[andnum('colheader', 1)]) and isblank(pargs[andnum('col', 1)]) and isblank(pargs[andnum('colfooter', 1)]) then targs[andnum('list', 1)] = targs[andnum('list', 1)] .. cfg.category.without_first_col end -- Other parameters targs[cfg.arg.border] = pargs[cfg.arg.border] or pargs[1] targs[cfg.arg.evenodd] = (not isblank(pargs[cfg.arg.evenodd])) and pargs[cfg.arg.evenodd] or nil targs[cfg.arg.list1padding] = '0px' targs[andnum('liststyle', 1)] = 'background:transparent;color:inherit;' targs[cfg.arg.style] = concatstyles({pargs[cfg.arg.style], pargs[cfg.arg.bodystyle]}) targs[cfg.arg.tracking] = 'no' return p._navbox(targs) end --p._withColumns -- Template entry points function p.navbox (frame, boxtype) local function readArgs(args, prefix) local function readSubgroups(element, i) if inArray(cfg.keyword.subgroups, args[prefix .. andnum(element, i)]) then for _, v in ipairs(cfg.arg.subgroups_and_num) do readArgs(args, prefix .. string.format(v, i) .. "_") end readArgs(args, prefix .. andnum('col', i) .. "_") end end -- Read the arguments in the order they'll be output in, to make references -- number in the right order. local _ _ = args[prefix .. cfg.arg.title] _ = args[prefix .. cfg.arg.above] -- Limit this to 20 as covering 'most' cases (that's a SWAG) and because -- iterator approach won't work here local boxtype = args.type or cfg.keyword[boxtype] if boxtype == cfg.keyword.with_columns then for i = 1, 20 do _ = args[prefix .. andnum('colheader', i)] end for i = 1, 20 do readSubgroups('col', i) end for i = 1, 20 do _ = args[prefix .. andnum('colfooter', i)] end end for i = 1, 20 do _ = args[prefix .. andnum('group', i)] readSubgroups('list', i) end _ = args[prefix .. cfg.arg.below] end if not getArgs then getArgs = require('Module:Arguments').getArgs end local args = getArgs(frame, {wrappers = {cfg.pattern[boxtype or 'navbox']}}) readArgs(args, "") args.argHash = nil -- we shouldn't accept argHash passed from a template args.type = args.type or cfg.keyword[boxtype] return p['_navbox'](args) end p[cfg.keyword.with_collapsible_groups] = function (frame) return p.navbox(frame, 'with_collapsible_groups') end p[cfg.keyword.with_columns] = function (frame) return p.navbox(frame, 'with_columns') end return p 1s4hl193ornydh8zrrhga8nr1v6arn9 Module:Navbox/configuration 828 1048 10382 2022-08-19T13:25:44Z meta>Pols12 0 Pull [[:en:Module:Navbox|from en.wp]], by [[user:Izno|Izno]] 10382 Scribunto text/plain return { aria_label = 'Navbox', nowrap_item = '%s<span class="nowrap">%s</span>', templatestyles = mw.getCurrentFrame():extensionTag{ name = 'templatestyles', args = { src = 'Module:Navbox/styles.css' } }, -- do not localize marker table marker = { oddeven = '\127_ODDEVEN_\127', restart = '\127_ODDEVEN0_\127', regex = '\127_ODDEVEN(%d?)_\127' }, category = { orphan = '[[Category:Navbox orphans]]', horizontal_lists = 'Navigational boxes without horizontal lists', background_colors = 'Navboxes using background colours', illegible = 'Potentially illegible navboxes', borders = 'Navboxes using borders', }, keyword = { border_subgroup = 'subgroup', border_child = 'child', border_none = 'none', evenodd_swap = 'swap', navbar_off = 'off', navbar_plain = 'plain', nocat_false = 'false', nowrapitems_yes = 'yes', orphan_yes = 'yes', state_collapsed = 'collapsed', state_off = 'off', state_plain = 'plain', subpage_doc = 'doc', subpage_sandbox = 'sandbox', subpage_testcases = 'testcases', tracking_no = 'no' }, class = { autocollapse = 'autocollapse', collapsible = 'mw-collapsible', collapsed = 'mw-collapsed', -- Warning navbox = 'navbox', -- WMF currently hides 'navbox' from mobile, -- so you probably shouldn't change the navbox class. navbox_abovebelow = 'navbox-abovebelow', navbox_group = 'navbox-group', navbox_image = 'navbox-image', navbox_inner = 'navbox-inner', navbox_list = 'navbox-list', navbox_list_with_group = 'navbox-list-with-group', navbox_part = 'navbox-', -- do not l10n navbox_styles = 'navbox-styles', navbox_subgroup = 'navbox-subgroup', navbox_title = 'navbox-title', -- l10n only if you change pattern.navbox_title below navbox_odd_part = 'odd', -- do not l10n navbox_even_part = 'even', -- do not l10n nomobile = 'nomobile', nowraplinks = 'nowraplinks', noviewer = 'noviewer' -- used to remove images from MediaViewer }, pattern = { listnum = '^list(%d+)$', sandbox = '/sandbox$', navbox = 'Template:Navbox', nowrap = '^<span class="nowrap">', style = 'style$', navbox_title = '<th[^>]*"navbox%-title"', hlist = 'hlist', plainlist = 'plainlist' }, arg = { above = 'above', aboveclass = 'aboveclass', abovestyle = 'abovestyle', basestyle = 'basestyle', bodyclass = 'bodyclass', bodystyle = 'bodystyle', border = 'border', below = 'below', belowclass = 'belowclass', belowstyle = 'belowstyle', evenodd = 'evenodd', evenstyle = 'evenstyle', group1 = 'group1', group2 = 'group2', group_and_num = 'group%d', groupstyle_and_num = 'group%dstyle', groupclass = 'groupclass', groupstyle = 'groupstyle', groupwidth = 'groupwidth', innerstyle = 'innerstyle', image = 'image', imageclass = 'imageclass', imageleft = 'imageleft', imageleftstyle = 'imageleftstyle', imagesetyle = 'imagestyle', list_and_num = 'list%d', listclass_and_num = 'list%dclass', liststyle_and_num = 'list%dstyle', list1padding = 'list1padding', listclass = 'listclass', listpadding = 'listpadding', liststyle = 'liststyle', name = 'name', navbar = 'navbar', navboxclass = 'navboxclass', nocat = 'nocat', nowrapitems = 'nowrapitems', oddstyle = 'oddstyle', orphan = 'orphan', state = 'state', style = 'style', templatestyles = 'templatestyles', child_templatestyles = 'child templatestyles', title = 'title', titleclass = 'titleclass', titlestyle = 'titlestyle', tracking = 'tracking' }, -- names of navbar arguments navbar = { name = 1, fontstyle = 'fontstyle', mini = 'mini' } } 8npf15277sgmgep5j2bnmes7i7ktuvo 10383 10382 2023-03-08T21:08:58Z meta>Pols12 0 Updates from en 10383 Scribunto text/plain return { aria_label = 'Navbox', nowrap_item = '%s<span class="nowrap">%s</span>', templatestyles = mw.getCurrentFrame():extensionTag{ name = 'templatestyles', args = { src = 'Module:Navbox/styles.css' } }, hlist_templatestyles = 'Hlist/styles.css', plainlist_templatestyles = 'Plainlist/styles.css', -- do not localize marker table marker = { oddeven = '\127_ODDEVEN_\127', restart = '\127_ODDEVEN0_\127', regex = '\127_ODDEVEN(%d?)_\127' }, category = { orphan = '[[Category:Navbox orphans]]', horizontal_lists = 'Navigational boxes without horizontal lists', background_colors = 'Navboxes using background colours', illegible = 'Potentially illegible navboxes', borders = 'Navboxes using borders', }, keyword = { border_subgroup = 'subgroup', border_child = 'child', border_none = 'none', evenodd_swap = 'swap', navbar_off = 'off', navbar_plain = 'plain', nocat_false = 'false', nowrapitems_yes = 'yes', orphan_yes = 'yes', state_collapsed = 'collapsed', state_off = 'off', state_plain = 'plain', subpage_doc = 'doc', subpage_sandbox = 'sandbox', subpage_testcases = 'testcases', tracking_no = 'no' }, class = { autocollapse = 'autocollapse', collapsible = 'mw-collapsible', collapsed = 'mw-collapsed', -- Warning navbox = 'navbox', -- WMF currently hides 'navbox' from mobile, -- so you probably shouldn't change the navbox class. navbox_abovebelow = 'navbox-abovebelow', navbox_group = 'navbox-group', navbox_image = 'navbox-image', navbox_inner = 'navbox-inner', navbox_list = 'navbox-list', navbox_list_with_group = 'navbox-list-with-group', navbox_part = 'navbox-', -- do not l10n navbox_styles = 'navbox-styles', navbox_subgroup = 'navbox-subgroup', navbox_title = 'navbox-title', -- l10n only if you change pattern.navbox_title below navbox_odd_part = 'odd', -- do not l10n navbox_even_part = 'even', -- do not l10n nomobile = 'nomobile', nowraplinks = 'nowraplinks', noviewer = 'noviewer' -- used to remove images from MediaViewer }, pattern = { listnum = '^list(%d+)$', class = 'class', sandbox = '/sandbox$', navbox = 'Template:Navbox', nowrap = '^<span class="nowrap">', style = 'style$', navbox_title = '<th[^>]*"navbox%-title"', hlist = 'hlist', plainlist = 'plainlist', }, arg = { above = 'above', aboveclass = 'aboveclass', abovestyle = 'abovestyle', basestyle = 'basestyle', bodyclass = 'bodyclass', bodystyle = 'bodystyle', border = 'border', below = 'below', belowclass = 'belowclass', belowstyle = 'belowstyle', evenodd = 'evenodd', evenstyle = 'evenstyle', group1 = 'group1', group2 = 'group2', group_and_num = 'group%d', groupstyle_and_num = 'group%dstyle', groupclass = 'groupclass', groupstyle = 'groupstyle', groupwidth = 'groupwidth', innerstyle = 'innerstyle', image = 'image', imageclass = 'imageclass', imageleft = 'imageleft', imageleftstyle = 'imageleftstyle', imagesetyle = 'imagestyle', list_and_num = 'list%d', listclass_and_num = 'list%dclass', liststyle_and_num = 'list%dstyle', list1padding = 'list1padding', listclass = 'listclass', listpadding = 'listpadding', liststyle = 'liststyle', name = 'name', navbar = 'navbar', navboxclass = 'navboxclass', nocat = 'nocat', nowrapitems = 'nowrapitems', oddstyle = 'oddstyle', orphan = 'orphan', state = 'state', style = 'style', templatestyles = 'templatestyles', child_templatestyles = 'child templatestyles', title = 'title', titleclass = 'titleclass', titlestyle = 'titlestyle', tracking = 'tracking' }, -- names of navbar arguments navbar = { name = 1, fontstyle = 'fontstyle', mini = 'mini' } } 7mj0kr78pzwcz3ekw0yzlsf1d0gfsnd 10384 10383 2023-03-08T23:25:28Z meta>Pols12 0 Fixes hlist_templatestyles: we follow [[mw:Template:Flatlist]] 10384 Scribunto text/plain return { aria_label = 'Navbox', nowrap_item = '%s<span class="nowrap">%s</span>', templatestyles = mw.getCurrentFrame():extensionTag{ name = 'templatestyles', args = { src = 'Module:Navbox/styles.css' } }, hlist_templatestyles = 'Flatlist/styles.css', --Follow mw: rather than w:en: plainlist_templatestyles = 'Plainlist/styles.css', -- do not localize marker table marker = { oddeven = '\127_ODDEVEN_\127', restart = '\127_ODDEVEN0_\127', regex = '\127_ODDEVEN(%d?)_\127' }, category = { orphan = '[[Category:Navbox orphans]]', horizontal_lists = 'Navigational boxes without horizontal lists', background_colors = 'Navboxes using background colours', illegible = 'Potentially illegible navboxes', borders = 'Navboxes using borders', }, keyword = { border_subgroup = 'subgroup', border_child = 'child', border_none = 'none', evenodd_swap = 'swap', navbar_off = 'off', navbar_plain = 'plain', nocat_false = 'false', nowrapitems_yes = 'yes', orphan_yes = 'yes', state_collapsed = 'collapsed', state_off = 'off', state_plain = 'plain', subpage_doc = 'doc', subpage_sandbox = 'sandbox', subpage_testcases = 'testcases', tracking_no = 'no' }, class = { autocollapse = 'autocollapse', collapsible = 'mw-collapsible', collapsed = 'mw-collapsed', -- Warning navbox = 'navbox', -- WMF currently hides 'navbox' from mobile, -- so you probably shouldn't change the navbox class. navbox_abovebelow = 'navbox-abovebelow', navbox_group = 'navbox-group', navbox_image = 'navbox-image', navbox_inner = 'navbox-inner', navbox_list = 'navbox-list', navbox_list_with_group = 'navbox-list-with-group', navbox_part = 'navbox-', -- do not l10n navbox_styles = 'navbox-styles', navbox_subgroup = 'navbox-subgroup', navbox_title = 'navbox-title', -- l10n only if you change pattern.navbox_title below navbox_odd_part = 'odd', -- do not l10n navbox_even_part = 'even', -- do not l10n nomobile = 'nomobile', nowraplinks = 'nowraplinks', noviewer = 'noviewer' -- used to remove images from MediaViewer }, pattern = { listnum = '^list(%d+)$', class = 'class', sandbox = '/sandbox$', navbox = 'Template:Navbox', nowrap = '^<span class="nowrap">', style = 'style$', navbox_title = '<th[^>]*"navbox%-title"', hlist = 'hlist', plainlist = 'plainlist', }, arg = { above = 'above', aboveclass = 'aboveclass', abovestyle = 'abovestyle', basestyle = 'basestyle', bodyclass = 'bodyclass', bodystyle = 'bodystyle', border = 'border', below = 'below', belowclass = 'belowclass', belowstyle = 'belowstyle', evenodd = 'evenodd', evenstyle = 'evenstyle', group1 = 'group1', group2 = 'group2', group_and_num = 'group%d', groupstyle_and_num = 'group%dstyle', groupclass = 'groupclass', groupstyle = 'groupstyle', groupwidth = 'groupwidth', innerstyle = 'innerstyle', image = 'image', imageclass = 'imageclass', imageleft = 'imageleft', imageleftstyle = 'imageleftstyle', imagesetyle = 'imagestyle', list_and_num = 'list%d', listclass_and_num = 'list%dclass', liststyle_and_num = 'list%dstyle', list1padding = 'list1padding', listclass = 'listclass', listpadding = 'listpadding', liststyle = 'liststyle', name = 'name', navbar = 'navbar', navboxclass = 'navboxclass', nocat = 'nocat', nowrapitems = 'nowrapitems', oddstyle = 'oddstyle', orphan = 'orphan', state = 'state', style = 'style', templatestyles = 'templatestyles', child_templatestyles = 'child templatestyles', title = 'title', titleclass = 'titleclass', titlestyle = 'titlestyle', tracking = 'tracking' }, -- names of navbar arguments navbar = { name = 1, fontstyle = 'fontstyle', mini = 'mini' } } hn82escy25lhi2t2i9yb2irmzfxj02i 10385 10384 2023-03-12T18:01:17Z meta>MusikBot II 0 Protected "[[Module:Navbox/configuration]]": High-risk template or module ([[User:MusikBot II/TemplateProtector|more info]]) ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) 10384 Scribunto text/plain return { aria_label = 'Navbox', nowrap_item = '%s<span class="nowrap">%s</span>', templatestyles = mw.getCurrentFrame():extensionTag{ name = 'templatestyles', args = { src = 'Module:Navbox/styles.css' } }, hlist_templatestyles = 'Flatlist/styles.css', --Follow mw: rather than w:en: plainlist_templatestyles = 'Plainlist/styles.css', -- do not localize marker table marker = { oddeven = '\127_ODDEVEN_\127', restart = '\127_ODDEVEN0_\127', regex = '\127_ODDEVEN(%d?)_\127' }, category = { orphan = '[[Category:Navbox orphans]]', horizontal_lists = 'Navigational boxes without horizontal lists', background_colors = 'Navboxes using background colours', illegible = 'Potentially illegible navboxes', borders = 'Navboxes using borders', }, keyword = { border_subgroup = 'subgroup', border_child = 'child', border_none = 'none', evenodd_swap = 'swap', navbar_off = 'off', navbar_plain = 'plain', nocat_false = 'false', nowrapitems_yes = 'yes', orphan_yes = 'yes', state_collapsed = 'collapsed', state_off = 'off', state_plain = 'plain', subpage_doc = 'doc', subpage_sandbox = 'sandbox', subpage_testcases = 'testcases', tracking_no = 'no' }, class = { autocollapse = 'autocollapse', collapsible = 'mw-collapsible', collapsed = 'mw-collapsed', -- Warning navbox = 'navbox', -- WMF currently hides 'navbox' from mobile, -- so you probably shouldn't change the navbox class. navbox_abovebelow = 'navbox-abovebelow', navbox_group = 'navbox-group', navbox_image = 'navbox-image', navbox_inner = 'navbox-inner', navbox_list = 'navbox-list', navbox_list_with_group = 'navbox-list-with-group', navbox_part = 'navbox-', -- do not l10n navbox_styles = 'navbox-styles', navbox_subgroup = 'navbox-subgroup', navbox_title = 'navbox-title', -- l10n only if you change pattern.navbox_title below navbox_odd_part = 'odd', -- do not l10n navbox_even_part = 'even', -- do not l10n nomobile = 'nomobile', nowraplinks = 'nowraplinks', noviewer = 'noviewer' -- used to remove images from MediaViewer }, pattern = { listnum = '^list(%d+)$', class = 'class', sandbox = '/sandbox$', navbox = 'Template:Navbox', nowrap = '^<span class="nowrap">', style = 'style$', navbox_title = '<th[^>]*"navbox%-title"', hlist = 'hlist', plainlist = 'plainlist', }, arg = { above = 'above', aboveclass = 'aboveclass', abovestyle = 'abovestyle', basestyle = 'basestyle', bodyclass = 'bodyclass', bodystyle = 'bodystyle', border = 'border', below = 'below', belowclass = 'belowclass', belowstyle = 'belowstyle', evenodd = 'evenodd', evenstyle = 'evenstyle', group1 = 'group1', group2 = 'group2', group_and_num = 'group%d', groupstyle_and_num = 'group%dstyle', groupclass = 'groupclass', groupstyle = 'groupstyle', groupwidth = 'groupwidth', innerstyle = 'innerstyle', image = 'image', imageclass = 'imageclass', imageleft = 'imageleft', imageleftstyle = 'imageleftstyle', imagesetyle = 'imagestyle', list_and_num = 'list%d', listclass_and_num = 'list%dclass', liststyle_and_num = 'list%dstyle', list1padding = 'list1padding', listclass = 'listclass', listpadding = 'listpadding', liststyle = 'liststyle', name = 'name', navbar = 'navbar', navboxclass = 'navboxclass', nocat = 'nocat', nowrapitems = 'nowrapitems', oddstyle = 'oddstyle', orphan = 'orphan', state = 'state', style = 'style', templatestyles = 'templatestyles', child_templatestyles = 'child templatestyles', title = 'title', titleclass = 'titleclass', titlestyle = 'titlestyle', tracking = 'tracking' }, -- names of navbar arguments navbar = { name = 1, fontstyle = 'fontstyle', mini = 'mini' } } hn82escy25lhi2t2i9yb2irmzfxj02i 10386 9048 2026-08-24T13:01:01Z RAPTOR7762 18 4 revisions imported from [[:meta:Module:Navbox/configuration]] 9047 Scribunto text/plain return { aria_label = 'Navbox', nowrap_item = '%s<span class="nowrap">%s</span>', templatestyles = mw.getCurrentFrame():extensionTag{ name = 'templatestyles', args = { src = 'Module:Navbox/styles.css' } }, hlist_templatestyles = 'Hlist/styles.css', plainlist_templatestyles = 'Plainlist/styles.css', -- do not localize marker table marker = { oddeven = '\127_ODDEVEN_\127', restart = '\127_ODDEVEN0_\127', regex = '\127_ODDEVEN(%d?)_\127' }, category = { orphan = '[[Category:Navbox orphans]]', horizontal_lists = 'Navigational boxes without horizontal lists', background_colors = 'Navboxes using background colours', illegible = 'Potentially illegible navboxes', borders = 'Navboxes using borders', without_first_col = '[[Category:Pages using navbox columns without the first column]]' }, keyword = { border_subgroup = 'subgroup', border_child = 'child', border_none = 'none', evenodd_swap = 'swap', navbar_off = 'off', navbar_plain = 'plain', nocat_false = 'false', nowrapitems_yes = 'yes', orphan_yes = 'yes', state_collapsed = 'collapsed', state_off = 'off', state_plain = 'plain', state_uncollapsed = 'uncollapsed', subgroups = {'subgroup', 'child', ''}, subpage_doc = 'doc', subpage_sandbox = 'sandbox', subpage_testcases = 'testcases', tracking_no = 'no', with_collapsible_groups = 'with collapsible groups', with_collapsible_groups_short = 'collapsible', with_columns = 'with columns', with_columns_short = 'columns', }, class = { autocollapse = 'autocollapse', collapsible = 'mw-collapsible', collapsed = 'mw-collapsed', -- Warning navbox = 'navbox', -- WMF currently hides 'navbox' from mobile, -- so you probably shouldn't change the navbox class. navbox_abovebelow = 'navbox-abovebelow', navbox_group = 'navbox-group', navbox_image = 'navbox-image', navbox_inner = 'navbox-inner', navbox_list = 'navbox-list', navbox_list_with_group = 'navbox-list-with-group', navbox_part = 'navbox-', -- do not l10n navbox_styles = 'navbox-styles', navbox_subgroup = 'navbox-subgroup', navbox_title = 'navbox-title', -- l10n only if you change pattern.navbox_title below navbox_odd_part = 'odd', -- do not l10n navbox_even_part = 'even', -- do not l10n nomobile = 'nomobile', nowraplinks = 'nowraplinks', noviewer = 'noviewer', -- used to remove images from MediaViewer notheme = 'notheme' }, pattern = { class = 'class', colnum = '^col(%d+)$', colheadernum = '^col(%d+)header$', colfooternum = '^col(%d+)footer$', contentnum = '^content(%d+)$', groupnum = '^group(%d+)$', hlist = 'hlist', listnum = '^list(%d+)$', navbox = 'Template:Navbox', navbox_title = '<th[^>]*"navbox%-title"', nowrap = '^<span class="nowrap">', num = '^%a+(%d+)$', plainlist = 'plainlist', sandbox = '/sandbox$', sectionnum = '^section(%d+)$', sectnum = '^sect(%d+)$', style = 'style$', with_collapsible_groups = 'Template:Navbox with collapsible groups', with_columns = 'Template:Navbox with columns', }, arg = { abbr_and_num = 'abbr%d', above = 'above', aboveclass = 'aboveclass', abovestyle = 'abovestyle', basestyle = 'basestyle', below = 'below', belowclass = 'belowclass', belowstyle = 'belowstyle', bodyclass = 'bodyclass', bodystyle = 'bodystyle', border = 'border', content_and_num = 'content%d', contentstyle = 'contentstyle', contentstyle_and_num = 'content%dstyle', colheaderstyle = 'colheaderstyle', colheader_and_num = 'col%dheader', colheaderstyle_and_num = 'col%dheaderstyle', colheadercolspan_and_num = 'col%dheadercolspan', colstyle = 'colstyle', col_and_num = 'col%d', colstyle_and_num = 'col%dstyle', colwidth = 'colwidth', colwidth_and_num = 'col%dwidth', colfooterstyle = 'colfooterstyle', colfooter_and_num = 'col%dfooter', colfooterstyle_and_num = 'col%dfooterstyle', colfootercolspan_and_num = 'col%dfootercolspan', coltablestyle = 'coltablestyle', evencolstyle = 'evencolstyle', evenodd = 'evenodd', evenstyle = 'evenstyle', fullwidth = 'fullwidth', group1 = 'group1', group2 = 'group2', group_and_num = 'group%d', groupclass = 'groupclass', groupstyle = 'groupstyle', groupstyle_and_num = 'group%dstyle', groupwidth = 'groupwidth', image = 'image', image_and_num = 'image%d', imageclass = 'imageclass', imageleft = 'imageleft', imageleft_and_num = 'imageleft%d', imageleftstyle = 'imageleftstyle', imagestyle = 'imagestyle', innerstyle = 'innerstyle', list1padding = 'list1padding', list_and_num = 'list%d', listclass = 'listclass', listclass_and_num = 'list%dclass', listpadding = 'listpadding', liststyle = 'liststyle', liststyle_and_num = 'list%dstyle', name = 'name', navbar = 'navbar', navboxclass = 'navboxclass', nocat = 'nocat', nowrapitems = 'nowrapitems', oddcolstyle = 'oddcolstyle', oddstyle = 'oddstyle', orphan = 'orphan', padding = 'padding', sect_and_num = 'sect%d', section_and_num = 'section%d', sectiontitlestyle_and_num = 'section%dtitlestyle', secttitlestyle = 'secttitlestyle', selected = 'selected', state = 'state', state_and_num = 'state%d', style = 'style', subgroups_and_num = {'subgroup%d', 'child%d', '%d'}, templatestyles = 'templatestyles', child_templatestyles = 'child templatestyles', title = 'title', titleclass = 'titleclass', titlestyle = 'titlestyle', tracking = 'tracking', }, -- names of navbar arguments navbar = { name = 1, fontstyle = 'fontstyle', mini = 'mini' } } hfe9tuviwm23frg4eyuetl5fcr6lsto Module:Color contrast 828 1051 9975 2016-06-03T16:56:25Z meta>MarcoAurelio 0 https://en.wikipedia.org/w/index.php?title=Module:Color_contrast&oldid=679729996 9975 Scribunto text/plain -- -- This module implements -- {{Color contrast ratio}} -- {{Greater color contrast ratio}} -- {{ColorToLum}} -- {{RGBColorToLum}} -- local p = {} local HTMLcolor = mw.loadData( 'Module:Color contrast/colors' ) local function sRGB ( v ) if (v <= 0.03928) then v = v / 12.92 else v = math.pow((v+0.055)/1.055, 2.4) end return v end local function rgbdec2lum( R, G, B ) if ( 0 <= R and R < 256 and 0 <= G and G < 256 and 0 <= B and B < 256 ) then return 0.2126 * sRGB(R/255) + 0.7152 * sRGB(G/255) + 0.0722 * sRGB(B/255) else return '' end end local function hsl2lum( h, s, l ) if ( 0 <= h and h < 360 and 0 <= s and s <= 1 and 0 <= l and l <= 1 ) then local c = (1 - math.abs(2*l - 1))*s local x = c*(1 - math.abs( math.fmod(h/60, 2) - 1) ) local m = l - c/2 local r, g, b = m, m, m if( 0 <= h and h < 60 ) then r = r + c g = g + x elseif( 60 <= h and h < 120 ) then r = r + x g = g + c elseif( 120 <= h and h < 180 ) then g = g + c b = b + x elseif( 180 <= h and h < 240 ) then g = g + x b = b + c elseif( 240 <= h and h < 300 ) then r = r + x b = b + c elseif( 300 <= h and h < 360 ) then r = r + c b = b + x end return rgbdec2lum(255*r, 255*g, 255*b) else return '' end end local function color2lum( c ) if (c == nil) then return '' end -- whitespace c = c:match( '^%s*(.-)[%s;]*$' ) -- lowercase c = c:lower() -- first try to look it up local L = HTMLcolor[c] if (L ~= nil) then return L end -- convert from hsl if mw.ustring.match(c,'^hsl%([%s]*[0-9][0-9%.]*[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*%)$') then local h, s, l = mw.ustring.match(c,'^hsl%([%s]*([0-9][0-9%.]*)[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*%)$') return hsl2lum(tonumber(h), tonumber(s)/100, tonumber(l)/100) end -- convert from rgb if mw.ustring.match(c,'^rgb%([%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*[%s]*%)$') then local R, G, B = mw.ustring.match(c,'^rgb%([%s]*([0-9][0-9]*)[%s]*,[%s]*([0-9][0-9]*)[%s]*,[%s]*([0-9][0-9]*)[%s]*%)$') return rgbdec2lum(tonumber(R), tonumber(G), tonumber(B)) end -- convert from rgb percent if mw.ustring.match(c,'^rgb%([%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*%)$') then local R, G, B = mw.ustring.match(c,'^rgb%([%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*%)$') return rgbdec2lum(255*tonumber(R)/100, 255*tonumber(G)/100, 255*tonumber(B)/100) end -- remove leading # (if there is one) and whitespace c = mw.ustring.match(c, '^[%s#]*([a-f0-9]*)[%s]*$') -- split into rgb local cs = mw.text.split(c or '', '') if( #cs == 6 ) then local R = 16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[2]) local G = 16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[4]) local B = 16*tonumber('0x' .. cs[5]) + tonumber('0x' .. cs[6]) return rgbdec2lum(R, G, B) elseif ( #cs == 3 ) then local R = 16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[1]) local G = 16*tonumber('0x' .. cs[2]) + tonumber('0x' .. cs[2]) local B = 16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[3]) return rgbdec2lum(R, G, B) end -- failure, return blank return '' end function p._greatercontrast(args) local bias = tonumber(args['bias'] or '0') or 0 local v1 = color2lum(args[1] or '') local c2 = args[2] or '#FFFFFF' local v2 = color2lum(c2) local c3 = args[3] or '#000000' local v3 = color2lum(c3) local ratio1 = 0; local ratio2 = 0; if (type(v1) == 'number' and type(v2) == 'number') then ratio1 = (v2 + 0.05)/(v1 + 0.05) ratio1 = (ratio1 < 1) and 1/ratio1 or ratio1 end if (type(v1) == 'number' and type(v3) == 'number') then ratio2 = (v3 + 0.05)/(v1 + 0.05) ratio2 = (ratio2 < 1) and 1/ratio2 or ratio2 end return (ratio1 + bias > ratio2) and c2 or c3 end function p._ratio(args) local v1 = color2lum(args[1]) local v2 = color2lum(args[2]) if (type(v1) == 'number' and type(v2) == 'number') then -- v1 should be the brighter of the two. if v2 > v1 then v1, v2 = v2, v1 end return (v1 + 0.05)/(v2 + 0.05) else return args['error'] or '?' end end function p._styleratio(args) local style = (args[1] or ''):lower() local bg, fg = 'white', 'black' local lum_bg, lum_fg = 1, 0 if args[2] then local lum = color2lum(args[2]) if lum ~= '' then bg, lum_bg = args[2], lum end end if args[3] then local lum = color2lum(args[3]) if lum ~= '' then fg, lum_fg = args[3], lum end end local slist = mw.text.split(style or '', ';') for k = 1,#slist do s = slist[k] local k,v = s:match( '^[%s]*([^:]-):([^:]-)[%s;]*$' ) k = k or '' v = v or '' if (k:match('^[%s]*(background)[%s]*$') or k:match('^[%s]*(background%-color)[%s]*$')) then local lum = color2lum(v) if( lum ~= '' ) then bg, lum_bg = v, lum end elseif (k:match('^[%s]*(color)[%s]*$')) then local lum = color2lum(v) if( lum ~= '' ) then bg, lum_fg = v, lum end end end if lum_bg > lum_fg then return (lum_bg + 0.05)/(lum_fg + 0.05) else return (lum_fg + 0.05)/(lum_bg + 0.05) end end function p.lum(frame) return color2lum(frame.args[1] or frame:getParent().args[1]) end function p.ratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._ratio(args) end function p.styleratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._styleratio(args) end function p.greatercontrast(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._greatercontrast(args) end return p gocswq8zlev167ctdtcpva415vpor45 9976 9975 2017-02-27T09:29:25Z meta>Plagiat 0 Update to match [[w:Module:Color contrast]] revision 725890693 as of 18 June 2016 9976 Scribunto text/plain -- -- This module implements -- {{Color contrast ratio}} -- {{Greater color contrast ratio}} -- {{ColorToLum}} -- {{RGBColorToLum}} -- local p = {} local HTMLcolor = mw.loadData( 'Module:Color contrast/colors' ) local function sRGB ( v ) if (v <= 0.03928) then v = v / 12.92 else v = math.pow((v+0.055)/1.055, 2.4) end return v end local function rgbdec2lum( R, G, B ) if ( 0 <= R and R < 256 and 0 <= G and G < 256 and 0 <= B and B < 256 ) then return 0.2126 * sRGB(R/255) + 0.7152 * sRGB(G/255) + 0.0722 * sRGB(B/255) else return '' end end local function hsl2lum( h, s, l ) if ( 0 <= h and h < 360 and 0 <= s and s <= 1 and 0 <= l and l <= 1 ) then local c = (1 - math.abs(2*l - 1))*s local x = c*(1 - math.abs( math.fmod(h/60, 2) - 1) ) local m = l - c/2 local r, g, b = m, m, m if( 0 <= h and h < 60 ) then r = r + c g = g + x elseif( 60 <= h and h < 120 ) then r = r + x g = g + c elseif( 120 <= h and h < 180 ) then g = g + c b = b + x elseif( 180 <= h and h < 240 ) then g = g + x b = b + c elseif( 240 <= h and h < 300 ) then r = r + x b = b + c elseif( 300 <= h and h < 360 ) then r = r + c b = b + x end return rgbdec2lum(255*r, 255*g, 255*b) else return '' end end local function color2lum( c ) if (c == nil) then return '' end -- whitespace c = c:match( '^%s*(.-)[%s;]*$' ) -- unstrip nowiki strip markers c = mw.text.unstripNoWiki(c) -- lowercase c = c:lower() -- first try to look it up local L = HTMLcolor[c] if (L ~= nil) then return L end -- convert from hsl if mw.ustring.match(c,'^hsl%([%s]*[0-9][0-9%.]*[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*%)$') then local h, s, l = mw.ustring.match(c,'^hsl%([%s]*([0-9][0-9%.]*)[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*%)$') return hsl2lum(tonumber(h), tonumber(s)/100, tonumber(l)/100) end -- convert from rgb if mw.ustring.match(c,'^rgb%([%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*[%s]*%)$') then local R, G, B = mw.ustring.match(c,'^rgb%([%s]*([0-9][0-9]*)[%s]*,[%s]*([0-9][0-9]*)[%s]*,[%s]*([0-9][0-9]*)[%s]*%)$') return rgbdec2lum(tonumber(R), tonumber(G), tonumber(B)) end -- convert from rgb percent if mw.ustring.match(c,'^rgb%([%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*%)$') then local R, G, B = mw.ustring.match(c,'^rgb%([%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*%)$') return rgbdec2lum(255*tonumber(R)/100, 255*tonumber(G)/100, 255*tonumber(B)/100) end -- remove leading # (if there is one) and whitespace c = mw.ustring.match(c, '^[%s#]*([a-f0-9]*)[%s]*$') -- split into rgb local cs = mw.text.split(c or '', '') if( #cs == 6 ) then local R = 16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[2]) local G = 16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[4]) local B = 16*tonumber('0x' .. cs[5]) + tonumber('0x' .. cs[6]) return rgbdec2lum(R, G, B) elseif ( #cs == 3 ) then local R = 16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[1]) local G = 16*tonumber('0x' .. cs[2]) + tonumber('0x' .. cs[2]) local B = 16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[3]) return rgbdec2lum(R, G, B) end -- failure, return blank return '' end function p._greatercontrast(args) local bias = tonumber(args['bias'] or '0') or 0 local v1 = color2lum(args[1] or '') local c2 = args[2] or '#FFFFFF' local v2 = color2lum(c2) local c3 = args[3] or '#000000' local v3 = color2lum(c3) local ratio1 = 0; local ratio2 = 0; if (type(v1) == 'number' and type(v2) == 'number') then ratio1 = (v2 + 0.05)/(v1 + 0.05) ratio1 = (ratio1 < 1) and 1/ratio1 or ratio1 end if (type(v1) == 'number' and type(v3) == 'number') then ratio2 = (v3 + 0.05)/(v1 + 0.05) ratio2 = (ratio2 < 1) and 1/ratio2 or ratio2 end return (ratio1 + bias > ratio2) and c2 or c3 end function p._ratio(args) local v1 = color2lum(args[1]) local v2 = color2lum(args[2]) if (type(v1) == 'number' and type(v2) == 'number') then -- v1 should be the brighter of the two. if v2 > v1 then v1, v2 = v2, v1 end return (v1 + 0.05)/(v2 + 0.05) else return args['error'] or '?' end end function p._styleratio(args) local style = (args[1] or ''):lower() local bg, fg = 'white', 'black' local lum_bg, lum_fg = 1, 0 if args[2] then local lum = color2lum(args[2]) if lum ~= '' then bg, lum_bg = args[2], lum end end if args[3] then local lum = color2lum(args[3]) if lum ~= '' then fg, lum_fg = args[3], lum end end local slist = mw.text.split(style or '', ';') for k = 1,#slist do s = slist[k] local k,v = s:match( '^[%s]*([^:]-):([^:]-)[%s;]*$' ) k = k or '' v = v or '' if (k:match('^[%s]*(background)[%s]*$') or k:match('^[%s]*(background%-color)[%s]*$')) then local lum = color2lum(v) if( lum ~= '' ) then bg, lum_bg = v, lum end elseif (k:match('^[%s]*(color)[%s]*$')) then local lum = color2lum(v) if( lum ~= '' ) then bg, lum_fg = v, lum end end end if lum_bg > lum_fg then return (lum_bg + 0.05)/(lum_fg + 0.05) else return (lum_fg + 0.05)/(lum_bg + 0.05) end end function p.lum(frame) return color2lum(frame.args[1] or frame:getParent().args[1]) end function p.ratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._ratio(args) end function p.styleratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._styleratio(args) end function p.greatercontrast(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._greatercontrast(args) end return p hvtmcsb4mviz7lzj6tgvyp5kohk0vr7 9977 9976 2019-10-06T19:54:14Z meta>IPad365 0 9977 Scribunto text/plain -- -- This module implements -- {{Color contrast ratio}} -- {{Greater color contrast ratio}} -- {{ColorToLum}} -- {{RGBColorToLum}} -- local p = {} local HTMLcolor = mw.loadData( 'Module:Color contrast/colors' ) local mProtectionBanner = require('Module:Protection banner').main local function sRGB ( v ) if (v <= 0.03928) then v = v / 12.92 else v = math.pow((v+0.055)/1.055, 2.4) end return v end local function rgbdec2lum( R, G, B ) if ( 0 <= R and R < 256 and 0 <= G and G < 256 and 0 <= B and B < 256 ) then return 0.2126 * sRGB(R/255) + 0.7152 * sRGB(G/255) + 0.0722 * sRGB(B/255) else return '' end end local function hsl2lum( h, s, l ) if ( 0 <= h and h < 360 and 0 <= s and s <= 1 and 0 <= l and l <= 1 ) then local c = (1 - math.abs(2*l - 1))*s local x = c*(1 - math.abs( math.fmod(h/60, 2) - 1) ) local m = l - c/2 local r, g, b = m, m, m if( 0 <= h and h < 60 ) then r = r + c g = g + x elseif( 60 <= h and h < 120 ) then r = r + x g = g + c elseif( 120 <= h and h < 180 ) then g = g + c b = b + x elseif( 180 <= h and h < 240 ) then g = g + x b = b + c elseif( 240 <= h and h < 300 ) then r = r + x b = b + c elseif( 300 <= h and h < 360 ) then r = r + c b = b + x end return rgbdec2lum(255*r, 255*g, 255*b) else return '' end end local function color2lum( c ) if (c == nil) then return '' end -- whitespace c = c:match( '^%s*(.-)[%s;]*$' ) -- unstrip nowiki strip markers c = mw.text.unstripNoWiki(c) -- lowercase c = c:lower() -- first try to look it up local L = HTMLcolor[c] if (L ~= nil) then return L end -- convert from hsl if mw.ustring.match(c,'^hsl%([%s]*[0-9][0-9%.]*[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*%)$') then local h, s, l = mw.ustring.match(c,'^hsl%([%s]*([0-9][0-9%.]*)[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*%)$') return hsl2lum(tonumber(h), tonumber(s)/100, tonumber(l)/100) end -- convert from rgb if mw.ustring.match(c,'^rgb%([%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*[%s]*%)$') then local R, G, B = mw.ustring.match(c,'^rgb%([%s]*([0-9][0-9]*)[%s]*,[%s]*([0-9][0-9]*)[%s]*,[%s]*([0-9][0-9]*)[%s]*%)$') return rgbdec2lum(tonumber(R), tonumber(G), tonumber(B)) end -- convert from rgb percent if mw.ustring.match(c,'^rgb%([%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*%)$') then local R, G, B = mw.ustring.match(c,'^rgb%([%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*%)$') return rgbdec2lum(255*tonumber(R)/100, 255*tonumber(G)/100, 255*tonumber(B)/100) end -- remove leading # (if there is one) and whitespace c = mw.ustring.match(c, '^[%s#]*([a-f0-9]*)[%s]*$') -- split into rgb local cs = mw.text.split(c or '', '') if( #cs == 6 ) then local R = 16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[2]) local G = 16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[4]) local B = 16*tonumber('0x' .. cs[5]) + tonumber('0x' .. cs[6]) return rgbdec2lum(R, G, B) elseif ( #cs == 3 ) then local R = 16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[1]) local G = 16*tonumber('0x' .. cs[2]) + tonumber('0x' .. cs[2]) local B = 16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[3]) return rgbdec2lum(R, G, B) end -- failure, return blank return '' end function p._greatercontrast(args) local bias = tonumber(args['bias'] or '0') or 0 local v1 = color2lum(args[1] or '') local c2 = args[2] or '#FFFFFF' local v2 = color2lum(c2) local c3 = args[3] or '#000000' local v3 = color2lum(c3) local ratio1 = 0; local ratio2 = 0; if (type(v1) == 'number' and type(v2) == 'number') then ratio1 = (v2 + 0.05)/(v1 + 0.05) ratio1 = (ratio1 < 1) and 1/ratio1 or ratio1 end if (type(v1) == 'number' and type(v3) == 'number') then ratio2 = (v3 + 0.05)/(v1 + 0.05) ratio2 = (ratio2 < 1) and 1/ratio2 or ratio2 end return (ratio1 + bias > ratio2) and c2 or c3 end function p._ratio(args) local v1 = color2lum(args[1]) local v2 = color2lum(args[2]) if (type(v1) == 'number' and type(v2) == 'number') then -- v1 should be the brighter of the two. if v2 > v1 then v1, v2 = v2, v1 end return (v1 + 0.05)/(v2 + 0.05) else return args['error'] or '?' end end function p._styleratio(args) local style = (args[1] or ''):lower() local bg, fg = 'white', 'black' local lum_bg, lum_fg = 1, 0 if args[2] then local lum = color2lum(args[2]) if lum ~= '' then bg, lum_bg = args[2], lum end end if args[3] then local lum = color2lum(args[3]) if lum ~= '' then fg, lum_fg = args[3], lum end end local slist = mw.text.split(style or '', ';') for k = 1,#slist do s = slist[k] local k,v = s:match( '^[%s]*([^:]-):([^:]-)[%s;]*$' ) k = k or '' v = v or '' if (k:match('^[%s]*(background)[%s]*$') or k:match('^[%s]*(background%-color)[%s]*$')) then local lum = color2lum(v) if( lum ~= '' ) then bg, lum_bg = v, lum end elseif (k:match('^[%s]*(color)[%s]*$')) then local lum = color2lum(v) if( lum ~= '' ) then bg, lum_fg = v, lum end end end if lum_bg > lum_fg then return (lum_bg + 0.05)/(lum_fg + 0.05) else return (lum_fg + 0.05)/(lum_bg + 0.05) end end function p.lum(frame) return color2lum(frame.args[1] or frame:getParent().args[1]) end function p.ratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._ratio(args) end function p.styleratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._styleratio(args) end function p.greatercontrast(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._greatercontrast(args) end return p j547aqxm6lwjeny087af3ofgzmu4b4m 9978 9977 2019-10-06T19:54:47Z meta>IPad365 0 Undo revision 19441313 by [[Special:Contributions/IPad365|IPad365]] ([[User talk:IPad365|talk]]) 9978 Scribunto text/plain -- -- This module implements -- {{Color contrast ratio}} -- {{Greater color contrast ratio}} -- {{ColorToLum}} -- {{RGBColorToLum}} -- local p = {} local HTMLcolor = mw.loadData( 'Module:Color contrast/colors' ) local function sRGB ( v ) if (v <= 0.03928) then v = v / 12.92 else v = math.pow((v+0.055)/1.055, 2.4) end return v end local function rgbdec2lum( R, G, B ) if ( 0 <= R and R < 256 and 0 <= G and G < 256 and 0 <= B and B < 256 ) then return 0.2126 * sRGB(R/255) + 0.7152 * sRGB(G/255) + 0.0722 * sRGB(B/255) else return '' end end local function hsl2lum( h, s, l ) if ( 0 <= h and h < 360 and 0 <= s and s <= 1 and 0 <= l and l <= 1 ) then local c = (1 - math.abs(2*l - 1))*s local x = c*(1 - math.abs( math.fmod(h/60, 2) - 1) ) local m = l - c/2 local r, g, b = m, m, m if( 0 <= h and h < 60 ) then r = r + c g = g + x elseif( 60 <= h and h < 120 ) then r = r + x g = g + c elseif( 120 <= h and h < 180 ) then g = g + c b = b + x elseif( 180 <= h and h < 240 ) then g = g + x b = b + c elseif( 240 <= h and h < 300 ) then r = r + x b = b + c elseif( 300 <= h and h < 360 ) then r = r + c b = b + x end return rgbdec2lum(255*r, 255*g, 255*b) else return '' end end local function color2lum( c ) if (c == nil) then return '' end -- whitespace c = c:match( '^%s*(.-)[%s;]*$' ) -- unstrip nowiki strip markers c = mw.text.unstripNoWiki(c) -- lowercase c = c:lower() -- first try to look it up local L = HTMLcolor[c] if (L ~= nil) then return L end -- convert from hsl if mw.ustring.match(c,'^hsl%([%s]*[0-9][0-9%.]*[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*%)$') then local h, s, l = mw.ustring.match(c,'^hsl%([%s]*([0-9][0-9%.]*)[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*%)$') return hsl2lum(tonumber(h), tonumber(s)/100, tonumber(l)/100) end -- convert from rgb if mw.ustring.match(c,'^rgb%([%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*[%s]*%)$') then local R, G, B = mw.ustring.match(c,'^rgb%([%s]*([0-9][0-9]*)[%s]*,[%s]*([0-9][0-9]*)[%s]*,[%s]*([0-9][0-9]*)[%s]*%)$') return rgbdec2lum(tonumber(R), tonumber(G), tonumber(B)) end -- convert from rgb percent if mw.ustring.match(c,'^rgb%([%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*%)$') then local R, G, B = mw.ustring.match(c,'^rgb%([%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*%)$') return rgbdec2lum(255*tonumber(R)/100, 255*tonumber(G)/100, 255*tonumber(B)/100) end -- remove leading # (if there is one) and whitespace c = mw.ustring.match(c, '^[%s#]*([a-f0-9]*)[%s]*$') -- split into rgb local cs = mw.text.split(c or '', '') if( #cs == 6 ) then local R = 16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[2]) local G = 16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[4]) local B = 16*tonumber('0x' .. cs[5]) + tonumber('0x' .. cs[6]) return rgbdec2lum(R, G, B) elseif ( #cs == 3 ) then local R = 16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[1]) local G = 16*tonumber('0x' .. cs[2]) + tonumber('0x' .. cs[2]) local B = 16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[3]) return rgbdec2lum(R, G, B) end -- failure, return blank return '' end function p._greatercontrast(args) local bias = tonumber(args['bias'] or '0') or 0 local v1 = color2lum(args[1] or '') local c2 = args[2] or '#FFFFFF' local v2 = color2lum(c2) local c3 = args[3] or '#000000' local v3 = color2lum(c3) local ratio1 = 0; local ratio2 = 0; if (type(v1) == 'number' and type(v2) == 'number') then ratio1 = (v2 + 0.05)/(v1 + 0.05) ratio1 = (ratio1 < 1) and 1/ratio1 or ratio1 end if (type(v1) == 'number' and type(v3) == 'number') then ratio2 = (v3 + 0.05)/(v1 + 0.05) ratio2 = (ratio2 < 1) and 1/ratio2 or ratio2 end return (ratio1 + bias > ratio2) and c2 or c3 end function p._ratio(args) local v1 = color2lum(args[1]) local v2 = color2lum(args[2]) if (type(v1) == 'number' and type(v2) == 'number') then -- v1 should be the brighter of the two. if v2 > v1 then v1, v2 = v2, v1 end return (v1 + 0.05)/(v2 + 0.05) else return args['error'] or '?' end end function p._styleratio(args) local style = (args[1] or ''):lower() local bg, fg = 'white', 'black' local lum_bg, lum_fg = 1, 0 if args[2] then local lum = color2lum(args[2]) if lum ~= '' then bg, lum_bg = args[2], lum end end if args[3] then local lum = color2lum(args[3]) if lum ~= '' then fg, lum_fg = args[3], lum end end local slist = mw.text.split(style or '', ';') for k = 1,#slist do s = slist[k] local k,v = s:match( '^[%s]*([^:]-):([^:]-)[%s;]*$' ) k = k or '' v = v or '' if (k:match('^[%s]*(background)[%s]*$') or k:match('^[%s]*(background%-color)[%s]*$')) then local lum = color2lum(v) if( lum ~= '' ) then bg, lum_bg = v, lum end elseif (k:match('^[%s]*(color)[%s]*$')) then local lum = color2lum(v) if( lum ~= '' ) then bg, lum_fg = v, lum end end end if lum_bg > lum_fg then return (lum_bg + 0.05)/(lum_fg + 0.05) else return (lum_fg + 0.05)/(lum_bg + 0.05) end end function p.lum(frame) return color2lum(frame.args[1] or frame:getParent().args[1]) end function p.ratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._ratio(args) end function p.styleratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._styleratio(args) end function p.greatercontrast(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._greatercontrast(args) end return p hvtmcsb4mviz7lzj6tgvyp5kohk0vr7 9979 9978 2019-12-05T02:19:47Z meta>MusikBot II 0 Protected "[[Module:Color contrast]]": High-risk template or module ([[User:MusikBot II/TemplateProtector|more info]]) ([Edit=Allow only autoconfirmed users] (indefinite)) 9978 Scribunto text/plain -- -- This module implements -- {{Color contrast ratio}} -- {{Greater color contrast ratio}} -- {{ColorToLum}} -- {{RGBColorToLum}} -- local p = {} local HTMLcolor = mw.loadData( 'Module:Color contrast/colors' ) local function sRGB ( v ) if (v <= 0.03928) then v = v / 12.92 else v = math.pow((v+0.055)/1.055, 2.4) end return v end local function rgbdec2lum( R, G, B ) if ( 0 <= R and R < 256 and 0 <= G and G < 256 and 0 <= B and B < 256 ) then return 0.2126 * sRGB(R/255) + 0.7152 * sRGB(G/255) + 0.0722 * sRGB(B/255) else return '' end end local function hsl2lum( h, s, l ) if ( 0 <= h and h < 360 and 0 <= s and s <= 1 and 0 <= l and l <= 1 ) then local c = (1 - math.abs(2*l - 1))*s local x = c*(1 - math.abs( math.fmod(h/60, 2) - 1) ) local m = l - c/2 local r, g, b = m, m, m if( 0 <= h and h < 60 ) then r = r + c g = g + x elseif( 60 <= h and h < 120 ) then r = r + x g = g + c elseif( 120 <= h and h < 180 ) then g = g + c b = b + x elseif( 180 <= h and h < 240 ) then g = g + x b = b + c elseif( 240 <= h and h < 300 ) then r = r + x b = b + c elseif( 300 <= h and h < 360 ) then r = r + c b = b + x end return rgbdec2lum(255*r, 255*g, 255*b) else return '' end end local function color2lum( c ) if (c == nil) then return '' end -- whitespace c = c:match( '^%s*(.-)[%s;]*$' ) -- unstrip nowiki strip markers c = mw.text.unstripNoWiki(c) -- lowercase c = c:lower() -- first try to look it up local L = HTMLcolor[c] if (L ~= nil) then return L end -- convert from hsl if mw.ustring.match(c,'^hsl%([%s]*[0-9][0-9%.]*[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*%)$') then local h, s, l = mw.ustring.match(c,'^hsl%([%s]*([0-9][0-9%.]*)[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*%)$') return hsl2lum(tonumber(h), tonumber(s)/100, tonumber(l)/100) end -- convert from rgb if mw.ustring.match(c,'^rgb%([%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*[%s]*%)$') then local R, G, B = mw.ustring.match(c,'^rgb%([%s]*([0-9][0-9]*)[%s]*,[%s]*([0-9][0-9]*)[%s]*,[%s]*([0-9][0-9]*)[%s]*%)$') return rgbdec2lum(tonumber(R), tonumber(G), tonumber(B)) end -- convert from rgb percent if mw.ustring.match(c,'^rgb%([%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*%)$') then local R, G, B = mw.ustring.match(c,'^rgb%([%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*%)$') return rgbdec2lum(255*tonumber(R)/100, 255*tonumber(G)/100, 255*tonumber(B)/100) end -- remove leading # (if there is one) and whitespace c = mw.ustring.match(c, '^[%s#]*([a-f0-9]*)[%s]*$') -- split into rgb local cs = mw.text.split(c or '', '') if( #cs == 6 ) then local R = 16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[2]) local G = 16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[4]) local B = 16*tonumber('0x' .. cs[5]) + tonumber('0x' .. cs[6]) return rgbdec2lum(R, G, B) elseif ( #cs == 3 ) then local R = 16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[1]) local G = 16*tonumber('0x' .. cs[2]) + tonumber('0x' .. cs[2]) local B = 16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[3]) return rgbdec2lum(R, G, B) end -- failure, return blank return '' end function p._greatercontrast(args) local bias = tonumber(args['bias'] or '0') or 0 local v1 = color2lum(args[1] or '') local c2 = args[2] or '#FFFFFF' local v2 = color2lum(c2) local c3 = args[3] or '#000000' local v3 = color2lum(c3) local ratio1 = 0; local ratio2 = 0; if (type(v1) == 'number' and type(v2) == 'number') then ratio1 = (v2 + 0.05)/(v1 + 0.05) ratio1 = (ratio1 < 1) and 1/ratio1 or ratio1 end if (type(v1) == 'number' and type(v3) == 'number') then ratio2 = (v3 + 0.05)/(v1 + 0.05) ratio2 = (ratio2 < 1) and 1/ratio2 or ratio2 end return (ratio1 + bias > ratio2) and c2 or c3 end function p._ratio(args) local v1 = color2lum(args[1]) local v2 = color2lum(args[2]) if (type(v1) == 'number' and type(v2) == 'number') then -- v1 should be the brighter of the two. if v2 > v1 then v1, v2 = v2, v1 end return (v1 + 0.05)/(v2 + 0.05) else return args['error'] or '?' end end function p._styleratio(args) local style = (args[1] or ''):lower() local bg, fg = 'white', 'black' local lum_bg, lum_fg = 1, 0 if args[2] then local lum = color2lum(args[2]) if lum ~= '' then bg, lum_bg = args[2], lum end end if args[3] then local lum = color2lum(args[3]) if lum ~= '' then fg, lum_fg = args[3], lum end end local slist = mw.text.split(style or '', ';') for k = 1,#slist do s = slist[k] local k,v = s:match( '^[%s]*([^:]-):([^:]-)[%s;]*$' ) k = k or '' v = v or '' if (k:match('^[%s]*(background)[%s]*$') or k:match('^[%s]*(background%-color)[%s]*$')) then local lum = color2lum(v) if( lum ~= '' ) then bg, lum_bg = v, lum end elseif (k:match('^[%s]*(color)[%s]*$')) then local lum = color2lum(v) if( lum ~= '' ) then bg, lum_fg = v, lum end end end if lum_bg > lum_fg then return (lum_bg + 0.05)/(lum_fg + 0.05) else return (lum_fg + 0.05)/(lum_bg + 0.05) end end function p.lum(frame) return color2lum(frame.args[1] or frame:getParent().args[1]) end function p.ratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._ratio(args) end function p.styleratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._styleratio(args) end function p.greatercontrast(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._greatercontrast(args) end return p hvtmcsb4mviz7lzj6tgvyp5kohk0vr7 9980 2014-06-11T16:40:46Z w>Frietjes 0 [[WP:AES|←]]Created page with '-- -- This module implements -- {{Color contrast ration}} -- {{ColorToLum}} -- {{RGBColorToLum}} -- local p = {} local function sRGB ( v ) if (v <= 0.0392...' 9980 Scribunto text/plain -- -- This module implements -- {{Color contrast ration}} -- {{ColorToLum}} -- {{RGBColorToLum}} -- local p = {} local function sRGB ( v ) if (v <= 0.03928) then v = v / 12.92 else v = math.pow((v+0.055)/1.055, 2.4) end return v end local function color2lum( c ) if (c == nil) then return '' end local HTMLcolor = { white = 1, silver = 0.52711512570581, gray = 0.2158605001139, black = 0, red = 0.2126, maroon = 0.045891942324215, yellow = 0.9278, olive = 0.20027537200568, lime = 0.7152, green = 0.15438342968146, aqua = 0.7874, teal = 0.16996855778968, blue = 0.0722, navy = 0.015585128108224, fuchsia = 0.2848, purple = 0.061477070432439, orange = 0.4817026703631, gold = 0.69860877428159, pink = 0.63271070702466, lightpink = 0.58566152734898, hotpink = 0.34658438169715, deeppink = 0.23866895828276, palevioletred = 0.28754994117889, mediumvioletred = 0.14371899849357, lightsalmon = 0.4780675225206, salmon = 0.36977241527596, darksalmon = 0.40541471563381, lightcoral = 0.35522120733135, indianred = 0.21406134963884, crimson = 0.16042199953026, firebrick = 0.10724525535015, darkred = 0.054889674531132, orangered = 0.25516243753416, tomato = 0.30638612719415, coral = 0.37017930872924, darkorange = 0.40016167026524, lightyellow = 0.98161818392882, lemonchiffon = 0.94038992245622, lightgoldenrodyellow = 0.93348351018297, papayawhip = 0.87797100199835, moccasin = 0.80083000991567, peachpuff = 0.74905589878251, palegoldenrod = 0.78792647887614, khaki = 0.77012343394121, darkkhaki = 0.45747326349994, cornsilk = 0.93562110372965, blanchedalmond = 0.85084439608156, bisque = 0.80732327372979, navajowhite = 0.76519682342785, wheat = 0.74909702820482, burlywood = 0.51559844533893, tan = 0.48237604163921, rosybrown = 0.32319457649407, sandybrown = 0.46628543696283, goldenrod = 0.41919977809569, darkgoldenrod = 0.27264703559993, peru = 0.30113074877936, chocolate = 0.23898526114557, saddlebrown = 0.097922285020521, sienna = 0.13697631337098, brown = 0.098224287876511, } -- lowercase c = c:lower() -- first try to look it up local L = HTMLcolor[c] if (L ~= nil) then return L end -- remove leading # (if there is one) and whitespace c = mw.ustring.match(c, '^[%s#]*([a-f0-9]*)[%s]*$') -- split into rgb local cs = mw.text.split(c, '') if( #cs == 6 ) then local R = sRGB( (16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[2]))/255 ) local G = sRGB( (16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[4]))/255 ) local B = sRGB( (16*tonumber('0x' .. cs[5]) + tonumber('0x' .. cs[6]))/255 ) L = 0.2126 * R + 0.7152 * G + 0.0722 * B return L end -- failure, return blank return '' end function p.lum(frame) return color2lum(frame.args[1] or frame:getParent().args[1]) end function p.ratio(frame) local v1 = color2num(frame.args[1] or frame:getParent().args[1]) local v2 = color2num(frame.args[2] or frame:getParent().args[2]) return (v2 + 0.05)/(v1 + 0.05) end return p t6md17b7rojtc7b79wvi4j349wb3gx6 9981 9980 2014-06-11T16:44:29Z w>Frietjes 0 9981 Scribunto text/plain -- -- This module implements -- {{Color contrast ration}} -- {{ColorToLum}} -- {{RGBColorToLum}} -- local p = {} local function sRGB ( v ) if (v <= 0.03928) then v = v / 12.92 else v = math.pow((v+0.055)/1.055, 2.4) end return v end local function color2lum( c ) if (c == nil) then return '' end local HTMLcolor = { white = 1, silver = 0.52711512570581, gray = 0.2158605001139, black = 0, red = 0.2126, maroon = 0.045891942324215, yellow = 0.9278, olive = 0.20027537200568, lime = 0.7152, green = 0.15438342968146, aqua = 0.7874, teal = 0.16996855778968, blue = 0.0722, navy = 0.015585128108224, fuchsia = 0.2848, purple = 0.061477070432439, orange = 0.4817026703631, gold = 0.69860877428159, pink = 0.63271070702466, lightpink = 0.58566152734898, hotpink = 0.34658438169715, deeppink = 0.23866895828276, palevioletred = 0.28754994117889, mediumvioletred = 0.14371899849357, lightsalmon = 0.4780675225206, salmon = 0.36977241527596, darksalmon = 0.40541471563381, lightcoral = 0.35522120733135, indianred = 0.21406134963884, crimson = 0.16042199953026, firebrick = 0.10724525535015, darkred = 0.054889674531132, orangered = 0.25516243753416, tomato = 0.30638612719415, coral = 0.37017930872924, darkorange = 0.40016167026524, lightyellow = 0.98161818392882, lemonchiffon = 0.94038992245622, lightgoldenrodyellow = 0.93348351018297, papayawhip = 0.87797100199835, moccasin = 0.80083000991567, peachpuff = 0.74905589878251, palegoldenrod = 0.78792647887614, khaki = 0.77012343394121, darkkhaki = 0.45747326349994, cornsilk = 0.93562110372965, blanchedalmond = 0.85084439608156, bisque = 0.80732327372979, navajowhite = 0.76519682342785, wheat = 0.74909702820482, burlywood = 0.51559844533893, tan = 0.48237604163921, rosybrown = 0.32319457649407, sandybrown = 0.46628543696283, goldenrod = 0.41919977809569, darkgoldenrod = 0.27264703559993, peru = 0.30113074877936, chocolate = 0.23898526114557, saddlebrown = 0.097922285020521, sienna = 0.13697631337098, brown = 0.098224287876511, } -- lowercase c = c:lower() -- first try to look it up local L = HTMLcolor[c] if (L ~= nil) then return L end -- remove leading # (if there is one) and whitespace c = mw.ustring.match(c, '^[%s#]*([a-f0-9]*)[%s]*$') -- split into rgb local cs = mw.text.split(c, '') if( #cs == 6 ) then local R = sRGB( (16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[2]))/255 ) local G = sRGB( (16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[4]))/255 ) local B = sRGB( (16*tonumber('0x' .. cs[5]) + tonumber('0x' .. cs[6]))/255 ) L = 0.2126 * R + 0.7152 * G + 0.0722 * B return L end -- failure, return blank return '' end function p.lum(frame) return color2lum(frame.args[1] or frame:getParent().args[1]) end function p.ratio(frame) local v1 = color2lum(frame.args[1] or frame:getParent().args[1]) local v2 = color2lum(frame.args[2] or frame:getParent().args[2]) return (v2 + 0.05)/(v1 + 0.05) end return p 4bpbh3w0wohbaeqpm57mophm85eu8xz 9982 9981 2014-06-11T16:55:33Z w>Frietjes 0 9982 Scribunto text/plain -- -- This module implements -- {{Color contrast ration}} -- {{ColorToLum}} -- {{RGBColorToLum}} -- local p = {} local function sRGB ( v ) if (v <= 0.03928) then v = v / 12.92 else v = math.pow((v+0.055)/1.055, 2.4) end return v end local function color2lum( c ) if (c == nil) then return '' end local HTMLcolor = { white = 1, silver = 0.52711512570581, gray = 0.2158605001139, black = 0, red = 0.2126, maroon = 0.045891942324215, yellow = 0.9278, olive = 0.20027537200568, lime = 0.7152, green = 0.15438342968146, aqua = 0.7874, teal = 0.16996855778968, blue = 0.0722, navy = 0.015585128108224, fuchsia = 0.2848, purple = 0.061477070432439, orange = 0.4817026703631, gold = 0.69860877428159, pink = 0.63271070702466, lightpink = 0.58566152734898, hotpink = 0.34658438169715, deeppink = 0.23866895828276, palevioletred = 0.28754994117889, mediumvioletred = 0.14371899849357, lightsalmon = 0.4780675225206, salmon = 0.36977241527596, darksalmon = 0.40541471563381, lightcoral = 0.35522120733135, indianred = 0.21406134963884, crimson = 0.16042199953026, firebrick = 0.10724525535015, darkred = 0.054889674531132, orangered = 0.25516243753416, tomato = 0.30638612719415, coral = 0.37017930872924, darkorange = 0.40016167026524, lightyellow = 0.98161818392882, lemonchiffon = 0.94038992245622, lightgoldenrodyellow = 0.93348351018297, papayawhip = 0.87797100199835, moccasin = 0.80083000991567, peachpuff = 0.74905589878251, palegoldenrod = 0.78792647887614, khaki = 0.77012343394121, darkkhaki = 0.45747326349994, cornsilk = 0.93562110372965, blanchedalmond = 0.85084439608156, bisque = 0.80732327372979, navajowhite = 0.76519682342785, wheat = 0.74909702820482, burlywood = 0.51559844533893, tan = 0.48237604163921, rosybrown = 0.32319457649407, sandybrown = 0.46628543696283, goldenrod = 0.41919977809569, darkgoldenrod = 0.27264703559993, peru = 0.30113074877936, chocolate = 0.23898526114557, saddlebrown = 0.097922285020521, sienna = 0.13697631337098, brown = 0.098224287876511, } -- lowercase c = c:lower() -- first try to look it up local L = HTMLcolor[c] if (L ~= nil) then return L end -- remove leading # (if there is one) and whitespace c = mw.ustring.match(c, '^[%s#]*([a-f0-9]*)[%s]*$') -- split into rgb local cs = mw.text.split(c, '') if( #cs == 6 ) then local R = sRGB( (16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[2]))/255 ) local G = sRGB( (16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[4]))/255 ) local B = sRGB( (16*tonumber('0x' .. cs[5]) + tonumber('0x' .. cs[6]))/255 ) L = 0.2126 * R + 0.7152 * G + 0.0722 * B return L end -- failure, return blank return '' end function p.lum(frame) return color2lum(frame.args[1] or frame:getParent().args[1]) end function p.ratio(frame) local v1 = color2lum(frame.args[1] or frame:getParent().args[1]) local v2 = color2lum(frame.args[2] or frame:getParent().args[2]) if (type(v1) == 'number' and type(v2) == 'number') then return (v2 + 0.05)/(v1 + 0.05) else return frame.args['error'] or frame:getParent().args['error'] or '?' end end return p eufolqb3oo8zouiw2dkl8xmzjrg8w9f 9983 9982 2014-06-11T16:55:56Z w>Frietjes 0 9983 Scribunto text/plain -- -- This module implements -- {{Color contrast ratio}} -- {{ColorToLum}} -- {{RGBColorToLum}} -- local p = {} local function sRGB ( v ) if (v <= 0.03928) then v = v / 12.92 else v = math.pow((v+0.055)/1.055, 2.4) end return v end local function color2lum( c ) if (c == nil) then return '' end local HTMLcolor = { white = 1, silver = 0.52711512570581, gray = 0.2158605001139, black = 0, red = 0.2126, maroon = 0.045891942324215, yellow = 0.9278, olive = 0.20027537200568, lime = 0.7152, green = 0.15438342968146, aqua = 0.7874, teal = 0.16996855778968, blue = 0.0722, navy = 0.015585128108224, fuchsia = 0.2848, purple = 0.061477070432439, orange = 0.4817026703631, gold = 0.69860877428159, pink = 0.63271070702466, lightpink = 0.58566152734898, hotpink = 0.34658438169715, deeppink = 0.23866895828276, palevioletred = 0.28754994117889, mediumvioletred = 0.14371899849357, lightsalmon = 0.4780675225206, salmon = 0.36977241527596, darksalmon = 0.40541471563381, lightcoral = 0.35522120733135, indianred = 0.21406134963884, crimson = 0.16042199953026, firebrick = 0.10724525535015, darkred = 0.054889674531132, orangered = 0.25516243753416, tomato = 0.30638612719415, coral = 0.37017930872924, darkorange = 0.40016167026524, lightyellow = 0.98161818392882, lemonchiffon = 0.94038992245622, lightgoldenrodyellow = 0.93348351018297, papayawhip = 0.87797100199835, moccasin = 0.80083000991567, peachpuff = 0.74905589878251, palegoldenrod = 0.78792647887614, khaki = 0.77012343394121, darkkhaki = 0.45747326349994, cornsilk = 0.93562110372965, blanchedalmond = 0.85084439608156, bisque = 0.80732327372979, navajowhite = 0.76519682342785, wheat = 0.74909702820482, burlywood = 0.51559844533893, tan = 0.48237604163921, rosybrown = 0.32319457649407, sandybrown = 0.46628543696283, goldenrod = 0.41919977809569, darkgoldenrod = 0.27264703559993, peru = 0.30113074877936, chocolate = 0.23898526114557, saddlebrown = 0.097922285020521, sienna = 0.13697631337098, brown = 0.098224287876511, } -- lowercase c = c:lower() -- first try to look it up local L = HTMLcolor[c] if (L ~= nil) then return L end -- remove leading # (if there is one) and whitespace c = mw.ustring.match(c, '^[%s#]*([a-f0-9]*)[%s]*$') -- split into rgb local cs = mw.text.split(c, '') if( #cs == 6 ) then local R = sRGB( (16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[2]))/255 ) local G = sRGB( (16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[4]))/255 ) local B = sRGB( (16*tonumber('0x' .. cs[5]) + tonumber('0x' .. cs[6]))/255 ) L = 0.2126 * R + 0.7152 * G + 0.0722 * B return L end -- failure, return blank return '' end function p.lum(frame) return color2lum(frame.args[1] or frame:getParent().args[1]) end function p.ratio(frame) local v1 = color2lum(frame.args[1] or frame:getParent().args[1]) local v2 = color2lum(frame.args[2] or frame:getParent().args[2]) if (type(v1) == 'number' and type(v2) == 'number') then return (v2 + 0.05)/(v1 + 0.05) else return frame.args['error'] or frame:getParent().args['error'] or '?' end end return p c2yz9fkudrpybmkxddtnq87m3l43dpb 9984 9983 2014-06-11T16:59:06Z w>Frietjes 0 9984 Scribunto text/plain -- -- This module implements -- {{Color contrast ratio}} -- {{ColorToLum}} -- {{RGBColorToLum}} -- local p = {} local function sRGB ( v ) if (v <= 0.03928) then v = v / 12.92 else v = math.pow((v+0.055)/1.055, 2.4) end return v end local function color2lum( c ) if (c == nil) then return '' end local HTMLcolor = { white = 1, silver = 0.52711512570581, gray = 0.2158605001139, black = 0, red = 0.2126, maroon = 0.045891942324215, yellow = 0.9278, olive = 0.20027537200568, lime = 0.7152, green = 0.15438342968146, aqua = 0.7874, teal = 0.16996855778968, blue = 0.0722, navy = 0.015585128108224, fuchsia = 0.2848, purple = 0.061477070432439, orange = 0.4817026703631, gold = 0.69860877428159, pink = 0.63271070702466, lightpink = 0.58566152734898, hotpink = 0.34658438169715, deeppink = 0.23866895828276, palevioletred = 0.28754994117889, mediumvioletred = 0.14371899849357, lightsalmon = 0.4780675225206, salmon = 0.36977241527596, darksalmon = 0.40541471563381, lightcoral = 0.35522120733135, indianred = 0.21406134963884, crimson = 0.16042199953026, firebrick = 0.10724525535015, darkred = 0.054889674531132, orangered = 0.25516243753416, tomato = 0.30638612719415, coral = 0.37017930872924, darkorange = 0.40016167026524, lightyellow = 0.98161818392882, lemonchiffon = 0.94038992245622, lightgoldenrodyellow = 0.93348351018297, papayawhip = 0.87797100199835, moccasin = 0.80083000991567, peachpuff = 0.74905589878251, palegoldenrod = 0.78792647887614, khaki = 0.77012343394121, darkkhaki = 0.45747326349994, cornsilk = 0.93562110372965, blanchedalmond = 0.85084439608156, bisque = 0.80732327372979, navajowhite = 0.76519682342785, wheat = 0.74909702820482, burlywood = 0.51559844533893, tan = 0.48237604163921, rosybrown = 0.32319457649407, sandybrown = 0.46628543696283, goldenrod = 0.41919977809569, darkgoldenrod = 0.27264703559993, peru = 0.30113074877936, chocolate = 0.23898526114557, saddlebrown = 0.097922285020521, sienna = 0.13697631337098, brown = 0.098224287876511, } -- lowercase c = c:lower() -- first try to look it up local L = HTMLcolor[c] if (L ~= nil) then return L end -- remove leading # (if there is one) and whitespace c = mw.ustring.match(c, '^[%s#]*([a-f0-9]*)[%s]*$') -- split into rgb local cs = mw.text.split(c or '', '') if( #cs == 6 ) then local R = sRGB( (16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[2]))/255 ) local G = sRGB( (16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[4]))/255 ) local B = sRGB( (16*tonumber('0x' .. cs[5]) + tonumber('0x' .. cs[6]))/255 ) L = 0.2126 * R + 0.7152 * G + 0.0722 * B return L end -- failure, return blank return '' end function p.lum(frame) return color2lum(frame.args[1] or frame:getParent().args[1]) end function p.ratio(frame) local v1 = color2lum(frame.args[1] or frame:getParent().args[1]) local v2 = color2lum(frame.args[2] or frame:getParent().args[2]) if (type(v1) == 'number' and type(v2) == 'number') then return (v2 + 0.05)/(v1 + 0.05) else return frame.args['error'] or frame:getParent().args['error'] or '?' end end return p jlag3mx09dmq69pe0b691ky336nvird 9985 9984 2014-06-11T17:05:56Z w>Frietjes 0 9985 Scribunto text/plain -- -- This module implements -- {{Color contrast ratio}} -- {{ColorToLum}} -- {{RGBColorToLum}} -- local p = {} local function sRGB ( v ) if (v <= 0.03928) then v = v / 12.92 else v = math.pow((v+0.055)/1.055, 2.4) end return v end local function color2lum( c ) if (c == nil) then return '' end local HTMLcolor = { white = 1, silver = 0.52711512570581, gray = 0.2158605001139, black = 0, red = 0.2126, maroon = 0.045891942324215, yellow = 0.9278, olive = 0.20027537200568, lime = 0.7152, green = 0.15438342968146, aqua = 0.7874, teal = 0.16996855778968, blue = 0.0722, navy = 0.015585128108224, fuchsia = 0.2848, purple = 0.061477070432439, orange = 0.4817026703631, gold = 0.69860877428159, pink = 0.63271070702466, lightpink = 0.58566152734898, hotpink = 0.34658438169715, deeppink = 0.23866895828276, palevioletred = 0.28754994117889, mediumvioletred = 0.14371899849357, lightsalmon = 0.4780675225206, salmon = 0.36977241527596, darksalmon = 0.40541471563381, lightcoral = 0.35522120733135, indianred = 0.21406134963884, crimson = 0.16042199953026, firebrick = 0.10724525535015, darkred = 0.054889674531132, orangered = 0.25516243753416, tomato = 0.30638612719415, coral = 0.37017930872924, darkorange = 0.40016167026524, lightyellow = 0.98161818392882, lemonchiffon = 0.94038992245622, lightgoldenrodyellow = 0.93348351018297, papayawhip = 0.87797100199835, moccasin = 0.80083000991567, peachpuff = 0.74905589878251, palegoldenrod = 0.78792647887614, khaki = 0.77012343394121, darkkhaki = 0.45747326349994, cornsilk = 0.93562110372965, blanchedalmond = 0.85084439608156, bisque = 0.80732327372979, navajowhite = 0.76519682342785, wheat = 0.74909702820482, burlywood = 0.51559844533893, tan = 0.48237604163921, rosybrown = 0.32319457649407, sandybrown = 0.46628543696283, goldenrod = 0.41919977809569, darkgoldenrod = 0.27264703559993, peru = 0.30113074877936, chocolate = 0.23898526114557, saddlebrown = 0.097922285020521, sienna = 0.13697631337098, brown = 0.098224287876511, } -- whitespace c = c:match( '^%s*(.-)%s*$' ) -- lowercase c = c:lower() -- first try to look it up local L = HTMLcolor[c] if (L ~= nil) then return L end -- remove leading # (if there is one) and whitespace c = mw.ustring.match(c, '^[%s#]*([a-f0-9]*)[%s]*$') -- split into rgb local cs = mw.text.split(c or '', '') if( #cs == 6 ) then local R = sRGB( (16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[2]))/255 ) local G = sRGB( (16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[4]))/255 ) local B = sRGB( (16*tonumber('0x' .. cs[5]) + tonumber('0x' .. cs[6]))/255 ) L = 0.2126 * R + 0.7152 * G + 0.0722 * B return L end -- failure, return blank return '' end function p.lum(frame) return color2lum(frame.args[1] or frame:getParent().args[1]) end function p.ratio(frame) local v1 = color2lum(frame.args[1] or frame:getParent().args[1]) local v2 = color2lum(frame.args[2] or frame:getParent().args[2]) if (type(v1) == 'number' and type(v2) == 'number') then return (v2 + 0.05)/(v1 + 0.05) else return frame.args['error'] or frame:getParent().args['error'] or '?' end end return p bs7438frve2w3x7pb4vuw1v06z7vuzc 9986 9985 2014-06-11T17:15:25Z w>Frietjes 0 add shorthand 9986 Scribunto text/plain -- -- This module implements -- {{Color contrast ratio}} -- {{ColorToLum}} -- {{RGBColorToLum}} -- local p = {} local function sRGB ( v ) if (v <= 0.03928) then v = v / 12.92 else v = math.pow((v+0.055)/1.055, 2.4) end return v end local function color2lum( c ) if (c == nil) then return '' end local HTMLcolor = { white = 1, silver = 0.52711512570581, gray = 0.2158605001139, black = 0, red = 0.2126, maroon = 0.045891942324215, yellow = 0.9278, olive = 0.20027537200568, lime = 0.7152, green = 0.15438342968146, aqua = 0.7874, teal = 0.16996855778968, blue = 0.0722, navy = 0.015585128108224, fuchsia = 0.2848, purple = 0.061477070432439, orange = 0.4817026703631, gold = 0.69860877428159, pink = 0.63271070702466, lightpink = 0.58566152734898, hotpink = 0.34658438169715, deeppink = 0.23866895828276, palevioletred = 0.28754994117889, mediumvioletred = 0.14371899849357, lightsalmon = 0.4780675225206, salmon = 0.36977241527596, darksalmon = 0.40541471563381, lightcoral = 0.35522120733135, indianred = 0.21406134963884, crimson = 0.16042199953026, firebrick = 0.10724525535015, darkred = 0.054889674531132, orangered = 0.25516243753416, tomato = 0.30638612719415, coral = 0.37017930872924, darkorange = 0.40016167026524, lightyellow = 0.98161818392882, lemonchiffon = 0.94038992245622, lightgoldenrodyellow = 0.93348351018297, papayawhip = 0.87797100199835, moccasin = 0.80083000991567, peachpuff = 0.74905589878251, palegoldenrod = 0.78792647887614, khaki = 0.77012343394121, darkkhaki = 0.45747326349994, cornsilk = 0.93562110372965, blanchedalmond = 0.85084439608156, bisque = 0.80732327372979, navajowhite = 0.76519682342785, wheat = 0.74909702820482, burlywood = 0.51559844533893, tan = 0.48237604163921, rosybrown = 0.32319457649407, sandybrown = 0.46628543696283, goldenrod = 0.41919977809569, darkgoldenrod = 0.27264703559993, peru = 0.30113074877936, chocolate = 0.23898526114557, saddlebrown = 0.097922285020521, sienna = 0.13697631337098, brown = 0.098224287876511, } -- whitespace c = c:match( '^%s*(.-)%s*$' ) -- lowercase c = c:lower() -- first try to look it up local L = HTMLcolor[c] if (L ~= nil) then return L end -- remove leading # (if there is one) and whitespace c = mw.ustring.match(c, '^[%s#]*([a-f0-9]*)[%s]*$') -- split into rgb local cs = mw.text.split(c or '', '') if( #cs == 6 ) then local R = sRGB( (16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[2]))/255 ) local G = sRGB( (16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[4]))/255 ) local B = sRGB( (16*tonumber('0x' .. cs[5]) + tonumber('0x' .. cs[6]))/255 ) L = 0.2126 * R + 0.7152 * G + 0.0722 * B return L elseif ( #cs == 3 ) then local R = sRGB( (16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[1]))/255 ) local G = sRGB( (16*tonumber('0x' .. cs[2]) + tonumber('0x' .. cs[2]))/255 ) local B = sRGB( (16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[3]))/255 ) L = 0.2126 * R + 0.7152 * G + 0.0722 * B return L end -- failure, return blank return '' end function p.lum(frame) return color2lum(frame.args[1] or frame:getParent().args[1]) end function p.ratio(frame) local v1 = color2lum(frame.args[1] or frame:getParent().args[1]) local v2 = color2lum(frame.args[2] or frame:getParent().args[2]) if (type(v1) == 'number' and type(v2) == 'number') then return (v2 + 0.05)/(v1 + 0.05) else return frame.args['error'] or frame:getParent().args['error'] or '?' end end return p on9a0z0wcn022uyvj08yrk51ynubjmz 9987 9986 2015-03-25T00:47:36Z w>Frietjes 0 refactor to allow this to be called from another module 9987 Scribunto text/plain -- -- This module implements -- {{Color contrast ratio}} -- {{ColorToLum}} -- {{RGBColorToLum}} -- local p = {} local function sRGB ( v ) if (v <= 0.03928) then v = v / 12.92 else v = math.pow((v+0.055)/1.055, 2.4) end return v end local function color2lum( c ) if (c == nil) then return '' end local HTMLcolor = { white = 1, silver = 0.52711512570581, gray = 0.2158605001139, black = 0, red = 0.2126, maroon = 0.045891942324215, yellow = 0.9278, olive = 0.20027537200568, lime = 0.7152, green = 0.15438342968146, aqua = 0.7874, teal = 0.16996855778968, blue = 0.0722, navy = 0.015585128108224, fuchsia = 0.2848, purple = 0.061477070432439, orange = 0.4817026703631, gold = 0.69860877428159, pink = 0.63271070702466, lightpink = 0.58566152734898, hotpink = 0.34658438169715, deeppink = 0.23866895828276, palevioletred = 0.28754994117889, mediumvioletred = 0.14371899849357, lightsalmon = 0.4780675225206, salmon = 0.36977241527596, darksalmon = 0.40541471563381, lightcoral = 0.35522120733135, indianred = 0.21406134963884, crimson = 0.16042199953026, firebrick = 0.10724525535015, darkred = 0.054889674531132, orangered = 0.25516243753416, tomato = 0.30638612719415, coral = 0.37017930872924, darkorange = 0.40016167026524, lightyellow = 0.98161818392882, lemonchiffon = 0.94038992245622, lightgoldenrodyellow = 0.93348351018297, papayawhip = 0.87797100199835, moccasin = 0.80083000991567, peachpuff = 0.74905589878251, palegoldenrod = 0.78792647887614, khaki = 0.77012343394121, darkkhaki = 0.45747326349994, cornsilk = 0.93562110372965, blanchedalmond = 0.85084439608156, bisque = 0.80732327372979, navajowhite = 0.76519682342785, wheat = 0.74909702820482, burlywood = 0.51559844533893, tan = 0.48237604163921, rosybrown = 0.32319457649407, sandybrown = 0.46628543696283, goldenrod = 0.41919977809569, darkgoldenrod = 0.27264703559993, peru = 0.30113074877936, chocolate = 0.23898526114557, saddlebrown = 0.097922285020521, sienna = 0.13697631337098, brown = 0.098224287876511, } -- whitespace c = c:match( '^%s*(.-)%s*$' ) -- lowercase c = c:lower() -- first try to look it up local L = HTMLcolor[c] if (L ~= nil) then return L end -- remove leading # (if there is one) and whitespace c = mw.ustring.match(c, '^[%s#]*([a-f0-9]*)[%s]*$') -- split into rgb local cs = mw.text.split(c or '', '') if( #cs == 6 ) then local R = sRGB( (16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[2]))/255 ) local G = sRGB( (16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[4]))/255 ) local B = sRGB( (16*tonumber('0x' .. cs[5]) + tonumber('0x' .. cs[6]))/255 ) L = 0.2126 * R + 0.7152 * G + 0.0722 * B return L elseif ( #cs == 3 ) then local R = sRGB( (16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[1]))/255 ) local G = sRGB( (16*tonumber('0x' .. cs[2]) + tonumber('0x' .. cs[2]))/255 ) local B = sRGB( (16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[3]))/255 ) L = 0.2126 * R + 0.7152 * G + 0.0722 * B return L end -- failure, return blank return '' end local function colors2ratio(c1,c2) local v1 = color2lum(c1) local v2 = color2lum(c2) if (type(v1) == 'number' and type(v2) == 'number') then return (v2 + 0.05)/(v1 + 0.05) else return '' end end function p.lum(frame) return color2lum(frame.args[1] or frame:getParent().args[1]) end function p.ratio(frame) local r = colors2ratio( frame.args[1] or frame:getParent().args[1], frame.args[2] or frame:getParent().args[2] ) if (r ~= '') then return r else return frame.args['error'] or frame:getParent().args['error'] or '?' end end return p 1bkc8apk0gwdvb8eg41r89vqsjzyy6x 9988 9987 2015-03-25T01:03:32Z w>Frietjes 0 fix 9988 Scribunto text/plain -- -- This module implements -- {{Color contrast ratio}} -- {{ColorToLum}} -- {{RGBColorToLum}} -- local p = {} local function sRGB ( v ) if (v <= 0.03928) then v = v / 12.92 else v = math.pow((v+0.055)/1.055, 2.4) end return v end local function color2lum( c ) if (c == nil) then return '' end local HTMLcolor = { white = 1, silver = 0.52711512570581, gray = 0.2158605001139, black = 0, red = 0.2126, maroon = 0.045891942324215, yellow = 0.9278, olive = 0.20027537200568, lime = 0.7152, green = 0.15438342968146, aqua = 0.7874, teal = 0.16996855778968, blue = 0.0722, navy = 0.015585128108224, fuchsia = 0.2848, purple = 0.061477070432439, orange = 0.4817026703631, gold = 0.69860877428159, pink = 0.63271070702466, lightpink = 0.58566152734898, hotpink = 0.34658438169715, deeppink = 0.23866895828276, palevioletred = 0.28754994117889, mediumvioletred = 0.14371899849357, lightsalmon = 0.4780675225206, salmon = 0.36977241527596, darksalmon = 0.40541471563381, lightcoral = 0.35522120733135, indianred = 0.21406134963884, crimson = 0.16042199953026, firebrick = 0.10724525535015, darkred = 0.054889674531132, orangered = 0.25516243753416, tomato = 0.30638612719415, coral = 0.37017930872924, darkorange = 0.40016167026524, lightyellow = 0.98161818392882, lemonchiffon = 0.94038992245622, lightgoldenrodyellow = 0.93348351018297, papayawhip = 0.87797100199835, moccasin = 0.80083000991567, peachpuff = 0.74905589878251, palegoldenrod = 0.78792647887614, khaki = 0.77012343394121, darkkhaki = 0.45747326349994, cornsilk = 0.93562110372965, blanchedalmond = 0.85084439608156, bisque = 0.80732327372979, navajowhite = 0.76519682342785, wheat = 0.74909702820482, burlywood = 0.51559844533893, tan = 0.48237604163921, rosybrown = 0.32319457649407, sandybrown = 0.46628543696283, goldenrod = 0.41919977809569, darkgoldenrod = 0.27264703559993, peru = 0.30113074877936, chocolate = 0.23898526114557, saddlebrown = 0.097922285020521, sienna = 0.13697631337098, brown = 0.098224287876511, } -- whitespace c = c:match( '^%s*(.-)%s*$' ) -- lowercase c = c:lower() -- first try to look it up local L = HTMLcolor[c] if (L ~= nil) then return L end -- remove leading # (if there is one) and whitespace c = mw.ustring.match(c, '^[%s#]*([a-f0-9]*)[%s]*$') -- split into rgb local cs = mw.text.split(c or '', '') if( #cs == 6 ) then local R = sRGB( (16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[2]))/255 ) local G = sRGB( (16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[4]))/255 ) local B = sRGB( (16*tonumber('0x' .. cs[5]) + tonumber('0x' .. cs[6]))/255 ) L = 0.2126 * R + 0.7152 * G + 0.0722 * B return L elseif ( #cs == 3 ) then local R = sRGB( (16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[1]))/255 ) local G = sRGB( (16*tonumber('0x' .. cs[2]) + tonumber('0x' .. cs[2]))/255 ) local B = sRGB( (16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[3]))/255 ) L = 0.2126 * R + 0.7152 * G + 0.0722 * B return L end -- failure, return blank return '' end local function colors2ratio(c) local v1 = color2lum(c[1]) local v2 = color2lum(c[2]) if (type(v1) == 'number' and type(v2) == 'number') then return (v2 + 0.05)/(v1 + 0.05) else return '' end end function p.lum(frame) return color2lum(frame.args[1] or frame:getParent().args[1]) end function p.ratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args local r = colors2ratio(args) if (r ~= '') then return r else return frame.args['error'] or frame:getParent().args['error'] or '?' end end return p 3msnrmch90gltctyahmjc3as742a8k3 9989 9988 2015-03-25T01:07:43Z w>Frietjes 0 fix 9989 Scribunto text/plain -- -- This module implements -- {{Color contrast ratio}} -- {{ColorToLum}} -- {{RGBColorToLum}} -- local p = {} local function sRGB ( v ) if (v <= 0.03928) then v = v / 12.92 else v = math.pow((v+0.055)/1.055, 2.4) end return v end local function color2lum( c ) if (c == nil) then return '' end local HTMLcolor = { white = 1, silver = 0.52711512570581, gray = 0.2158605001139, black = 0, red = 0.2126, maroon = 0.045891942324215, yellow = 0.9278, olive = 0.20027537200568, lime = 0.7152, green = 0.15438342968146, aqua = 0.7874, teal = 0.16996855778968, blue = 0.0722, navy = 0.015585128108224, fuchsia = 0.2848, purple = 0.061477070432439, orange = 0.4817026703631, gold = 0.69860877428159, pink = 0.63271070702466, lightpink = 0.58566152734898, hotpink = 0.34658438169715, deeppink = 0.23866895828276, palevioletred = 0.28754994117889, mediumvioletred = 0.14371899849357, lightsalmon = 0.4780675225206, salmon = 0.36977241527596, darksalmon = 0.40541471563381, lightcoral = 0.35522120733135, indianred = 0.21406134963884, crimson = 0.16042199953026, firebrick = 0.10724525535015, darkred = 0.054889674531132, orangered = 0.25516243753416, tomato = 0.30638612719415, coral = 0.37017930872924, darkorange = 0.40016167026524, lightyellow = 0.98161818392882, lemonchiffon = 0.94038992245622, lightgoldenrodyellow = 0.93348351018297, papayawhip = 0.87797100199835, moccasin = 0.80083000991567, peachpuff = 0.74905589878251, palegoldenrod = 0.78792647887614, khaki = 0.77012343394121, darkkhaki = 0.45747326349994, cornsilk = 0.93562110372965, blanchedalmond = 0.85084439608156, bisque = 0.80732327372979, navajowhite = 0.76519682342785, wheat = 0.74909702820482, burlywood = 0.51559844533893, tan = 0.48237604163921, rosybrown = 0.32319457649407, sandybrown = 0.46628543696283, goldenrod = 0.41919977809569, darkgoldenrod = 0.27264703559993, peru = 0.30113074877936, chocolate = 0.23898526114557, saddlebrown = 0.097922285020521, sienna = 0.13697631337098, brown = 0.098224287876511, } -- whitespace c = c:match( '^%s*(.-)%s*$' ) -- lowercase c = c:lower() -- first try to look it up local L = HTMLcolor[c] if (L ~= nil) then return L end -- remove leading # (if there is one) and whitespace c = mw.ustring.match(c, '^[%s#]*([a-f0-9]*)[%s]*$') -- split into rgb local cs = mw.text.split(c or '', '') if( #cs == 6 ) then local R = sRGB( (16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[2]))/255 ) local G = sRGB( (16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[4]))/255 ) local B = sRGB( (16*tonumber('0x' .. cs[5]) + tonumber('0x' .. cs[6]))/255 ) L = 0.2126 * R + 0.7152 * G + 0.0722 * B return L elseif ( #cs == 3 ) then local R = sRGB( (16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[1]))/255 ) local G = sRGB( (16*tonumber('0x' .. cs[2]) + tonumber('0x' .. cs[2]))/255 ) local B = sRGB( (16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[3]))/255 ) L = 0.2126 * R + 0.7152 * G + 0.0722 * B return L end -- failure, return blank return '' end function p._ratio(args) local v1 = color2lum(c[1]) local v2 = color2lum(c[2]) if (type(v1) == 'number' and type(v2) == 'number') then return (v2 + 0.05)/(v1 + 0.05) else return args['error'] or '?' end end function p.lum(frame) return color2lum(frame.args[1] or frame:getParent().args[1]) end function p.ratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._ratio(args) end return p ofvbesc2so1i2syy6dipsfojjdgq05m 9990 9989 2015-03-25T01:08:40Z w>Frietjes 0 typo 9990 Scribunto text/plain -- -- This module implements -- {{Color contrast ratio}} -- {{ColorToLum}} -- {{RGBColorToLum}} -- local p = {} local function sRGB ( v ) if (v <= 0.03928) then v = v / 12.92 else v = math.pow((v+0.055)/1.055, 2.4) end return v end local function color2lum( c ) if (c == nil) then return '' end local HTMLcolor = { white = 1, silver = 0.52711512570581, gray = 0.2158605001139, black = 0, red = 0.2126, maroon = 0.045891942324215, yellow = 0.9278, olive = 0.20027537200568, lime = 0.7152, green = 0.15438342968146, aqua = 0.7874, teal = 0.16996855778968, blue = 0.0722, navy = 0.015585128108224, fuchsia = 0.2848, purple = 0.061477070432439, orange = 0.4817026703631, gold = 0.69860877428159, pink = 0.63271070702466, lightpink = 0.58566152734898, hotpink = 0.34658438169715, deeppink = 0.23866895828276, palevioletred = 0.28754994117889, mediumvioletred = 0.14371899849357, lightsalmon = 0.4780675225206, salmon = 0.36977241527596, darksalmon = 0.40541471563381, lightcoral = 0.35522120733135, indianred = 0.21406134963884, crimson = 0.16042199953026, firebrick = 0.10724525535015, darkred = 0.054889674531132, orangered = 0.25516243753416, tomato = 0.30638612719415, coral = 0.37017930872924, darkorange = 0.40016167026524, lightyellow = 0.98161818392882, lemonchiffon = 0.94038992245622, lightgoldenrodyellow = 0.93348351018297, papayawhip = 0.87797100199835, moccasin = 0.80083000991567, peachpuff = 0.74905589878251, palegoldenrod = 0.78792647887614, khaki = 0.77012343394121, darkkhaki = 0.45747326349994, cornsilk = 0.93562110372965, blanchedalmond = 0.85084439608156, bisque = 0.80732327372979, navajowhite = 0.76519682342785, wheat = 0.74909702820482, burlywood = 0.51559844533893, tan = 0.48237604163921, rosybrown = 0.32319457649407, sandybrown = 0.46628543696283, goldenrod = 0.41919977809569, darkgoldenrod = 0.27264703559993, peru = 0.30113074877936, chocolate = 0.23898526114557, saddlebrown = 0.097922285020521, sienna = 0.13697631337098, brown = 0.098224287876511, } -- whitespace c = c:match( '^%s*(.-)%s*$' ) -- lowercase c = c:lower() -- first try to look it up local L = HTMLcolor[c] if (L ~= nil) then return L end -- remove leading # (if there is one) and whitespace c = mw.ustring.match(c, '^[%s#]*([a-f0-9]*)[%s]*$') -- split into rgb local cs = mw.text.split(c or '', '') if( #cs == 6 ) then local R = sRGB( (16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[2]))/255 ) local G = sRGB( (16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[4]))/255 ) local B = sRGB( (16*tonumber('0x' .. cs[5]) + tonumber('0x' .. cs[6]))/255 ) L = 0.2126 * R + 0.7152 * G + 0.0722 * B return L elseif ( #cs == 3 ) then local R = sRGB( (16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[1]))/255 ) local G = sRGB( (16*tonumber('0x' .. cs[2]) + tonumber('0x' .. cs[2]))/255 ) local B = sRGB( (16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[3]))/255 ) L = 0.2126 * R + 0.7152 * G + 0.0722 * B return L end -- failure, return blank return '' end function p._ratio(args) local v1 = color2lum(args[1]) local v2 = color2lum(args[2]) if (type(v1) == 'number' and type(v2) == 'number') then return (v2 + 0.05)/(v1 + 0.05) else return args['error'] or '?' end end function p.lum(frame) return color2lum(frame.args[1] or frame:getParent().args[1]) end function p.ratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._ratio(args) end return p 08o7s1h5xayrg473neqfbiopqlcksxz 9991 9990 2015-04-03T20:42:43Z w>Frietjes 0 implement [[Template:Greater contrast ratio]] 9991 Scribunto text/plain -- -- This module implements -- {{Color contrast ratio}} -- {{Greater contrast ratio}} -- {{ColorToLum}} -- {{RGBColorToLum}} -- local p = {} local function sRGB ( v ) if (v <= 0.03928) then v = v / 12.92 else v = math.pow((v+0.055)/1.055, 2.4) end return v end local function color2lum( c ) if (c == nil) then return '' end local HTMLcolor = { white = 1, silver = 0.52711512570581, gray = 0.2158605001139, black = 0, red = 0.2126, maroon = 0.045891942324215, yellow = 0.9278, olive = 0.20027537200568, lime = 0.7152, green = 0.15438342968146, aqua = 0.7874, teal = 0.16996855778968, blue = 0.0722, navy = 0.015585128108224, fuchsia = 0.2848, purple = 0.061477070432439, orange = 0.4817026703631, gold = 0.69860877428159, pink = 0.63271070702466, lightpink = 0.58566152734898, hotpink = 0.34658438169715, deeppink = 0.23866895828276, palevioletred = 0.28754994117889, mediumvioletred = 0.14371899849357, lightsalmon = 0.4780675225206, salmon = 0.36977241527596, darksalmon = 0.40541471563381, lightcoral = 0.35522120733135, indianred = 0.21406134963884, crimson = 0.16042199953026, firebrick = 0.10724525535015, darkred = 0.054889674531132, orangered = 0.25516243753416, tomato = 0.30638612719415, coral = 0.37017930872924, darkorange = 0.40016167026524, lightyellow = 0.98161818392882, lemonchiffon = 0.94038992245622, lightgoldenrodyellow = 0.93348351018297, papayawhip = 0.87797100199835, moccasin = 0.80083000991567, peachpuff = 0.74905589878251, palegoldenrod = 0.78792647887614, khaki = 0.77012343394121, darkkhaki = 0.45747326349994, cornsilk = 0.93562110372965, blanchedalmond = 0.85084439608156, bisque = 0.80732327372979, navajowhite = 0.76519682342785, wheat = 0.74909702820482, burlywood = 0.51559844533893, tan = 0.48237604163921, rosybrown = 0.32319457649407, sandybrown = 0.46628543696283, goldenrod = 0.41919977809569, darkgoldenrod = 0.27264703559993, peru = 0.30113074877936, chocolate = 0.23898526114557, saddlebrown = 0.097922285020521, sienna = 0.13697631337098, brown = 0.098224287876511, } -- whitespace c = c:match( '^%s*(.-)%s*$' ) -- lowercase c = c:lower() -- first try to look it up local L = HTMLcolor[c] if (L ~= nil) then return L end -- remove leading # (if there is one) and whitespace c = mw.ustring.match(c, '^[%s#]*([a-f0-9]*)[%s]*$') -- split into rgb local cs = mw.text.split(c or '', '') if( #cs == 6 ) then local R = sRGB( (16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[2]))/255 ) local G = sRGB( (16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[4]))/255 ) local B = sRGB( (16*tonumber('0x' .. cs[5]) + tonumber('0x' .. cs[6]))/255 ) L = 0.2126 * R + 0.7152 * G + 0.0722 * B return L elseif ( #cs == 3 ) then local R = sRGB( (16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[1]))/255 ) local G = sRGB( (16*tonumber('0x' .. cs[2]) + tonumber('0x' .. cs[2]))/255 ) local B = sRGB( (16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[3]))/255 ) L = 0.2126 * R + 0.7152 * G + 0.0722 * B return L end -- failure, return blank return '' end function p._greatercontrast(args) local bias = tonumber(args['bias'] or '0') or 0 local v1 = color2lum(args[1] or '') local c2 = args[2] or '#FFFFFF' local v2 = color2lum(c2) local c3 = args[3] or '#000000' local v3 = color2lum(c3) local ratio1 = 0; local ratio2 = 0; if (type(v1) == 'number' and type(v2) == 'number') then ratio1 = (v2 + 0.05)/(v1 + 0.05) ratio1 = (ratio1 < 1) and 1/ratio1 or ratio1 end if (type(v1) == 'number' and type(v3) == 'number') then ratio1 = (v3 + 0.05)/(v1 + 0.05) ratio1 = (ratio1 < 1) and 1/ratio1 or ratio1 end return (ratio1 + bias > ratio2) and c2 or c3 end function p._ratio(args) local v1 = color2lum(args[1]) local v2 = color2lum(args[2]) if (type(v1) == 'number' and type(v2) == 'number') then return (v2 + 0.05)/(v1 + 0.05) else return args['error'] or '?' end end function p.lum(frame) return color2lum(frame.args[1] or frame:getParent().args[1]) end function p.ratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._ratio(args) end function p.greatercontrast(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._greatercontrast(args) end return p atj9q1lmdxkx04vf3hhsuby4dpkn5il 9992 9991 2015-04-03T20:49:05Z w>Frietjes 0 typo 9992 Scribunto text/plain -- -- This module implements -- {{Color contrast ratio}} -- {{Greater contrast ratio}} -- {{ColorToLum}} -- {{RGBColorToLum}} -- local p = {} local function sRGB ( v ) if (v <= 0.03928) then v = v / 12.92 else v = math.pow((v+0.055)/1.055, 2.4) end return v end local function color2lum( c ) if (c == nil) then return '' end local HTMLcolor = { white = 1, silver = 0.52711512570581, gray = 0.2158605001139, black = 0, red = 0.2126, maroon = 0.045891942324215, yellow = 0.9278, olive = 0.20027537200568, lime = 0.7152, green = 0.15438342968146, aqua = 0.7874, teal = 0.16996855778968, blue = 0.0722, navy = 0.015585128108224, fuchsia = 0.2848, purple = 0.061477070432439, orange = 0.4817026703631, gold = 0.69860877428159, pink = 0.63271070702466, lightpink = 0.58566152734898, hotpink = 0.34658438169715, deeppink = 0.23866895828276, palevioletred = 0.28754994117889, mediumvioletred = 0.14371899849357, lightsalmon = 0.4780675225206, salmon = 0.36977241527596, darksalmon = 0.40541471563381, lightcoral = 0.35522120733135, indianred = 0.21406134963884, crimson = 0.16042199953026, firebrick = 0.10724525535015, darkred = 0.054889674531132, orangered = 0.25516243753416, tomato = 0.30638612719415, coral = 0.37017930872924, darkorange = 0.40016167026524, lightyellow = 0.98161818392882, lemonchiffon = 0.94038992245622, lightgoldenrodyellow = 0.93348351018297, papayawhip = 0.87797100199835, moccasin = 0.80083000991567, peachpuff = 0.74905589878251, palegoldenrod = 0.78792647887614, khaki = 0.77012343394121, darkkhaki = 0.45747326349994, cornsilk = 0.93562110372965, blanchedalmond = 0.85084439608156, bisque = 0.80732327372979, navajowhite = 0.76519682342785, wheat = 0.74909702820482, burlywood = 0.51559844533893, tan = 0.48237604163921, rosybrown = 0.32319457649407, sandybrown = 0.46628543696283, goldenrod = 0.41919977809569, darkgoldenrod = 0.27264703559993, peru = 0.30113074877936, chocolate = 0.23898526114557, saddlebrown = 0.097922285020521, sienna = 0.13697631337098, brown = 0.098224287876511, } -- whitespace c = c:match( '^%s*(.-)%s*$' ) -- lowercase c = c:lower() -- first try to look it up local L = HTMLcolor[c] if (L ~= nil) then return L end -- remove leading # (if there is one) and whitespace c = mw.ustring.match(c, '^[%s#]*([a-f0-9]*)[%s]*$') -- split into rgb local cs = mw.text.split(c or '', '') if( #cs == 6 ) then local R = sRGB( (16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[2]))/255 ) local G = sRGB( (16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[4]))/255 ) local B = sRGB( (16*tonumber('0x' .. cs[5]) + tonumber('0x' .. cs[6]))/255 ) L = 0.2126 * R + 0.7152 * G + 0.0722 * B return L elseif ( #cs == 3 ) then local R = sRGB( (16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[1]))/255 ) local G = sRGB( (16*tonumber('0x' .. cs[2]) + tonumber('0x' .. cs[2]))/255 ) local B = sRGB( (16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[3]))/255 ) L = 0.2126 * R + 0.7152 * G + 0.0722 * B return L end -- failure, return blank return '' end function p._greatercontrast(args) local bias = tonumber(args['bias'] or '0') or 0 local v1 = color2lum(args[1] or '') local c2 = args[2] or '#FFFFFF' local v2 = color2lum(c2) local c3 = args[3] or '#000000' local v3 = color2lum(c3) local ratio1 = 0; local ratio2 = 0; if (type(v1) == 'number' and type(v2) == 'number') then ratio1 = (v2 + 0.05)/(v1 + 0.05) ratio1 = (ratio1 < 1) and 1/ratio1 or ratio1 end if (type(v1) == 'number' and type(v3) == 'number') then ratio2 = (v3 + 0.05)/(v1 + 0.05) ratio2 = (ratio2 < 1) and 1/ratio2 or ratio2 end return (ratio1 + bias > ratio2) and c2 or c3 end function p._ratio(args) local v1 = color2lum(args[1]) local v2 = color2lum(args[2]) if (type(v1) == 'number' and type(v2) == 'number') then return (v2 + 0.05)/(v1 + 0.05) else return args['error'] or '?' end end function p.lum(frame) return color2lum(frame.args[1] or frame:getParent().args[1]) end function p.ratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._ratio(args) end function p.greatercontrast(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._greatercontrast(args) end return p bmoe6xejmjw8qdeonxx29wru5xt06es 9993 9992 2015-04-03T20:54:07Z w>Frietjes 0 9993 Scribunto text/plain -- -- This module implements -- {{Color contrast ratio}} -- {{Greater color contrast ratio}} -- {{ColorToLum}} -- {{RGBColorToLum}} -- local p = {} local function sRGB ( v ) if (v <= 0.03928) then v = v / 12.92 else v = math.pow((v+0.055)/1.055, 2.4) end return v end local function color2lum( c ) if (c == nil) then return '' end local HTMLcolor = { white = 1, silver = 0.52711512570581, gray = 0.2158605001139, black = 0, red = 0.2126, maroon = 0.045891942324215, yellow = 0.9278, olive = 0.20027537200568, lime = 0.7152, green = 0.15438342968146, aqua = 0.7874, teal = 0.16996855778968, blue = 0.0722, navy = 0.015585128108224, fuchsia = 0.2848, purple = 0.061477070432439, orange = 0.4817026703631, gold = 0.69860877428159, pink = 0.63271070702466, lightpink = 0.58566152734898, hotpink = 0.34658438169715, deeppink = 0.23866895828276, palevioletred = 0.28754994117889, mediumvioletred = 0.14371899849357, lightsalmon = 0.4780675225206, salmon = 0.36977241527596, darksalmon = 0.40541471563381, lightcoral = 0.35522120733135, indianred = 0.21406134963884, crimson = 0.16042199953026, firebrick = 0.10724525535015, darkred = 0.054889674531132, orangered = 0.25516243753416, tomato = 0.30638612719415, coral = 0.37017930872924, darkorange = 0.40016167026524, lightyellow = 0.98161818392882, lemonchiffon = 0.94038992245622, lightgoldenrodyellow = 0.93348351018297, papayawhip = 0.87797100199835, moccasin = 0.80083000991567, peachpuff = 0.74905589878251, palegoldenrod = 0.78792647887614, khaki = 0.77012343394121, darkkhaki = 0.45747326349994, cornsilk = 0.93562110372965, blanchedalmond = 0.85084439608156, bisque = 0.80732327372979, navajowhite = 0.76519682342785, wheat = 0.74909702820482, burlywood = 0.51559844533893, tan = 0.48237604163921, rosybrown = 0.32319457649407, sandybrown = 0.46628543696283, goldenrod = 0.41919977809569, darkgoldenrod = 0.27264703559993, peru = 0.30113074877936, chocolate = 0.23898526114557, saddlebrown = 0.097922285020521, sienna = 0.13697631337098, brown = 0.098224287876511, } -- whitespace c = c:match( '^%s*(.-)%s*$' ) -- lowercase c = c:lower() -- first try to look it up local L = HTMLcolor[c] if (L ~= nil) then return L end -- remove leading # (if there is one) and whitespace c = mw.ustring.match(c, '^[%s#]*([a-f0-9]*)[%s]*$') -- split into rgb local cs = mw.text.split(c or '', '') if( #cs == 6 ) then local R = sRGB( (16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[2]))/255 ) local G = sRGB( (16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[4]))/255 ) local B = sRGB( (16*tonumber('0x' .. cs[5]) + tonumber('0x' .. cs[6]))/255 ) L = 0.2126 * R + 0.7152 * G + 0.0722 * B return L elseif ( #cs == 3 ) then local R = sRGB( (16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[1]))/255 ) local G = sRGB( (16*tonumber('0x' .. cs[2]) + tonumber('0x' .. cs[2]))/255 ) local B = sRGB( (16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[3]))/255 ) L = 0.2126 * R + 0.7152 * G + 0.0722 * B return L end -- failure, return blank return '' end function p._greatercontrast(args) local bias = tonumber(args['bias'] or '0') or 0 local v1 = color2lum(args[1] or '') local c2 = args[2] or '#FFFFFF' local v2 = color2lum(c2) local c3 = args[3] or '#000000' local v3 = color2lum(c3) local ratio1 = 0; local ratio2 = 0; if (type(v1) == 'number' and type(v2) == 'number') then ratio1 = (v2 + 0.05)/(v1 + 0.05) ratio1 = (ratio1 < 1) and 1/ratio1 or ratio1 end if (type(v1) == 'number' and type(v3) == 'number') then ratio2 = (v3 + 0.05)/(v1 + 0.05) ratio2 = (ratio2 < 1) and 1/ratio2 or ratio2 end return (ratio1 + bias > ratio2) and c2 or c3 end function p._ratio(args) local v1 = color2lum(args[1]) local v2 = color2lum(args[2]) if (type(v1) == 'number' and type(v2) == 'number') then return (v2 + 0.05)/(v1 + 0.05) else return args['error'] or '?' end end function p.lum(frame) return color2lum(frame.args[1] or frame:getParent().args[1]) end function p.ratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._ratio(args) end function p.greatercontrast(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._greatercontrast(args) end return p dj5gvnz9e63y4j3u4x405xi2n7z0za5 9994 9993 2015-07-18T19:13:53Z w>Izkala 0 v1 should be the brighter of the two 9994 Scribunto text/plain -- -- This module implements -- {{Color contrast ratio}} -- {{Greater color contrast ratio}} -- {{ColorToLum}} -- {{RGBColorToLum}} -- local p = {} local function sRGB ( v ) if (v <= 0.03928) then v = v / 12.92 else v = math.pow((v+0.055)/1.055, 2.4) end return v end local function color2lum( c ) if (c == nil) then return '' end local HTMLcolor = { white = 1, silver = 0.52711512570581, gray = 0.2158605001139, black = 0, red = 0.2126, maroon = 0.045891942324215, yellow = 0.9278, olive = 0.20027537200568, lime = 0.7152, green = 0.15438342968146, aqua = 0.7874, teal = 0.16996855778968, blue = 0.0722, navy = 0.015585128108224, fuchsia = 0.2848, purple = 0.061477070432439, orange = 0.4817026703631, gold = 0.69860877428159, pink = 0.63271070702466, lightpink = 0.58566152734898, hotpink = 0.34658438169715, deeppink = 0.23866895828276, palevioletred = 0.28754994117889, mediumvioletred = 0.14371899849357, lightsalmon = 0.4780675225206, salmon = 0.36977241527596, darksalmon = 0.40541471563381, lightcoral = 0.35522120733135, indianred = 0.21406134963884, crimson = 0.16042199953026, firebrick = 0.10724525535015, darkred = 0.054889674531132, orangered = 0.25516243753416, tomato = 0.30638612719415, coral = 0.37017930872924, darkorange = 0.40016167026524, lightyellow = 0.98161818392882, lemonchiffon = 0.94038992245622, lightgoldenrodyellow = 0.93348351018297, papayawhip = 0.87797100199835, moccasin = 0.80083000991567, peachpuff = 0.74905589878251, palegoldenrod = 0.78792647887614, khaki = 0.77012343394121, darkkhaki = 0.45747326349994, cornsilk = 0.93562110372965, blanchedalmond = 0.85084439608156, bisque = 0.80732327372979, navajowhite = 0.76519682342785, wheat = 0.74909702820482, burlywood = 0.51559844533893, tan = 0.48237604163921, rosybrown = 0.32319457649407, sandybrown = 0.46628543696283, goldenrod = 0.41919977809569, darkgoldenrod = 0.27264703559993, peru = 0.30113074877936, chocolate = 0.23898526114557, saddlebrown = 0.097922285020521, sienna = 0.13697631337098, brown = 0.098224287876511, } -- whitespace c = c:match( '^%s*(.-)%s*$' ) -- lowercase c = c:lower() -- first try to look it up local L = HTMLcolor[c] if (L ~= nil) then return L end -- remove leading # (if there is one) and whitespace c = mw.ustring.match(c, '^[%s#]*([a-f0-9]*)[%s]*$') -- split into rgb local cs = mw.text.split(c or '', '') if( #cs == 6 ) then local R = sRGB( (16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[2]))/255 ) local G = sRGB( (16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[4]))/255 ) local B = sRGB( (16*tonumber('0x' .. cs[5]) + tonumber('0x' .. cs[6]))/255 ) L = 0.2126 * R + 0.7152 * G + 0.0722 * B return L elseif ( #cs == 3 ) then local R = sRGB( (16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[1]))/255 ) local G = sRGB( (16*tonumber('0x' .. cs[2]) + tonumber('0x' .. cs[2]))/255 ) local B = sRGB( (16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[3]))/255 ) L = 0.2126 * R + 0.7152 * G + 0.0722 * B return L end -- failure, return blank return '' end function p._greatercontrast(args) local bias = tonumber(args['bias'] or '0') or 0 local v1 = color2lum(args[1] or '') local c2 = args[2] or '#FFFFFF' local v2 = color2lum(c2) local c3 = args[3] or '#000000' local v3 = color2lum(c3) local ratio1 = 0; local ratio2 = 0; if (type(v1) == 'number' and type(v2) == 'number') then ratio1 = (v2 + 0.05)/(v1 + 0.05) ratio1 = (ratio1 < 1) and 1/ratio1 or ratio1 end if (type(v1) == 'number' and type(v3) == 'number') then ratio2 = (v3 + 0.05)/(v1 + 0.05) ratio2 = (ratio2 < 1) and 1/ratio2 or ratio2 end return (ratio1 + bias > ratio2) and c2 or c3 end function p._ratio(args) local v1 = color2lum(args[1]) local v2 = color2lum(args[2]) if (type(v1) == 'number' and type(v2) == 'number') then -- v1 should be the brighter of the two. if v2 > v1 then v1, v2 = v2, v1 end return (v1 + 0.05)/(v2 + 0.05) else return args['error'] or '?' end end function p.lum(frame) return color2lum(frame.args[1] or frame:getParent().args[1]) end function p.ratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._ratio(args) end function p.greatercontrast(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._greatercontrast(args) end return p 2dsmt719z4dzhqjjgazysbpolpd2l5u 9995 9994 2015-07-25T18:14:14Z w>Mr. Stradivarius 0 whitespace fixes 9995 Scribunto text/plain -- -- This module implements -- {{Color contrast ratio}} -- {{Greater color contrast ratio}} -- {{ColorToLum}} -- {{RGBColorToLum}} -- local p = {} local function sRGB ( v ) if (v <= 0.03928) then v = v / 12.92 else v = math.pow((v+0.055)/1.055, 2.4) end return v end local function color2lum( c ) if (c == nil) then return '' end local HTMLcolor = { white = 1, silver = 0.52711512570581, gray = 0.2158605001139, black = 0, red = 0.2126, maroon = 0.045891942324215, yellow = 0.9278, olive = 0.20027537200568, lime = 0.7152, green = 0.15438342968146, aqua = 0.7874, teal = 0.16996855778968, blue = 0.0722, navy = 0.015585128108224, fuchsia = 0.2848, purple = 0.061477070432439, orange = 0.4817026703631, gold = 0.69860877428159, pink = 0.63271070702466, lightpink = 0.58566152734898, hotpink = 0.34658438169715, deeppink = 0.23866895828276, palevioletred = 0.28754994117889, mediumvioletred = 0.14371899849357, lightsalmon = 0.4780675225206, salmon = 0.36977241527596, darksalmon = 0.40541471563381, lightcoral = 0.35522120733135, indianred = 0.21406134963884, crimson = 0.16042199953026, firebrick = 0.10724525535015, darkred = 0.054889674531132, orangered = 0.25516243753416, tomato = 0.30638612719415, coral = 0.37017930872924, darkorange = 0.40016167026524, lightyellow = 0.98161818392882, lemonchiffon = 0.94038992245622, lightgoldenrodyellow = 0.93348351018297, papayawhip = 0.87797100199835, moccasin = 0.80083000991567, peachpuff = 0.74905589878251, palegoldenrod = 0.78792647887614, khaki = 0.77012343394121, darkkhaki = 0.45747326349994, cornsilk = 0.93562110372965, blanchedalmond = 0.85084439608156, bisque = 0.80732327372979, navajowhite = 0.76519682342785, wheat = 0.74909702820482, burlywood = 0.51559844533893, tan = 0.48237604163921, rosybrown = 0.32319457649407, sandybrown = 0.46628543696283, goldenrod = 0.41919977809569, darkgoldenrod = 0.27264703559993, peru = 0.30113074877936, chocolate = 0.23898526114557, saddlebrown = 0.097922285020521, sienna = 0.13697631337098, brown = 0.098224287876511, } -- whitespace c = c:match( '^%s*(.-)%s*$' ) -- lowercase c = c:lower() -- first try to look it up local L = HTMLcolor[c] if (L ~= nil) then return L end -- remove leading # (if there is one) and whitespace c = mw.ustring.match(c, '^[%s#]*([a-f0-9]*)[%s]*$') -- split into rgb local cs = mw.text.split(c or '', '') if( #cs == 6 ) then local R = sRGB( (16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[2]))/255 ) local G = sRGB( (16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[4]))/255 ) local B = sRGB( (16*tonumber('0x' .. cs[5]) + tonumber('0x' .. cs[6]))/255 ) L = 0.2126 * R + 0.7152 * G + 0.0722 * B return L elseif ( #cs == 3 ) then local R = sRGB( (16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[1]))/255 ) local G = sRGB( (16*tonumber('0x' .. cs[2]) + tonumber('0x' .. cs[2]))/255 ) local B = sRGB( (16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[3]))/255 ) L = 0.2126 * R + 0.7152 * G + 0.0722 * B return L end -- failure, return blank return '' end function p._greatercontrast(args) local bias = tonumber(args['bias'] or '0') or 0 local v1 = color2lum(args[1] or '') local c2 = args[2] or '#FFFFFF' local v2 = color2lum(c2) local c3 = args[3] or '#000000' local v3 = color2lum(c3) local ratio1 = 0; local ratio2 = 0; if (type(v1) == 'number' and type(v2) == 'number') then ratio1 = (v2 + 0.05)/(v1 + 0.05) ratio1 = (ratio1 < 1) and 1/ratio1 or ratio1 end if (type(v1) == 'number' and type(v3) == 'number') then ratio2 = (v3 + 0.05)/(v1 + 0.05) ratio2 = (ratio2 < 1) and 1/ratio2 or ratio2 end return (ratio1 + bias > ratio2) and c2 or c3 end function p._ratio(args) local v1 = color2lum(args[1]) local v2 = color2lum(args[2]) if (type(v1) == 'number' and type(v2) == 'number') then -- v1 should be the brighter of the two. if v2 > v1 then v1, v2 = v2, v1 end return (v1 + 0.05)/(v2 + 0.05) else return args['error'] or '?' end end function p.lum(frame) return color2lum(frame.args[1] or frame:getParent().args[1]) end function p.ratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._ratio(args) end function p.greatercontrast(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._greatercontrast(args) end return p rbr50xk136ygf9gc6r4yuhqtqn0q738 9996 9995 2015-07-25T18:22:54Z w>Mr. Stradivarius 0 split the color data out to [[Module:Color contrast/colors]] and load it with mw.loadData - this way we only create the table once per page rather than every time color2lum is called 9996 Scribunto text/plain -- -- This module implements -- {{Color contrast ratio}} -- {{Greater color contrast ratio}} -- {{ColorToLum}} -- {{RGBColorToLum}} -- local p = {} local HTMLcolor = mw.loadData( 'Module:Color contrast/colors' ) local function sRGB ( v ) if (v <= 0.03928) then v = v / 12.92 else v = math.pow((v+0.055)/1.055, 2.4) end return v end local function color2lum( c ) if (c == nil) then return '' end -- whitespace c = c:match( '^%s*(.-)%s*$' ) -- lowercase c = c:lower() -- first try to look it up local L = HTMLcolor[c] if (L ~= nil) then return L end -- remove leading # (if there is one) and whitespace c = mw.ustring.match(c, '^[%s#]*([a-f0-9]*)[%s]*$') -- split into rgb local cs = mw.text.split(c or '', '') if( #cs == 6 ) then local R = sRGB( (16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[2]))/255 ) local G = sRGB( (16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[4]))/255 ) local B = sRGB( (16*tonumber('0x' .. cs[5]) + tonumber('0x' .. cs[6]))/255 ) L = 0.2126 * R + 0.7152 * G + 0.0722 * B return L elseif ( #cs == 3 ) then local R = sRGB( (16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[1]))/255 ) local G = sRGB( (16*tonumber('0x' .. cs[2]) + tonumber('0x' .. cs[2]))/255 ) local B = sRGB( (16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[3]))/255 ) L = 0.2126 * R + 0.7152 * G + 0.0722 * B return L end -- failure, return blank return '' end function p._greatercontrast(args) local bias = tonumber(args['bias'] or '0') or 0 local v1 = color2lum(args[1] or '') local c2 = args[2] or '#FFFFFF' local v2 = color2lum(c2) local c3 = args[3] or '#000000' local v3 = color2lum(c3) local ratio1 = 0; local ratio2 = 0; if (type(v1) == 'number' and type(v2) == 'number') then ratio1 = (v2 + 0.05)/(v1 + 0.05) ratio1 = (ratio1 < 1) and 1/ratio1 or ratio1 end if (type(v1) == 'number' and type(v3) == 'number') then ratio2 = (v3 + 0.05)/(v1 + 0.05) ratio2 = (ratio2 < 1) and 1/ratio2 or ratio2 end return (ratio1 + bias > ratio2) and c2 or c3 end function p._ratio(args) local v1 = color2lum(args[1]) local v2 = color2lum(args[2]) if (type(v1) == 'number' and type(v2) == 'number') then -- v1 should be the brighter of the two. if v2 > v1 then v1, v2 = v2, v1 end return (v1 + 0.05)/(v2 + 0.05) else return args['error'] or '?' end end function p.lum(frame) return color2lum(frame.args[1] or frame:getParent().args[1]) end function p.ratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._ratio(args) end function p.greatercontrast(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._greatercontrast(args) end return p bw7dqih631bcnmh77e9gfcd5grhn6ih 9997 9996 2015-07-27T03:05:07Z w>Mr. Stradivarius 0 Protected Module:Color contrast: [[WP:High-risk templates|High-risk Lua module]] ([Edit=Allow only autoconfirmed users] (indefinite) [Move=Allow only autoconfirmed users] (indefinite)) 9996 Scribunto text/plain -- -- This module implements -- {{Color contrast ratio}} -- {{Greater color contrast ratio}} -- {{ColorToLum}} -- {{RGBColorToLum}} -- local p = {} local HTMLcolor = mw.loadData( 'Module:Color contrast/colors' ) local function sRGB ( v ) if (v <= 0.03928) then v = v / 12.92 else v = math.pow((v+0.055)/1.055, 2.4) end return v end local function color2lum( c ) if (c == nil) then return '' end -- whitespace c = c:match( '^%s*(.-)%s*$' ) -- lowercase c = c:lower() -- first try to look it up local L = HTMLcolor[c] if (L ~= nil) then return L end -- remove leading # (if there is one) and whitespace c = mw.ustring.match(c, '^[%s#]*([a-f0-9]*)[%s]*$') -- split into rgb local cs = mw.text.split(c or '', '') if( #cs == 6 ) then local R = sRGB( (16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[2]))/255 ) local G = sRGB( (16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[4]))/255 ) local B = sRGB( (16*tonumber('0x' .. cs[5]) + tonumber('0x' .. cs[6]))/255 ) L = 0.2126 * R + 0.7152 * G + 0.0722 * B return L elseif ( #cs == 3 ) then local R = sRGB( (16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[1]))/255 ) local G = sRGB( (16*tonumber('0x' .. cs[2]) + tonumber('0x' .. cs[2]))/255 ) local B = sRGB( (16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[3]))/255 ) L = 0.2126 * R + 0.7152 * G + 0.0722 * B return L end -- failure, return blank return '' end function p._greatercontrast(args) local bias = tonumber(args['bias'] or '0') or 0 local v1 = color2lum(args[1] or '') local c2 = args[2] or '#FFFFFF' local v2 = color2lum(c2) local c3 = args[3] or '#000000' local v3 = color2lum(c3) local ratio1 = 0; local ratio2 = 0; if (type(v1) == 'number' and type(v2) == 'number') then ratio1 = (v2 + 0.05)/(v1 + 0.05) ratio1 = (ratio1 < 1) and 1/ratio1 or ratio1 end if (type(v1) == 'number' and type(v3) == 'number') then ratio2 = (v3 + 0.05)/(v1 + 0.05) ratio2 = (ratio2 < 1) and 1/ratio2 or ratio2 end return (ratio1 + bias > ratio2) and c2 or c3 end function p._ratio(args) local v1 = color2lum(args[1]) local v2 = color2lum(args[2]) if (type(v1) == 'number' and type(v2) == 'number') then -- v1 should be the brighter of the two. if v2 > v1 then v1, v2 = v2, v1 end return (v1 + 0.05)/(v2 + 0.05) else return args['error'] or '?' end end function p.lum(frame) return color2lum(frame.args[1] or frame:getParent().args[1]) end function p.ratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._ratio(args) end function p.greatercontrast(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._greatercontrast(args) end return p bw7dqih631bcnmh77e9gfcd5grhn6ih 9998 9997 2015-07-30T18:41:32Z w>Frietjes 0 add support for hsl 9998 Scribunto text/plain -- -- This module implements -- {{Color contrast ratio}} -- {{Greater color contrast ratio}} -- {{ColorToLum}} -- {{RGBColorToLum}} -- local p = {} local HTMLcolor = mw.loadData( 'Module:Color contrast/colors' ) local function sRGB ( v ) if (v <= 0.03928) then v = v / 12.92 else v = math.pow((v+0.055)/1.055, 2.4) end return v end local function hsl2lum( h, s, l ) local lum = '' if ( 0 <= h and h < 360 and 0 <= s and s <= 1 and 0 <= l and l <= 1 ) then local c = (1 - abs(2*l - 1))*s local x = c*(1 - abs( mod(h/60, 2) - 1) ) local m = l - c/2 local R, G, B = m, m, m if( 0 <= h and h < 60 ) then R = R + c G = G + x elseif( 60 <= h and h < 120 ) then R = R + x G = G + c elseif( 120 <= h and h < 180 ) then G = R + c B = G + x elseif( 180 <= h and h < 240 ) then G = R + x B = G + c elseif( 240 <= h and h < 300 ) then R = R + x B = G + c elseif( 300 <= h and h < 360 ) then R = R + c B = G + x end lum = 0.2126 * sRGB(R) + 0.7152 * sRGB(G) + 0.0722 * sRGB(B) end return lum end local function color2lum( c ) if (c == nil) then return '' end -- whitespace c = c:match( '^%s*(.-)%s*$' ) -- lowercase c = c:lower() -- first try to look it up local L = HTMLcolor[c] if (L ~= nil) then return L end -- remove leading # (if there is one) and whitespace c = mw.ustring.match(c, '^[%s#]*([a-f0-9]*)[%s;]*$') -- convert from hsl if mw.ustring.match(c,'^hsl%([%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*%%[%s]*,[%s]*[0-9][0-9]*%%[%s]*%)$') then local h = mw.ustring.match(c,'^hsl%[%s]*([0-9][0-9]*)[%s]*,[%s]*[0-9][0-9]*%%[%s]*,[%s]*[0-9][0-9]*%%[%s]*%$') local s = mw.ustring.match(c,'^hsl%[%s]*[0-9][0-9]*[%s]*,[%s]*([0-9][0-9]*)%%[%s]*,[%s]*[0-9][0-9]*%%[%s]*%$') local l = mw.ustring.match(c,'^hsl%[%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*%%[%s]*,[%s]*([0-9][0-9]*)%%[%s]*%$') return hsl2rgb(tonumber(h), tonumber(s)/100, tonumber(l)/100) end -- split into rgb local cs = mw.text.split(c or '', '') if( #cs == 6 ) then local R = sRGB( (16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[2]))/255 ) local G = sRGB( (16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[4]))/255 ) local B = sRGB( (16*tonumber('0x' .. cs[5]) + tonumber('0x' .. cs[6]))/255 ) L = 0.2126 * R + 0.7152 * G + 0.0722 * B return L elseif ( #cs == 3 ) then local R = sRGB( (16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[1]))/255 ) local G = sRGB( (16*tonumber('0x' .. cs[2]) + tonumber('0x' .. cs[2]))/255 ) local B = sRGB( (16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[3]))/255 ) L = 0.2126 * R + 0.7152 * G + 0.0722 * B return L end -- failure, return blank return '' end function p._greatercontrast(args) local bias = tonumber(args['bias'] or '0') or 0 local v1 = color2lum(args[1] or '') local c2 = args[2] or '#FFFFFF' local v2 = color2lum(c2) local c3 = args[3] or '#000000' local v3 = color2lum(c3) local ratio1 = 0; local ratio2 = 0; if (type(v1) == 'number' and type(v2) == 'number') then ratio1 = (v2 + 0.05)/(v1 + 0.05) ratio1 = (ratio1 < 1) and 1/ratio1 or ratio1 end if (type(v1) == 'number' and type(v3) == 'number') then ratio2 = (v3 + 0.05)/(v1 + 0.05) ratio2 = (ratio2 < 1) and 1/ratio2 or ratio2 end return (ratio1 + bias > ratio2) and c2 or c3 end function p._ratio(args) local v1 = color2lum(args[1]) local v2 = color2lum(args[2]) if (type(v1) == 'number' and type(v2) == 'number') then -- v1 should be the brighter of the two. if v2 > v1 then v1, v2 = v2, v1 end return (v1 + 0.05)/(v2 + 0.05) else return args['error'] or '?' end end function p.lum(frame) return color2lum(frame.args[1] or frame:getParent().args[1]) end function p.ratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._ratio(args) end function p.greatercontrast(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._greatercontrast(args) end return p 9ggnoe3h0l30kbh4v6zfz331rnsy17j 9999 9998 2015-07-30T18:47:07Z w>Frietjes 0 9999 Scribunto text/plain -- -- This module implements -- {{Color contrast ratio}} -- {{Greater color contrast ratio}} -- {{ColorToLum}} -- {{RGBColorToLum}} -- local p = {} local HTMLcolor = mw.loadData( 'Module:Color contrast/colors' ) local function sRGB ( v ) if (v <= 0.03928) then v = v / 12.92 else v = math.pow((v+0.055)/1.055, 2.4) end return v end local function hsl2lum( h, s, l ) local lum = '' if ( 0 <= h and h < 360 and 0 <= s and s <= 1 and 0 <= l and l <= 1 ) then local c = (1 - abs(2*l - 1))*s local x = c*(1 - abs( mod(h/60, 2) - 1) ) local m = l - c/2 local R, G, B = m, m, m if( 0 <= h and h < 60 ) then R = R + c G = G + x elseif( 60 <= h and h < 120 ) then R = R + x G = G + c elseif( 120 <= h and h < 180 ) then G = R + c B = G + x elseif( 180 <= h and h < 240 ) then G = R + x B = G + c elseif( 240 <= h and h < 300 ) then R = R + x B = G + c elseif( 300 <= h and h < 360 ) then R = R + c B = G + x end lum = 0.2126 * sRGB(R) + 0.7152 * sRGB(G) + 0.0722 * sRGB(B) end return lum end local function color2lum( c ) if (c == nil) then return '' end -- whitespace c = c:match( '^%s*(.-)[%s;]*$' ) -- lowercase c = c:lower() -- first try to look it up local L = HTMLcolor[c] if (L ~= nil) then return L end -- remove leading # (if there is one) and whitespace c = mw.ustring.match(c, '^[%s#]*([a-f0-9]*)[%s]*$') -- convert from hsl if mw.ustring.match(c,'^hsl%([%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*%%[%s]*,[%s]*[0-9][0-9]*%%[%s]*%)$') then local h = mw.ustring.match(c,'^hsl%[%s]*([0-9][0-9]*)[%s]*,[%s]*[0-9][0-9]*%%[%s]*,[%s]*[0-9][0-9]*%%[%s]*%$') local s = mw.ustring.match(c,'^hsl%[%s]*[0-9][0-9]*[%s]*,[%s]*([0-9][0-9]*)%%[%s]*,[%s]*[0-9][0-9]*%%[%s]*%$') local l = mw.ustring.match(c,'^hsl%[%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*%%[%s]*,[%s]*([0-9][0-9]*)%%[%s]*%$') return hsl2rgb(tonumber(h), tonumber(s)/100, tonumber(l)/100) end -- split into rgb local cs = mw.text.split(c or '', '') if( #cs == 6 ) then local R = sRGB( (16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[2]))/255 ) local G = sRGB( (16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[4]))/255 ) local B = sRGB( (16*tonumber('0x' .. cs[5]) + tonumber('0x' .. cs[6]))/255 ) L = 0.2126 * R + 0.7152 * G + 0.0722 * B return L elseif ( #cs == 3 ) then local R = sRGB( (16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[1]))/255 ) local G = sRGB( (16*tonumber('0x' .. cs[2]) + tonumber('0x' .. cs[2]))/255 ) local B = sRGB( (16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[3]))/255 ) L = 0.2126 * R + 0.7152 * G + 0.0722 * B return L end -- failure, return blank return '' end function p._greatercontrast(args) local bias = tonumber(args['bias'] or '0') or 0 local v1 = color2lum(args[1] or '') local c2 = args[2] or '#FFFFFF' local v2 = color2lum(c2) local c3 = args[3] or '#000000' local v3 = color2lum(c3) local ratio1 = 0; local ratio2 = 0; if (type(v1) == 'number' and type(v2) == 'number') then ratio1 = (v2 + 0.05)/(v1 + 0.05) ratio1 = (ratio1 < 1) and 1/ratio1 or ratio1 end if (type(v1) == 'number' and type(v3) == 'number') then ratio2 = (v3 + 0.05)/(v1 + 0.05) ratio2 = (ratio2 < 1) and 1/ratio2 or ratio2 end return (ratio1 + bias > ratio2) and c2 or c3 end function p._ratio(args) local v1 = color2lum(args[1]) local v2 = color2lum(args[2]) if (type(v1) == 'number' and type(v2) == 'number') then -- v1 should be the brighter of the two. if v2 > v1 then v1, v2 = v2, v1 end return (v1 + 0.05)/(v2 + 0.05) else return args['error'] or '?' end end function p.lum(frame) return color2lum(frame.args[1] or frame:getParent().args[1]) end function p.ratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._ratio(args) end function p.greatercontrast(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._greatercontrast(args) end return p 4844mb6cmovrpr46gi68kegp21lb5tf 10000 9999 2015-07-30T18:49:34Z w>Frietjes 0 10000 Scribunto text/plain -- -- This module implements -- {{Color contrast ratio}} -- {{Greater color contrast ratio}} -- {{ColorToLum}} -- {{RGBColorToLum}} -- local p = {} local HTMLcolor = mw.loadData( 'Module:Color contrast/colors' ) local function sRGB ( v ) if (v <= 0.03928) then v = v / 12.92 else v = math.pow((v+0.055)/1.055, 2.4) end return v end local function hsl2lum( h, s, l ) local lum = '' if ( 0 <= h and h < 360 and 0 <= s and s <= 1 and 0 <= l and l <= 1 ) then local c = (1 - abs(2*l - 1))*s local x = c*(1 - abs( mod(h/60, 2) - 1) ) local m = l - c/2 local R, G, B = m, m, m if( 0 <= h and h < 60 ) then R = R + c G = G + x elseif( 60 <= h and h < 120 ) then R = R + x G = G + c elseif( 120 <= h and h < 180 ) then G = R + c B = G + x elseif( 180 <= h and h < 240 ) then G = R + x B = G + c elseif( 240 <= h and h < 300 ) then R = R + x B = G + c elseif( 300 <= h and h < 360 ) then R = R + c B = G + x end lum = 0.2126 * sRGB(R) + 0.7152 * sRGB(G) + 0.0722 * sRGB(B) end return lum end local function color2lum( c ) if (c == nil) then return '' end -- whitespace c = c:match( '^%s*(.-)[%s;]*$' ) -- lowercase c = c:lower() -- first try to look it up local L = HTMLcolor[c] if (L ~= nil) then return L end -- convert from hsl if mw.ustring.match(c,'^hsl%([%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*%%[%s]*,[%s]*[0-9][0-9]*%%[%s]*%)$') then local h = mw.ustring.match(c,'^hsl%[%s]*([0-9][0-9]*)[%s]*,[%s]*[0-9][0-9]*%%[%s]*,[%s]*[0-9][0-9]*%%[%s]*%$') local s = mw.ustring.match(c,'^hsl%[%s]*[0-9][0-9]*[%s]*,[%s]*([0-9][0-9]*)%%[%s]*,[%s]*[0-9][0-9]*%%[%s]*%$') local l = mw.ustring.match(c,'^hsl%[%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*%%[%s]*,[%s]*([0-9][0-9]*)%%[%s]*%$') return hsl2rgb(tonumber(h), tonumber(s)/100, tonumber(l)/100) end -- remove leading # (if there is one) and whitespace c = mw.ustring.match(c, '^[%s#]*([a-f0-9]*)[%s]*$') -- split into rgb local cs = mw.text.split(c or '', '') if( #cs == 6 ) then local R = sRGB( (16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[2]))/255 ) local G = sRGB( (16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[4]))/255 ) local B = sRGB( (16*tonumber('0x' .. cs[5]) + tonumber('0x' .. cs[6]))/255 ) L = 0.2126 * R + 0.7152 * G + 0.0722 * B return L elseif ( #cs == 3 ) then local R = sRGB( (16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[1]))/255 ) local G = sRGB( (16*tonumber('0x' .. cs[2]) + tonumber('0x' .. cs[2]))/255 ) local B = sRGB( (16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[3]))/255 ) L = 0.2126 * R + 0.7152 * G + 0.0722 * B return L end -- failure, return blank return '' end function p._greatercontrast(args) local bias = tonumber(args['bias'] or '0') or 0 local v1 = color2lum(args[1] or '') local c2 = args[2] or '#FFFFFF' local v2 = color2lum(c2) local c3 = args[3] or '#000000' local v3 = color2lum(c3) local ratio1 = 0; local ratio2 = 0; if (type(v1) == 'number' and type(v2) == 'number') then ratio1 = (v2 + 0.05)/(v1 + 0.05) ratio1 = (ratio1 < 1) and 1/ratio1 or ratio1 end if (type(v1) == 'number' and type(v3) == 'number') then ratio2 = (v3 + 0.05)/(v1 + 0.05) ratio2 = (ratio2 < 1) and 1/ratio2 or ratio2 end return (ratio1 + bias > ratio2) and c2 or c3 end function p._ratio(args) local v1 = color2lum(args[1]) local v2 = color2lum(args[2]) if (type(v1) == 'number' and type(v2) == 'number') then -- v1 should be the brighter of the two. if v2 > v1 then v1, v2 = v2, v1 end return (v1 + 0.05)/(v2 + 0.05) else return args['error'] or '?' end end function p.lum(frame) return color2lum(frame.args[1] or frame:getParent().args[1]) end function p.ratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._ratio(args) end function p.greatercontrast(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._greatercontrast(args) end return p ptac4uyivkc6d984lc7rzhwi5305a48 10001 10000 2015-07-30T18:51:44Z w>Frietjes 0 10001 Scribunto text/plain -- -- This module implements -- {{Color contrast ratio}} -- {{Greater color contrast ratio}} -- {{ColorToLum}} -- {{RGBColorToLum}} -- local p = {} local HTMLcolor = mw.loadData( 'Module:Color contrast/colors' ) local function sRGB ( v ) if (v <= 0.03928) then v = v / 12.92 else v = math.pow((v+0.055)/1.055, 2.4) end return v end local function hsl2lum( h, s, l ) local lum = '' if ( 0 <= h and h < 360 and 0 <= s and s <= 1 and 0 <= l and l <= 1 ) then local c = (1 - abs(2*l - 1))*s local x = c*(1 - abs( mod(h/60, 2) - 1) ) local m = l - c/2 local R, G, B = m, m, m if( 0 <= h and h < 60 ) then R = R + c G = G + x elseif( 60 <= h and h < 120 ) then R = R + x G = G + c elseif( 120 <= h and h < 180 ) then G = R + c B = G + x elseif( 180 <= h and h < 240 ) then G = R + x B = G + c elseif( 240 <= h and h < 300 ) then R = R + x B = G + c elseif( 300 <= h and h < 360 ) then R = R + c B = G + x end lum = 0.2126 * sRGB(R) + 0.7152 * sRGB(G) + 0.0722 * sRGB(B) end return lum end local function color2lum( c ) if (c == nil) then return '' end -- whitespace c = c:match( '^%s*(.-)[%s;]*$' ) -- lowercase c = c:lower() -- first try to look it up local L = HTMLcolor[c] if (L ~= nil) then return L end -- convert from hsl if mw.ustring.match(c,'^hsl%([%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*%%[%s]*,[%s]*[0-9][0-9]*%%[%s]*%)$') then local h = mw.ustring.match(c,'^hsl%([%s]*([0-9][0-9]*)[%s]*,[%s]*[0-9][0-9]*%%[%s]*,[%s]*[0-9][0-9]*%%[%s]*%)$') local s = mw.ustring.match(c,'^hsl%([%s]*[0-9][0-9]*[%s]*,[%s]*([0-9][0-9]*)%%[%s]*,[%s]*[0-9][0-9]*%%[%s]*%)$') local l = mw.ustring.match(c,'^hsl%([%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*%%[%s]*,[%s]*([0-9][0-9]*)%%[%s]*%)$') return hsl2rgb(tonumber(h), tonumber(s)/100, tonumber(l)/100) end -- remove leading # (if there is one) and whitespace c = mw.ustring.match(c, '^[%s#]*([a-f0-9]*)[%s]*$') -- split into rgb local cs = mw.text.split(c or '', '') if( #cs == 6 ) then local R = sRGB( (16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[2]))/255 ) local G = sRGB( (16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[4]))/255 ) local B = sRGB( (16*tonumber('0x' .. cs[5]) + tonumber('0x' .. cs[6]))/255 ) L = 0.2126 * R + 0.7152 * G + 0.0722 * B return L elseif ( #cs == 3 ) then local R = sRGB( (16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[1]))/255 ) local G = sRGB( (16*tonumber('0x' .. cs[2]) + tonumber('0x' .. cs[2]))/255 ) local B = sRGB( (16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[3]))/255 ) L = 0.2126 * R + 0.7152 * G + 0.0722 * B return L end -- failure, return blank return '' end function p._greatercontrast(args) local bias = tonumber(args['bias'] or '0') or 0 local v1 = color2lum(args[1] or '') local c2 = args[2] or '#FFFFFF' local v2 = color2lum(c2) local c3 = args[3] or '#000000' local v3 = color2lum(c3) local ratio1 = 0; local ratio2 = 0; if (type(v1) == 'number' and type(v2) == 'number') then ratio1 = (v2 + 0.05)/(v1 + 0.05) ratio1 = (ratio1 < 1) and 1/ratio1 or ratio1 end if (type(v1) == 'number' and type(v3) == 'number') then ratio2 = (v3 + 0.05)/(v1 + 0.05) ratio2 = (ratio2 < 1) and 1/ratio2 or ratio2 end return (ratio1 + bias > ratio2) and c2 or c3 end function p._ratio(args) local v1 = color2lum(args[1]) local v2 = color2lum(args[2]) if (type(v1) == 'number' and type(v2) == 'number') then -- v1 should be the brighter of the two. if v2 > v1 then v1, v2 = v2, v1 end return (v1 + 0.05)/(v2 + 0.05) else return args['error'] or '?' end end function p.lum(frame) return color2lum(frame.args[1] or frame:getParent().args[1]) end function p.ratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._ratio(args) end function p.greatercontrast(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._greatercontrast(args) end return p 3bp6wuqw28ckuazkzcbnz8m34alblnb 10002 10001 2015-07-30T18:53:06Z w>Frietjes 0 10002 Scribunto text/plain -- -- This module implements -- {{Color contrast ratio}} -- {{Greater color contrast ratio}} -- {{ColorToLum}} -- {{RGBColorToLum}} -- local p = {} local HTMLcolor = mw.loadData( 'Module:Color contrast/colors' ) local function sRGB ( v ) if (v <= 0.03928) then v = v / 12.92 else v = math.pow((v+0.055)/1.055, 2.4) end return v end local function hsl2lum( h, s, l ) local lum = '' if ( 0 <= h and h < 360 and 0 <= s and s <= 1 and 0 <= l and l <= 1 ) then local c = (1 - abs(2*l - 1))*s local x = c*(1 - abs( mod(h/60, 2) - 1) ) local m = l - c/2 local R, G, B = m, m, m if( 0 <= h and h < 60 ) then R = R + c G = G + x elseif( 60 <= h and h < 120 ) then R = R + x G = G + c elseif( 120 <= h and h < 180 ) then G = R + c B = G + x elseif( 180 <= h and h < 240 ) then G = R + x B = G + c elseif( 240 <= h and h < 300 ) then R = R + x B = G + c elseif( 300 <= h and h < 360 ) then R = R + c B = G + x end lum = 0.2126 * sRGB(R) + 0.7152 * sRGB(G) + 0.0722 * sRGB(B) end return lum end local function color2lum( c ) if (c == nil) then return '' end -- whitespace c = c:match( '^%s*(.-)[%s;]*$' ) -- lowercase c = c:lower() -- first try to look it up local L = HTMLcolor[c] if (L ~= nil) then return L end -- convert from hsl if mw.ustring.match(c,'^hsl%([%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*%%[%s]*,[%s]*[0-9][0-9]*%%[%s]*%)$') then local h = mw.ustring.match(c,'^hsl%([%s]*([0-9][0-9]*)[%s]*,[%s]*[0-9][0-9]*%%[%s]*,[%s]*[0-9][0-9]*%%[%s]*%)$') local s = mw.ustring.match(c,'^hsl%([%s]*[0-9][0-9]*[%s]*,[%s]*([0-9][0-9]*)%%[%s]*,[%s]*[0-9][0-9]*%%[%s]*%)$') local l = mw.ustring.match(c,'^hsl%([%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*%%[%s]*,[%s]*([0-9][0-9]*)%%[%s]*%)$') return hsl2lum(tonumber(h), tonumber(s)/100, tonumber(l)/100) end -- remove leading # (if there is one) and whitespace c = mw.ustring.match(c, '^[%s#]*([a-f0-9]*)[%s]*$') -- split into rgb local cs = mw.text.split(c or '', '') if( #cs == 6 ) then local R = sRGB( (16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[2]))/255 ) local G = sRGB( (16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[4]))/255 ) local B = sRGB( (16*tonumber('0x' .. cs[5]) + tonumber('0x' .. cs[6]))/255 ) L = 0.2126 * R + 0.7152 * G + 0.0722 * B return L elseif ( #cs == 3 ) then local R = sRGB( (16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[1]))/255 ) local G = sRGB( (16*tonumber('0x' .. cs[2]) + tonumber('0x' .. cs[2]))/255 ) local B = sRGB( (16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[3]))/255 ) L = 0.2126 * R + 0.7152 * G + 0.0722 * B return L end -- failure, return blank return '' end function p._greatercontrast(args) local bias = tonumber(args['bias'] or '0') or 0 local v1 = color2lum(args[1] or '') local c2 = args[2] or '#FFFFFF' local v2 = color2lum(c2) local c3 = args[3] or '#000000' local v3 = color2lum(c3) local ratio1 = 0; local ratio2 = 0; if (type(v1) == 'number' and type(v2) == 'number') then ratio1 = (v2 + 0.05)/(v1 + 0.05) ratio1 = (ratio1 < 1) and 1/ratio1 or ratio1 end if (type(v1) == 'number' and type(v3) == 'number') then ratio2 = (v3 + 0.05)/(v1 + 0.05) ratio2 = (ratio2 < 1) and 1/ratio2 or ratio2 end return (ratio1 + bias > ratio2) and c2 or c3 end function p._ratio(args) local v1 = color2lum(args[1]) local v2 = color2lum(args[2]) if (type(v1) == 'number' and type(v2) == 'number') then -- v1 should be the brighter of the two. if v2 > v1 then v1, v2 = v2, v1 end return (v1 + 0.05)/(v2 + 0.05) else return args['error'] or '?' end end function p.lum(frame) return color2lum(frame.args[1] or frame:getParent().args[1]) end function p.ratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._ratio(args) end function p.greatercontrast(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._greatercontrast(args) end return p q71ca5ovfg1wrvfyezzf1jz4ajcvymy 10003 10002 2015-07-30T18:55:14Z w>Frietjes 0 10003 Scribunto text/plain -- -- This module implements -- {{Color contrast ratio}} -- {{Greater color contrast ratio}} -- {{ColorToLum}} -- {{RGBColorToLum}} -- local p = {} local HTMLcolor = mw.loadData( 'Module:Color contrast/colors' ) local function sRGB ( v ) if (v <= 0.03928) then v = v / 12.92 else v = math.pow((v+0.055)/1.055, 2.4) end return v end local function hsl2lum( h, s, l ) local lum = '' if ( 0 <= h and h < 360 and 0 <= s and s <= 1 and 0 <= l and l <= 1 ) then local c = (1 - math.abs(2*l - 1))*s local x = c*(1 - math.abs( math.fmod(h/60, 2) - 1) ) local m = l - c/2 local R, G, B = m, m, m if( 0 <= h and h < 60 ) then R = R + c G = G + x elseif( 60 <= h and h < 120 ) then R = R + x G = G + c elseif( 120 <= h and h < 180 ) then G = R + c B = G + x elseif( 180 <= h and h < 240 ) then G = R + x B = G + c elseif( 240 <= h and h < 300 ) then R = R + x B = G + c elseif( 300 <= h and h < 360 ) then R = R + c B = G + x end lum = 0.2126 * sRGB(R) + 0.7152 * sRGB(G) + 0.0722 * sRGB(B) end return lum end local function color2lum( c ) if (c == nil) then return '' end -- whitespace c = c:match( '^%s*(.-)[%s;]*$' ) -- lowercase c = c:lower() -- first try to look it up local L = HTMLcolor[c] if (L ~= nil) then return L end -- convert from hsl if mw.ustring.match(c,'^hsl%([%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*%%[%s]*,[%s]*[0-9][0-9]*%%[%s]*%)$') then local h = mw.ustring.match(c,'^hsl%([%s]*([0-9][0-9]*)[%s]*,[%s]*[0-9][0-9]*%%[%s]*,[%s]*[0-9][0-9]*%%[%s]*%)$') local s = mw.ustring.match(c,'^hsl%([%s]*[0-9][0-9]*[%s]*,[%s]*([0-9][0-9]*)%%[%s]*,[%s]*[0-9][0-9]*%%[%s]*%)$') local l = mw.ustring.match(c,'^hsl%([%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*%%[%s]*,[%s]*([0-9][0-9]*)%%[%s]*%)$') return hsl2lum(tonumber(h), tonumber(s)/100, tonumber(l)/100) end -- remove leading # (if there is one) and whitespace c = mw.ustring.match(c, '^[%s#]*([a-f0-9]*)[%s]*$') -- split into rgb local cs = mw.text.split(c or '', '') if( #cs == 6 ) then local R = sRGB( (16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[2]))/255 ) local G = sRGB( (16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[4]))/255 ) local B = sRGB( (16*tonumber('0x' .. cs[5]) + tonumber('0x' .. cs[6]))/255 ) L = 0.2126 * R + 0.7152 * G + 0.0722 * B return L elseif ( #cs == 3 ) then local R = sRGB( (16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[1]))/255 ) local G = sRGB( (16*tonumber('0x' .. cs[2]) + tonumber('0x' .. cs[2]))/255 ) local B = sRGB( (16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[3]))/255 ) L = 0.2126 * R + 0.7152 * G + 0.0722 * B return L end -- failure, return blank return '' end function p._greatercontrast(args) local bias = tonumber(args['bias'] or '0') or 0 local v1 = color2lum(args[1] or '') local c2 = args[2] or '#FFFFFF' local v2 = color2lum(c2) local c3 = args[3] or '#000000' local v3 = color2lum(c3) local ratio1 = 0; local ratio2 = 0; if (type(v1) == 'number' and type(v2) == 'number') then ratio1 = (v2 + 0.05)/(v1 + 0.05) ratio1 = (ratio1 < 1) and 1/ratio1 or ratio1 end if (type(v1) == 'number' and type(v3) == 'number') then ratio2 = (v3 + 0.05)/(v1 + 0.05) ratio2 = (ratio2 < 1) and 1/ratio2 or ratio2 end return (ratio1 + bias > ratio2) and c2 or c3 end function p._ratio(args) local v1 = color2lum(args[1]) local v2 = color2lum(args[2]) if (type(v1) == 'number' and type(v2) == 'number') then -- v1 should be the brighter of the two. if v2 > v1 then v1, v2 = v2, v1 end return (v1 + 0.05)/(v2 + 0.05) else return args['error'] or '?' end end function p.lum(frame) return color2lum(frame.args[1] or frame:getParent().args[1]) end function p.ratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._ratio(args) end function p.greatercontrast(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._greatercontrast(args) end return p 8c1fl2kfld0y4oyijdh6qw9mihhh0ug 10004 10003 2015-07-31T13:49:58Z w>Frietjes 0 refactor 10004 Scribunto text/plain -- -- This module implements -- {{Color contrast ratio}} -- {{Greater color contrast ratio}} -- {{ColorToLum}} -- {{RGBColorToLum}} -- local p = {} local HTMLcolor = mw.loadData( 'Module:Color contrast/colors' ) local function sRGB ( v ) if (v <= 0.03928) then v = v / 12.92 else v = math.pow((v+0.055)/1.055, 2.4) end return v end local function rgbdec2lum( R, G, B ) return 0.2126 * sRGB(R/255) + 0.7152 * sRGB(G/255) + 0.0722 * sRGB(B/255) end local function hsl2lum( h, s, l ) local lum = '' if ( 0 <= h and h < 360 and 0 <= s and s <= 1 and 0 <= l and l <= 1 ) then local c = (1 - math.abs(2*l - 1))*s local x = c*(1 - math.abs( math.fmod(h/60, 2) - 1) ) local m = l - c/2 local r, g, b = m, m, m if( 0 <= h and h < 60 ) then r = r + c g = g + x elseif( 60 <= h and h < 120 ) then r = r + x g = g + c elseif( 120 <= h and h < 180 ) then g = g + c b = b + x elseif( 180 <= h and h < 240 ) then g = g + x b = b + c elseif( 240 <= h and h < 300 ) then r = r + x b = b + c elseif( 300 <= h and h < 360 ) then r = r + c b = b + x end lum = rgbdec2lum(255*r, 255*g, 255*b) end return lum end local function color2lum( c ) if (c == nil) then return '' end -- whitespace c = c:match( '^%s*(.-)[%s;]*$' ) -- lowercase c = c:lower() -- first try to look it up local L = HTMLcolor[c] if (L ~= nil) then return L end -- convert from hsl if mw.ustring.match(c,'^hsl%([%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*%%[%s]*,[%s]*[0-9][0-9]*%%[%s]*%)$') then local h = mw.ustring.match(c,'^hsl%([%s]*([0-9][0-9]*)[%s]*,[%s]*[0-9][0-9]*%%[%s]*,[%s]*[0-9][0-9]*%%[%s]*%)$') local s = mw.ustring.match(c,'^hsl%([%s]*[0-9][0-9]*[%s]*,[%s]*([0-9][0-9]*)%%[%s]*,[%s]*[0-9][0-9]*%%[%s]*%)$') local l = mw.ustring.match(c,'^hsl%([%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*%%[%s]*,[%s]*([0-9][0-9]*)%%[%s]*%)$') return hsl2lum(tonumber(h), tonumber(s)/100, tonumber(l)/100) end -- remove leading # (if there is one) and whitespace c = mw.ustring.match(c, '^[%s#]*([a-f0-9]*)[%s]*$') -- split into rgb local cs = mw.text.split(c or '', '') if( #cs == 6 ) then local R = 16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[2]) local G = 16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[4]) local B = 16*tonumber('0x' .. cs[5]) + tonumber('0x' .. cs[6]) return rgbdec2lum(R, G, B) elseif ( #cs == 3 ) then local R = 16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[1]) local G = 16*tonumber('0x' .. cs[2]) + tonumber('0x' .. cs[2]) local B = 16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[3]) return rgbdec2lum(R, G, B) end -- failure, return blank return '' end function p._greatercontrast(args) local bias = tonumber(args['bias'] or '0') or 0 local v1 = color2lum(args[1] or '') local c2 = args[2] or '#FFFFFF' local v2 = color2lum(c2) local c3 = args[3] or '#000000' local v3 = color2lum(c3) local ratio1 = 0; local ratio2 = 0; if (type(v1) == 'number' and type(v2) == 'number') then ratio1 = (v2 + 0.05)/(v1 + 0.05) ratio1 = (ratio1 < 1) and 1/ratio1 or ratio1 end if (type(v1) == 'number' and type(v3) == 'number') then ratio2 = (v3 + 0.05)/(v1 + 0.05) ratio2 = (ratio2 < 1) and 1/ratio2 or ratio2 end return (ratio1 + bias > ratio2) and c2 or c3 end function p._ratio(args) local v1 = color2lum(args[1]) local v2 = color2lum(args[2]) if (type(v1) == 'number' and type(v2) == 'number') then -- v1 should be the brighter of the two. if v2 > v1 then v1, v2 = v2, v1 end return (v1 + 0.05)/(v2 + 0.05) else return args['error'] or '?' end end function p.lum(frame) return color2lum(frame.args[1] or frame:getParent().args[1]) end function p.ratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._ratio(args) end function p.greatercontrast(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._greatercontrast(args) end return p 4v16jpbbkj6uc300mq1kgmtryilcnvv 10005 10004 2015-07-31T14:00:44Z w>Frietjes 0 combine 10005 Scribunto text/plain -- -- This module implements -- {{Color contrast ratio}} -- {{Greater color contrast ratio}} -- {{ColorToLum}} -- {{RGBColorToLum}} -- local p = {} local HTMLcolor = mw.loadData( 'Module:Color contrast/colors' ) local function sRGB ( v ) if (v <= 0.03928) then v = v / 12.92 else v = math.pow((v+0.055)/1.055, 2.4) end return v end local function rgbdec2lum( R, G, B ) return 0.2126 * sRGB(R/255) + 0.7152 * sRGB(G/255) + 0.0722 * sRGB(B/255) end local function hsl2lum( h, s, l ) local lum = '' if ( 0 <= h and h < 360 and 0 <= s and s <= 1 and 0 <= l and l <= 1 ) then local c = (1 - math.abs(2*l - 1))*s local x = c*(1 - math.abs( math.fmod(h/60, 2) - 1) ) local m = l - c/2 local r, g, b = m, m, m if( 0 <= h and h < 60 ) then r = r + c g = g + x elseif( 60 <= h and h < 120 ) then r = r + x g = g + c elseif( 120 <= h and h < 180 ) then g = g + c b = b + x elseif( 180 <= h and h < 240 ) then g = g + x b = b + c elseif( 240 <= h and h < 300 ) then r = r + x b = b + c elseif( 300 <= h and h < 360 ) then r = r + c b = b + x end lum = rgbdec2lum(255*r, 255*g, 255*b) end return lum end local function color2lum( c ) if (c == nil) then return '' end -- whitespace c = c:match( '^%s*(.-)[%s;]*$' ) -- lowercase c = c:lower() -- first try to look it up local L = HTMLcolor[c] if (L ~= nil) then return L end -- convert from hsl if mw.ustring.match(c,'^hsl%([%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*%%[%s]*,[%s]*[0-9][0-9]*%%[%s]*%)$') then local h, s, l = mw.ustring.match(c,'^hsl%([%s]*([0-9][0-9]*)[%s]*,[%s]*([0-9][0-9]*)%%[%s]*,[%s]*([0-9][0-9]*)%%[%s]*%)$') return hsl2lum(tonumber(h), tonumber(s)/100, tonumber(l)/100) end -- remove leading # (if there is one) and whitespace c = mw.ustring.match(c, '^[%s#]*([a-f0-9]*)[%s]*$') -- split into rgb local cs = mw.text.split(c or '', '') if( #cs == 6 ) then local R = 16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[2]) local G = 16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[4]) local B = 16*tonumber('0x' .. cs[5]) + tonumber('0x' .. cs[6]) return rgbdec2lum(R, G, B) elseif ( #cs == 3 ) then local R = 16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[1]) local G = 16*tonumber('0x' .. cs[2]) + tonumber('0x' .. cs[2]) local B = 16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[3]) return rgbdec2lum(R, G, B) end -- failure, return blank return '' end function p._greatercontrast(args) local bias = tonumber(args['bias'] or '0') or 0 local v1 = color2lum(args[1] or '') local c2 = args[2] or '#FFFFFF' local v2 = color2lum(c2) local c3 = args[3] or '#000000' local v3 = color2lum(c3) local ratio1 = 0; local ratio2 = 0; if (type(v1) == 'number' and type(v2) == 'number') then ratio1 = (v2 + 0.05)/(v1 + 0.05) ratio1 = (ratio1 < 1) and 1/ratio1 or ratio1 end if (type(v1) == 'number' and type(v3) == 'number') then ratio2 = (v3 + 0.05)/(v1 + 0.05) ratio2 = (ratio2 < 1) and 1/ratio2 or ratio2 end return (ratio1 + bias > ratio2) and c2 or c3 end function p._ratio(args) local v1 = color2lum(args[1]) local v2 = color2lum(args[2]) if (type(v1) == 'number' and type(v2) == 'number') then -- v1 should be the brighter of the two. if v2 > v1 then v1, v2 = v2, v1 end return (v1 + 0.05)/(v2 + 0.05) else return args['error'] or '?' end end function p.lum(frame) return color2lum(frame.args[1] or frame:getParent().args[1]) end function p.ratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._ratio(args) end function p.greatercontrast(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._greatercontrast(args) end return p bxb6c8v3t9xzdtiezls09cz9axcwztn 10006 10005 2015-07-31T14:08:34Z w>Frietjes 0 add support for rgb(x,y,z) 10006 Scribunto text/plain -- -- This module implements -- {{Color contrast ratio}} -- {{Greater color contrast ratio}} -- {{ColorToLum}} -- {{RGBColorToLum}} -- local p = {} local HTMLcolor = mw.loadData( 'Module:Color contrast/colors' ) local function sRGB ( v ) if (v <= 0.03928) then v = v / 12.92 else v = math.pow((v+0.055)/1.055, 2.4) end return v end local function rgbdec2lum( R, G, B ) if ( 0 <= R and R < 256 and 0 <= G and G < 256 and 0 <= B and B < 256 ) then return 0.2126 * sRGB(R/255) + 0.7152 * sRGB(G/255) + 0.0722 * sRGB(B/255) else return '' end end local function hsl2lum( h, s, l ) if ( 0 <= h and h < 360 and 0 <= s and s <= 1 and 0 <= l and l <= 1 ) then local c = (1 - math.abs(2*l - 1))*s local x = c*(1 - math.abs( math.fmod(h/60, 2) - 1) ) local m = l - c/2 local r, g, b = m, m, m if( 0 <= h and h < 60 ) then r = r + c g = g + x elseif( 60 <= h and h < 120 ) then r = r + x g = g + c elseif( 120 <= h and h < 180 ) then g = g + c b = b + x elseif( 180 <= h and h < 240 ) then g = g + x b = b + c elseif( 240 <= h and h < 300 ) then r = r + x b = b + c elseif( 300 <= h and h < 360 ) then r = r + c b = b + x end return rgbdec2lum(255*r, 255*g, 255*b) else return '' end end local function color2lum( c ) if (c == nil) then return '' end -- whitespace c = c:match( '^%s*(.-)[%s;]*$' ) -- lowercase c = c:lower() -- first try to look it up local L = HTMLcolor[c] if (L ~= nil) then return L end -- convert from hsl if mw.ustring.match(c,'^[Hh][Ss][Ll]%([%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*%%[%s]*,[%s]*[0-9][0-9]*%%[%s]*%)$') then local h, s, l = mw.ustring.match(c,'^[Hh][Ss][Ll]%([%s]*([0-9][0-9]*)[%s]*,[%s]*([0-9][0-9]*)%%[%s]*,[%s]*([0-9][0-9]*)%%[%s]*%)$') return hsl2lum(tonumber(h), tonumber(s)/100, tonumber(l)/100) end -- convert from rgb if mw.ustring.match(c,'^[Rr][Gg][Bb]%([%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*[%s]*%)$') then local R, G, B = mw.ustring.match(c,'^[Rr][Gg][Bb]%([%s]*([0-9][0-9]*)[%s]*,[%s]*([0-9][0-9]*)[%s]*,[%s]*([0-9][0-9]*)[%s]*%)$') return rgbdec2lum(tonumber(R), tonumber(G), tonumber(B)) end -- remove leading # (if there is one) and whitespace c = mw.ustring.match(c, '^[%s#]*([a-f0-9]*)[%s]*$') -- split into rgb local cs = mw.text.split(c or '', '') if( #cs == 6 ) then local R = 16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[2]) local G = 16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[4]) local B = 16*tonumber('0x' .. cs[5]) + tonumber('0x' .. cs[6]) return rgbdec2lum(R, G, B) elseif ( #cs == 3 ) then local R = 16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[1]) local G = 16*tonumber('0x' .. cs[2]) + tonumber('0x' .. cs[2]) local B = 16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[3]) return rgbdec2lum(R, G, B) end -- failure, return blank return '' end function p._greatercontrast(args) local bias = tonumber(args['bias'] or '0') or 0 local v1 = color2lum(args[1] or '') local c2 = args[2] or '#FFFFFF' local v2 = color2lum(c2) local c3 = args[3] or '#000000' local v3 = color2lum(c3) local ratio1 = 0; local ratio2 = 0; if (type(v1) == 'number' and type(v2) == 'number') then ratio1 = (v2 + 0.05)/(v1 + 0.05) ratio1 = (ratio1 < 1) and 1/ratio1 or ratio1 end if (type(v1) == 'number' and type(v3) == 'number') then ratio2 = (v3 + 0.05)/(v1 + 0.05) ratio2 = (ratio2 < 1) and 1/ratio2 or ratio2 end return (ratio1 + bias > ratio2) and c2 or c3 end function p._ratio(args) local v1 = color2lum(args[1]) local v2 = color2lum(args[2]) if (type(v1) == 'number' and type(v2) == 'number') then -- v1 should be the brighter of the two. if v2 > v1 then v1, v2 = v2, v1 end return (v1 + 0.05)/(v2 + 0.05) else return args['error'] or '?' end end function p.lum(frame) return color2lum(frame.args[1] or frame:getParent().args[1]) end function p.ratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._ratio(args) end function p.greatercontrast(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._greatercontrast(args) end return p m9b0xev4mssf19395cutmnmmfnzqurv 10007 10006 2015-07-31T14:10:03Z w>Frietjes 0 simplify, already lowercased 10007 Scribunto text/plain -- -- This module implements -- {{Color contrast ratio}} -- {{Greater color contrast ratio}} -- {{ColorToLum}} -- {{RGBColorToLum}} -- local p = {} local HTMLcolor = mw.loadData( 'Module:Color contrast/colors' ) local function sRGB ( v ) if (v <= 0.03928) then v = v / 12.92 else v = math.pow((v+0.055)/1.055, 2.4) end return v end local function rgbdec2lum( R, G, B ) if ( 0 <= R and R < 256 and 0 <= G and G < 256 and 0 <= B and B < 256 ) then return 0.2126 * sRGB(R/255) + 0.7152 * sRGB(G/255) + 0.0722 * sRGB(B/255) else return '' end end local function hsl2lum( h, s, l ) if ( 0 <= h and h < 360 and 0 <= s and s <= 1 and 0 <= l and l <= 1 ) then local c = (1 - math.abs(2*l - 1))*s local x = c*(1 - math.abs( math.fmod(h/60, 2) - 1) ) local m = l - c/2 local r, g, b = m, m, m if( 0 <= h and h < 60 ) then r = r + c g = g + x elseif( 60 <= h and h < 120 ) then r = r + x g = g + c elseif( 120 <= h and h < 180 ) then g = g + c b = b + x elseif( 180 <= h and h < 240 ) then g = g + x b = b + c elseif( 240 <= h and h < 300 ) then r = r + x b = b + c elseif( 300 <= h and h < 360 ) then r = r + c b = b + x end return rgbdec2lum(255*r, 255*g, 255*b) else return '' end end local function color2lum( c ) if (c == nil) then return '' end -- whitespace c = c:match( '^%s*(.-)[%s;]*$' ) -- lowercase c = c:lower() -- first try to look it up local L = HTMLcolor[c] if (L ~= nil) then return L end -- convert from hsl if mw.ustring.match(c,'^hsl%([%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*%%[%s]*,[%s]*[0-9][0-9]*%%[%s]*%)$') then local h, s, l = mw.ustring.match(c,'^hsl%([%s]*([0-9][0-9]*)[%s]*,[%s]*([0-9][0-9]*)%%[%s]*,[%s]*([0-9][0-9]*)%%[%s]*%)$') return hsl2lum(tonumber(h), tonumber(s)/100, tonumber(l)/100) end -- convert from rgb if mw.ustring.match(c,'^rgb%([%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*[%s]*%)$') then local R, G, B = mw.ustring.match(c,'^rgb%([%s]*([0-9][0-9]*)[%s]*,[%s]*([0-9][0-9]*)[%s]*,[%s]*([0-9][0-9]*)[%s]*%)$') return rgbdec2lum(tonumber(R), tonumber(G), tonumber(B)) end -- remove leading # (if there is one) and whitespace c = mw.ustring.match(c, '^[%s#]*([a-f0-9]*)[%s]*$') -- split into rgb local cs = mw.text.split(c or '', '') if( #cs == 6 ) then local R = 16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[2]) local G = 16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[4]) local B = 16*tonumber('0x' .. cs[5]) + tonumber('0x' .. cs[6]) return rgbdec2lum(R, G, B) elseif ( #cs == 3 ) then local R = 16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[1]) local G = 16*tonumber('0x' .. cs[2]) + tonumber('0x' .. cs[2]) local B = 16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[3]) return rgbdec2lum(R, G, B) end -- failure, return blank return '' end function p._greatercontrast(args) local bias = tonumber(args['bias'] or '0') or 0 local v1 = color2lum(args[1] or '') local c2 = args[2] or '#FFFFFF' local v2 = color2lum(c2) local c3 = args[3] or '#000000' local v3 = color2lum(c3) local ratio1 = 0; local ratio2 = 0; if (type(v1) == 'number' and type(v2) == 'number') then ratio1 = (v2 + 0.05)/(v1 + 0.05) ratio1 = (ratio1 < 1) and 1/ratio1 or ratio1 end if (type(v1) == 'number' and type(v3) == 'number') then ratio2 = (v3 + 0.05)/(v1 + 0.05) ratio2 = (ratio2 < 1) and 1/ratio2 or ratio2 end return (ratio1 + bias > ratio2) and c2 or c3 end function p._ratio(args) local v1 = color2lum(args[1]) local v2 = color2lum(args[2]) if (type(v1) == 'number' and type(v2) == 'number') then -- v1 should be the brighter of the two. if v2 > v1 then v1, v2 = v2, v1 end return (v1 + 0.05)/(v2 + 0.05) else return args['error'] or '?' end end function p.lum(frame) return color2lum(frame.args[1] or frame:getParent().args[1]) end function p.ratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._ratio(args) end function p.greatercontrast(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._greatercontrast(args) end return p e5uhrdma0bjjxhoao02cufvqxteuiww 10008 10007 2015-07-31T14:28:11Z w>Frietjes 0 decimal 10008 Scribunto text/plain -- -- This module implements -- {{Color contrast ratio}} -- {{Greater color contrast ratio}} -- {{ColorToLum}} -- {{RGBColorToLum}} -- local p = {} local HTMLcolor = mw.loadData( 'Module:Color contrast/colors' ) local function sRGB ( v ) if (v <= 0.03928) then v = v / 12.92 else v = math.pow((v+0.055)/1.055, 2.4) end return v end local function rgbdec2lum( R, G, B ) if ( 0 <= R and R < 256 and 0 <= G and G < 256 and 0 <= B and B < 256 ) then return 0.2126 * sRGB(R/255) + 0.7152 * sRGB(G/255) + 0.0722 * sRGB(B/255) else return '' end end local function hsl2lum( h, s, l ) if ( 0 <= h and h < 360 and 0 <= s and s <= 1 and 0 <= l and l <= 1 ) then local c = (1 - math.abs(2*l - 1))*s local x = c*(1 - math.abs( math.fmod(h/60, 2) - 1) ) local m = l - c/2 local r, g, b = m, m, m if( 0 <= h and h < 60 ) then r = r + c g = g + x elseif( 60 <= h and h < 120 ) then r = r + x g = g + c elseif( 120 <= h and h < 180 ) then g = g + c b = b + x elseif( 180 <= h and h < 240 ) then g = g + x b = b + c elseif( 240 <= h and h < 300 ) then r = r + x b = b + c elseif( 300 <= h and h < 360 ) then r = r + c b = b + x end return rgbdec2lum(255*r, 255*g, 255*b) else return '' end end local function color2lum( c ) if (c == nil) then return '' end -- whitespace c = c:match( '^%s*(.-)[%s;]*$' ) -- lowercase c = c:lower() -- first try to look it up local L = HTMLcolor[c] if (L ~= nil) then return L end -- convert from hsl if mw.ustring.match(c,'^hsl%([%s]*[0-9][0-9%.]*[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*%)$') then local h, s, l = mw.ustring.match(c,'^hsl%([%s]*([0-9][0-9%.]*)[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*%)$') return hsl2lum(tonumber(h), tonumber(s)/100, tonumber(l)/100) end -- convert from rgb if mw.ustring.match(c,'^rgb%([%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*[%s]*%)$') then local R, G, B = mw.ustring.match(c,'^rgb%([%s]*([0-9][0-9]*)[%s]*,[%s]*([0-9][0-9]*)[%s]*,[%s]*([0-9][0-9]*)[%s]*%)$') return rgbdec2lum(tonumber(R), tonumber(G), tonumber(B)) end -- remove leading # (if there is one) and whitespace c = mw.ustring.match(c, '^[%s#]*([a-f0-9]*)[%s]*$') -- split into rgb local cs = mw.text.split(c or '', '') if( #cs == 6 ) then local R = 16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[2]) local G = 16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[4]) local B = 16*tonumber('0x' .. cs[5]) + tonumber('0x' .. cs[6]) return rgbdec2lum(R, G, B) elseif ( #cs == 3 ) then local R = 16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[1]) local G = 16*tonumber('0x' .. cs[2]) + tonumber('0x' .. cs[2]) local B = 16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[3]) return rgbdec2lum(R, G, B) end -- failure, return blank return '' end function p._greatercontrast(args) local bias = tonumber(args['bias'] or '0') or 0 local v1 = color2lum(args[1] or '') local c2 = args[2] or '#FFFFFF' local v2 = color2lum(c2) local c3 = args[3] or '#000000' local v3 = color2lum(c3) local ratio1 = 0; local ratio2 = 0; if (type(v1) == 'number' and type(v2) == 'number') then ratio1 = (v2 + 0.05)/(v1 + 0.05) ratio1 = (ratio1 < 1) and 1/ratio1 or ratio1 end if (type(v1) == 'number' and type(v3) == 'number') then ratio2 = (v3 + 0.05)/(v1 + 0.05) ratio2 = (ratio2 < 1) and 1/ratio2 or ratio2 end return (ratio1 + bias > ratio2) and c2 or c3 end function p._ratio(args) local v1 = color2lum(args[1]) local v2 = color2lum(args[2]) if (type(v1) == 'number' and type(v2) == 'number') then -- v1 should be the brighter of the two. if v2 > v1 then v1, v2 = v2, v1 end return (v1 + 0.05)/(v2 + 0.05) else return args['error'] or '?' end end function p.lum(frame) return color2lum(frame.args[1] or frame:getParent().args[1]) end function p.ratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._ratio(args) end function p.greatercontrast(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._greatercontrast(args) end return p 3lluqhvo2bu6d2fx2asvdbv5m98zksl 10009 10008 2015-07-31T14:46:12Z w>Frietjes 0 add support for rgb(x%,y%,z%) 10009 Scribunto text/plain -- -- This module implements -- {{Color contrast ratio}} -- {{Greater color contrast ratio}} -- {{ColorToLum}} -- {{RGBColorToLum}} -- local p = {} local HTMLcolor = mw.loadData( 'Module:Color contrast/colors' ) local function sRGB ( v ) if (v <= 0.03928) then v = v / 12.92 else v = math.pow((v+0.055)/1.055, 2.4) end return v end local function rgbdec2lum( R, G, B ) if ( 0 <= R and R < 256 and 0 <= G and G < 256 and 0 <= B and B < 256 ) then return 0.2126 * sRGB(R/255) + 0.7152 * sRGB(G/255) + 0.0722 * sRGB(B/255) else return '' end end local function hsl2lum( h, s, l ) if ( 0 <= h and h < 360 and 0 <= s and s <= 1 and 0 <= l and l <= 1 ) then local c = (1 - math.abs(2*l - 1))*s local x = c*(1 - math.abs( math.fmod(h/60, 2) - 1) ) local m = l - c/2 local r, g, b = m, m, m if( 0 <= h and h < 60 ) then r = r + c g = g + x elseif( 60 <= h and h < 120 ) then r = r + x g = g + c elseif( 120 <= h and h < 180 ) then g = g + c b = b + x elseif( 180 <= h and h < 240 ) then g = g + x b = b + c elseif( 240 <= h and h < 300 ) then r = r + x b = b + c elseif( 300 <= h and h < 360 ) then r = r + c b = b + x end return rgbdec2lum(255*r, 255*g, 255*b) else return '' end end local function color2lum( c ) if (c == nil) then return '' end -- whitespace c = c:match( '^%s*(.-)[%s;]*$' ) -- lowercase c = c:lower() -- first try to look it up local L = HTMLcolor[c] if (L ~= nil) then return L end -- convert from hsl if mw.ustring.match(c,'^hsl%([%s]*[0-9][0-9%.]*[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*%)$') then local h, s, l = mw.ustring.match(c,'^hsl%([%s]*([0-9][0-9%.]*)[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*%)$') return hsl2lum(tonumber(h), tonumber(s)/100, tonumber(l)/100) end -- convert from rgb if mw.ustring.match(c,'^rgb%([%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*[%s]*%)$') then local R, G, B = mw.ustring.match(c,'^rgb%([%s]*([0-9][0-9]*)[%s]*,[%s]*([0-9][0-9]*)[%s]*,[%s]*([0-9][0-9]*)[%s]*%)$') return rgbdec2lum(tonumber(R), tonumber(G), tonumber(B)) end -- convert from rgb percent if mw.ustring.match(c,'^rgb%([%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]%%*[%s]*,[%s]*[0-9][0-9%.]%%*[%s]*%)$') then local R, G, B = mw.ustring.match(c,'^rgb%([%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*%)$') return rgbdec2lum(255*tonumber(R)/100, 255*tonumber(G)/100, 255*tonumber(B)/100) end -- remove leading # (if there is one) and whitespace c = mw.ustring.match(c, '^[%s#]*([a-f0-9]*)[%s]*$') -- split into rgb local cs = mw.text.split(c or '', '') if( #cs == 6 ) then local R = 16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[2]) local G = 16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[4]) local B = 16*tonumber('0x' .. cs[5]) + tonumber('0x' .. cs[6]) return rgbdec2lum(R, G, B) elseif ( #cs == 3 ) then local R = 16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[1]) local G = 16*tonumber('0x' .. cs[2]) + tonumber('0x' .. cs[2]) local B = 16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[3]) return rgbdec2lum(R, G, B) end -- failure, return blank return '' end function p._greatercontrast(args) local bias = tonumber(args['bias'] or '0') or 0 local v1 = color2lum(args[1] or '') local c2 = args[2] or '#FFFFFF' local v2 = color2lum(c2) local c3 = args[3] or '#000000' local v3 = color2lum(c3) local ratio1 = 0; local ratio2 = 0; if (type(v1) == 'number' and type(v2) == 'number') then ratio1 = (v2 + 0.05)/(v1 + 0.05) ratio1 = (ratio1 < 1) and 1/ratio1 or ratio1 end if (type(v1) == 'number' and type(v3) == 'number') then ratio2 = (v3 + 0.05)/(v1 + 0.05) ratio2 = (ratio2 < 1) and 1/ratio2 or ratio2 end return (ratio1 + bias > ratio2) and c2 or c3 end function p._ratio(args) local v1 = color2lum(args[1]) local v2 = color2lum(args[2]) if (type(v1) == 'number' and type(v2) == 'number') then -- v1 should be the brighter of the two. if v2 > v1 then v1, v2 = v2, v1 end return (v1 + 0.05)/(v2 + 0.05) else return args['error'] or '?' end end function p.lum(frame) return color2lum(frame.args[1] or frame:getParent().args[1]) end function p.ratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._ratio(args) end function p.greatercontrast(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._greatercontrast(args) end return p 2juq1dcg5f6q3mgk3l9i5bq6mfp1xjy 10010 10009 2015-07-31T14:49:56Z w>Frietjes 0 10010 Scribunto text/plain -- -- This module implements -- {{Color contrast ratio}} -- {{Greater color contrast ratio}} -- {{ColorToLum}} -- {{RGBColorToLum}} -- local p = {} local HTMLcolor = mw.loadData( 'Module:Color contrast/colors' ) local function sRGB ( v ) if (v <= 0.03928) then v = v / 12.92 else v = math.pow((v+0.055)/1.055, 2.4) end return v end local function rgbdec2lum( R, G, B ) if ( 0 <= R and R < 256 and 0 <= G and G < 256 and 0 <= B and B < 256 ) then return 0.2126 * sRGB(R/255) + 0.7152 * sRGB(G/255) + 0.0722 * sRGB(B/255) else return '' end end local function hsl2lum( h, s, l ) if ( 0 <= h and h < 360 and 0 <= s and s <= 1 and 0 <= l and l <= 1 ) then local c = (1 - math.abs(2*l - 1))*s local x = c*(1 - math.abs( math.fmod(h/60, 2) - 1) ) local m = l - c/2 local r, g, b = m, m, m if( 0 <= h and h < 60 ) then r = r + c g = g + x elseif( 60 <= h and h < 120 ) then r = r + x g = g + c elseif( 120 <= h and h < 180 ) then g = g + c b = b + x elseif( 180 <= h and h < 240 ) then g = g + x b = b + c elseif( 240 <= h and h < 300 ) then r = r + x b = b + c elseif( 300 <= h and h < 360 ) then r = r + c b = b + x end return rgbdec2lum(255*r, 255*g, 255*b) else return '' end end local function color2lum( c ) if (c == nil) then return '' end -- whitespace c = c:match( '^%s*(.-)[%s;]*$' ) -- lowercase c = c:lower() -- first try to look it up local L = HTMLcolor[c] if (L ~= nil) then return L end -- convert from hsl if mw.ustring.match(c,'^hsl%([%s]*[0-9][0-9%.]*[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*%)$') then local h, s, l = mw.ustring.match(c,'^hsl%([%s]*([0-9][0-9%.]*)[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*%)$') return hsl2lum(tonumber(h), tonumber(s)/100, tonumber(l)/100) end -- convert from rgb if mw.ustring.match(c,'^rgb%([%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*[%s]*%)$') then local R, G, B = mw.ustring.match(c,'^rgb%([%s]*([0-9][0-9]*)[%s]*,[%s]*([0-9][0-9]*)[%s]*,[%s]*([0-9][0-9]*)[%s]*%)$') return rgbdec2lum(tonumber(R), tonumber(G), tonumber(B)) end -- convert from rgb percent if mw.ustring.match(c,'^rgb%([%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*%)$') then local R, G, B = mw.ustring.match(c,'^rgb%([%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*%)$') return rgbdec2lum(255*tonumber(R)/100, 255*tonumber(G)/100, 255*tonumber(B)/100) end -- remove leading # (if there is one) and whitespace c = mw.ustring.match(c, '^[%s#]*([a-f0-9]*)[%s]*$') -- split into rgb local cs = mw.text.split(c or '', '') if( #cs == 6 ) then local R = 16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[2]) local G = 16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[4]) local B = 16*tonumber('0x' .. cs[5]) + tonumber('0x' .. cs[6]) return rgbdec2lum(R, G, B) elseif ( #cs == 3 ) then local R = 16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[1]) local G = 16*tonumber('0x' .. cs[2]) + tonumber('0x' .. cs[2]) local B = 16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[3]) return rgbdec2lum(R, G, B) end -- failure, return blank return '' end function p._greatercontrast(args) local bias = tonumber(args['bias'] or '0') or 0 local v1 = color2lum(args[1] or '') local c2 = args[2] or '#FFFFFF' local v2 = color2lum(c2) local c3 = args[3] or '#000000' local v3 = color2lum(c3) local ratio1 = 0; local ratio2 = 0; if (type(v1) == 'number' and type(v2) == 'number') then ratio1 = (v2 + 0.05)/(v1 + 0.05) ratio1 = (ratio1 < 1) and 1/ratio1 or ratio1 end if (type(v1) == 'number' and type(v3) == 'number') then ratio2 = (v3 + 0.05)/(v1 + 0.05) ratio2 = (ratio2 < 1) and 1/ratio2 or ratio2 end return (ratio1 + bias > ratio2) and c2 or c3 end function p._ratio(args) local v1 = color2lum(args[1]) local v2 = color2lum(args[2]) if (type(v1) == 'number' and type(v2) == 'number') then -- v1 should be the brighter of the two. if v2 > v1 then v1, v2 = v2, v1 end return (v1 + 0.05)/(v2 + 0.05) else return args['error'] or '?' end end function p.lum(frame) return color2lum(frame.args[1] or frame:getParent().args[1]) end function p.ratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._ratio(args) end function p.greatercontrast(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._greatercontrast(args) end return p s2t1zlqmz0t3j5y4x9e8577d6cpqzqx 10011 10010 2015-08-01T15:12:59Z w>Frietjes 0 new styleratio for parsing css style statements 10011 Scribunto text/plain -- -- This module implements -- {{Color contrast ratio}} -- {{Greater color contrast ratio}} -- {{ColorToLum}} -- {{RGBColorToLum}} -- local p = {} local HTMLcolor = mw.loadData( 'Module:Color contrast/colors' ) local function sRGB ( v ) if (v <= 0.03928) then v = v / 12.92 else v = math.pow((v+0.055)/1.055, 2.4) end return v end local function rgbdec2lum( R, G, B ) if ( 0 <= R and R < 256 and 0 <= G and G < 256 and 0 <= B and B < 256 ) then return 0.2126 * sRGB(R/255) + 0.7152 * sRGB(G/255) + 0.0722 * sRGB(B/255) else return '' end end local function hsl2lum( h, s, l ) if ( 0 <= h and h < 360 and 0 <= s and s <= 1 and 0 <= l and l <= 1 ) then local c = (1 - math.abs(2*l - 1))*s local x = c*(1 - math.abs( math.fmod(h/60, 2) - 1) ) local m = l - c/2 local r, g, b = m, m, m if( 0 <= h and h < 60 ) then r = r + c g = g + x elseif( 60 <= h and h < 120 ) then r = r + x g = g + c elseif( 120 <= h and h < 180 ) then g = g + c b = b + x elseif( 180 <= h and h < 240 ) then g = g + x b = b + c elseif( 240 <= h and h < 300 ) then r = r + x b = b + c elseif( 300 <= h and h < 360 ) then r = r + c b = b + x end return rgbdec2lum(255*r, 255*g, 255*b) else return '' end end local function color2lum( c ) if (c == nil) then return '' end -- whitespace c = c:match( '^%s*(.-)[%s;]*$' ) -- lowercase c = c:lower() -- first try to look it up local L = HTMLcolor[c] if (L ~= nil) then return L end -- convert from hsl if mw.ustring.match(c,'^hsl%([%s]*[0-9][0-9%.]*[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*%)$') then local h, s, l = mw.ustring.match(c,'^hsl%([%s]*([0-9][0-9%.]*)[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*%)$') return hsl2lum(tonumber(h), tonumber(s)/100, tonumber(l)/100) end -- convert from rgb if mw.ustring.match(c,'^rgb%([%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*[%s]*%)$') then local R, G, B = mw.ustring.match(c,'^rgb%([%s]*([0-9][0-9]*)[%s]*,[%s]*([0-9][0-9]*)[%s]*,[%s]*([0-9][0-9]*)[%s]*%)$') return rgbdec2lum(tonumber(R), tonumber(G), tonumber(B)) end -- convert from rgb percent if mw.ustring.match(c,'^rgb%([%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*%)$') then local R, G, B = mw.ustring.match(c,'^rgb%([%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*%)$') return rgbdec2lum(255*tonumber(R)/100, 255*tonumber(G)/100, 255*tonumber(B)/100) end -- remove leading # (if there is one) and whitespace c = mw.ustring.match(c, '^[%s#]*([a-f0-9]*)[%s]*$') -- split into rgb local cs = mw.text.split(c or '', '') if( #cs == 6 ) then local R = 16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[2]) local G = 16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[4]) local B = 16*tonumber('0x' .. cs[5]) + tonumber('0x' .. cs[6]) return rgbdec2lum(R, G, B) elseif ( #cs == 3 ) then local R = 16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[1]) local G = 16*tonumber('0x' .. cs[2]) + tonumber('0x' .. cs[2]) local B = 16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[3]) return rgbdec2lum(R, G, B) end -- failure, return blank return '' end function p._greatercontrast(args) local bias = tonumber(args['bias'] or '0') or 0 local v1 = color2lum(args[1] or '') local c2 = args[2] or '#FFFFFF' local v2 = color2lum(c2) local c3 = args[3] or '#000000' local v3 = color2lum(c3) local ratio1 = 0; local ratio2 = 0; if (type(v1) == 'number' and type(v2) == 'number') then ratio1 = (v2 + 0.05)/(v1 + 0.05) ratio1 = (ratio1 < 1) and 1/ratio1 or ratio1 end if (type(v1) == 'number' and type(v3) == 'number') then ratio2 = (v3 + 0.05)/(v1 + 0.05) ratio2 = (ratio2 < 1) and 1/ratio2 or ratio2 end return (ratio1 + bias > ratio2) and c2 or c3 end function p._ratio(args) local v1 = color2lum(args[1]) local v2 = color2lum(args[2]) if (type(v1) == 'number' and type(v2) == 'number') then -- v1 should be the brighter of the two. if v2 > v1 then v1, v2 = v2, v1 end return (v1 + 0.05)/(v2 + 0.05) else return args['error'] or '?' end end function p._styleratio(args) local style = (args[1] or ''):lower() local bg, fg = (args[2] or 'white'), (args[3] or 'black') local slist = mw.text.split(s or '', ';') for k = 1,#slist do s = slist[k] local k,v = s:match( '^[%s*]([^:]-):([^:]-)[%s;]*$' ) k = k or '' v = v or '' if (k:match('^[%s]*(background)[%s]*$') or k:match('^[%s]*(background-color)[%s]*$')) then bg = v elseif (k:match('^[%s]*(color)[%s]*$')) then fg = v end end return p._ratio({bg, fg, ['error'] = args['error']}) end function p.lum(frame) return color2lum(frame.args[1] or frame:getParent().args[1]) end function p.ratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._ratio(args) end function p.styleratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._styleratio(args) end function p.greatercontrast(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._greatercontrast(args) end return p ntl0ghrs7sa4qpa3t7brx7meuxy5eq8 10012 10011 2015-08-01T15:19:52Z w>Frietjes 0 typos 10012 Scribunto text/plain -- -- This module implements -- {{Color contrast ratio}} -- {{Greater color contrast ratio}} -- {{ColorToLum}} -- {{RGBColorToLum}} -- local p = {} local HTMLcolor = mw.loadData( 'Module:Color contrast/colors' ) local function sRGB ( v ) if (v <= 0.03928) then v = v / 12.92 else v = math.pow((v+0.055)/1.055, 2.4) end return v end local function rgbdec2lum( R, G, B ) if ( 0 <= R and R < 256 and 0 <= G and G < 256 and 0 <= B and B < 256 ) then return 0.2126 * sRGB(R/255) + 0.7152 * sRGB(G/255) + 0.0722 * sRGB(B/255) else return '' end end local function hsl2lum( h, s, l ) if ( 0 <= h and h < 360 and 0 <= s and s <= 1 and 0 <= l and l <= 1 ) then local c = (1 - math.abs(2*l - 1))*s local x = c*(1 - math.abs( math.fmod(h/60, 2) - 1) ) local m = l - c/2 local r, g, b = m, m, m if( 0 <= h and h < 60 ) then r = r + c g = g + x elseif( 60 <= h and h < 120 ) then r = r + x g = g + c elseif( 120 <= h and h < 180 ) then g = g + c b = b + x elseif( 180 <= h and h < 240 ) then g = g + x b = b + c elseif( 240 <= h and h < 300 ) then r = r + x b = b + c elseif( 300 <= h and h < 360 ) then r = r + c b = b + x end return rgbdec2lum(255*r, 255*g, 255*b) else return '' end end local function color2lum( c ) if (c == nil) then return '' end -- whitespace c = c:match( '^%s*(.-)[%s;]*$' ) -- lowercase c = c:lower() -- first try to look it up local L = HTMLcolor[c] if (L ~= nil) then return L end -- convert from hsl if mw.ustring.match(c,'^hsl%([%s]*[0-9][0-9%.]*[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*%)$') then local h, s, l = mw.ustring.match(c,'^hsl%([%s]*([0-9][0-9%.]*)[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*%)$') return hsl2lum(tonumber(h), tonumber(s)/100, tonumber(l)/100) end -- convert from rgb if mw.ustring.match(c,'^rgb%([%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*[%s]*%)$') then local R, G, B = mw.ustring.match(c,'^rgb%([%s]*([0-9][0-9]*)[%s]*,[%s]*([0-9][0-9]*)[%s]*,[%s]*([0-9][0-9]*)[%s]*%)$') return rgbdec2lum(tonumber(R), tonumber(G), tonumber(B)) end -- convert from rgb percent if mw.ustring.match(c,'^rgb%([%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*%)$') then local R, G, B = mw.ustring.match(c,'^rgb%([%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*%)$') return rgbdec2lum(255*tonumber(R)/100, 255*tonumber(G)/100, 255*tonumber(B)/100) end -- remove leading # (if there is one) and whitespace c = mw.ustring.match(c, '^[%s#]*([a-f0-9]*)[%s]*$') -- split into rgb local cs = mw.text.split(c or '', '') if( #cs == 6 ) then local R = 16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[2]) local G = 16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[4]) local B = 16*tonumber('0x' .. cs[5]) + tonumber('0x' .. cs[6]) return rgbdec2lum(R, G, B) elseif ( #cs == 3 ) then local R = 16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[1]) local G = 16*tonumber('0x' .. cs[2]) + tonumber('0x' .. cs[2]) local B = 16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[3]) return rgbdec2lum(R, G, B) end -- failure, return blank return '' end function p._greatercontrast(args) local bias = tonumber(args['bias'] or '0') or 0 local v1 = color2lum(args[1] or '') local c2 = args[2] or '#FFFFFF' local v2 = color2lum(c2) local c3 = args[3] or '#000000' local v3 = color2lum(c3) local ratio1 = 0; local ratio2 = 0; if (type(v1) == 'number' and type(v2) == 'number') then ratio1 = (v2 + 0.05)/(v1 + 0.05) ratio1 = (ratio1 < 1) and 1/ratio1 or ratio1 end if (type(v1) == 'number' and type(v3) == 'number') then ratio2 = (v3 + 0.05)/(v1 + 0.05) ratio2 = (ratio2 < 1) and 1/ratio2 or ratio2 end return (ratio1 + bias > ratio2) and c2 or c3 end function p._ratio(args) local v1 = color2lum(args[1]) local v2 = color2lum(args[2]) if (type(v1) == 'number' and type(v2) == 'number') then -- v1 should be the brighter of the two. if v2 > v1 then v1, v2 = v2, v1 end return (v1 + 0.05)/(v2 + 0.05) else return args['error'] or '?' end end function p._styleratio(args) local style = (args[1] or ''):lower() local bg, fg = (args[2] or 'white'), (args[3] or 'black') local slist = mw.text.split(style or '', ';') for k = 1,#slist do s = slist[k] local k,v = s:match( '^[%s]*([^:]-):([^:]-)[%s;]*$' ) k = k or '' v = v or '' if (k:match('^[%s]*(background)[%s]*$') or k:match('^[%s]*(background-color)[%s]*$')) then bg = v elseif (k:match('^[%s]*(color)[%s]*$')) then fg = v end end return p._ratio({bg, fg, ['error'] = args['error']}) end function p.lum(frame) return color2lum(frame.args[1] or frame:getParent().args[1]) end function p.ratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._ratio(args) end function p.styleratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._styleratio(args) end function p.greatercontrast(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._greatercontrast(args) end return p 3pm8qh05hnxtshsr1mx8n3azr4zbs24 10013 10012 2015-08-01T15:34:44Z w>Frietjes 0 better error checking 10013 Scribunto text/plain -- -- This module implements -- {{Color contrast ratio}} -- {{Greater color contrast ratio}} -- {{ColorToLum}} -- {{RGBColorToLum}} -- local p = {} local HTMLcolor = mw.loadData( 'Module:Color contrast/colors' ) local function sRGB ( v ) if (v <= 0.03928) then v = v / 12.92 else v = math.pow((v+0.055)/1.055, 2.4) end return v end local function rgbdec2lum( R, G, B ) if ( 0 <= R and R < 256 and 0 <= G and G < 256 and 0 <= B and B < 256 ) then return 0.2126 * sRGB(R/255) + 0.7152 * sRGB(G/255) + 0.0722 * sRGB(B/255) else return '' end end local function hsl2lum( h, s, l ) if ( 0 <= h and h < 360 and 0 <= s and s <= 1 and 0 <= l and l <= 1 ) then local c = (1 - math.abs(2*l - 1))*s local x = c*(1 - math.abs( math.fmod(h/60, 2) - 1) ) local m = l - c/2 local r, g, b = m, m, m if( 0 <= h and h < 60 ) then r = r + c g = g + x elseif( 60 <= h and h < 120 ) then r = r + x g = g + c elseif( 120 <= h and h < 180 ) then g = g + c b = b + x elseif( 180 <= h and h < 240 ) then g = g + x b = b + c elseif( 240 <= h and h < 300 ) then r = r + x b = b + c elseif( 300 <= h and h < 360 ) then r = r + c b = b + x end return rgbdec2lum(255*r, 255*g, 255*b) else return '' end end local function color2lum( c ) if (c == nil) then return '' end -- whitespace c = c:match( '^%s*(.-)[%s;]*$' ) -- lowercase c = c:lower() -- first try to look it up local L = HTMLcolor[c] if (L ~= nil) then return L end -- convert from hsl if mw.ustring.match(c,'^hsl%([%s]*[0-9][0-9%.]*[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*%)$') then local h, s, l = mw.ustring.match(c,'^hsl%([%s]*([0-9][0-9%.]*)[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*%)$') return hsl2lum(tonumber(h), tonumber(s)/100, tonumber(l)/100) end -- convert from rgb if mw.ustring.match(c,'^rgb%([%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*[%s]*%)$') then local R, G, B = mw.ustring.match(c,'^rgb%([%s]*([0-9][0-9]*)[%s]*,[%s]*([0-9][0-9]*)[%s]*,[%s]*([0-9][0-9]*)[%s]*%)$') return rgbdec2lum(tonumber(R), tonumber(G), tonumber(B)) end -- convert from rgb percent if mw.ustring.match(c,'^rgb%([%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*%)$') then local R, G, B = mw.ustring.match(c,'^rgb%([%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*%)$') return rgbdec2lum(255*tonumber(R)/100, 255*tonumber(G)/100, 255*tonumber(B)/100) end -- remove leading # (if there is one) and whitespace c = mw.ustring.match(c, '^[%s#]*([a-f0-9]*)[%s]*$') -- split into rgb local cs = mw.text.split(c or '', '') if( #cs == 6 ) then local R = 16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[2]) local G = 16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[4]) local B = 16*tonumber('0x' .. cs[5]) + tonumber('0x' .. cs[6]) return rgbdec2lum(R, G, B) elseif ( #cs == 3 ) then local R = 16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[1]) local G = 16*tonumber('0x' .. cs[2]) + tonumber('0x' .. cs[2]) local B = 16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[3]) return rgbdec2lum(R, G, B) end -- failure, return blank return '' end function p._greatercontrast(args) local bias = tonumber(args['bias'] or '0') or 0 local v1 = color2lum(args[1] or '') local c2 = args[2] or '#FFFFFF' local v2 = color2lum(c2) local c3 = args[3] or '#000000' local v3 = color2lum(c3) local ratio1 = 0; local ratio2 = 0; if (type(v1) == 'number' and type(v2) == 'number') then ratio1 = (v2 + 0.05)/(v1 + 0.05) ratio1 = (ratio1 < 1) and 1/ratio1 or ratio1 end if (type(v1) == 'number' and type(v3) == 'number') then ratio2 = (v3 + 0.05)/(v1 + 0.05) ratio2 = (ratio2 < 1) and 1/ratio2 or ratio2 end return (ratio1 + bias > ratio2) and c2 or c3 end function p._ratio(args) local v1 = color2lum(args[1]) local v2 = color2lum(args[2]) if (type(v1) == 'number' and type(v2) == 'number') then -- v1 should be the brighter of the two. if v2 > v1 then v1, v2 = v2, v1 end return (v1 + 0.05)/(v2 + 0.05) else return args['error'] or '?' end end function p._styleratio(args) local style = (args[1] or ''):lower() local bg, fg = (args[2] or 'white'), (args[3] or 'black') local lum_bg, lum_fg = 1, 0 local slist = mw.text.split(style or '', ';') for k = 1,#slist do s = slist[k] local k,v = s:match( '^[%s]*([^:]-):([^:]-)[%s;]*$' ) k = k or '' v = v or '' if (k:match('^[%s]*(background)[%s]*$') or k:match('^[%s]*(background-color)[%s]*$')) then local lum = color2lum(v) if( lum ~= '' ) then bg, lum_bg = v, lum end elseif (k:match('^[%s]*(color)[%s]*$')) then local lum = color2lum(v) if( lum ~= '' ) then bg, lum_fg = v, lum end end end if lum_bg > lum_fg then return (lum_bg + 0.05)/(lum_fg + 0.05) else return (lum_fg + 0.05)/(lum_bg + 0.05) end end function p.lum(frame) return color2lum(frame.args[1] or frame:getParent().args[1]) end function p.ratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._ratio(args) end function p.styleratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._styleratio(args) end function p.greatercontrast(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._greatercontrast(args) end return p 39vx3v51484bishglg38rq61z95k5rd 10014 10013 2015-08-01T15:36:29Z w>Frietjes 0 10014 Scribunto text/plain -- -- This module implements -- {{Color contrast ratio}} -- {{Greater color contrast ratio}} -- {{ColorToLum}} -- {{RGBColorToLum}} -- local p = {} local HTMLcolor = mw.loadData( 'Module:Color contrast/colors' ) local function sRGB ( v ) if (v <= 0.03928) then v = v / 12.92 else v = math.pow((v+0.055)/1.055, 2.4) end return v end local function rgbdec2lum( R, G, B ) if ( 0 <= R and R < 256 and 0 <= G and G < 256 and 0 <= B and B < 256 ) then return 0.2126 * sRGB(R/255) + 0.7152 * sRGB(G/255) + 0.0722 * sRGB(B/255) else return '' end end local function hsl2lum( h, s, l ) if ( 0 <= h and h < 360 and 0 <= s and s <= 1 and 0 <= l and l <= 1 ) then local c = (1 - math.abs(2*l - 1))*s local x = c*(1 - math.abs( math.fmod(h/60, 2) - 1) ) local m = l - c/2 local r, g, b = m, m, m if( 0 <= h and h < 60 ) then r = r + c g = g + x elseif( 60 <= h and h < 120 ) then r = r + x g = g + c elseif( 120 <= h and h < 180 ) then g = g + c b = b + x elseif( 180 <= h and h < 240 ) then g = g + x b = b + c elseif( 240 <= h and h < 300 ) then r = r + x b = b + c elseif( 300 <= h and h < 360 ) then r = r + c b = b + x end return rgbdec2lum(255*r, 255*g, 255*b) else return '' end end local function color2lum( c ) if (c == nil) then return '' end -- whitespace c = c:match( '^%s*(.-)[%s;]*$' ) -- lowercase c = c:lower() -- first try to look it up local L = HTMLcolor[c] if (L ~= nil) then return L end -- convert from hsl if mw.ustring.match(c,'^hsl%([%s]*[0-9][0-9%.]*[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*%)$') then local h, s, l = mw.ustring.match(c,'^hsl%([%s]*([0-9][0-9%.]*)[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*%)$') return hsl2lum(tonumber(h), tonumber(s)/100, tonumber(l)/100) end -- convert from rgb if mw.ustring.match(c,'^rgb%([%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*[%s]*%)$') then local R, G, B = mw.ustring.match(c,'^rgb%([%s]*([0-9][0-9]*)[%s]*,[%s]*([0-9][0-9]*)[%s]*,[%s]*([0-9][0-9]*)[%s]*%)$') return rgbdec2lum(tonumber(R), tonumber(G), tonumber(B)) end -- convert from rgb percent if mw.ustring.match(c,'^rgb%([%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*%)$') then local R, G, B = mw.ustring.match(c,'^rgb%([%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*%)$') return rgbdec2lum(255*tonumber(R)/100, 255*tonumber(G)/100, 255*tonumber(B)/100) end -- remove leading # (if there is one) and whitespace c = mw.ustring.match(c, '^[%s#]*([a-f0-9]*)[%s]*$') -- split into rgb local cs = mw.text.split(c or '', '') if( #cs == 6 ) then local R = 16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[2]) local G = 16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[4]) local B = 16*tonumber('0x' .. cs[5]) + tonumber('0x' .. cs[6]) return rgbdec2lum(R, G, B) elseif ( #cs == 3 ) then local R = 16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[1]) local G = 16*tonumber('0x' .. cs[2]) + tonumber('0x' .. cs[2]) local B = 16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[3]) return rgbdec2lum(R, G, B) end -- failure, return blank return '' end function p._greatercontrast(args) local bias = tonumber(args['bias'] or '0') or 0 local v1 = color2lum(args[1] or '') local c2 = args[2] or '#FFFFFF' local v2 = color2lum(c2) local c3 = args[3] or '#000000' local v3 = color2lum(c3) local ratio1 = 0; local ratio2 = 0; if (type(v1) == 'number' and type(v2) == 'number') then ratio1 = (v2 + 0.05)/(v1 + 0.05) ratio1 = (ratio1 < 1) and 1/ratio1 or ratio1 end if (type(v1) == 'number' and type(v3) == 'number') then ratio2 = (v3 + 0.05)/(v1 + 0.05) ratio2 = (ratio2 < 1) and 1/ratio2 or ratio2 end return (ratio1 + bias > ratio2) and c2 or c3 end function p._ratio(args) local v1 = color2lum(args[1]) local v2 = color2lum(args[2]) if (type(v1) == 'number' and type(v2) == 'number') then -- v1 should be the brighter of the two. if v2 > v1 then v1, v2 = v2, v1 end return (v1 + 0.05)/(v2 + 0.05) else return args['error'] or '?' end end function p._styleratio(args) local style = (args[1] or ''):lower() local bg, fg = (args[2] or 'white'), (args[3] or 'black') local lum_bg, lum_fg = 1, 0 local slist = mw.text.split(style or '', ';') for k = 1,#slist do s = slist[k] local k,v = s:match( '^[%s]*([^:]-):([^:]-)[%s;]*$' ) k = k or '' v = v or '' if (k:match('^[%s]*(background)[%s]*$') or k:match('^[%s]*(background%-color)[%s]*$')) then local lum = color2lum(v) if( lum ~= '' ) then bg, lum_bg = v, lum end elseif (k:match('^[%s]*(color)[%s]*$')) then local lum = color2lum(v) if( lum ~= '' ) then bg, lum_fg = v, lum end end end if lum_bg > lum_fg then return (lum_bg + 0.05)/(lum_fg + 0.05) else return (lum_fg + 0.05)/(lum_bg + 0.05) end end function p.lum(frame) return color2lum(frame.args[1] or frame:getParent().args[1]) end function p.ratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._ratio(args) end function p.styleratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._styleratio(args) end function p.greatercontrast(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._greatercontrast(args) end return p 6ife1kpate7ouctjn2da1lu224vqi4f 10015 10014 2015-08-01T16:01:11Z w>Frietjes 0 better error checking 10015 Scribunto text/plain -- -- This module implements -- {{Color contrast ratio}} -- {{Greater color contrast ratio}} -- {{ColorToLum}} -- {{RGBColorToLum}} -- local p = {} local HTMLcolor = mw.loadData( 'Module:Color contrast/colors' ) local function sRGB ( v ) if (v <= 0.03928) then v = v / 12.92 else v = math.pow((v+0.055)/1.055, 2.4) end return v end local function rgbdec2lum( R, G, B ) if ( 0 <= R and R < 256 and 0 <= G and G < 256 and 0 <= B and B < 256 ) then return 0.2126 * sRGB(R/255) + 0.7152 * sRGB(G/255) + 0.0722 * sRGB(B/255) else return '' end end local function hsl2lum( h, s, l ) if ( 0 <= h and h < 360 and 0 <= s and s <= 1 and 0 <= l and l <= 1 ) then local c = (1 - math.abs(2*l - 1))*s local x = c*(1 - math.abs( math.fmod(h/60, 2) - 1) ) local m = l - c/2 local r, g, b = m, m, m if( 0 <= h and h < 60 ) then r = r + c g = g + x elseif( 60 <= h and h < 120 ) then r = r + x g = g + c elseif( 120 <= h and h < 180 ) then g = g + c b = b + x elseif( 180 <= h and h < 240 ) then g = g + x b = b + c elseif( 240 <= h and h < 300 ) then r = r + x b = b + c elseif( 300 <= h and h < 360 ) then r = r + c b = b + x end return rgbdec2lum(255*r, 255*g, 255*b) else return '' end end local function color2lum( c ) if (c == nil) then return '' end -- whitespace c = c:match( '^%s*(.-)[%s;]*$' ) -- lowercase c = c:lower() -- first try to look it up local L = HTMLcolor[c] if (L ~= nil) then return L end -- convert from hsl if mw.ustring.match(c,'^hsl%([%s]*[0-9][0-9%.]*[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*%)$') then local h, s, l = mw.ustring.match(c,'^hsl%([%s]*([0-9][0-9%.]*)[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*%)$') return hsl2lum(tonumber(h), tonumber(s)/100, tonumber(l)/100) end -- convert from rgb if mw.ustring.match(c,'^rgb%([%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*[%s]*%)$') then local R, G, B = mw.ustring.match(c,'^rgb%([%s]*([0-9][0-9]*)[%s]*,[%s]*([0-9][0-9]*)[%s]*,[%s]*([0-9][0-9]*)[%s]*%)$') return rgbdec2lum(tonumber(R), tonumber(G), tonumber(B)) end -- convert from rgb percent if mw.ustring.match(c,'^rgb%([%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*%)$') then local R, G, B = mw.ustring.match(c,'^rgb%([%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*%)$') return rgbdec2lum(255*tonumber(R)/100, 255*tonumber(G)/100, 255*tonumber(B)/100) end -- remove leading # (if there is one) and whitespace c = mw.ustring.match(c, '^[%s#]*([a-f0-9]*)[%s]*$') -- split into rgb local cs = mw.text.split(c or '', '') if( #cs == 6 ) then local R = 16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[2]) local G = 16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[4]) local B = 16*tonumber('0x' .. cs[5]) + tonumber('0x' .. cs[6]) return rgbdec2lum(R, G, B) elseif ( #cs == 3 ) then local R = 16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[1]) local G = 16*tonumber('0x' .. cs[2]) + tonumber('0x' .. cs[2]) local B = 16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[3]) return rgbdec2lum(R, G, B) end -- failure, return blank return '' end function p._greatercontrast(args) local bias = tonumber(args['bias'] or '0') or 0 local v1 = color2lum(args[1] or '') local c2 = args[2] or '#FFFFFF' local v2 = color2lum(c2) local c3 = args[3] or '#000000' local v3 = color2lum(c3) local ratio1 = 0; local ratio2 = 0; if (type(v1) == 'number' and type(v2) == 'number') then ratio1 = (v2 + 0.05)/(v1 + 0.05) ratio1 = (ratio1 < 1) and 1/ratio1 or ratio1 end if (type(v1) == 'number' and type(v3) == 'number') then ratio2 = (v3 + 0.05)/(v1 + 0.05) ratio2 = (ratio2 < 1) and 1/ratio2 or ratio2 end return (ratio1 + bias > ratio2) and c2 or c3 end function p._ratio(args) local v1 = color2lum(args[1]) local v2 = color2lum(args[2]) if (type(v1) == 'number' and type(v2) == 'number') then -- v1 should be the brighter of the two. if v2 > v1 then v1, v2 = v2, v1 end return (v1 + 0.05)/(v2 + 0.05) else return args['error'] or '?' end end function p._styleratio(args) local style = (args[1] or ''):lower() local bg, fg = 'white', 'black' local lum_bg, lum_fg = 1, 0 if args[2] then local lum = color2lum(args[2]) if lum ~= '' then bg, lum_bg = args[2], lum end end if args[3] then local lum = color2lum(args[3]) if lum ~= '' then fg, lum_fg = args[3], lum end end local slist = mw.text.split(style or '', ';') for k = 1,#slist do s = slist[k] local k,v = s:match( '^[%s]*([^:]-):([^:]-)[%s;]*$' ) k = k or '' v = v or '' if (k:match('^[%s]*(background)[%s]*$') or k:match('^[%s]*(background%-color)[%s]*$')) then local lum = color2lum(v) if( lum ~= '' ) then bg, lum_bg = v, lum end elseif (k:match('^[%s]*(color)[%s]*$')) then local lum = color2lum(v) if( lum ~= '' ) then bg, lum_fg = v, lum end end end if lum_bg > lum_fg then return (lum_bg + 0.05)/(lum_fg + 0.05) else return (lum_fg + 0.05)/(lum_bg + 0.05) end end function p.lum(frame) return color2lum(frame.args[1] or frame:getParent().args[1]) end function p.ratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._ratio(args) end function p.styleratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._styleratio(args) end function p.greatercontrast(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._greatercontrast(args) end return p gocswq8zlev167ctdtcpva415vpor45 10016 10015 2015-09-06T11:57:11Z w>Kephir 0 rudimentary CSS parser 10016 Scribunto text/plain -- -- This module implements -- {{Color contrast ratio}} -- {{Greater color contrast ratio}} -- {{ColorToLum}} -- {{RGBColorToLum}} -- local p = {} local HTMLcolor = mw.loadData( 'Module:Color contrast/colors' ) local function sRGB ( v ) if (v <= 0.03928) then v = v / 12.92 else v = math.pow((v+0.055)/1.055, 2.4) end return v end local function rgbdec2lum( R, G, B ) if ( 0 <= R and R < 256 and 0 <= G and G < 256 and 0 <= B and B < 256 ) then return 0.2126 * sRGB(R/255) + 0.7152 * sRGB(G/255) + 0.0722 * sRGB(B/255) else return '' end end local function hsl2lum( h, s, l ) if ( 0 <= h and h < 360 and 0 <= s and s <= 1 and 0 <= l and l <= 1 ) then local c = (1 - math.abs(2*l - 1))*s local x = c*(1 - math.abs( math.fmod(h/60, 2) - 1) ) local m = l - c/2 local r, g, b = m, m, m if( 0 <= h and h < 60 ) then r = r + c g = g + x elseif( 60 <= h and h < 120 ) then r = r + x g = g + c elseif( 120 <= h and h < 180 ) then g = g + c b = b + x elseif( 180 <= h and h < 240 ) then g = g + x b = b + c elseif( 240 <= h and h < 300 ) then r = r + x b = b + c elseif( 300 <= h and h < 360 ) then r = r + c b = b + x end return rgbdec2lum(255*r, 255*g, 255*b) else return '' end end local function color2lum( c ) if (c == nil) then return '' end -- whitespace c = c:match( '^%s*(.-)[%s;]*$' ) -- lowercase c = c:lower() -- first try to look it up local L = HTMLcolor[c] if (L ~= nil) then return L end -- convert from hsl if mw.ustring.match(c,'^hsl%([%s]*[0-9][0-9%.]*[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*%)$') then local h, s, l = mw.ustring.match(c,'^hsl%([%s]*([0-9][0-9%.]*)[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*%)$') return hsl2lum(tonumber(h), tonumber(s)/100, tonumber(l)/100) end -- convert from rgb if mw.ustring.match(c,'^rgb%([%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*[%s]*%)$') then local R, G, B = mw.ustring.match(c,'^rgb%([%s]*([0-9][0-9]*)[%s]*,[%s]*([0-9][0-9]*)[%s]*,[%s]*([0-9][0-9]*)[%s]*%)$') return rgbdec2lum(tonumber(R), tonumber(G), tonumber(B)) end -- convert from rgb percent if mw.ustring.match(c,'^rgb%([%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*%)$') then local R, G, B = mw.ustring.match(c,'^rgb%([%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*%)$') return rgbdec2lum(255*tonumber(R)/100, 255*tonumber(G)/100, 255*tonumber(B)/100) end -- remove leading # (if there is one) and whitespace c = mw.ustring.match(c, '^[%s#]*([a-f0-9]*)[%s]*$') -- split into rgb local cs = mw.text.split(c or '', '') if( #cs == 6 ) then local R = 16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[2]) local G = 16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[4]) local B = 16*tonumber('0x' .. cs[5]) + tonumber('0x' .. cs[6]) return rgbdec2lum(R, G, B) elseif ( #cs == 3 ) then local R = 16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[1]) local G = 16*tonumber('0x' .. cs[2]) + tonumber('0x' .. cs[2]) local B = 16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[3]) return rgbdec2lum(R, G, B) end -- failure, return blank return '' end function p._greatercontrast(args) local bias = tonumber(args['bias'] or '0') or 0 local v1 = color2lum(args[1] or '') local c2 = args[2] or '#FFFFFF' local v2 = color2lum(c2) local c3 = args[3] or '#000000' local v3 = color2lum(c3) local ratio1 = 0; local ratio2 = 0; if (type(v1) == 'number' and type(v2) == 'number') then ratio1 = (v2 + 0.05)/(v1 + 0.05) ratio1 = (ratio1 < 1) and 1/ratio1 or ratio1 end if (type(v1) == 'number' and type(v3) == 'number') then ratio2 = (v3 + 0.05)/(v1 + 0.05) ratio2 = (ratio2 < 1) and 1/ratio2 or ratio2 end return (ratio1 + bias > ratio2) and c2 or c3 end function p._ratio(args) local v1 = color2lum(args[1]) local v2 = color2lum(args[2]) if (type(v1) == 'number' and type(v2) == 'number') then -- v1 should be the brighter of the two. if v2 > v1 then v1, v2 = v2, v1 end return (v1 + 0.05)/(v2 + 0.05) else return args['error'] or '?' end end function p._styleratio(args) local style = (args[1] or ''):lower() local bg, fg = 'white', 'black' local lum_bg, lum_fg = 1, 0 if args[2] then local lum = color2lum(args[2]) if lum ~= '' then bg, lum_bg = args[2], lum end end if args[3] then local lum = color2lum(args[3]) if lum ~= '' then fg, lum_fg = args[3], lum end end local slist = mw.text.split(style or '', ';') for k = 1,#slist do s = slist[k] local k,v = s:match( '^[%s]*([^:]-):([^:]-)[%s;]*$' ) k = k or '' v = v or '' if (k:match('^[%s]*(background)[%s]*$') or k:match('^[%s]*(background%-color)[%s]*$')) then local lum = color2lum(v) if( lum ~= '' ) then bg, lum_bg = v, lum end elseif (k:match('^[%s]*(color)[%s]*$')) then local lum = color2lum(v) if( lum ~= '' ) then bg, lum_fg = v, lum end end end if lum_bg > lum_fg then return (lum_bg + 0.05)/(lum_fg + 0.05) else return (lum_fg + 0.05)/(lum_bg + 0.05) end end function p.lum(frame) return color2lum(frame.args[1] or frame:getParent().args[1]) end function p.ratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._ratio(args) end function p.styleratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._styleratio(args) end function p.greatercontrast(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._greatercontrast(args) end -- warning: crude! may be fooled by sufficientry tricky CSS function p.extract_css_colors(css, e) local fgcolor, bgcolor css = css:gsub("/%*.-%*/", "") for name, value in string.gmatch(css, "([a-z-]*)%s*:%s*([^;]*)") do value = mw.text.trim(value) if name == 'color' then fgcolor = value elseif name == 'background-color' then bgcolor = value elseif name == 'background' then value = value:gsub("url%((['\"]?).-%1%)", "") bgcolor = value:match("#[0-9A-Fa-f]*") or value:match("rgba?%([0-9.%, ]*%)") or value:match("hsla?%([0-9.%, ]*%)") if not bgcolor then value = value:gsub("[0-9.][0-9.]*[%%a-z][a-z]?[a-z]?", "") value = value:gsub("auto", ""):gsub("cover", ""):gsub("contain", "") value = value:gsub("scroll", ""):gsub("fixed", ""):gsub("local", "") value = value:gsub("left", ""):gsub("right", ""):gsub("top", ""):gsub("bottom", ""):gsub("center", "") value = value:gsub("no%-repeat", ""):gsub("repeat", ""):gsub("repeat%-[xy]", ""):gsub("space", ""):gsub("round", "") value = value:gsub("border%-box", ""):gsub("padding%-box", ""):gsub("content%-box", "") bgcolor = mw.text.trim(value) end end end return fgcolor, bgcolor end return p ertx7zt2hw4ra2xgm9usu9rolum9sc1 10017 10016 2015-09-06T12:08:24Z w>Kephir 0 Sigh. I should read the code sometimes, however ugly it may be. 10017 Scribunto text/plain -- -- This module implements -- {{Color contrast ratio}} -- {{Greater color contrast ratio}} -- {{ColorToLum}} -- {{RGBColorToLum}} -- local p = {} local HTMLcolor = mw.loadData( 'Module:Color contrast/colors' ) local function sRGB ( v ) if (v <= 0.03928) then v = v / 12.92 else v = math.pow((v+0.055)/1.055, 2.4) end return v end local function rgbdec2lum( R, G, B ) if ( 0 <= R and R < 256 and 0 <= G and G < 256 and 0 <= B and B < 256 ) then return 0.2126 * sRGB(R/255) + 0.7152 * sRGB(G/255) + 0.0722 * sRGB(B/255) else return '' end end local function hsl2lum( h, s, l ) if ( 0 <= h and h < 360 and 0 <= s and s <= 1 and 0 <= l and l <= 1 ) then local c = (1 - math.abs(2*l - 1))*s local x = c*(1 - math.abs( math.fmod(h/60, 2) - 1) ) local m = l - c/2 local r, g, b = m, m, m if( 0 <= h and h < 60 ) then r = r + c g = g + x elseif( 60 <= h and h < 120 ) then r = r + x g = g + c elseif( 120 <= h and h < 180 ) then g = g + c b = b + x elseif( 180 <= h and h < 240 ) then g = g + x b = b + c elseif( 240 <= h and h < 300 ) then r = r + x b = b + c elseif( 300 <= h and h < 360 ) then r = r + c b = b + x end return rgbdec2lum(255*r, 255*g, 255*b) else return '' end end local function color2lum( c ) if (c == nil) then return '' end -- whitespace c = c:match( '^%s*(.-)[%s;]*$' ) -- lowercase c = c:lower() -- first try to look it up local L = HTMLcolor[c] if (L ~= nil) then return L end -- convert from hsl if mw.ustring.match(c,'^hsl%([%s]*[0-9][0-9%.]*[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*%)$') then local h, s, l = mw.ustring.match(c,'^hsl%([%s]*([0-9][0-9%.]*)[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*%)$') return hsl2lum(tonumber(h), tonumber(s)/100, tonumber(l)/100) end -- convert from rgb if mw.ustring.match(c,'^rgb%([%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*[%s]*%)$') then local R, G, B = mw.ustring.match(c,'^rgb%([%s]*([0-9][0-9]*)[%s]*,[%s]*([0-9][0-9]*)[%s]*,[%s]*([0-9][0-9]*)[%s]*%)$') return rgbdec2lum(tonumber(R), tonumber(G), tonumber(B)) end -- convert from rgb percent if mw.ustring.match(c,'^rgb%([%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*%)$') then local R, G, B = mw.ustring.match(c,'^rgb%([%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*%)$') return rgbdec2lum(255*tonumber(R)/100, 255*tonumber(G)/100, 255*tonumber(B)/100) end -- remove leading # (if there is one) and whitespace c = mw.ustring.match(c, '^[%s#]*([a-f0-9]*)[%s]*$') -- split into rgb local cs = mw.text.split(c or '', '') if( #cs == 6 ) then local R = 16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[2]) local G = 16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[4]) local B = 16*tonumber('0x' .. cs[5]) + tonumber('0x' .. cs[6]) return rgbdec2lum(R, G, B) elseif ( #cs == 3 ) then local R = 16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[1]) local G = 16*tonumber('0x' .. cs[2]) + tonumber('0x' .. cs[2]) local B = 16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[3]) return rgbdec2lum(R, G, B) end -- failure, return blank return '' end function p._greatercontrast(args) local bias = tonumber(args['bias'] or '0') or 0 local v1 = color2lum(args[1] or '') local c2 = args[2] or '#FFFFFF' local v2 = color2lum(c2) local c3 = args[3] or '#000000' local v3 = color2lum(c3) local ratio1 = 0; local ratio2 = 0; if (type(v1) == 'number' and type(v2) == 'number') then ratio1 = (v2 + 0.05)/(v1 + 0.05) ratio1 = (ratio1 < 1) and 1/ratio1 or ratio1 end if (type(v1) == 'number' and type(v3) == 'number') then ratio2 = (v3 + 0.05)/(v1 + 0.05) ratio2 = (ratio2 < 1) and 1/ratio2 or ratio2 end return (ratio1 + bias > ratio2) and c2 or c3 end function p._ratio(args) local v1 = color2lum(args[1]) local v2 = color2lum(args[2]) if (type(v1) == 'number' and type(v2) == 'number') then -- v1 should be the brighter of the two. if v2 > v1 then v1, v2 = v2, v1 end return (v1 + 0.05)/(v2 + 0.05) else return args['error'] or '?' end end function p._styleratio(args) local style = (args[1] or ''):lower() local bg, fg = 'white', 'black' local lum_bg, lum_fg = 1, 0 if args[2] then local lum = color2lum(args[2]) if lum ~= '' then bg, lum_bg = args[2], lum end end if args[3] then local lum = color2lum(args[3]) if lum ~= '' then fg, lum_fg = args[3], lum end end local slist = mw.text.split(style or '', ';') for k = 1,#slist do s = slist[k] local k,v = s:match( '^[%s]*([^:]-):([^:]-)[%s;]*$' ) k = k or '' v = v or '' if (k:match('^[%s]*(background)[%s]*$') or k:match('^[%s]*(background%-color)[%s]*$')) then local lum = color2lum(v) if( lum ~= '' ) then bg, lum_bg = v, lum end elseif (k:match('^[%s]*(color)[%s]*$')) then local lum = color2lum(v) if( lum ~= '' ) then bg, lum_fg = v, lum end end end if lum_bg > lum_fg then return (lum_bg + 0.05)/(lum_fg + 0.05) else return (lum_fg + 0.05)/(lum_bg + 0.05) end end function p.lum(frame) return color2lum(frame.args[1] or frame:getParent().args[1]) end function p.ratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._ratio(args) end function p.styleratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._styleratio(args) end function p.greatercontrast(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._greatercontrast(args) end return p gocswq8zlev167ctdtcpva415vpor45 10018 9975 2016-06-18T14:54:57Z w>Mr. Stradivarius 0 if there are nowiki strip markers in the color string, unstrip them 10018 Scribunto text/plain -- -- This module implements -- {{Color contrast ratio}} -- {{Greater color contrast ratio}} -- {{ColorToLum}} -- {{RGBColorToLum}} -- local p = {} local HTMLcolor = mw.loadData( 'Module:Color contrast/colors' ) local function sRGB ( v ) if (v <= 0.03928) then v = v / 12.92 else v = math.pow((v+0.055)/1.055, 2.4) end return v end local function rgbdec2lum( R, G, B ) if ( 0 <= R and R < 256 and 0 <= G and G < 256 and 0 <= B and B < 256 ) then return 0.2126 * sRGB(R/255) + 0.7152 * sRGB(G/255) + 0.0722 * sRGB(B/255) else return '' end end local function hsl2lum( h, s, l ) if ( 0 <= h and h < 360 and 0 <= s and s <= 1 and 0 <= l and l <= 1 ) then local c = (1 - math.abs(2*l - 1))*s local x = c*(1 - math.abs( math.fmod(h/60, 2) - 1) ) local m = l - c/2 local r, g, b = m, m, m if( 0 <= h and h < 60 ) then r = r + c g = g + x elseif( 60 <= h and h < 120 ) then r = r + x g = g + c elseif( 120 <= h and h < 180 ) then g = g + c b = b + x elseif( 180 <= h and h < 240 ) then g = g + x b = b + c elseif( 240 <= h and h < 300 ) then r = r + x b = b + c elseif( 300 <= h and h < 360 ) then r = r + c b = b + x end return rgbdec2lum(255*r, 255*g, 255*b) else return '' end end local function color2lum( c ) if (c == nil) then return '' end -- whitespace c = c:match( '^%s*(.-)[%s;]*$' ) -- unstrip nowiki strip markers c = mw.text.unstripNoWiki(c) -- lowercase c = c:lower() -- first try to look it up local L = HTMLcolor[c] if (L ~= nil) then return L end -- convert from hsl if mw.ustring.match(c,'^hsl%([%s]*[0-9][0-9%.]*[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*%)$') then local h, s, l = mw.ustring.match(c,'^hsl%([%s]*([0-9][0-9%.]*)[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*%)$') return hsl2lum(tonumber(h), tonumber(s)/100, tonumber(l)/100) end -- convert from rgb if mw.ustring.match(c,'^rgb%([%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*[%s]*%)$') then local R, G, B = mw.ustring.match(c,'^rgb%([%s]*([0-9][0-9]*)[%s]*,[%s]*([0-9][0-9]*)[%s]*,[%s]*([0-9][0-9]*)[%s]*%)$') return rgbdec2lum(tonumber(R), tonumber(G), tonumber(B)) end -- convert from rgb percent if mw.ustring.match(c,'^rgb%([%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*%)$') then local R, G, B = mw.ustring.match(c,'^rgb%([%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*%)$') return rgbdec2lum(255*tonumber(R)/100, 255*tonumber(G)/100, 255*tonumber(B)/100) end -- remove leading # (if there is one) and whitespace c = mw.ustring.match(c, '^[%s#]*([a-f0-9]*)[%s]*$') -- split into rgb local cs = mw.text.split(c or '', '') if( #cs == 6 ) then local R = 16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[2]) local G = 16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[4]) local B = 16*tonumber('0x' .. cs[5]) + tonumber('0x' .. cs[6]) return rgbdec2lum(R, G, B) elseif ( #cs == 3 ) then local R = 16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[1]) local G = 16*tonumber('0x' .. cs[2]) + tonumber('0x' .. cs[2]) local B = 16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[3]) return rgbdec2lum(R, G, B) end -- failure, return blank return '' end function p._greatercontrast(args) local bias = tonumber(args['bias'] or '0') or 0 local v1 = color2lum(args[1] or '') local c2 = args[2] or '#FFFFFF' local v2 = color2lum(c2) local c3 = args[3] or '#000000' local v3 = color2lum(c3) local ratio1 = 0; local ratio2 = 0; if (type(v1) == 'number' and type(v2) == 'number') then ratio1 = (v2 + 0.05)/(v1 + 0.05) ratio1 = (ratio1 < 1) and 1/ratio1 or ratio1 end if (type(v1) == 'number' and type(v3) == 'number') then ratio2 = (v3 + 0.05)/(v1 + 0.05) ratio2 = (ratio2 < 1) and 1/ratio2 or ratio2 end return (ratio1 + bias > ratio2) and c2 or c3 end function p._ratio(args) local v1 = color2lum(args[1]) local v2 = color2lum(args[2]) if (type(v1) == 'number' and type(v2) == 'number') then -- v1 should be the brighter of the two. if v2 > v1 then v1, v2 = v2, v1 end return (v1 + 0.05)/(v2 + 0.05) else return args['error'] or '?' end end function p._styleratio(args) local style = (args[1] or ''):lower() local bg, fg = 'white', 'black' local lum_bg, lum_fg = 1, 0 if args[2] then local lum = color2lum(args[2]) if lum ~= '' then bg, lum_bg = args[2], lum end end if args[3] then local lum = color2lum(args[3]) if lum ~= '' then fg, lum_fg = args[3], lum end end local slist = mw.text.split(style or '', ';') for k = 1,#slist do s = slist[k] local k,v = s:match( '^[%s]*([^:]-):([^:]-)[%s;]*$' ) k = k or '' v = v or '' if (k:match('^[%s]*(background)[%s]*$') or k:match('^[%s]*(background%-color)[%s]*$')) then local lum = color2lum(v) if( lum ~= '' ) then bg, lum_bg = v, lum end elseif (k:match('^[%s]*(color)[%s]*$')) then local lum = color2lum(v) if( lum ~= '' ) then bg, lum_fg = v, lum end end end if lum_bg > lum_fg then return (lum_bg + 0.05)/(lum_fg + 0.05) else return (lum_fg + 0.05)/(lum_bg + 0.05) end end function p.lum(frame) return color2lum(frame.args[1] or frame:getParent().args[1]) end function p.ratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._ratio(args) end function p.styleratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._styleratio(args) end function p.greatercontrast(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._greatercontrast(args) end return p hvtmcsb4mviz7lzj6tgvyp5kohk0vr7 10019 10018 2016-10-26T08:32:15Z w>Zzuuzz 0 Changed protection level of Module:Color contrast: [[Wikipedia:High-risk templates|High risk module]] 235k+ transclusions ([Edit=Require template editor access] (indefinite) [Move=Require template editor access] (indefinite)) 10018 Scribunto text/plain -- -- This module implements -- {{Color contrast ratio}} -- {{Greater color contrast ratio}} -- {{ColorToLum}} -- {{RGBColorToLum}} -- local p = {} local HTMLcolor = mw.loadData( 'Module:Color contrast/colors' ) local function sRGB ( v ) if (v <= 0.03928) then v = v / 12.92 else v = math.pow((v+0.055)/1.055, 2.4) end return v end local function rgbdec2lum( R, G, B ) if ( 0 <= R and R < 256 and 0 <= G and G < 256 and 0 <= B and B < 256 ) then return 0.2126 * sRGB(R/255) + 0.7152 * sRGB(G/255) + 0.0722 * sRGB(B/255) else return '' end end local function hsl2lum( h, s, l ) if ( 0 <= h and h < 360 and 0 <= s and s <= 1 and 0 <= l and l <= 1 ) then local c = (1 - math.abs(2*l - 1))*s local x = c*(1 - math.abs( math.fmod(h/60, 2) - 1) ) local m = l - c/2 local r, g, b = m, m, m if( 0 <= h and h < 60 ) then r = r + c g = g + x elseif( 60 <= h and h < 120 ) then r = r + x g = g + c elseif( 120 <= h and h < 180 ) then g = g + c b = b + x elseif( 180 <= h and h < 240 ) then g = g + x b = b + c elseif( 240 <= h and h < 300 ) then r = r + x b = b + c elseif( 300 <= h and h < 360 ) then r = r + c b = b + x end return rgbdec2lum(255*r, 255*g, 255*b) else return '' end end local function color2lum( c ) if (c == nil) then return '' end -- whitespace c = c:match( '^%s*(.-)[%s;]*$' ) -- unstrip nowiki strip markers c = mw.text.unstripNoWiki(c) -- lowercase c = c:lower() -- first try to look it up local L = HTMLcolor[c] if (L ~= nil) then return L end -- convert from hsl if mw.ustring.match(c,'^hsl%([%s]*[0-9][0-9%.]*[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*%)$') then local h, s, l = mw.ustring.match(c,'^hsl%([%s]*([0-9][0-9%.]*)[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*%)$') return hsl2lum(tonumber(h), tonumber(s)/100, tonumber(l)/100) end -- convert from rgb if mw.ustring.match(c,'^rgb%([%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*[%s]*%)$') then local R, G, B = mw.ustring.match(c,'^rgb%([%s]*([0-9][0-9]*)[%s]*,[%s]*([0-9][0-9]*)[%s]*,[%s]*([0-9][0-9]*)[%s]*%)$') return rgbdec2lum(tonumber(R), tonumber(G), tonumber(B)) end -- convert from rgb percent if mw.ustring.match(c,'^rgb%([%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*%)$') then local R, G, B = mw.ustring.match(c,'^rgb%([%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*%)$') return rgbdec2lum(255*tonumber(R)/100, 255*tonumber(G)/100, 255*tonumber(B)/100) end -- remove leading # (if there is one) and whitespace c = mw.ustring.match(c, '^[%s#]*([a-f0-9]*)[%s]*$') -- split into rgb local cs = mw.text.split(c or '', '') if( #cs == 6 ) then local R = 16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[2]) local G = 16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[4]) local B = 16*tonumber('0x' .. cs[5]) + tonumber('0x' .. cs[6]) return rgbdec2lum(R, G, B) elseif ( #cs == 3 ) then local R = 16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[1]) local G = 16*tonumber('0x' .. cs[2]) + tonumber('0x' .. cs[2]) local B = 16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[3]) return rgbdec2lum(R, G, B) end -- failure, return blank return '' end function p._greatercontrast(args) local bias = tonumber(args['bias'] or '0') or 0 local v1 = color2lum(args[1] or '') local c2 = args[2] or '#FFFFFF' local v2 = color2lum(c2) local c3 = args[3] or '#000000' local v3 = color2lum(c3) local ratio1 = 0; local ratio2 = 0; if (type(v1) == 'number' and type(v2) == 'number') then ratio1 = (v2 + 0.05)/(v1 + 0.05) ratio1 = (ratio1 < 1) and 1/ratio1 or ratio1 end if (type(v1) == 'number' and type(v3) == 'number') then ratio2 = (v3 + 0.05)/(v1 + 0.05) ratio2 = (ratio2 < 1) and 1/ratio2 or ratio2 end return (ratio1 + bias > ratio2) and c2 or c3 end function p._ratio(args) local v1 = color2lum(args[1]) local v2 = color2lum(args[2]) if (type(v1) == 'number' and type(v2) == 'number') then -- v1 should be the brighter of the two. if v2 > v1 then v1, v2 = v2, v1 end return (v1 + 0.05)/(v2 + 0.05) else return args['error'] or '?' end end function p._styleratio(args) local style = (args[1] or ''):lower() local bg, fg = 'white', 'black' local lum_bg, lum_fg = 1, 0 if args[2] then local lum = color2lum(args[2]) if lum ~= '' then bg, lum_bg = args[2], lum end end if args[3] then local lum = color2lum(args[3]) if lum ~= '' then fg, lum_fg = args[3], lum end end local slist = mw.text.split(style or '', ';') for k = 1,#slist do s = slist[k] local k,v = s:match( '^[%s]*([^:]-):([^:]-)[%s;]*$' ) k = k or '' v = v or '' if (k:match('^[%s]*(background)[%s]*$') or k:match('^[%s]*(background%-color)[%s]*$')) then local lum = color2lum(v) if( lum ~= '' ) then bg, lum_bg = v, lum end elseif (k:match('^[%s]*(color)[%s]*$')) then local lum = color2lum(v) if( lum ~= '' ) then bg, lum_fg = v, lum end end end if lum_bg > lum_fg then return (lum_bg + 0.05)/(lum_fg + 0.05) else return (lum_fg + 0.05)/(lum_bg + 0.05) end end function p.lum(frame) return color2lum(frame.args[1] or frame:getParent().args[1]) end function p.ratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._ratio(args) end function p.styleratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._styleratio(args) end function p.greatercontrast(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._greatercontrast(args) end return p hvtmcsb4mviz7lzj6tgvyp5kohk0vr7 10020 10019 2017-01-02T15:13:52Z w>Frietjes 0 html # 10020 Scribunto text/plain -- -- This module implements -- {{Color contrast ratio}} -- {{Greater color contrast ratio}} -- {{ColorToLum}} -- {{RGBColorToLum}} -- local p = {} local HTMLcolor = mw.loadData( 'Module:Color contrast/colors' ) local function sRGB ( v ) if (v <= 0.03928) then v = v / 12.92 else v = math.pow((v+0.055)/1.055, 2.4) end return v end local function rgbdec2lum( R, G, B ) if ( 0 <= R and R < 256 and 0 <= G and G < 256 and 0 <= B and B < 256 ) then return 0.2126 * sRGB(R/255) + 0.7152 * sRGB(G/255) + 0.0722 * sRGB(B/255) else return '' end end local function hsl2lum( h, s, l ) if ( 0 <= h and h < 360 and 0 <= s and s <= 1 and 0 <= l and l <= 1 ) then local c = (1 - math.abs(2*l - 1))*s local x = c*(1 - math.abs( math.fmod(h/60, 2) - 1) ) local m = l - c/2 local r, g, b = m, m, m if( 0 <= h and h < 60 ) then r = r + c g = g + x elseif( 60 <= h and h < 120 ) then r = r + x g = g + c elseif( 120 <= h and h < 180 ) then g = g + c b = b + x elseif( 180 <= h and h < 240 ) then g = g + x b = b + c elseif( 240 <= h and h < 300 ) then r = r + x b = b + c elseif( 300 <= h and h < 360 ) then r = r + c b = b + x end return rgbdec2lum(255*r, 255*g, 255*b) else return '' end end local function color2lum( c ) if (c == nil) then return '' end -- whitespace c = c:match( '^%s*(.-)[%s;]*$' ) -- unstrip nowiki strip markers c = mw.text.unstripNoWiki(c) -- lowercase c = c:lower() -- first try to look it up local L = HTMLcolor[c] if (L ~= nil) then return L end -- convert from hsl if mw.ustring.match(c,'^hsl%([%s]*[0-9][0-9%.]*[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*%)$') then local h, s, l = mw.ustring.match(c,'^hsl%([%s]*([0-9][0-9%.]*)[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*%)$') return hsl2lum(tonumber(h), tonumber(s)/100, tonumber(l)/100) end -- convert from rgb if mw.ustring.match(c,'^rgb%([%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*[%s]*%)$') then local R, G, B = mw.ustring.match(c,'^rgb%([%s]*([0-9][0-9]*)[%s]*,[%s]*([0-9][0-9]*)[%s]*,[%s]*([0-9][0-9]*)[%s]*%)$') return rgbdec2lum(tonumber(R), tonumber(G), tonumber(B)) end -- convert from rgb percent if mw.ustring.match(c,'^rgb%([%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*%)$') then local R, G, B = mw.ustring.match(c,'^rgb%([%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*%)$') return rgbdec2lum(255*tonumber(R)/100, 255*tonumber(G)/100, 255*tonumber(B)/100) end -- remove leading # (if there is one) and whitespace c = mw.ustring.match(c, '^[%s#]*([a-f0-9]*)[%s]*$') c = mw.ustring.match(c, '^[%s]*&#35;([a-f0-9]*)[%s]*$') -- split into rgb local cs = mw.text.split(c or '', '') if( #cs == 6 ) then local R = 16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[2]) local G = 16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[4]) local B = 16*tonumber('0x' .. cs[5]) + tonumber('0x' .. cs[6]) return rgbdec2lum(R, G, B) elseif ( #cs == 3 ) then local R = 16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[1]) local G = 16*tonumber('0x' .. cs[2]) + tonumber('0x' .. cs[2]) local B = 16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[3]) return rgbdec2lum(R, G, B) end -- failure, return blank return '' end function p._greatercontrast(args) local bias = tonumber(args['bias'] or '0') or 0 local v1 = color2lum(args[1] or '') local c2 = args[2] or '#FFFFFF' local v2 = color2lum(c2) local c3 = args[3] or '#000000' local v3 = color2lum(c3) local ratio1 = 0; local ratio2 = 0; if (type(v1) == 'number' and type(v2) == 'number') then ratio1 = (v2 + 0.05)/(v1 + 0.05) ratio1 = (ratio1 < 1) and 1/ratio1 or ratio1 end if (type(v1) == 'number' and type(v3) == 'number') then ratio2 = (v3 + 0.05)/(v1 + 0.05) ratio2 = (ratio2 < 1) and 1/ratio2 or ratio2 end return (ratio1 + bias > ratio2) and c2 or c3 end function p._ratio(args) local v1 = color2lum(args[1]) local v2 = color2lum(args[2]) if (type(v1) == 'number' and type(v2) == 'number') then -- v1 should be the brighter of the two. if v2 > v1 then v1, v2 = v2, v1 end return (v1 + 0.05)/(v2 + 0.05) else return args['error'] or '?' end end function p._styleratio(args) local style = (args[1] or ''):lower() local bg, fg = 'white', 'black' local lum_bg, lum_fg = 1, 0 if args[2] then local lum = color2lum(args[2]) if lum ~= '' then bg, lum_bg = args[2], lum end end if args[3] then local lum = color2lum(args[3]) if lum ~= '' then fg, lum_fg = args[3], lum end end local slist = mw.text.split(style or '', ';') for k = 1,#slist do s = slist[k] local k,v = s:match( '^[%s]*([^:]-):([^:]-)[%s;]*$' ) k = k or '' v = v or '' if (k:match('^[%s]*(background)[%s]*$') or k:match('^[%s]*(background%-color)[%s]*$')) then local lum = color2lum(v) if( lum ~= '' ) then bg, lum_bg = v, lum end elseif (k:match('^[%s]*(color)[%s]*$')) then local lum = color2lum(v) if( lum ~= '' ) then bg, lum_fg = v, lum end end end if lum_bg > lum_fg then return (lum_bg + 0.05)/(lum_fg + 0.05) else return (lum_fg + 0.05)/(lum_bg + 0.05) end end function p.lum(frame) return color2lum(frame.args[1] or frame:getParent().args[1]) end function p.ratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._ratio(args) end function p.styleratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._styleratio(args) end function p.greatercontrast(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._greatercontrast(args) end return p 3gpm0f7ed7h1axw9aegmdocnd9uohim 10021 10020 2017-01-02T15:22:28Z w>Frietjes 0 Undid revision 757931345 by [[Special:Contributions/Frietjes|Frietjes]] ([[User talk:Frietjes|talk]]) 10021 Scribunto text/plain -- -- This module implements -- {{Color contrast ratio}} -- {{Greater color contrast ratio}} -- {{ColorToLum}} -- {{RGBColorToLum}} -- local p = {} local HTMLcolor = mw.loadData( 'Module:Color contrast/colors' ) local function sRGB ( v ) if (v <= 0.03928) then v = v / 12.92 else v = math.pow((v+0.055)/1.055, 2.4) end return v end local function rgbdec2lum( R, G, B ) if ( 0 <= R and R < 256 and 0 <= G and G < 256 and 0 <= B and B < 256 ) then return 0.2126 * sRGB(R/255) + 0.7152 * sRGB(G/255) + 0.0722 * sRGB(B/255) else return '' end end local function hsl2lum( h, s, l ) if ( 0 <= h and h < 360 and 0 <= s and s <= 1 and 0 <= l and l <= 1 ) then local c = (1 - math.abs(2*l - 1))*s local x = c*(1 - math.abs( math.fmod(h/60, 2) - 1) ) local m = l - c/2 local r, g, b = m, m, m if( 0 <= h and h < 60 ) then r = r + c g = g + x elseif( 60 <= h and h < 120 ) then r = r + x g = g + c elseif( 120 <= h and h < 180 ) then g = g + c b = b + x elseif( 180 <= h and h < 240 ) then g = g + x b = b + c elseif( 240 <= h and h < 300 ) then r = r + x b = b + c elseif( 300 <= h and h < 360 ) then r = r + c b = b + x end return rgbdec2lum(255*r, 255*g, 255*b) else return '' end end local function color2lum( c ) if (c == nil) then return '' end -- whitespace c = c:match( '^%s*(.-)[%s;]*$' ) -- unstrip nowiki strip markers c = mw.text.unstripNoWiki(c) -- lowercase c = c:lower() -- first try to look it up local L = HTMLcolor[c] if (L ~= nil) then return L end -- convert from hsl if mw.ustring.match(c,'^hsl%([%s]*[0-9][0-9%.]*[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*%)$') then local h, s, l = mw.ustring.match(c,'^hsl%([%s]*([0-9][0-9%.]*)[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*%)$') return hsl2lum(tonumber(h), tonumber(s)/100, tonumber(l)/100) end -- convert from rgb if mw.ustring.match(c,'^rgb%([%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*[%s]*%)$') then local R, G, B = mw.ustring.match(c,'^rgb%([%s]*([0-9][0-9]*)[%s]*,[%s]*([0-9][0-9]*)[%s]*,[%s]*([0-9][0-9]*)[%s]*%)$') return rgbdec2lum(tonumber(R), tonumber(G), tonumber(B)) end -- convert from rgb percent if mw.ustring.match(c,'^rgb%([%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*%)$') then local R, G, B = mw.ustring.match(c,'^rgb%([%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*%)$') return rgbdec2lum(255*tonumber(R)/100, 255*tonumber(G)/100, 255*tonumber(B)/100) end -- remove leading # (if there is one) and whitespace c = mw.ustring.match(c, '^[%s#]*([a-f0-9]*)[%s]*$') -- split into rgb local cs = mw.text.split(c or '', '') if( #cs == 6 ) then local R = 16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[2]) local G = 16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[4]) local B = 16*tonumber('0x' .. cs[5]) + tonumber('0x' .. cs[6]) return rgbdec2lum(R, G, B) elseif ( #cs == 3 ) then local R = 16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[1]) local G = 16*tonumber('0x' .. cs[2]) + tonumber('0x' .. cs[2]) local B = 16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[3]) return rgbdec2lum(R, G, B) end -- failure, return blank return '' end function p._greatercontrast(args) local bias = tonumber(args['bias'] or '0') or 0 local v1 = color2lum(args[1] or '') local c2 = args[2] or '#FFFFFF' local v2 = color2lum(c2) local c3 = args[3] or '#000000' local v3 = color2lum(c3) local ratio1 = 0; local ratio2 = 0; if (type(v1) == 'number' and type(v2) == 'number') then ratio1 = (v2 + 0.05)/(v1 + 0.05) ratio1 = (ratio1 < 1) and 1/ratio1 or ratio1 end if (type(v1) == 'number' and type(v3) == 'number') then ratio2 = (v3 + 0.05)/(v1 + 0.05) ratio2 = (ratio2 < 1) and 1/ratio2 or ratio2 end return (ratio1 + bias > ratio2) and c2 or c3 end function p._ratio(args) local v1 = color2lum(args[1]) local v2 = color2lum(args[2]) if (type(v1) == 'number' and type(v2) == 'number') then -- v1 should be the brighter of the two. if v2 > v1 then v1, v2 = v2, v1 end return (v1 + 0.05)/(v2 + 0.05) else return args['error'] or '?' end end function p._styleratio(args) local style = (args[1] or ''):lower() local bg, fg = 'white', 'black' local lum_bg, lum_fg = 1, 0 if args[2] then local lum = color2lum(args[2]) if lum ~= '' then bg, lum_bg = args[2], lum end end if args[3] then local lum = color2lum(args[3]) if lum ~= '' then fg, lum_fg = args[3], lum end end local slist = mw.text.split(style or '', ';') for k = 1,#slist do s = slist[k] local k,v = s:match( '^[%s]*([^:]-):([^:]-)[%s;]*$' ) k = k or '' v = v or '' if (k:match('^[%s]*(background)[%s]*$') or k:match('^[%s]*(background%-color)[%s]*$')) then local lum = color2lum(v) if( lum ~= '' ) then bg, lum_bg = v, lum end elseif (k:match('^[%s]*(color)[%s]*$')) then local lum = color2lum(v) if( lum ~= '' ) then bg, lum_fg = v, lum end end end if lum_bg > lum_fg then return (lum_bg + 0.05)/(lum_fg + 0.05) else return (lum_fg + 0.05)/(lum_bg + 0.05) end end function p.lum(frame) return color2lum(frame.args[1] or frame:getParent().args[1]) end function p.ratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._ratio(args) end function p.styleratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._styleratio(args) end function p.greatercontrast(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._greatercontrast(args) end return p hvtmcsb4mviz7lzj6tgvyp5kohk0vr7 10022 9976 2017-06-03T14:03:29Z w>Frietjes 0 fix for encoded # in hex or decimal (screws up assumption that we can split on ;) 10022 Scribunto text/plain -- -- This module implements -- {{Color contrast ratio}} -- {{Greater color contrast ratio}} -- {{ColorToLum}} -- {{RGBColorToLum}} -- local p = {} local HTMLcolor = mw.loadData( 'Module:Color contrast/colors' ) local function sRGB ( v ) if (v <= 0.03928) then v = v / 12.92 else v = math.pow((v+0.055)/1.055, 2.4) end return v end local function rgbdec2lum( R, G, B ) if ( 0 <= R and R < 256 and 0 <= G and G < 256 and 0 <= B and B < 256 ) then return 0.2126 * sRGB(R/255) + 0.7152 * sRGB(G/255) + 0.0722 * sRGB(B/255) else return '' end end local function hsl2lum( h, s, l ) if ( 0 <= h and h < 360 and 0 <= s and s <= 1 and 0 <= l and l <= 1 ) then local c = (1 - math.abs(2*l - 1))*s local x = c*(1 - math.abs( math.fmod(h/60, 2) - 1) ) local m = l - c/2 local r, g, b = m, m, m if( 0 <= h and h < 60 ) then r = r + c g = g + x elseif( 60 <= h and h < 120 ) then r = r + x g = g + c elseif( 120 <= h and h < 180 ) then g = g + c b = b + x elseif( 180 <= h and h < 240 ) then g = g + x b = b + c elseif( 240 <= h and h < 300 ) then r = r + x b = b + c elseif( 300 <= h and h < 360 ) then r = r + c b = b + x end return rgbdec2lum(255*r, 255*g, 255*b) else return '' end end local function color2lum( c ) if (c == nil) then return '' end -- whitespace c = c:match( '^%s*(.-)[%s;]*$' ) -- unstrip nowiki strip markers c = mw.text.unstripNoWiki(c) -- lowercase c = c:lower() -- first try to look it up local L = HTMLcolor[c] if (L ~= nil) then return L end -- convert from hsl if mw.ustring.match(c,'^hsl%([%s]*[0-9][0-9%.]*[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*%)$') then local h, s, l = mw.ustring.match(c,'^hsl%([%s]*([0-9][0-9%.]*)[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*%)$') return hsl2lum(tonumber(h), tonumber(s)/100, tonumber(l)/100) end -- convert from rgb if mw.ustring.match(c,'^rgb%([%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*[%s]*%)$') then local R, G, B = mw.ustring.match(c,'^rgb%([%s]*([0-9][0-9]*)[%s]*,[%s]*([0-9][0-9]*)[%s]*,[%s]*([0-9][0-9]*)[%s]*%)$') return rgbdec2lum(tonumber(R), tonumber(G), tonumber(B)) end -- convert from rgb percent if mw.ustring.match(c,'^rgb%([%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*%)$') then local R, G, B = mw.ustring.match(c,'^rgb%([%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*%)$') return rgbdec2lum(255*tonumber(R)/100, 255*tonumber(G)/100, 255*tonumber(B)/100) end -- remove leading # (if there is one) and whitespace c = mw.ustring.match(c, '^[%s#]*([a-f0-9]*)[%s]*$') -- split into rgb local cs = mw.text.split(c or '', '') if( #cs == 6 ) then local R = 16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[2]) local G = 16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[4]) local B = 16*tonumber('0x' .. cs[5]) + tonumber('0x' .. cs[6]) return rgbdec2lum(R, G, B) elseif ( #cs == 3 ) then local R = 16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[1]) local G = 16*tonumber('0x' .. cs[2]) + tonumber('0x' .. cs[2]) local B = 16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[3]) return rgbdec2lum(R, G, B) end -- failure, return blank return '' end function p._greatercontrast(args) local bias = tonumber(args['bias'] or '0') or 0 local v1 = color2lum(args[1] or '') local c2 = args[2] or '#FFFFFF' local v2 = color2lum(c2) local c3 = args[3] or '#000000' local v3 = color2lum(c3) local ratio1 = 0; local ratio2 = 0; if (type(v1) == 'number' and type(v2) == 'number') then ratio1 = (v2 + 0.05)/(v1 + 0.05) ratio1 = (ratio1 < 1) and 1/ratio1 or ratio1 end if (type(v1) == 'number' and type(v3) == 'number') then ratio2 = (v3 + 0.05)/(v1 + 0.05) ratio2 = (ratio2 < 1) and 1/ratio2 or ratio2 end return (ratio1 + bias > ratio2) and c2 or c3 end function p._ratio(args) local v1 = color2lum(args[1]) local v2 = color2lum(args[2]) if (type(v1) == 'number' and type(v2) == 'number') then -- v1 should be the brighter of the two. if v2 > v1 then v1, v2 = v2, v1 end return (v1 + 0.05)/(v2 + 0.05) else return args['error'] or '?' end end function p._styleratio(args) local style = (args[1] or ''):lower() local bg, fg = 'white', 'black' local lum_bg, lum_fg = 1, 0 if args[2] then local lum = color2lum(args[2]) if lum ~= '' then bg, lum_bg = args[2], lum end end if args[3] then local lum = color2lum(args[3]) if lum ~= '' then fg, lum_fg = args[3], lum end end local slist = mw.text.split(mw.ustring.gsub(mw.ustring.gsub(style or '', '&#[Xx]23;', '#'), '&#35;', '#'), ';') for k = 1,#slist do s = slist[k] local k,v = s:match( '^[%s]*([^:]-):([^:]-)[%s;]*$' ) k = k or '' v = v or '' if (k:match('^[%s]*(background)[%s]*$') or k:match('^[%s]*(background%-color)[%s]*$')) then local lum = color2lum(v) if( lum ~= '' ) then bg, lum_bg = v, lum end elseif (k:match('^[%s]*(color)[%s]*$')) then local lum = color2lum(v) if( lum ~= '' ) then bg, lum_fg = v, lum end end end if lum_bg > lum_fg then return (lum_bg + 0.05)/(lum_fg + 0.05) else return (lum_fg + 0.05)/(lum_bg + 0.05) end end function p.lum(frame) return color2lum(frame.args[1] or frame:getParent().args[1]) end function p.ratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._ratio(args) end function p.styleratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._styleratio(args) end function p.greatercontrast(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._greatercontrast(args) end return p 4ymvtt2imownok2kivnukiwpzxn7faa 10023 10022 2018-01-03T20:31:13Z w>Ahecht 0 local 10023 Scribunto text/plain -- -- This module implements -- {{Color contrast ratio}} -- {{Greater color contrast ratio}} -- {{ColorToLum}} -- {{RGBColorToLum}} -- local p = {} local HTMLcolor = mw.loadData( 'Module:Color contrast/colors' ) local function sRGB ( v ) if (v <= 0.03928) then v = v / 12.92 else v = math.pow((v+0.055)/1.055, 2.4) end return v end local function rgbdec2lum( R, G, B ) if ( 0 <= R and R < 256 and 0 <= G and G < 256 and 0 <= B and B < 256 ) then return 0.2126 * sRGB(R/255) + 0.7152 * sRGB(G/255) + 0.0722 * sRGB(B/255) else return '' end end local function hsl2lum( h, s, l ) if ( 0 <= h and h < 360 and 0 <= s and s <= 1 and 0 <= l and l <= 1 ) then local c = (1 - math.abs(2*l - 1))*s local x = c*(1 - math.abs( math.fmod(h/60, 2) - 1) ) local m = l - c/2 local r, g, b = m, m, m if( 0 <= h and h < 60 ) then r = r + c g = g + x elseif( 60 <= h and h < 120 ) then r = r + x g = g + c elseif( 120 <= h and h < 180 ) then g = g + c b = b + x elseif( 180 <= h and h < 240 ) then g = g + x b = b + c elseif( 240 <= h and h < 300 ) then r = r + x b = b + c elseif( 300 <= h and h < 360 ) then r = r + c b = b + x end return rgbdec2lum(255*r, 255*g, 255*b) else return '' end end local function color2lum( c ) if (c == nil) then return '' end -- whitespace c = c:match( '^%s*(.-)[%s;]*$' ) -- unstrip nowiki strip markers c = mw.text.unstripNoWiki(c) -- lowercase c = c:lower() -- first try to look it up local L = HTMLcolor[c] if (L ~= nil) then return L end -- convert from hsl if mw.ustring.match(c,'^hsl%([%s]*[0-9][0-9%.]*[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*%)$') then local h, s, l = mw.ustring.match(c,'^hsl%([%s]*([0-9][0-9%.]*)[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*%)$') return hsl2lum(tonumber(h), tonumber(s)/100, tonumber(l)/100) end -- convert from rgb if mw.ustring.match(c,'^rgb%([%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*[%s]*%)$') then local R, G, B = mw.ustring.match(c,'^rgb%([%s]*([0-9][0-9]*)[%s]*,[%s]*([0-9][0-9]*)[%s]*,[%s]*([0-9][0-9]*)[%s]*%)$') return rgbdec2lum(tonumber(R), tonumber(G), tonumber(B)) end -- convert from rgb percent if mw.ustring.match(c,'^rgb%([%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*%)$') then local R, G, B = mw.ustring.match(c,'^rgb%([%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*%)$') return rgbdec2lum(255*tonumber(R)/100, 255*tonumber(G)/100, 255*tonumber(B)/100) end -- remove leading # (if there is one) and whitespace c = mw.ustring.match(c, '^[%s#]*([a-f0-9]*)[%s]*$') -- split into rgb local cs = mw.text.split(c or '', '') if( #cs == 6 ) then local R = 16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[2]) local G = 16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[4]) local B = 16*tonumber('0x' .. cs[5]) + tonumber('0x' .. cs[6]) return rgbdec2lum(R, G, B) elseif ( #cs == 3 ) then local R = 16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[1]) local G = 16*tonumber('0x' .. cs[2]) + tonumber('0x' .. cs[2]) local B = 16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[3]) return rgbdec2lum(R, G, B) end -- failure, return blank return '' end function p._greatercontrast(args) local bias = tonumber(args['bias'] or '0') or 0 local v1 = color2lum(args[1] or '') local c2 = args[2] or '#FFFFFF' local v2 = color2lum(c2) local c3 = args[3] or '#000000' local v3 = color2lum(c3) local ratio1 = 0; local ratio2 = 0; if (type(v1) == 'number' and type(v2) == 'number') then ratio1 = (v2 + 0.05)/(v1 + 0.05) ratio1 = (ratio1 < 1) and 1/ratio1 or ratio1 end if (type(v1) == 'number' and type(v3) == 'number') then ratio2 = (v3 + 0.05)/(v1 + 0.05) ratio2 = (ratio2 < 1) and 1/ratio2 or ratio2 end return (ratio1 + bias > ratio2) and c2 or c3 end function p._ratio(args) local v1 = color2lum(args[1]) local v2 = color2lum(args[2]) if (type(v1) == 'number' and type(v2) == 'number') then -- v1 should be the brighter of the two. if v2 > v1 then v1, v2 = v2, v1 end return (v1 + 0.05)/(v2 + 0.05) else return args['error'] or '?' end end function p._styleratio(args) local style = (args[1] or ''):lower() local bg, fg = 'white', 'black' local lum_bg, lum_fg = 1, 0 if args[2] then local lum = color2lum(args[2]) if lum ~= '' then bg, lum_bg = args[2], lum end end if args[3] then local lum = color2lum(args[3]) if lum ~= '' then fg, lum_fg = args[3], lum end end local slist = mw.text.split(mw.ustring.gsub(mw.ustring.gsub(style or '', '&#[Xx]23;', '#'), '&#35;', '#'), ';') for k = 1,#slist do local s = slist[k] local k,v = s:match( '^[%s]*([^:]-):([^:]-)[%s;]*$' ) k = k or '' v = v or '' if (k:match('^[%s]*(background)[%s]*$') or k:match('^[%s]*(background%-color)[%s]*$')) then local lum = color2lum(v) if( lum ~= '' ) then bg, lum_bg = v, lum end elseif (k:match('^[%s]*(color)[%s]*$')) then local lum = color2lum(v) if( lum ~= '' ) then bg, lum_fg = v, lum end end end if lum_bg > lum_fg then return (lum_bg + 0.05)/(lum_fg + 0.05) else return (lum_fg + 0.05)/(lum_bg + 0.05) end end function p.lum(frame) return color2lum(frame.args[1] or frame:getParent().args[1]) end function p.ratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._ratio(args) end function p.styleratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._styleratio(args) end function p.greatercontrast(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._greatercontrast(args) end return p el0xvl2scqnt2mclmyrhce3ka1bkxtp 10024 10023 2018-02-02T18:46:53Z w>Frietjes 0 fix for garbage input 10024 Scribunto text/plain -- -- This module implements -- {{Color contrast ratio}} -- {{Greater color contrast ratio}} -- {{ColorToLum}} -- {{RGBColorToLum}} -- local p = {} local HTMLcolor = mw.loadData( 'Module:Color contrast/colors' ) local function sRGB ( v ) if (v <= 0.03928) then v = v / 12.92 else v = math.pow((v+0.055)/1.055, 2.4) end return v end local function rgbdec2lum( R, G, B ) if ( 0 <= R and R < 256 and 0 <= G and G < 256 and 0 <= B and B < 256 ) then return 0.2126 * sRGB(R/255) + 0.7152 * sRGB(G/255) + 0.0722 * sRGB(B/255) else return '' end end local function hsl2lum( h, s, l ) if ( 0 <= h and h < 360 and 0 <= s and s <= 1 and 0 <= l and l <= 1 ) then local c = (1 - math.abs(2*l - 1))*s local x = c*(1 - math.abs( math.fmod(h/60, 2) - 1) ) local m = l - c/2 local r, g, b = m, m, m if( 0 <= h and h < 60 ) then r = r + c g = g + x elseif( 60 <= h and h < 120 ) then r = r + x g = g + c elseif( 120 <= h and h < 180 ) then g = g + c b = b + x elseif( 180 <= h and h < 240 ) then g = g + x b = b + c elseif( 240 <= h and h < 300 ) then r = r + x b = b + c elseif( 300 <= h and h < 360 ) then r = r + c b = b + x end return rgbdec2lum(255*r, 255*g, 255*b) else return '' end end local function color2lum( c ) if (c == nil) then return '' end -- whitespace c = c:match( '^%s*(.-)[%s;]*$' ) -- unstrip nowiki strip markers c = mw.text.unstripNoWiki(c) -- lowercase c = c:lower() -- first try to look it up local L = HTMLcolor[c] if (L ~= nil) then return L end -- convert from hsl if mw.ustring.match(c,'^hsl%([%s]*[0-9][0-9%.]*[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*%)$') then local h, s, l = mw.ustring.match(c,'^hsl%([%s]*([0-9][0-9%.]*)[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*%)$') return hsl2lum(tonumber(h), tonumber(s)/100, tonumber(l)/100) end -- convert from rgb if mw.ustring.match(c,'^rgb%([%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*[%s]*%)$') then local R, G, B = mw.ustring.match(c,'^rgb%([%s]*([0-9][0-9]*)[%s]*,[%s]*([0-9][0-9]*)[%s]*,[%s]*([0-9][0-9]*)[%s]*%)$') return rgbdec2lum(tonumber(R), tonumber(G), tonumber(B)) end -- convert from rgb percent if mw.ustring.match(c,'^rgb%([%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*%)$') then local R, G, B = mw.ustring.match(c,'^rgb%([%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*%)$') return rgbdec2lum(255*tonumber(R)/100, 255*tonumber(G)/100, 255*tonumber(B)/100) end -- remove leading # (if there is one) and whitespace c = mw.ustring.match(c, '^[%s#]*([a-f0-9]*)[%s]*$') -- split into rgb local cs = mw.text.split(c or '', '') if( #cs == 6 ) then local R = 16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[2]) local G = 16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[4]) local B = 16*tonumber('0x' .. cs[5]) + tonumber('0x' .. cs[6]) return rgbdec2lum(R, G, B) elseif ( #cs == 3 ) then local R = 16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[1]) local G = 16*tonumber('0x' .. cs[2]) + tonumber('0x' .. cs[2]) local B = 16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[3]) return rgbdec2lum(R, G, B) end -- failure, return blank return '' end function p._greatercontrast(args) local bias = tonumber(args['bias'] or '0') or 0 local v1 = color2lum(args[1] or '') local c2 = args[2] or '#FFFFFF' local v2 = color2lum(c2) local c3 = args[3] or '#000000' local v3 = color2lum(c3) local ratio1 = -1; local ratio2 = -1; if (type(v1) == 'number' and type(v2) == 'number') then ratio1 = (v2 + 0.05)/(v1 + 0.05) ratio1 = (ratio1 < 1) and 1/ratio1 or ratio1 end if (type(v1) == 'number' and type(v3) == 'number') then ratio2 = (v3 + 0.05)/(v1 + 0.05) ratio2 = (ratio2 < 1) and 1/ratio2 or ratio2 end return (ratio1 > 0) and (ratio2 > 0) and ((ratio1 + bias > ratio2) and c2 or c3) or '' end function p._ratio(args) local v1 = color2lum(args[1]) local v2 = color2lum(args[2]) if (type(v1) == 'number' and type(v2) == 'number') then -- v1 should be the brighter of the two. if v2 > v1 then v1, v2 = v2, v1 end return (v1 + 0.05)/(v2 + 0.05) else return args['error'] or '?' end end function p._styleratio(args) local style = (args[1] or ''):lower() local bg, fg = 'white', 'black' local lum_bg, lum_fg = 1, 0 if args[2] then local lum = color2lum(args[2]) if lum ~= '' then bg, lum_bg = args[2], lum end end if args[3] then local lum = color2lum(args[3]) if lum ~= '' then fg, lum_fg = args[3], lum end end local slist = mw.text.split(mw.ustring.gsub(mw.ustring.gsub(style or '', '&#[Xx]23;', '#'), '&#35;', '#'), ';') for k = 1,#slist do local s = slist[k] local k,v = s:match( '^[%s]*([^:]-):([^:]-)[%s;]*$' ) k = k or '' v = v or '' if (k:match('^[%s]*(background)[%s]*$') or k:match('^[%s]*(background%-color)[%s]*$')) then local lum = color2lum(v) if( lum ~= '' ) then bg, lum_bg = v, lum end elseif (k:match('^[%s]*(color)[%s]*$')) then local lum = color2lum(v) if( lum ~= '' ) then bg, lum_fg = v, lum end end end if lum_bg > lum_fg then return (lum_bg + 0.05)/(lum_fg + 0.05) else return (lum_fg + 0.05)/(lum_bg + 0.05) end end function p.lum(frame) return color2lum(frame.args[1] or frame:getParent().args[1]) end function p.ratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._ratio(args) end function p.styleratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._styleratio(args) end function p.greatercontrast(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._greatercontrast(args) end return p f3merhaqumudrbmm07qdl1kxyp19gle 10025 10024 2018-02-02T21:57:30Z w>Frietjes 0 add option for greatercontrast to form inline css string 10025 Scribunto text/plain -- -- This module implements -- {{Color contrast ratio}} -- {{Greater color contrast ratio}} -- {{ColorToLum}} -- {{RGBColorToLum}} -- local p = {} local HTMLcolor = mw.loadData( 'Module:Color contrast/colors' ) local function sRGB ( v ) if (v <= 0.03928) then v = v / 12.92 else v = math.pow((v+0.055)/1.055, 2.4) end return v end local function rgbdec2lum( R, G, B ) if ( 0 <= R and R < 256 and 0 <= G and G < 256 and 0 <= B and B < 256 ) then return 0.2126 * sRGB(R/255) + 0.7152 * sRGB(G/255) + 0.0722 * sRGB(B/255) else return '' end end local function hsl2lum( h, s, l ) if ( 0 <= h and h < 360 and 0 <= s and s <= 1 and 0 <= l and l <= 1 ) then local c = (1 - math.abs(2*l - 1))*s local x = c*(1 - math.abs( math.fmod(h/60, 2) - 1) ) local m = l - c/2 local r, g, b = m, m, m if( 0 <= h and h < 60 ) then r = r + c g = g + x elseif( 60 <= h and h < 120 ) then r = r + x g = g + c elseif( 120 <= h and h < 180 ) then g = g + c b = b + x elseif( 180 <= h and h < 240 ) then g = g + x b = b + c elseif( 240 <= h and h < 300 ) then r = r + x b = b + c elseif( 300 <= h and h < 360 ) then r = r + c b = b + x end return rgbdec2lum(255*r, 255*g, 255*b) else return '' end end local function color2lum( c ) if (c == nil) then return '' end -- whitespace c = c:match( '^%s*(.-)[%s;]*$' ) -- unstrip nowiki strip markers c = mw.text.unstripNoWiki(c) -- lowercase c = c:lower() -- first try to look it up local L = HTMLcolor[c] if (L ~= nil) then return L end -- convert from hsl if mw.ustring.match(c,'^hsl%([%s]*[0-9][0-9%.]*[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*%)$') then local h, s, l = mw.ustring.match(c,'^hsl%([%s]*([0-9][0-9%.]*)[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*%)$') return hsl2lum(tonumber(h), tonumber(s)/100, tonumber(l)/100) end -- convert from rgb if mw.ustring.match(c,'^rgb%([%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*[%s]*%)$') then local R, G, B = mw.ustring.match(c,'^rgb%([%s]*([0-9][0-9]*)[%s]*,[%s]*([0-9][0-9]*)[%s]*,[%s]*([0-9][0-9]*)[%s]*%)$') return rgbdec2lum(tonumber(R), tonumber(G), tonumber(B)) end -- convert from rgb percent if mw.ustring.match(c,'^rgb%([%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*%)$') then local R, G, B = mw.ustring.match(c,'^rgb%([%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*%)$') return rgbdec2lum(255*tonumber(R)/100, 255*tonumber(G)/100, 255*tonumber(B)/100) end -- remove leading # (if there is one) and whitespace c = mw.ustring.match(c, '^[%s#]*([a-f0-9]*)[%s]*$') -- split into rgb local cs = mw.text.split(c or '', '') if( #cs == 6 ) then local R = 16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[2]) local G = 16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[4]) local B = 16*tonumber('0x' .. cs[5]) + tonumber('0x' .. cs[6]) return rgbdec2lum(R, G, B) elseif ( #cs == 3 ) then local R = 16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[1]) local G = 16*tonumber('0x' .. cs[2]) + tonumber('0x' .. cs[2]) local B = 16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[3]) return rgbdec2lum(R, G, B) end -- failure, return blank return '' end function p._greatercontrast(args) local bias = tonumber(args['bias'] or '0') or 0 local css = (args['css'] and args['css'] ~= '') and true or false local v1 = color2lum(args[1] or '') local c2 = args[2] or '#FFFFFF' local v2 = color2lum(c2) local c3 = args[3] or '#000000' local v3 = color2lum(c3) local ratio1 = -1; local ratio2 = -1; if (type(v1) == 'number' and type(v2) == 'number') then ratio1 = (v2 + 0.05)/(v1 + 0.05) ratio1 = (ratio1 < 1) and 1/ratio1 or ratio1 end if (type(v1) == 'number' and type(v3) == 'number') then ratio2 = (v3 + 0.05)/(v1 + 0.05) ratio2 = (ratio2 < 1) and 1/ratio2 or ratio2 end if css then if mw.ustring.match(v1, '^[A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9]$') or mw.ustring.match(v1, '^[A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9]$') then v1 = '#' .. v1 end if mw.ustring.match(v2, '^[A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9]$') or mw.ustring.match(v2, '^[A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9]$') then v2 = '#' .. v2 end if mw.ustring.match(v3, '^[A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9]$') or mw.ustring.match(v3, '^[A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9]$') then v3 = '#' .. v3 end return 'background-color:' .. v1 .. '; color:' .. ((ratio1 > 0) and (ratio2 > 0) and ((ratio1 + bias > ratio2) and c2 or c3) or '') .. ';' end return (ratio1 > 0) and (ratio2 > 0) and ((ratio1 + bias > ratio2) and c2 or c3) or '' end function p._ratio(args) local v1 = color2lum(args[1]) local v2 = color2lum(args[2]) if (type(v1) == 'number' and type(v2) == 'number') then -- v1 should be the brighter of the two. if v2 > v1 then v1, v2 = v2, v1 end return (v1 + 0.05)/(v2 + 0.05) else return args['error'] or '?' end end function p._styleratio(args) local style = (args[1] or ''):lower() local bg, fg = 'white', 'black' local lum_bg, lum_fg = 1, 0 if args[2] then local lum = color2lum(args[2]) if lum ~= '' then bg, lum_bg = args[2], lum end end if args[3] then local lum = color2lum(args[3]) if lum ~= '' then fg, lum_fg = args[3], lum end end local slist = mw.text.split(mw.ustring.gsub(mw.ustring.gsub(style or '', '&#[Xx]23;', '#'), '&#35;', '#'), ';') for k = 1,#slist do local s = slist[k] local k,v = s:match( '^[%s]*([^:]-):([^:]-)[%s;]*$' ) k = k or '' v = v or '' if (k:match('^[%s]*(background)[%s]*$') or k:match('^[%s]*(background%-color)[%s]*$')) then local lum = color2lum(v) if( lum ~= '' ) then bg, lum_bg = v, lum end elseif (k:match('^[%s]*(color)[%s]*$')) then local lum = color2lum(v) if( lum ~= '' ) then bg, lum_fg = v, lum end end end if lum_bg > lum_fg then return (lum_bg + 0.05)/(lum_fg + 0.05) else return (lum_fg + 0.05)/(lum_bg + 0.05) end end function p.lum(frame) return color2lum(frame.args[1] or frame:getParent().args[1]) end function p.ratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._ratio(args) end function p.styleratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._styleratio(args) end function p.greatercontrast(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._greatercontrast(args) end return p 8oc5y6tuddlior08wbzcl6ili0ow2ai 10026 10025 2018-02-02T22:01:27Z w>Frietjes 0 typo 10026 Scribunto text/plain -- -- This module implements -- {{Color contrast ratio}} -- {{Greater color contrast ratio}} -- {{ColorToLum}} -- {{RGBColorToLum}} -- local p = {} local HTMLcolor = mw.loadData( 'Module:Color contrast/colors' ) local function sRGB ( v ) if (v <= 0.03928) then v = v / 12.92 else v = math.pow((v+0.055)/1.055, 2.4) end return v end local function rgbdec2lum( R, G, B ) if ( 0 <= R and R < 256 and 0 <= G and G < 256 and 0 <= B and B < 256 ) then return 0.2126 * sRGB(R/255) + 0.7152 * sRGB(G/255) + 0.0722 * sRGB(B/255) else return '' end end local function hsl2lum( h, s, l ) if ( 0 <= h and h < 360 and 0 <= s and s <= 1 and 0 <= l and l <= 1 ) then local c = (1 - math.abs(2*l - 1))*s local x = c*(1 - math.abs( math.fmod(h/60, 2) - 1) ) local m = l - c/2 local r, g, b = m, m, m if( 0 <= h and h < 60 ) then r = r + c g = g + x elseif( 60 <= h and h < 120 ) then r = r + x g = g + c elseif( 120 <= h and h < 180 ) then g = g + c b = b + x elseif( 180 <= h and h < 240 ) then g = g + x b = b + c elseif( 240 <= h and h < 300 ) then r = r + x b = b + c elseif( 300 <= h and h < 360 ) then r = r + c b = b + x end return rgbdec2lum(255*r, 255*g, 255*b) else return '' end end local function color2lum( c ) if (c == nil) then return '' end -- whitespace c = c:match( '^%s*(.-)[%s;]*$' ) -- unstrip nowiki strip markers c = mw.text.unstripNoWiki(c) -- lowercase c = c:lower() -- first try to look it up local L = HTMLcolor[c] if (L ~= nil) then return L end -- convert from hsl if mw.ustring.match(c,'^hsl%([%s]*[0-9][0-9%.]*[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*%)$') then local h, s, l = mw.ustring.match(c,'^hsl%([%s]*([0-9][0-9%.]*)[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*%)$') return hsl2lum(tonumber(h), tonumber(s)/100, tonumber(l)/100) end -- convert from rgb if mw.ustring.match(c,'^rgb%([%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*[%s]*%)$') then local R, G, B = mw.ustring.match(c,'^rgb%([%s]*([0-9][0-9]*)[%s]*,[%s]*([0-9][0-9]*)[%s]*,[%s]*([0-9][0-9]*)[%s]*%)$') return rgbdec2lum(tonumber(R), tonumber(G), tonumber(B)) end -- convert from rgb percent if mw.ustring.match(c,'^rgb%([%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*%)$') then local R, G, B = mw.ustring.match(c,'^rgb%([%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*%)$') return rgbdec2lum(255*tonumber(R)/100, 255*tonumber(G)/100, 255*tonumber(B)/100) end -- remove leading # (if there is one) and whitespace c = mw.ustring.match(c, '^[%s#]*([a-f0-9]*)[%s]*$') -- split into rgb local cs = mw.text.split(c or '', '') if( #cs == 6 ) then local R = 16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[2]) local G = 16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[4]) local B = 16*tonumber('0x' .. cs[5]) + tonumber('0x' .. cs[6]) return rgbdec2lum(R, G, B) elseif ( #cs == 3 ) then local R = 16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[1]) local G = 16*tonumber('0x' .. cs[2]) + tonumber('0x' .. cs[2]) local B = 16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[3]) return rgbdec2lum(R, G, B) end -- failure, return blank return '' end function p._greatercontrast(args) local bias = tonumber(args['bias'] or '0') or 0 local css = (args['css'] and args['css'] ~= '') and true or false local v1 = color2lum(args[1] or '') local c2 = args[2] or '#FFFFFF' local v2 = color2lum(c2) local c3 = args[3] or '#000000' local v3 = color2lum(c3) local ratio1 = -1; local ratio2 = -1; if (type(v1) == 'number' and type(v2) == 'number') then ratio1 = (v2 + 0.05)/(v1 + 0.05) ratio1 = (ratio1 < 1) and 1/ratio1 or ratio1 end if (type(v1) == 'number' and type(v3) == 'number') then ratio2 = (v3 + 0.05)/(v1 + 0.05) ratio2 = (ratio2 < 1) and 1/ratio2 or ratio2 end if css then local c1 = args[1] or '' if mw.ustring.match(c1, '^[A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9]$') or mw.ustring.match(c1, '^[A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9]$') then c1 = '#' .. c1 end if mw.ustring.match(c2, '^[A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9]$') or mw.ustring.match(c2, '^[A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9]$') then c2 = '#' .. c2 end if mw.ustring.match(v3, '^[A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9]$') or mw.ustring.match(v3, '^[A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9]$') then c3 = '#' .. c3 end return 'background-color:' .. c1 .. '; color:' .. ((ratio1 > 0) and (ratio2 > 0) and ((ratio1 + bias > ratio2) and c2 or c3) or '') .. ';' end return (ratio1 > 0) and (ratio2 > 0) and ((ratio1 + bias > ratio2) and c2 or c3) or '' end function p._ratio(args) local v1 = color2lum(args[1]) local v2 = color2lum(args[2]) if (type(v1) == 'number' and type(v2) == 'number') then -- v1 should be the brighter of the two. if v2 > v1 then v1, v2 = v2, v1 end return (v1 + 0.05)/(v2 + 0.05) else return args['error'] or '?' end end function p._styleratio(args) local style = (args[1] or ''):lower() local bg, fg = 'white', 'black' local lum_bg, lum_fg = 1, 0 if args[2] then local lum = color2lum(args[2]) if lum ~= '' then bg, lum_bg = args[2], lum end end if args[3] then local lum = color2lum(args[3]) if lum ~= '' then fg, lum_fg = args[3], lum end end local slist = mw.text.split(mw.ustring.gsub(mw.ustring.gsub(style or '', '&#[Xx]23;', '#'), '&#35;', '#'), ';') for k = 1,#slist do local s = slist[k] local k,v = s:match( '^[%s]*([^:]-):([^:]-)[%s;]*$' ) k = k or '' v = v or '' if (k:match('^[%s]*(background)[%s]*$') or k:match('^[%s]*(background%-color)[%s]*$')) then local lum = color2lum(v) if( lum ~= '' ) then bg, lum_bg = v, lum end elseif (k:match('^[%s]*(color)[%s]*$')) then local lum = color2lum(v) if( lum ~= '' ) then bg, lum_fg = v, lum end end end if lum_bg > lum_fg then return (lum_bg + 0.05)/(lum_fg + 0.05) else return (lum_fg + 0.05)/(lum_bg + 0.05) end end function p.lum(frame) return color2lum(frame.args[1] or frame:getParent().args[1]) end function p.ratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._ratio(args) end function p.styleratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._styleratio(args) end function p.greatercontrast(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._greatercontrast(args) end return p 43ryh3q2kthxzrpu56wy019djsecqot 10027 10026 2018-07-07T23:04:30Z w>RexxS 0 replace html entity with # symbol - tested in /sandbox1 so as not to disturb /sandbox 10027 Scribunto text/plain -- -- This module implements -- {{Color contrast ratio}} -- {{Greater color contrast ratio}} -- {{ColorToLum}} -- {{RGBColorToLum}} -- local p = {} local HTMLcolor = mw.loadData( 'Module:Color contrast/colors' ) local function sRGB ( v ) if (v <= 0.03928) then v = v / 12.92 else v = math.pow((v+0.055)/1.055, 2.4) end return v end local function rgbdec2lum( R, G, B ) if ( 0 <= R and R < 256 and 0 <= G and G < 256 and 0 <= B and B < 256 ) then return 0.2126 * sRGB(R/255) + 0.7152 * sRGB(G/255) + 0.0722 * sRGB(B/255) else return '' end end local function hsl2lum( h, s, l ) if ( 0 <= h and h < 360 and 0 <= s and s <= 1 and 0 <= l and l <= 1 ) then local c = (1 - math.abs(2*l - 1))*s local x = c*(1 - math.abs( math.fmod(h/60, 2) - 1) ) local m = l - c/2 local r, g, b = m, m, m if( 0 <= h and h < 60 ) then r = r + c g = g + x elseif( 60 <= h and h < 120 ) then r = r + x g = g + c elseif( 120 <= h and h < 180 ) then g = g + c b = b + x elseif( 180 <= h and h < 240 ) then g = g + x b = b + c elseif( 240 <= h and h < 300 ) then r = r + x b = b + c elseif( 300 <= h and h < 360 ) then r = r + c b = b + x end return rgbdec2lum(255*r, 255*g, 255*b) else return '' end end local function color2lum( c ) if (c == nil) then return '' end -- html '#' entity c = c:gsub("&#35;", "#") -- whitespace c = c:match( '^%s*(.-)[%s;]*$' ) -- unstrip nowiki strip markers c = mw.text.unstripNoWiki(c) -- lowercase c = c:lower() -- first try to look it up local L = HTMLcolor[c] if (L ~= nil) then return L end -- convert from hsl if mw.ustring.match(c,'^hsl%([%s]*[0-9][0-9%.]*[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*%)$') then local h, s, l = mw.ustring.match(c,'^hsl%([%s]*([0-9][0-9%.]*)[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*%)$') return hsl2lum(tonumber(h), tonumber(s)/100, tonumber(l)/100) end -- convert from rgb if mw.ustring.match(c,'^rgb%([%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*[%s]*%)$') then local R, G, B = mw.ustring.match(c,'^rgb%([%s]*([0-9][0-9]*)[%s]*,[%s]*([0-9][0-9]*)[%s]*,[%s]*([0-9][0-9]*)[%s]*%)$') return rgbdec2lum(tonumber(R), tonumber(G), tonumber(B)) end -- convert from rgb percent if mw.ustring.match(c,'^rgb%([%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*%)$') then local R, G, B = mw.ustring.match(c,'^rgb%([%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*%)$') return rgbdec2lum(255*tonumber(R)/100, 255*tonumber(G)/100, 255*tonumber(B)/100) end -- remove leading # (if there is one) and whitespace c = mw.ustring.match(c, '^[%s#]*([a-f0-9]*)[%s]*$') -- split into rgb local cs = mw.text.split(c or '', '') if( #cs == 6 ) then local R = 16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[2]) local G = 16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[4]) local B = 16*tonumber('0x' .. cs[5]) + tonumber('0x' .. cs[6]) return rgbdec2lum(R, G, B) elseif ( #cs == 3 ) then local R = 16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[1]) local G = 16*tonumber('0x' .. cs[2]) + tonumber('0x' .. cs[2]) local B = 16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[3]) return rgbdec2lum(R, G, B) end -- failure, return blank return '' end function p._greatercontrast(args) local bias = tonumber(args['bias'] or '0') or 0 local css = (args['css'] and args['css'] ~= '') and true or false local v1 = color2lum(args[1] or '') local c2 = args[2] or '#FFFFFF' local v2 = color2lum(c2) local c3 = args[3] or '#000000' local v3 = color2lum(c3) local ratio1 = -1; local ratio2 = -1; if (type(v1) == 'number' and type(v2) == 'number') then ratio1 = (v2 + 0.05)/(v1 + 0.05) ratio1 = (ratio1 < 1) and 1/ratio1 or ratio1 end if (type(v1) == 'number' and type(v3) == 'number') then ratio2 = (v3 + 0.05)/(v1 + 0.05) ratio2 = (ratio2 < 1) and 1/ratio2 or ratio2 end if css then local c1 = args[1] or '' if mw.ustring.match(c1, '^[A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9]$') or mw.ustring.match(c1, '^[A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9]$') then c1 = '#' .. c1 end if mw.ustring.match(c2, '^[A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9]$') or mw.ustring.match(c2, '^[A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9]$') then c2 = '#' .. c2 end if mw.ustring.match(v3, '^[A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9]$') or mw.ustring.match(v3, '^[A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9]$') then c3 = '#' .. c3 end return 'background-color:' .. c1 .. '; color:' .. ((ratio1 > 0) and (ratio2 > 0) and ((ratio1 + bias > ratio2) and c2 or c3) or '') .. ';' end return (ratio1 > 0) and (ratio2 > 0) and ((ratio1 + bias > ratio2) and c2 or c3) or '' end function p._ratio(args) local v1 = color2lum(args[1]) local v2 = color2lum(args[2]) if (type(v1) == 'number' and type(v2) == 'number') then -- v1 should be the brighter of the two. if v2 > v1 then v1, v2 = v2, v1 end return (v1 + 0.05)/(v2 + 0.05) else return args['error'] or '?' end end function p._styleratio(args) local style = (args[1] or ''):lower() local bg, fg = 'white', 'black' local lum_bg, lum_fg = 1, 0 if args[2] then local lum = color2lum(args[2]) if lum ~= '' then bg, lum_bg = args[2], lum end end if args[3] then local lum = color2lum(args[3]) if lum ~= '' then fg, lum_fg = args[3], lum end end local slist = mw.text.split(mw.ustring.gsub(mw.ustring.gsub(style or '', '&#[Xx]23;', '#'), '&#35;', '#'), ';') for k = 1,#slist do local s = slist[k] local k,v = s:match( '^[%s]*([^:]-):([^:]-)[%s;]*$' ) k = k or '' v = v or '' if (k:match('^[%s]*(background)[%s]*$') or k:match('^[%s]*(background%-color)[%s]*$')) then local lum = color2lum(v) if( lum ~= '' ) then bg, lum_bg = v, lum end elseif (k:match('^[%s]*(color)[%s]*$')) then local lum = color2lum(v) if( lum ~= '' ) then bg, lum_fg = v, lum end end end if lum_bg > lum_fg then return (lum_bg + 0.05)/(lum_fg + 0.05) else return (lum_fg + 0.05)/(lum_bg + 0.05) end end function p.lum(frame) return color2lum(frame.args[1] or frame:getParent().args[1]) end function p.ratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._ratio(args) end function p.styleratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._styleratio(args) end function p.greatercontrast(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._greatercontrast(args) end return p 55bs9vv8hqsp9psicche4v82wnzh0ub 10028 10027 2019-01-06T17:09:22Z w>Gonnym 0 synced changes from sandbox - created an access point to lum available to other modules 10028 Scribunto text/plain -- -- This module implements -- {{Color contrast ratio}} -- {{Greater color contrast ratio}} -- {{ColorToLum}} -- {{RGBColorToLum}} -- local p = {} local HTMLcolor = mw.loadData( 'Module:Color contrast/colors' ) local function sRGB (v) if (v <= 0.03928) then v = v / 12.92 else v = math.pow((v+0.055)/1.055, 2.4) end return v end local function rgbdec2lum(R, G, B) if ( 0 <= R and R < 256 and 0 <= G and G < 256 and 0 <= B and B < 256 ) then return 0.2126 * sRGB(R/255) + 0.7152 * sRGB(G/255) + 0.0722 * sRGB(B/255) else return '' end end local function hsl2lum(h, s, l) if ( 0 <= h and h < 360 and 0 <= s and s <= 1 and 0 <= l and l <= 1 ) then local c = (1 - math.abs(2*l - 1))*s local x = c*(1 - math.abs( math.fmod(h/60, 2) - 1) ) local m = l - c/2 local r, g, b = m, m, m if( 0 <= h and h < 60 ) then r = r + c g = g + x elseif( 60 <= h and h < 120 ) then r = r + x g = g + c elseif( 120 <= h and h < 180 ) then g = g + c b = b + x elseif( 180 <= h and h < 240 ) then g = g + x b = b + c elseif( 240 <= h and h < 300 ) then r = r + x b = b + c elseif( 300 <= h and h < 360 ) then r = r + c b = b + x end return rgbdec2lum(255*r, 255*g, 255*b) else return '' end end -- This exports the function for use in other modules. -- The colour is passed as a string. function p._lum(color) return color2lum(color) end local function color2lum(c) if (c == nil) then return '' end -- html '#' entity c = c:gsub("&#35;", "#") -- whitespace c = c:match( '^%s*(.-)[%s;]*$' ) -- unstrip nowiki strip markers c = mw.text.unstripNoWiki(c) -- lowercase c = c:lower() -- first try to look it up local L = HTMLcolor[c] if (L ~= nil) then return L end -- convert from hsl if mw.ustring.match(c,'^hsl%([%s]*[0-9][0-9%.]*[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*%)$') then local h, s, l = mw.ustring.match(c,'^hsl%([%s]*([0-9][0-9%.]*)[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*%)$') return hsl2lum(tonumber(h), tonumber(s)/100, tonumber(l)/100) end -- convert from rgb if mw.ustring.match(c,'^rgb%([%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*[%s]*%)$') then local R, G, B = mw.ustring.match(c,'^rgb%([%s]*([0-9][0-9]*)[%s]*,[%s]*([0-9][0-9]*)[%s]*,[%s]*([0-9][0-9]*)[%s]*%)$') return rgbdec2lum(tonumber(R), tonumber(G), tonumber(B)) end -- convert from rgb percent if mw.ustring.match(c,'^rgb%([%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*%)$') then local R, G, B = mw.ustring.match(c,'^rgb%([%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*%)$') return rgbdec2lum(255*tonumber(R)/100, 255*tonumber(G)/100, 255*tonumber(B)/100) end -- remove leading # (if there is one) and whitespace c = mw.ustring.match(c, '^[%s#]*([a-f0-9]*)[%s]*$') -- split into rgb local cs = mw.text.split(c or '', '') if( #cs == 6 ) then local R = 16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[2]) local G = 16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[4]) local B = 16*tonumber('0x' .. cs[5]) + tonumber('0x' .. cs[6]) return rgbdec2lum(R, G, B) elseif ( #cs == 3 ) then local R = 16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[1]) local G = 16*tonumber('0x' .. cs[2]) + tonumber('0x' .. cs[2]) local B = 16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[3]) return rgbdec2lum(R, G, B) end -- failure, return blank return '' end function p._greatercontrast(args) local bias = tonumber(args['bias'] or '0') or 0 local css = (args['css'] and args['css'] ~= '') and true or false local v1 = color2lum(args[1] or '') local c2 = args[2] or '#FFFFFF' local v2 = color2lum(c2) local c3 = args[3] or '#000000' local v3 = color2lum(c3) local ratio1 = -1; local ratio2 = -1; if (type(v1) == 'number' and type(v2) == 'number') then ratio1 = (v2 + 0.05)/(v1 + 0.05) ratio1 = (ratio1 < 1) and 1/ratio1 or ratio1 end if (type(v1) == 'number' and type(v3) == 'number') then ratio2 = (v3 + 0.05)/(v1 + 0.05) ratio2 = (ratio2 < 1) and 1/ratio2 or ratio2 end if css then local c1 = args[1] or '' if mw.ustring.match(c1, '^[A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9]$') or mw.ustring.match(c1, '^[A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9]$') then c1 = '#' .. c1 end if mw.ustring.match(c2, '^[A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9]$') or mw.ustring.match(c2, '^[A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9]$') then c2 = '#' .. c2 end if mw.ustring.match(v3, '^[A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9]$') or mw.ustring.match(v3, '^[A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9]$') then c3 = '#' .. c3 end return 'background-color:' .. c1 .. '; color:' .. ((ratio1 > 0) and (ratio2 > 0) and ((ratio1 + bias > ratio2) and c2 or c3) or '') .. ';' end return (ratio1 > 0) and (ratio2 > 0) and ((ratio1 + bias > ratio2) and c2 or c3) or '' end function p._ratio(args) local v1 = color2lum(args[1]) local v2 = color2lum(args[2]) if (type(v1) == 'number' and type(v2) == 'number') then -- v1 should be the brighter of the two. if v2 > v1 then v1, v2 = v2, v1 end return (v1 + 0.05)/(v2 + 0.05) else return args['error'] or '?' end end function p._styleratio(args) local style = (args[1] or ''):lower() local bg, fg = 'white', 'black' local lum_bg, lum_fg = 1, 0 if args[2] then local lum = color2lum(args[2]) if lum ~= '' then bg, lum_bg = args[2], lum end end if args[3] then local lum = color2lum(args[3]) if lum ~= '' then fg, lum_fg = args[3], lum end end local slist = mw.text.split(mw.ustring.gsub(mw.ustring.gsub(style or '', '&#[Xx]23;', '#'), '&#35;', '#'), ';') for k = 1,#slist do local s = slist[k] local k,v = s:match( '^[%s]*([^:]-):([^:]-)[%s;]*$' ) k = k or '' v = v or '' if (k:match('^[%s]*(background)[%s]*$') or k:match('^[%s]*(background%-color)[%s]*$')) then local lum = color2lum(v) if( lum ~= '' ) then bg, lum_bg = v, lum end elseif (k:match('^[%s]*(color)[%s]*$')) then local lum = color2lum(v) if( lum ~= '' ) then bg, lum_fg = v, lum end end end if lum_bg > lum_fg then return (lum_bg + 0.05)/(lum_fg + 0.05) else return (lum_fg + 0.05)/(lum_bg + 0.05) end end --[[ Use {{#invoke:Color contrast|somecolor}} directly or {{#invoke:Color contrast}} from a wrapper template. Parameters: -- |1= — required; A color to check. --]] function p.lum(frame) local color = frame.args[1] or frame:getParent().args[1] return p._lum(color) end function p.ratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._ratio(args) end function p.styleratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._styleratio(args) end function p.greatercontrast(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._greatercontrast(args) end return p 3dqpizmrutoibmxo7h7gev075kcvei0 10029 10028 2019-01-06T22:38:25Z w>Johnuniq 0 fix unintended color2lum global error which is causing errors; clean whitespace 10029 Scribunto text/plain -- -- This module implements -- {{Color contrast ratio}} -- {{Greater color contrast ratio}} -- {{ColorToLum}} -- {{RGBColorToLum}} -- local p = {} local HTMLcolor = mw.loadData( 'Module:Color contrast/colors' ) local function sRGB (v) if (v <= 0.03928) then v = v / 12.92 else v = math.pow((v+0.055)/1.055, 2.4) end return v end local function rgbdec2lum(R, G, B) if ( 0 <= R and R < 256 and 0 <= G and G < 256 and 0 <= B and B < 256 ) then return 0.2126 * sRGB(R/255) + 0.7152 * sRGB(G/255) + 0.0722 * sRGB(B/255) else return '' end end local function hsl2lum(h, s, l) if ( 0 <= h and h < 360 and 0 <= s and s <= 1 and 0 <= l and l <= 1 ) then local c = (1 - math.abs(2*l - 1))*s local x = c*(1 - math.abs( math.fmod(h/60, 2) - 1) ) local m = l - c/2 local r, g, b = m, m, m if( 0 <= h and h < 60 ) then r = r + c g = g + x elseif( 60 <= h and h < 120 ) then r = r + x g = g + c elseif( 120 <= h and h < 180 ) then g = g + c b = b + x elseif( 180 <= h and h < 240 ) then g = g + x b = b + c elseif( 240 <= h and h < 300 ) then r = r + x b = b + c elseif( 300 <= h and h < 360 ) then r = r + c b = b + x end return rgbdec2lum(255*r, 255*g, 255*b) else return '' end end local function color2lum(c) if (c == nil) then return '' end -- html '#' entity c = c:gsub("&#35;", "#") -- whitespace c = c:match( '^%s*(.-)[%s;]*$' ) -- unstrip nowiki strip markers c = mw.text.unstripNoWiki(c) -- lowercase c = c:lower() -- first try to look it up local L = HTMLcolor[c] if (L ~= nil) then return L end -- convert from hsl if mw.ustring.match(c,'^hsl%([%s]*[0-9][0-9%.]*[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*%)$') then local h, s, l = mw.ustring.match(c,'^hsl%([%s]*([0-9][0-9%.]*)[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*%)$') return hsl2lum(tonumber(h), tonumber(s)/100, tonumber(l)/100) end -- convert from rgb if mw.ustring.match(c,'^rgb%([%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*[%s]*%)$') then local R, G, B = mw.ustring.match(c,'^rgb%([%s]*([0-9][0-9]*)[%s]*,[%s]*([0-9][0-9]*)[%s]*,[%s]*([0-9][0-9]*)[%s]*%)$') return rgbdec2lum(tonumber(R), tonumber(G), tonumber(B)) end -- convert from rgb percent if mw.ustring.match(c,'^rgb%([%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*%)$') then local R, G, B = mw.ustring.match(c,'^rgb%([%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*%)$') return rgbdec2lum(255*tonumber(R)/100, 255*tonumber(G)/100, 255*tonumber(B)/100) end -- remove leading # (if there is one) and whitespace c = mw.ustring.match(c, '^[%s#]*([a-f0-9]*)[%s]*$') -- split into rgb local cs = mw.text.split(c or '', '') if( #cs == 6 ) then local R = 16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[2]) local G = 16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[4]) local B = 16*tonumber('0x' .. cs[5]) + tonumber('0x' .. cs[6]) return rgbdec2lum(R, G, B) elseif ( #cs == 3 ) then local R = 16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[1]) local G = 16*tonumber('0x' .. cs[2]) + tonumber('0x' .. cs[2]) local B = 16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[3]) return rgbdec2lum(R, G, B) end -- failure, return blank return '' end -- This exports the function for use in other modules. -- The colour is passed as a string. function p._lum(color) return color2lum(color) end function p._greatercontrast(args) local bias = tonumber(args['bias'] or '0') or 0 local css = (args['css'] and args['css'] ~= '') and true or false local v1 = color2lum(args[1] or '') local c2 = args[2] or '#FFFFFF' local v2 = color2lum(c2) local c3 = args[3] or '#000000' local v3 = color2lum(c3) local ratio1 = -1; local ratio2 = -1; if (type(v1) == 'number' and type(v2) == 'number') then ratio1 = (v2 + 0.05)/(v1 + 0.05) ratio1 = (ratio1 < 1) and 1/ratio1 or ratio1 end if (type(v1) == 'number' and type(v3) == 'number') then ratio2 = (v3 + 0.05)/(v1 + 0.05) ratio2 = (ratio2 < 1) and 1/ratio2 or ratio2 end if css then local c1 = args[1] or '' if mw.ustring.match(c1, '^[A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9]$') or mw.ustring.match(c1, '^[A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9]$') then c1 = '#' .. c1 end if mw.ustring.match(c2, '^[A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9]$') or mw.ustring.match(c2, '^[A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9]$') then c2 = '#' .. c2 end if mw.ustring.match(v3, '^[A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9]$') or mw.ustring.match(v3, '^[A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9]$') then c3 = '#' .. c3 end return 'background-color:' .. c1 .. '; color:' .. ((ratio1 > 0) and (ratio2 > 0) and ((ratio1 + bias > ratio2) and c2 or c3) or '') .. ';' end return (ratio1 > 0) and (ratio2 > 0) and ((ratio1 + bias > ratio2) and c2 or c3) or '' end function p._ratio(args) local v1 = color2lum(args[1]) local v2 = color2lum(args[2]) if (type(v1) == 'number' and type(v2) == 'number') then -- v1 should be the brighter of the two. if v2 > v1 then v1, v2 = v2, v1 end return (v1 + 0.05)/(v2 + 0.05) else return args['error'] or '?' end end function p._styleratio(args) local style = (args[1] or ''):lower() local bg, fg = 'white', 'black' local lum_bg, lum_fg = 1, 0 if args[2] then local lum = color2lum(args[2]) if lum ~= '' then bg, lum_bg = args[2], lum end end if args[3] then local lum = color2lum(args[3]) if lum ~= '' then fg, lum_fg = args[3], lum end end local slist = mw.text.split(mw.ustring.gsub(mw.ustring.gsub(style or '', '&#[Xx]23;', '#'), '&#35;', '#'), ';') for k = 1,#slist do local s = slist[k] local k,v = s:match( '^[%s]*([^:]-):([^:]-)[%s;]*$' ) k = k or '' v = v or '' if (k:match('^[%s]*(background)[%s]*$') or k:match('^[%s]*(background%-color)[%s]*$')) then local lum = color2lum(v) if( lum ~= '' ) then bg, lum_bg = v, lum end elseif (k:match('^[%s]*(color)[%s]*$')) then local lum = color2lum(v) if( lum ~= '' ) then bg, lum_fg = v, lum end end end if lum_bg > lum_fg then return (lum_bg + 0.05)/(lum_fg + 0.05) else return (lum_fg + 0.05)/(lum_bg + 0.05) end end --[[ Use {{#invoke:Color contrast|somecolor}} directly or {{#invoke:Color contrast}} from a wrapper template. Parameters: -- |1= — required; A color to check. --]] function p.lum(frame) local color = frame.args[1] or frame:getParent().args[1] return p._lum(color) end function p.ratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._ratio(args) end function p.styleratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._styleratio(args) end function p.greatercontrast(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._greatercontrast(args) end return p 3j3oaih63ygo9p806h5yxpscaqh3xu9 10030 9979 2021-10-29T20:02:25Z meta>GeneralNotability 0 50 revisions imported from [[:w:Module:Color_contrast]]: blame [[User:Barkeep49]] 9978 Scribunto text/plain -- -- This module implements -- {{Color contrast ratio}} -- {{Greater color contrast ratio}} -- {{ColorToLum}} -- {{RGBColorToLum}} -- local p = {} local HTMLcolor = mw.loadData( 'Module:Color contrast/colors' ) local function sRGB ( v ) if (v <= 0.03928) then v = v / 12.92 else v = math.pow((v+0.055)/1.055, 2.4) end return v end local function rgbdec2lum( R, G, B ) if ( 0 <= R and R < 256 and 0 <= G and G < 256 and 0 <= B and B < 256 ) then return 0.2126 * sRGB(R/255) + 0.7152 * sRGB(G/255) + 0.0722 * sRGB(B/255) else return '' end end local function hsl2lum( h, s, l ) if ( 0 <= h and h < 360 and 0 <= s and s <= 1 and 0 <= l and l <= 1 ) then local c = (1 - math.abs(2*l - 1))*s local x = c*(1 - math.abs( math.fmod(h/60, 2) - 1) ) local m = l - c/2 local r, g, b = m, m, m if( 0 <= h and h < 60 ) then r = r + c g = g + x elseif( 60 <= h and h < 120 ) then r = r + x g = g + c elseif( 120 <= h and h < 180 ) then g = g + c b = b + x elseif( 180 <= h and h < 240 ) then g = g + x b = b + c elseif( 240 <= h and h < 300 ) then r = r + x b = b + c elseif( 300 <= h and h < 360 ) then r = r + c b = b + x end return rgbdec2lum(255*r, 255*g, 255*b) else return '' end end local function color2lum( c ) if (c == nil) then return '' end -- whitespace c = c:match( '^%s*(.-)[%s;]*$' ) -- unstrip nowiki strip markers c = mw.text.unstripNoWiki(c) -- lowercase c = c:lower() -- first try to look it up local L = HTMLcolor[c] if (L ~= nil) then return L end -- convert from hsl if mw.ustring.match(c,'^hsl%([%s]*[0-9][0-9%.]*[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*%)$') then local h, s, l = mw.ustring.match(c,'^hsl%([%s]*([0-9][0-9%.]*)[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*%)$') return hsl2lum(tonumber(h), tonumber(s)/100, tonumber(l)/100) end -- convert from rgb if mw.ustring.match(c,'^rgb%([%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*[%s]*%)$') then local R, G, B = mw.ustring.match(c,'^rgb%([%s]*([0-9][0-9]*)[%s]*,[%s]*([0-9][0-9]*)[%s]*,[%s]*([0-9][0-9]*)[%s]*%)$') return rgbdec2lum(tonumber(R), tonumber(G), tonumber(B)) end -- convert from rgb percent if mw.ustring.match(c,'^rgb%([%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*%)$') then local R, G, B = mw.ustring.match(c,'^rgb%([%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*%)$') return rgbdec2lum(255*tonumber(R)/100, 255*tonumber(G)/100, 255*tonumber(B)/100) end -- remove leading # (if there is one) and whitespace c = mw.ustring.match(c, '^[%s#]*([a-f0-9]*)[%s]*$') -- split into rgb local cs = mw.text.split(c or '', '') if( #cs == 6 ) then local R = 16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[2]) local G = 16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[4]) local B = 16*tonumber('0x' .. cs[5]) + tonumber('0x' .. cs[6]) return rgbdec2lum(R, G, B) elseif ( #cs == 3 ) then local R = 16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[1]) local G = 16*tonumber('0x' .. cs[2]) + tonumber('0x' .. cs[2]) local B = 16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[3]) return rgbdec2lum(R, G, B) end -- failure, return blank return '' end function p._greatercontrast(args) local bias = tonumber(args['bias'] or '0') or 0 local v1 = color2lum(args[1] or '') local c2 = args[2] or '#FFFFFF' local v2 = color2lum(c2) local c3 = args[3] or '#000000' local v3 = color2lum(c3) local ratio1 = 0; local ratio2 = 0; if (type(v1) == 'number' and type(v2) == 'number') then ratio1 = (v2 + 0.05)/(v1 + 0.05) ratio1 = (ratio1 < 1) and 1/ratio1 or ratio1 end if (type(v1) == 'number' and type(v3) == 'number') then ratio2 = (v3 + 0.05)/(v1 + 0.05) ratio2 = (ratio2 < 1) and 1/ratio2 or ratio2 end return (ratio1 + bias > ratio2) and c2 or c3 end function p._ratio(args) local v1 = color2lum(args[1]) local v2 = color2lum(args[2]) if (type(v1) == 'number' and type(v2) == 'number') then -- v1 should be the brighter of the two. if v2 > v1 then v1, v2 = v2, v1 end return (v1 + 0.05)/(v2 + 0.05) else return args['error'] or '?' end end function p._styleratio(args) local style = (args[1] or ''):lower() local bg, fg = 'white', 'black' local lum_bg, lum_fg = 1, 0 if args[2] then local lum = color2lum(args[2]) if lum ~= '' then bg, lum_bg = args[2], lum end end if args[3] then local lum = color2lum(args[3]) if lum ~= '' then fg, lum_fg = args[3], lum end end local slist = mw.text.split(style or '', ';') for k = 1,#slist do s = slist[k] local k,v = s:match( '^[%s]*([^:]-):([^:]-)[%s;]*$' ) k = k or '' v = v or '' if (k:match('^[%s]*(background)[%s]*$') or k:match('^[%s]*(background%-color)[%s]*$')) then local lum = color2lum(v) if( lum ~= '' ) then bg, lum_bg = v, lum end elseif (k:match('^[%s]*(color)[%s]*$')) then local lum = color2lum(v) if( lum ~= '' ) then bg, lum_fg = v, lum end end end if lum_bg > lum_fg then return (lum_bg + 0.05)/(lum_fg + 0.05) else return (lum_fg + 0.05)/(lum_bg + 0.05) end end function p.lum(frame) return color2lum(frame.args[1] or frame:getParent().args[1]) end function p.ratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._ratio(args) end function p.styleratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._styleratio(args) end function p.greatercontrast(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._greatercontrast(args) end return p hvtmcsb4mviz7lzj6tgvyp5kohk0vr7 10031 9054 2026-08-24T13:00:44Z RAPTOR7762 18 56 revisions imported from [[:meta:Module:Color_contrast]] 9053 Scribunto text/plain -- -- This module implements -- {{Color contrast ratio}} -- {{Greater color contrast ratio}} -- {{ColorToLum}} -- {{RGBColorToLum}} -- local p = {} local HTMLcolor = mw.loadData( 'Module:Color contrast/colors' ) local function sRGB (v) if (v <= 0.03928) then v = v / 12.92 else v = math.pow((v+0.055)/1.055, 2.4) end return v end local function rgbdec2lum(R, G, B) if ( 0 <= R and R < 256 and 0 <= G and G < 256 and 0 <= B and B < 256 ) then return 0.2126 * sRGB(R/255) + 0.7152 * sRGB(G/255) + 0.0722 * sRGB(B/255) else return '' end end local function hsl2lum(h, s, l) if ( 0 <= h and h < 360 and 0 <= s and s <= 1 and 0 <= l and l <= 1 ) then local c = (1 - math.abs(2*l - 1))*s local x = c*(1 - math.abs( math.fmod(h/60, 2) - 1) ) local m = l - c/2 local r, g, b = m, m, m if( 0 <= h and h < 60 ) then r = r + c g = g + x elseif( 60 <= h and h < 120 ) then r = r + x g = g + c elseif( 120 <= h and h < 180 ) then g = g + c b = b + x elseif( 180 <= h and h < 240 ) then g = g + x b = b + c elseif( 240 <= h and h < 300 ) then r = r + x b = b + c elseif( 300 <= h and h < 360 ) then r = r + c b = b + x end return rgbdec2lum(255*r, 255*g, 255*b) else return '' end end local function color2lum(c) if (c == nil) then return '' end -- html '#' entity c = c:gsub("&#35;", "#") -- whitespace c = c:match( '^%s*(.-)[%s;]*$' ) -- unstrip nowiki strip markers c = mw.text.unstripNoWiki(c) -- lowercase c = c:lower() -- first try to look it up local L = HTMLcolor[c] if (L ~= nil) then return L end -- convert from hsl if mw.ustring.match(c,'^hsl%([%s]*[0-9][0-9%.]*[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*%)$') then local h, s, l = mw.ustring.match(c,'^hsl%([%s]*([0-9][0-9%.]*)[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*%)$') return hsl2lum(tonumber(h), tonumber(s)/100, tonumber(l)/100) end -- convert from rgb if mw.ustring.match(c,'^rgb%([%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*[%s]*%)$') then local R, G, B = mw.ustring.match(c,'^rgb%([%s]*([0-9][0-9]*)[%s]*,[%s]*([0-9][0-9]*)[%s]*,[%s]*([0-9][0-9]*)[%s]*%)$') return rgbdec2lum(tonumber(R), tonumber(G), tonumber(B)) end -- convert from rgb percent if mw.ustring.match(c,'^rgb%([%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*%)$') then local R, G, B = mw.ustring.match(c,'^rgb%([%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*%)$') return rgbdec2lum(255*tonumber(R)/100, 255*tonumber(G)/100, 255*tonumber(B)/100) end -- remove leading # (if there is one) and whitespace c = mw.ustring.match(c, '^[%s#]*([a-f0-9]*)[%s]*$') -- split into rgb local cs = mw.text.split(c or '', '') if( #cs == 6 ) then local R = 16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[2]) local G = 16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[4]) local B = 16*tonumber('0x' .. cs[5]) + tonumber('0x' .. cs[6]) return rgbdec2lum(R, G, B) elseif ( #cs == 3 ) then local R = 16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[1]) local G = 16*tonumber('0x' .. cs[2]) + tonumber('0x' .. cs[2]) local B = 16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[3]) return rgbdec2lum(R, G, B) end -- failure, return blank return '' end -- This exports the function for use in other modules. -- The colour is passed as a string. function p._lum(color) return color2lum(color) end function p._greatercontrast(args) local bias = tonumber(args['bias'] or '0') or 0 local css = (args['css'] and args['css'] ~= '') and true or false local v1 = color2lum(args[1] or '') local c2 = args[2] or 'white' local v2 = color2lum(c2) local c3 = args[3] or 'black' local v3 = color2lum(c3) local ratio1 = -1; local ratio2 = -1; if (type(v1) == 'number' and type(v2) == 'number') then ratio1 = (v2 + 0.05)/(v1 + 0.05) ratio1 = (ratio1 < 1) and 1/ratio1 or ratio1 end if (type(v1) == 'number' and type(v3) == 'number') then ratio2 = (v3 + 0.05)/(v1 + 0.05) ratio2 = (ratio2 < 1) and 1/ratio2 or ratio2 end if css then local c1 = args[1] or '' if mw.ustring.match(c1, '^[A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9]$') or mw.ustring.match(c1, '^[A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9]$') then c1 = '#' .. c1 end if mw.ustring.match(c2, '^[A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9]$') or mw.ustring.match(c2, '^[A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9]$') then c2 = '#' .. c2 end if mw.ustring.match(v3, '^[A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9]$') or mw.ustring.match(v3, '^[A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9]$') then c3 = '#' .. c3 end return 'background-color:' .. c1 .. '; color:' .. ((ratio1 > 0) and (ratio2 > 0) and ((ratio1 + bias > ratio2) and c2 or c3) or '') .. ';' end return (ratio1 > 0) and (ratio2 > 0) and ((ratio1 + bias > ratio2) and c2 or c3) or '' end function p._ratio(args) local v1 = color2lum(args[1]) local v2 = color2lum(args[2]) if (type(v1) == 'number' and type(v2) == 'number') then -- v1 should be the brighter of the two. if v2 > v1 then v1, v2 = v2, v1 end return (v1 + 0.05)/(v2 + 0.05) else return args['error'] or '?' end end function p._styleratio(args) local style = (args[1] or ''):lower() local bg, fg = 'white', 'black' local lum_bg, lum_fg = 1, 0 if args[2] then local lum = color2lum(args[2]) if lum ~= '' then bg, lum_bg = args[2], lum end end if args[3] then local lum = color2lum(args[3]) if lum ~= '' then fg, lum_fg = args[3], lum end end local slist = mw.text.split(mw.ustring.gsub(mw.ustring.gsub(style or '', '&#[Xx]23;', '#'), '&#35;', '#'), ';') for k = 1,#slist do local s = slist[k] local k,v = s:match( '^[%s]*([^:]-):([^:]-)[%s;]*$' ) k = k or '' v = v or '' if (k:match('^[%s]*(background)[%s]*$') or k:match('^[%s]*(background%-color)[%s]*$')) then local lum = color2lum(v) if( lum ~= '' ) then bg, lum_bg = v, lum end elseif (k:match('^[%s]*(color)[%s]*$')) then local lum = color2lum(v) if( lum ~= '' ) then bg, lum_fg = v, lum end end end if lum_bg > lum_fg then return (lum_bg + 0.05)/(lum_fg + 0.05) else return (lum_fg + 0.05)/(lum_bg + 0.05) end end --[[ Use {{#invoke:Color contrast|somecolor}} directly or {{#invoke:Color contrast}} from a wrapper template. Parameters: -- |1= — required; A color to check. --]] function p.lum(frame) local color = frame.args[1] or frame:getParent().args[1] return p._lum(color) end function p.ratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._ratio(args) end function p.styleratio(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._styleratio(args) end function p.greatercontrast(frame) local args = frame.args[1] and frame.args or frame:getParent().args return p._greatercontrast(args) end return p bx0blwcv5isqzm2jrxnp01lj4148n73 Module:Color contrast/colors 828 1052 10032 2016-06-03T16:57:37Z meta>MarcoAurelio 0 https://en.wikipedia.org/w/index.php?title=Module:Color_contrast/colors&oldid=673825843 10032 Scribunto text/plain return { aliceblue = 0.92880068253475, antiquewhite = 0.84646951707754, aqua = 0.7874, aquamarine = 0.8078549208338, azure = 0.97265264954166, beige = 0.8988459998705, bisque = 0.80732327372979, black = 0, blanchedalmond = 0.85084439608156, blue = 0.0722, blueviolet = 0.12622014321946, brown = 0.098224287876511, burlywood = 0.51559844533893, cadetblue = 0.29424681085422, chartreuse = 0.76032025902623, chocolate = 0.23898526114557, coral = 0.37017930872924, cornflowerblue = 0.30318641994179, cornsilk = 0.93562110372965, crimson = 0.16042199953026, cyan = 0.7874, darkblue = 0.018640801980939, darkcyan = 0.20329317839046, darkgoldenrod = 0.27264703559993, darkgray = 0.39675523072563, darkgreen = 0.091143429047575, darkgrey = 0.39675523072563, darkkhaki = 0.45747326349994, darkmagenta = 0.07353047651207, darkolivegreen = 0.12651920884889, darkorange = 0.40016167026524, darkorchid = 0.13413142174857, darkred = 0.054889674531132, darksalmon = 0.40541471563381, darkseagreen = 0.43789249325969, darkslateblue = 0.065792846227988, darkslategray = 0.067608151928044, darkslategrey = 0.067608151928044, darkturquoise = 0.4874606277449, darkviolet = 0.10999048339343, deeppink = 0.23866895828276, deepskyblue = 0.44481603395575, dimgray = 0.14126329114027, dimgrey = 0.14126329114027, dodgerblue = 0.27442536991456, firebrick = 0.10724525535015, floralwhite = 0.95922484825004, forestgreen = 0.18920812076002, fuchsia = 0.2848, gainsboro = 0.71569350050648, ghostwhite = 0.94311261886323, gold = 0.69860877428159, goldenrod = 0.41919977809569, gray = 0.2158605001139, green = 0.15438342968146, greenyellow = 0.80609472611453, grey = 0.2158605001139, honeydew = 0.96336535554782, hotpink = 0.34658438169715, indianred = 0.21406134963884, indigo = 0.03107561486337, ivory = 0.99071270600615, khaki = 0.77012343394121, lavender = 0.80318750514521, lavenderblush = 0.90172748631046, lawngreen = 0.73905893124963, lemonchiffon = 0.94038992245622, lightblue = 0.63709141280807, lightcoral = 0.35522120733135, lightcyan = 0.94587293494829, lightgoldenrodyellow = 0.93348351018297, lightgray = 0.65140563741982, lightgreen = 0.69091979956865, lightgrey = 0.65140563741982, lightpink = 0.58566152734898, lightsalmon = 0.4780675225206, lightseagreen = 0.35050145117042, lightskyblue = 0.56195637618331, lightslategray = 0.23830165007287, lightslategrey = 0.23830165007287, lightsteelblue = 0.53983888284666, lightyellow = 0.98161818392882, lime = 0.7152, limegreen = 0.44571042246098, linen = 0.88357340984379, magenta = 0.2848, maroon = 0.045891942324215, mediumaquamarine = 0.49389703310801, mediumblue = 0.044077780212328, mediumorchid = 0.21639251153773, mediumpurple = 0.22905858091648, mediumseagreen = 0.34393112338131, mediumslateblue = 0.20284629471622, mediumspringgreen = 0.70704308194184, mediumturquoise = 0.5133827926448, mediumvioletred = 0.14371899849357, midnightblue = 0.02071786635086, mintcream = 0.97834604947588, mistyrose = 0.82183047859185, moccasin = 0.80083000991567, navajowhite = 0.76519682342785, navy = 0.015585128108224, oldlace = 0.91900633405549, olive = 0.20027537200568, olivedrab = 0.22593150951929, orange = 0.4817026703631, orangered = 0.25516243753416, orchid = 0.31348806761439, palegoldenrod = 0.78792647887614, palegreen = 0.77936759006353, paleturquoise = 0.76436077921714, palevioletred = 0.28754994117889, papayawhip = 0.87797100199835, peachpuff = 0.74905589878251, peru = 0.30113074877936, pink = 0.63271070702466, plum = 0.45734221587969, powderblue = 0.68254586500605, purple = 0.061477070432439, rebeccapurple = 0.07492341159447, red = 0.2126, rosybrown = 0.32319457649407, royalblue = 0.16663210743188, saddlebrown = 0.097922285020521, salmon = 0.36977241527596, sandybrown = 0.46628543696283, seagreen = 0.19734199706275, seashell = 0.92737862206922, sienna = 0.13697631337098, silver = 0.52711512570581, skyblue = 0.55291668518184, slateblue = 0.14784278062136, slategray = 0.20896704076536, slategrey = 0.20896704076536, snow = 0.96533341834849, springgreen = 0.73052306068529, steelblue = 0.20562642207625, tan = 0.48237604163921, teal = 0.16996855778968, thistle = 0.56818401093733, tomato = 0.30638612719415, turquoise = 0.5895536427578, violet = 0.40315452986676, wheat = 0.74909702820482, white = 1, whitesmoke = 0.91309865179342, yellow = 0.9278, yellowgreen = 0.50762957208707, } chi69ar1btd4wp6xbk3uez6sfu0vipn 10033 9055 2019-12-05T02:19:48Z meta>MusikBot II 0 Protected "[[Module:Color contrast/colors]]": High-risk template or module ([[User:MusikBot II/TemplateProtector|more info]]) ([Edit=Allow only autoconfirmed users] (indefinite)) 9055 Scribunto text/plain return { aliceblue = 0.92880068253475, antiquewhite = 0.84646951707754, aqua = 0.7874, aquamarine = 0.8078549208338, azure = 0.97265264954166, beige = 0.8988459998705, bisque = 0.80732327372979, black = 0, blanchedalmond = 0.85084439608156, blue = 0.0722, blueviolet = 0.12622014321946, brown = 0.098224287876511, burlywood = 0.51559844533893, cadetblue = 0.29424681085422, chartreuse = 0.76032025902623, chocolate = 0.23898526114557, coral = 0.37017930872924, cornflowerblue = 0.30318641994179, cornsilk = 0.93562110372965, crimson = 0.16042199953026, cyan = 0.7874, darkblue = 0.018640801980939, darkcyan = 0.20329317839046, darkgoldenrod = 0.27264703559993, darkgray = 0.39675523072563, darkgreen = 0.091143429047575, darkgrey = 0.39675523072563, darkkhaki = 0.45747326349994, darkmagenta = 0.07353047651207, darkolivegreen = 0.12651920884889, darkorange = 0.40016167026524, darkorchid = 0.13413142174857, darkred = 0.054889674531132, darksalmon = 0.40541471563381, darkseagreen = 0.43789249325969, darkslateblue = 0.065792846227988, darkslategray = 0.067608151928044, darkslategrey = 0.067608151928044, darkturquoise = 0.4874606277449, darkviolet = 0.10999048339343, deeppink = 0.23866895828276, deepskyblue = 0.44481603395575, dimgray = 0.14126329114027, dimgrey = 0.14126329114027, dodgerblue = 0.27442536991456, firebrick = 0.10724525535015, floralwhite = 0.95922484825004, forestgreen = 0.18920812076002, fuchsia = 0.2848, gainsboro = 0.71569350050648, ghostwhite = 0.94311261886323, gold = 0.69860877428159, goldenrod = 0.41919977809569, gray = 0.2158605001139, green = 0.15438342968146, greenyellow = 0.80609472611453, grey = 0.2158605001139, honeydew = 0.96336535554782, hotpink = 0.34658438169715, indianred = 0.21406134963884, indigo = 0.03107561486337, ivory = 0.99071270600615, khaki = 0.77012343394121, lavender = 0.80318750514521, lavenderblush = 0.90172748631046, lawngreen = 0.73905893124963, lemonchiffon = 0.94038992245622, lightblue = 0.63709141280807, lightcoral = 0.35522120733135, lightcyan = 0.94587293494829, lightgoldenrodyellow = 0.93348351018297, lightgray = 0.65140563741982, lightgreen = 0.69091979956865, lightgrey = 0.65140563741982, lightpink = 0.58566152734898, lightsalmon = 0.4780675225206, lightseagreen = 0.35050145117042, lightskyblue = 0.56195637618331, lightslategray = 0.23830165007287, lightslategrey = 0.23830165007287, lightsteelblue = 0.53983888284666, lightyellow = 0.98161818392882, lime = 0.7152, limegreen = 0.44571042246098, linen = 0.88357340984379, magenta = 0.2848, maroon = 0.045891942324215, mediumaquamarine = 0.49389703310801, mediumblue = 0.044077780212328, mediumorchid = 0.21639251153773, mediumpurple = 0.22905858091648, mediumseagreen = 0.34393112338131, mediumslateblue = 0.20284629471622, mediumspringgreen = 0.70704308194184, mediumturquoise = 0.5133827926448, mediumvioletred = 0.14371899849357, midnightblue = 0.02071786635086, mintcream = 0.97834604947588, mistyrose = 0.82183047859185, moccasin = 0.80083000991567, navajowhite = 0.76519682342785, navy = 0.015585128108224, oldlace = 0.91900633405549, olive = 0.20027537200568, olivedrab = 0.22593150951929, orange = 0.4817026703631, orangered = 0.25516243753416, orchid = 0.31348806761439, palegoldenrod = 0.78792647887614, palegreen = 0.77936759006353, paleturquoise = 0.76436077921714, palevioletred = 0.28754994117889, papayawhip = 0.87797100199835, peachpuff = 0.74905589878251, peru = 0.30113074877936, pink = 0.63271070702466, plum = 0.45734221587969, powderblue = 0.68254586500605, purple = 0.061477070432439, rebeccapurple = 0.07492341159447, red = 0.2126, rosybrown = 0.32319457649407, royalblue = 0.16663210743188, saddlebrown = 0.097922285020521, salmon = 0.36977241527596, sandybrown = 0.46628543696283, seagreen = 0.19734199706275, seashell = 0.92737862206922, sienna = 0.13697631337098, silver = 0.52711512570581, skyblue = 0.55291668518184, slateblue = 0.14784278062136, slategray = 0.20896704076536, slategrey = 0.20896704076536, snow = 0.96533341834849, springgreen = 0.73052306068529, steelblue = 0.20562642207625, tan = 0.48237604163921, teal = 0.16996855778968, thistle = 0.56818401093733, tomato = 0.30638612719415, turquoise = 0.5895536427578, violet = 0.40315452986676, wheat = 0.74909702820482, white = 1, whitesmoke = 0.91309865179342, yellow = 0.9278, yellowgreen = 0.50762957208707, } chi69ar1btd4wp6xbk3uez6sfu0vipn 10034 2015-07-25T18:16:35Z w>Mr. Stradivarius 0 split color data out from [[Module:Color contrast]] 10034 Scribunto text/plain return { white = 1, silver = 0.52711512570581, gray = 0.2158605001139, black = 0, red = 0.2126, maroon = 0.045891942324215, yellow = 0.9278, olive = 0.20027537200568, lime = 0.7152, green = 0.15438342968146, aqua = 0.7874, teal = 0.16996855778968, blue = 0.0722, navy = 0.015585128108224, fuchsia = 0.2848, purple = 0.061477070432439, orange = 0.4817026703631, gold = 0.69860877428159, pink = 0.63271070702466, lightpink = 0.58566152734898, hotpink = 0.34658438169715, deeppink = 0.23866895828276, palevioletred = 0.28754994117889, mediumvioletred = 0.14371899849357, lightsalmon = 0.4780675225206, salmon = 0.36977241527596, darksalmon = 0.40541471563381, lightcoral = 0.35522120733135, indianred = 0.21406134963884, crimson = 0.16042199953026, firebrick = 0.10724525535015, darkred = 0.054889674531132, orangered = 0.25516243753416, tomato = 0.30638612719415, coral = 0.37017930872924, darkorange = 0.40016167026524, lightyellow = 0.98161818392882, lemonchiffon = 0.94038992245622, lightgoldenrodyellow = 0.93348351018297, papayawhip = 0.87797100199835, moccasin = 0.80083000991567, peachpuff = 0.74905589878251, palegoldenrod = 0.78792647887614, khaki = 0.77012343394121, darkkhaki = 0.45747326349994, cornsilk = 0.93562110372965, blanchedalmond = 0.85084439608156, bisque = 0.80732327372979, navajowhite = 0.76519682342785, wheat = 0.74909702820482, burlywood = 0.51559844533893, tan = 0.48237604163921, rosybrown = 0.32319457649407, sandybrown = 0.46628543696283, goldenrod = 0.41919977809569, darkgoldenrod = 0.27264703559993, peru = 0.30113074877936, chocolate = 0.23898526114557, saddlebrown = 0.097922285020521, sienna = 0.13697631337098, brown = 0.098224287876511, } imbj9kfri292gzk0spskgeftxfv4i6y 10035 10034 2015-07-27T03:05:25Z w>Mr. Stradivarius 0 Protected Module:Color contrast/colors: [[WP:High-risk templates|High-risk Lua module]] ([Edit=Allow only autoconfirmed users] (indefinite) [Move=Allow only autoconfirmed users] (indefinite)) 10034 Scribunto text/plain return { white = 1, silver = 0.52711512570581, gray = 0.2158605001139, black = 0, red = 0.2126, maroon = 0.045891942324215, yellow = 0.9278, olive = 0.20027537200568, lime = 0.7152, green = 0.15438342968146, aqua = 0.7874, teal = 0.16996855778968, blue = 0.0722, navy = 0.015585128108224, fuchsia = 0.2848, purple = 0.061477070432439, orange = 0.4817026703631, gold = 0.69860877428159, pink = 0.63271070702466, lightpink = 0.58566152734898, hotpink = 0.34658438169715, deeppink = 0.23866895828276, palevioletred = 0.28754994117889, mediumvioletred = 0.14371899849357, lightsalmon = 0.4780675225206, salmon = 0.36977241527596, darksalmon = 0.40541471563381, lightcoral = 0.35522120733135, indianred = 0.21406134963884, crimson = 0.16042199953026, firebrick = 0.10724525535015, darkred = 0.054889674531132, orangered = 0.25516243753416, tomato = 0.30638612719415, coral = 0.37017930872924, darkorange = 0.40016167026524, lightyellow = 0.98161818392882, lemonchiffon = 0.94038992245622, lightgoldenrodyellow = 0.93348351018297, papayawhip = 0.87797100199835, moccasin = 0.80083000991567, peachpuff = 0.74905589878251, palegoldenrod = 0.78792647887614, khaki = 0.77012343394121, darkkhaki = 0.45747326349994, cornsilk = 0.93562110372965, blanchedalmond = 0.85084439608156, bisque = 0.80732327372979, navajowhite = 0.76519682342785, wheat = 0.74909702820482, burlywood = 0.51559844533893, tan = 0.48237604163921, rosybrown = 0.32319457649407, sandybrown = 0.46628543696283, goldenrod = 0.41919977809569, darkgoldenrod = 0.27264703559993, peru = 0.30113074877936, chocolate = 0.23898526114557, saddlebrown = 0.097922285020521, sienna = 0.13697631337098, brown = 0.098224287876511, } imbj9kfri292gzk0spskgeftxfv4i6y 10036 10035 2015-07-30T18:10:04Z w>Frietjes 0 add more from http://www.w3schools.com/html/html_colornames.asp 10036 Scribunto text/plain return { white = 1, silver = 0.52711512570581, gray = 0.2158605001139, black = 0, red = 0.2126, maroon = 0.045891942324215, yellow = 0.9278, olive = 0.20027537200568, lime = 0.7152, green = 0.15438342968146, aqua = 0.7874, teal = 0.16996855778968, blue = 0.0722, navy = 0.015585128108224, fuchsia = 0.2848, purple = 0.061477070432439, orange = 0.4817026703631, gold = 0.69860877428159, pink = 0.63271070702466, lightpink = 0.58566152734898, hotpink = 0.34658438169715, deeppink = 0.23866895828276, palevioletred = 0.28754994117889, mediumvioletred = 0.14371899849357, lightsalmon = 0.4780675225206, salmon = 0.36977241527596, darksalmon = 0.40541471563381, lightcoral = 0.35522120733135, indianred = 0.21406134963884, crimson = 0.16042199953026, firebrick = 0.10724525535015, darkred = 0.054889674531132, orangered = 0.25516243753416, tomato = 0.30638612719415, coral = 0.37017930872924, darkorange = 0.40016167026524, lightyellow = 0.98161818392882, lemonchiffon = 0.94038992245622, lightgoldenrodyellow = 0.93348351018297, papayawhip = 0.87797100199835, moccasin = 0.80083000991567, peachpuff = 0.74905589878251, palegoldenrod = 0.78792647887614, khaki = 0.77012343394121, darkkhaki = 0.45747326349994, cornsilk = 0.93562110372965, blanchedalmond = 0.85084439608156, bisque = 0.80732327372979, navajowhite = 0.76519682342785, wheat = 0.74909702820482, burlywood = 0.51559844533893, tan = 0.48237604163921, rosybrown = 0.32319457649407, sandybrown = 0.46628543696283, goldenrod = 0.41919977809569, darkgoldenrod = 0.27264703559993, peru = 0.30113074877936, chocolate = 0.23898526114557, saddlebrown = 0.097922285020521, sienna = 0.13697631337098, brown = 0.098224287876511, aliceblue = 0.92880068253475, antiquewhite = 0.84646951707754, aquamarine = 0.8078549208338, azure = 0.97265264954166, beige = 0.8988459998705, blueviolet = 0.12622014321946, cadetblue = 0.29424681085422, chartreuse = 0.76032025902623, cornflowerblue = 0.30318641994179, cyan = 0.7874, darkblue = 0.018640801980939, darkcyan = 0.20329317839046, darkgray = 0.39675523072563, darkgreen = 0.091143429047575, darkmagenta = 0.07353047651207, darkolivegreen = 0.12651920884889, darkorchid = 0.13413142174857, darkseagreen = 0.43789249325969, darkslateblue = 0.065792846227988, darkslategray = 0.067608151928044, darkturquoise = 0.4874606277449, darkviolet = 0.10999048339343, deepskyblue = 0.44481603395575, dimgray = 0.14126329114027, dodgerblue = 0.27442536991456, floralwhite = 0.95922484825004, forestgreen = 0.18920812076002, gainsboro = 0.71569350050648, ghostwhite = 0.94311261886323, greenyellow = 0.80609472611453, honeydew = 0.96336535554782, indigo = 0.03107561486337, ivory = 0.99071270600615, lavender = 0.80318750514521, lavenderblush = 0.90172748631046, lawngreen = 0.73905893124963, lightblue = 0.63709141280807, lightcyan = 0.94587293494829, lightgray = 0.65140563741982, lightgreen = 0.69091979956865, lightseagreen = 0.35050145117042, lightskyblue = 0.56195637618331, lightslategray = 0.23830165007287, lightsteelblue = 0.53983888284666, limegreen = 0.44571042246098, linen = 0.88357340984379, magenta = 0.2848, mediumaquamarine = 0.49389703310801, mediumblue = 0.044077780212328, mediumorchid = 0.21639251153773, mediumpurple = 0.22905858091648, mediumseagreen = 0.34393112338131, mediumslateblue = 0.20284629471622, mediumspringgreen = 0.70704308194184, mediumturquoise = 0.5133827926448, midnightblue = 0.02071786635086, mintcream = 0.97834604947588, mistyrose = 0.82183047859185, oldlace = 0.91900633405549, olivedrab = 0.22593150951929, orchid = 0.31348806761439, palegreen = 0.77936759006353, paleturquoise = 0.76436077921714, plum = 0.45734221587969, powderblue = 0.68254586500605, rebeccapurple = 0.07492341159447, royalblue = 0.16663210743188, seagreen = 0.19734199706275, seashell = 0.92737862206922, skyblue = 0.55291668518184, slateblue = 0.14784278062136, slategray = 0.20896704076536, snow = 0.96533341834849, springgreen = 0.73052306068529, steelblue = 0.20562642207625, thistle = 0.56818401093733, turquoise = 0.5895536427578, violet = 0.40315452986676, whitesmoke = 0.91309865179342, yellowgreen = 0.50762957208707, } lebgt1jw18gukfynkynuz0wkgukgqrm 10037 10036 2015-07-30T18:21:59Z w>Izkala 0 Add gray aliases; see [[devmo:Web/CSS/color_value]] 10037 Scribunto text/plain return { aliceblue = 0.92880068253475, antiquewhite = 0.84646951707754, aqua = 0.7874, aquamarine = 0.8078549208338, azure = 0.97265264954166, beige = 0.8988459998705, bisque = 0.80732327372979, black = 0, blanchedalmond = 0.85084439608156, blue = 0.0722, blueviolet = 0.12622014321946, brown = 0.098224287876511, burlywood = 0.51559844533893, cadetblue = 0.29424681085422, chartreuse = 0.76032025902623, chocolate = 0.23898526114557, coral = 0.37017930872924, cornflowerblue = 0.30318641994179, cornsilk = 0.93562110372965, crimson = 0.16042199953026, cyan = 0.7874, darkblue = 0.018640801980939, darkcyan = 0.20329317839046, darkgoldenrod = 0.27264703559993, darkgray = 0.39675523072563, darkgreen = 0.091143429047575, darkgrey = 0.39675523072563, darkkhaki = 0.45747326349994, darkmagenta = 0.07353047651207, darkolivegreen = 0.12651920884889, darkorange = 0.40016167026524, darkorchid = 0.13413142174857, darkred = 0.054889674531132, darksalmon = 0.40541471563381, darkseagreen = 0.43789249325969, darkslateblue = 0.065792846227988, darkslategray = 0.067608151928044, darkslategrey = 0.067608151928044, darkturquoise = 0.4874606277449, darkviolet = 0.10999048339343, deeppink = 0.23866895828276, deepskyblue = 0.44481603395575, dimgray = 0.14126329114027, dimgrey = 0.14126329114027, dodgerblue = 0.27442536991456, firebrick = 0.10724525535015, floralwhite = 0.95922484825004, forestgreen = 0.18920812076002, fuchsia = 0.2848, gainsboro = 0.71569350050648, ghostwhite = 0.94311261886323, gold = 0.69860877428159, goldenrod = 0.41919977809569, gray = 0.2158605001139, green = 0.15438342968146, greenyellow = 0.80609472611453, grey = 0.2158605001139, honeydew = 0.96336535554782, hotpink = 0.34658438169715, indianred = 0.21406134963884, indigo = 0.03107561486337, ivory = 0.99071270600615, khaki = 0.77012343394121, lavender = 0.80318750514521, lavenderblush = 0.90172748631046, lawngreen = 0.73905893124963, lemonchiffon = 0.94038992245622, lightblue = 0.63709141280807, lightcoral = 0.35522120733135, lightcyan = 0.94587293494829, lightgoldenrodyellow = 0.93348351018297, lightgray = 0.65140563741982, lightgreen = 0.69091979956865, lightgrey = 0.65140563741982, lightpink = 0.58566152734898, lightsalmon = 0.4780675225206, lightseagreen = 0.35050145117042, lightskyblue = 0.56195637618331, lightslategray = 0.23830165007287, lightslategrey = 0.23830165007287, lightsteelblue = 0.53983888284666, lightyellow = 0.98161818392882, lime = 0.7152, limegreen = 0.44571042246098, linen = 0.88357340984379, magenta = 0.2848, maroon = 0.045891942324215, mediumaquamarine = 0.49389703310801, mediumblue = 0.044077780212328, mediumorchid = 0.21639251153773, mediumpurple = 0.22905858091648, mediumseagreen = 0.34393112338131, mediumslateblue = 0.20284629471622, mediumspringgreen = 0.70704308194184, mediumturquoise = 0.5133827926448, mediumvioletred = 0.14371899849357, midnightblue = 0.02071786635086, mintcream = 0.97834604947588, mistyrose = 0.82183047859185, moccasin = 0.80083000991567, navajowhite = 0.76519682342785, navy = 0.015585128108224, oldlace = 0.91900633405549, olive = 0.20027537200568, olivedrab = 0.22593150951929, orange = 0.4817026703631, orangered = 0.25516243753416, orchid = 0.31348806761439, palegoldenrod = 0.78792647887614, palegreen = 0.77936759006353, paleturquoise = 0.76436077921714, palevioletred = 0.28754994117889, papayawhip = 0.87797100199835, peachpuff = 0.74905589878251, peru = 0.30113074877936, pink = 0.63271070702466, plum = 0.45734221587969, powderblue = 0.68254586500605, purple = 0.061477070432439, rebeccapurple = 0.07492341159447, red = 0.2126, rosybrown = 0.32319457649407, royalblue = 0.16663210743188, saddlebrown = 0.097922285020521, salmon = 0.36977241527596, sandybrown = 0.46628543696283, seagreen = 0.19734199706275, seashell = 0.92737862206922, sienna = 0.13697631337098, silver = 0.52711512570581, skyblue = 0.55291668518184, slateblue = 0.14784278062136, slategray = 0.20896704076536, slategrey = 0.20896704076536, snow = 0.96533341834849, springgreen = 0.73052306068529, steelblue = 0.20562642207625, tan = 0.48237604163921, teal = 0.16996855778968, thistle = 0.56818401093733, tomato = 0.30638612719415, turquoise = 0.5895536427578, violet = 0.40315452986676, wheat = 0.74909702820482, white = 1, whitesmoke = 0.91309865179342, yellow = 0.9278, yellowgreen = 0.50762957208707, } r20z5n8mhvrb64veyr03posty8hajpl 10038 10037 2015-07-30T18:23:05Z w>Izkala 0 Accidentally changed the indentation to spaces 10038 Scribunto text/plain return { aliceblue = 0.92880068253475, antiquewhite = 0.84646951707754, aqua = 0.7874, aquamarine = 0.8078549208338, azure = 0.97265264954166, beige = 0.8988459998705, bisque = 0.80732327372979, black = 0, blanchedalmond = 0.85084439608156, blue = 0.0722, blueviolet = 0.12622014321946, brown = 0.098224287876511, burlywood = 0.51559844533893, cadetblue = 0.29424681085422, chartreuse = 0.76032025902623, chocolate = 0.23898526114557, coral = 0.37017930872924, cornflowerblue = 0.30318641994179, cornsilk = 0.93562110372965, crimson = 0.16042199953026, cyan = 0.7874, darkblue = 0.018640801980939, darkcyan = 0.20329317839046, darkgoldenrod = 0.27264703559993, darkgray = 0.39675523072563, darkgreen = 0.091143429047575, darkgrey = 0.39675523072563, darkkhaki = 0.45747326349994, darkmagenta = 0.07353047651207, darkolivegreen = 0.12651920884889, darkorange = 0.40016167026524, darkorchid = 0.13413142174857, darkred = 0.054889674531132, darksalmon = 0.40541471563381, darkseagreen = 0.43789249325969, darkslateblue = 0.065792846227988, darkslategray = 0.067608151928044, darkslategrey = 0.067608151928044, darkturquoise = 0.4874606277449, darkviolet = 0.10999048339343, deeppink = 0.23866895828276, deepskyblue = 0.44481603395575, dimgray = 0.14126329114027, dimgrey = 0.14126329114027, dodgerblue = 0.27442536991456, firebrick = 0.10724525535015, floralwhite = 0.95922484825004, forestgreen = 0.18920812076002, fuchsia = 0.2848, gainsboro = 0.71569350050648, ghostwhite = 0.94311261886323, gold = 0.69860877428159, goldenrod = 0.41919977809569, gray = 0.2158605001139, green = 0.15438342968146, greenyellow = 0.80609472611453, grey = 0.2158605001139, honeydew = 0.96336535554782, hotpink = 0.34658438169715, indianred = 0.21406134963884, indigo = 0.03107561486337, ivory = 0.99071270600615, khaki = 0.77012343394121, lavender = 0.80318750514521, lavenderblush = 0.90172748631046, lawngreen = 0.73905893124963, lemonchiffon = 0.94038992245622, lightblue = 0.63709141280807, lightcoral = 0.35522120733135, lightcyan = 0.94587293494829, lightgoldenrodyellow = 0.93348351018297, lightgray = 0.65140563741982, lightgreen = 0.69091979956865, lightgrey = 0.65140563741982, lightpink = 0.58566152734898, lightsalmon = 0.4780675225206, lightseagreen = 0.35050145117042, lightskyblue = 0.56195637618331, lightslategray = 0.23830165007287, lightslategrey = 0.23830165007287, lightsteelblue = 0.53983888284666, lightyellow = 0.98161818392882, lime = 0.7152, limegreen = 0.44571042246098, linen = 0.88357340984379, magenta = 0.2848, maroon = 0.045891942324215, mediumaquamarine = 0.49389703310801, mediumblue = 0.044077780212328, mediumorchid = 0.21639251153773, mediumpurple = 0.22905858091648, mediumseagreen = 0.34393112338131, mediumslateblue = 0.20284629471622, mediumspringgreen = 0.70704308194184, mediumturquoise = 0.5133827926448, mediumvioletred = 0.14371899849357, midnightblue = 0.02071786635086, mintcream = 0.97834604947588, mistyrose = 0.82183047859185, moccasin = 0.80083000991567, navajowhite = 0.76519682342785, navy = 0.015585128108224, oldlace = 0.91900633405549, olive = 0.20027537200568, olivedrab = 0.22593150951929, orange = 0.4817026703631, orangered = 0.25516243753416, orchid = 0.31348806761439, palegoldenrod = 0.78792647887614, palegreen = 0.77936759006353, paleturquoise = 0.76436077921714, palevioletred = 0.28754994117889, papayawhip = 0.87797100199835, peachpuff = 0.74905589878251, peru = 0.30113074877936, pink = 0.63271070702466, plum = 0.45734221587969, powderblue = 0.68254586500605, purple = 0.061477070432439, rebeccapurple = 0.07492341159447, red = 0.2126, rosybrown = 0.32319457649407, royalblue = 0.16663210743188, saddlebrown = 0.097922285020521, salmon = 0.36977241527596, sandybrown = 0.46628543696283, seagreen = 0.19734199706275, seashell = 0.92737862206922, sienna = 0.13697631337098, silver = 0.52711512570581, skyblue = 0.55291668518184, slateblue = 0.14784278062136, slategray = 0.20896704076536, slategrey = 0.20896704076536, snow = 0.96533341834849, springgreen = 0.73052306068529, steelblue = 0.20562642207625, tan = 0.48237604163921, teal = 0.16996855778968, thistle = 0.56818401093733, tomato = 0.30638612719415, turquoise = 0.5895536427578, violet = 0.40315452986676, wheat = 0.74909702820482, white = 1, whitesmoke = 0.91309865179342, yellow = 0.9278, yellowgreen = 0.50762957208707, } 9lxigwr950lisoj3o74gwjv7bzls3g6 10039 10038 2015-07-30T19:00:09Z w>Mr. Stradivarius 0 tabularise, because you know it makes sense - https://github.com/godlygeek/tabular 10039 Scribunto text/plain return { aliceblue = 0.92880068253475, antiquewhite = 0.84646951707754, aqua = 0.7874, aquamarine = 0.8078549208338, azure = 0.97265264954166, beige = 0.8988459998705, bisque = 0.80732327372979, black = 0, blanchedalmond = 0.85084439608156, blue = 0.0722, blueviolet = 0.12622014321946, brown = 0.098224287876511, burlywood = 0.51559844533893, cadetblue = 0.29424681085422, chartreuse = 0.76032025902623, chocolate = 0.23898526114557, coral = 0.37017930872924, cornflowerblue = 0.30318641994179, cornsilk = 0.93562110372965, crimson = 0.16042199953026, cyan = 0.7874, darkblue = 0.018640801980939, darkcyan = 0.20329317839046, darkgoldenrod = 0.27264703559993, darkgray = 0.39675523072563, darkgreen = 0.091143429047575, darkgrey = 0.39675523072563, darkkhaki = 0.45747326349994, darkmagenta = 0.07353047651207, darkolivegreen = 0.12651920884889, darkorange = 0.40016167026524, darkorchid = 0.13413142174857, darkred = 0.054889674531132, darksalmon = 0.40541471563381, darkseagreen = 0.43789249325969, darkslateblue = 0.065792846227988, darkslategray = 0.067608151928044, darkslategrey = 0.067608151928044, darkturquoise = 0.4874606277449, darkviolet = 0.10999048339343, deeppink = 0.23866895828276, deepskyblue = 0.44481603395575, dimgray = 0.14126329114027, dimgrey = 0.14126329114027, dodgerblue = 0.27442536991456, firebrick = 0.10724525535015, floralwhite = 0.95922484825004, forestgreen = 0.18920812076002, fuchsia = 0.2848, gainsboro = 0.71569350050648, ghostwhite = 0.94311261886323, gold = 0.69860877428159, goldenrod = 0.41919977809569, gray = 0.2158605001139, green = 0.15438342968146, greenyellow = 0.80609472611453, grey = 0.2158605001139, honeydew = 0.96336535554782, hotpink = 0.34658438169715, indianred = 0.21406134963884, indigo = 0.03107561486337, ivory = 0.99071270600615, khaki = 0.77012343394121, lavender = 0.80318750514521, lavenderblush = 0.90172748631046, lawngreen = 0.73905893124963, lemonchiffon = 0.94038992245622, lightblue = 0.63709141280807, lightcoral = 0.35522120733135, lightcyan = 0.94587293494829, lightgoldenrodyellow = 0.93348351018297, lightgray = 0.65140563741982, lightgreen = 0.69091979956865, lightgrey = 0.65140563741982, lightpink = 0.58566152734898, lightsalmon = 0.4780675225206, lightseagreen = 0.35050145117042, lightskyblue = 0.56195637618331, lightslategray = 0.23830165007287, lightslategrey = 0.23830165007287, lightsteelblue = 0.53983888284666, lightyellow = 0.98161818392882, lime = 0.7152, limegreen = 0.44571042246098, linen = 0.88357340984379, magenta = 0.2848, maroon = 0.045891942324215, mediumaquamarine = 0.49389703310801, mediumblue = 0.044077780212328, mediumorchid = 0.21639251153773, mediumpurple = 0.22905858091648, mediumseagreen = 0.34393112338131, mediumslateblue = 0.20284629471622, mediumspringgreen = 0.70704308194184, mediumturquoise = 0.5133827926448, mediumvioletred = 0.14371899849357, midnightblue = 0.02071786635086, mintcream = 0.97834604947588, mistyrose = 0.82183047859185, moccasin = 0.80083000991567, navajowhite = 0.76519682342785, navy = 0.015585128108224, oldlace = 0.91900633405549, olive = 0.20027537200568, olivedrab = 0.22593150951929, orange = 0.4817026703631, orangered = 0.25516243753416, orchid = 0.31348806761439, palegoldenrod = 0.78792647887614, palegreen = 0.77936759006353, paleturquoise = 0.76436077921714, palevioletred = 0.28754994117889, papayawhip = 0.87797100199835, peachpuff = 0.74905589878251, peru = 0.30113074877936, pink = 0.63271070702466, plum = 0.45734221587969, powderblue = 0.68254586500605, purple = 0.061477070432439, rebeccapurple = 0.07492341159447, red = 0.2126, rosybrown = 0.32319457649407, royalblue = 0.16663210743188, saddlebrown = 0.097922285020521, salmon = 0.36977241527596, sandybrown = 0.46628543696283, seagreen = 0.19734199706275, seashell = 0.92737862206922, sienna = 0.13697631337098, silver = 0.52711512570581, skyblue = 0.55291668518184, slateblue = 0.14784278062136, slategray = 0.20896704076536, slategrey = 0.20896704076536, snow = 0.96533341834849, springgreen = 0.73052306068529, steelblue = 0.20562642207625, tan = 0.48237604163921, teal = 0.16996855778968, thistle = 0.56818401093733, tomato = 0.30638612719415, turquoise = 0.5895536427578, violet = 0.40315452986676, wheat = 0.74909702820482, white = 1, whitesmoke = 0.91309865179342, yellow = 0.9278, yellowgreen = 0.50762957208707, } chi69ar1btd4wp6xbk3uez6sfu0vipn 10040 10033 2021-10-29T20:02:26Z meta>GeneralNotability 0 7 revisions imported from [[:w:Module:Color_contrast/colors]]: blame [[User:Barkeep49]] 9055 Scribunto text/plain return { aliceblue = 0.92880068253475, antiquewhite = 0.84646951707754, aqua = 0.7874, aquamarine = 0.8078549208338, azure = 0.97265264954166, beige = 0.8988459998705, bisque = 0.80732327372979, black = 0, blanchedalmond = 0.85084439608156, blue = 0.0722, blueviolet = 0.12622014321946, brown = 0.098224287876511, burlywood = 0.51559844533893, cadetblue = 0.29424681085422, chartreuse = 0.76032025902623, chocolate = 0.23898526114557, coral = 0.37017930872924, cornflowerblue = 0.30318641994179, cornsilk = 0.93562110372965, crimson = 0.16042199953026, cyan = 0.7874, darkblue = 0.018640801980939, darkcyan = 0.20329317839046, darkgoldenrod = 0.27264703559993, darkgray = 0.39675523072563, darkgreen = 0.091143429047575, darkgrey = 0.39675523072563, darkkhaki = 0.45747326349994, darkmagenta = 0.07353047651207, darkolivegreen = 0.12651920884889, darkorange = 0.40016167026524, darkorchid = 0.13413142174857, darkred = 0.054889674531132, darksalmon = 0.40541471563381, darkseagreen = 0.43789249325969, darkslateblue = 0.065792846227988, darkslategray = 0.067608151928044, darkslategrey = 0.067608151928044, darkturquoise = 0.4874606277449, darkviolet = 0.10999048339343, deeppink = 0.23866895828276, deepskyblue = 0.44481603395575, dimgray = 0.14126329114027, dimgrey = 0.14126329114027, dodgerblue = 0.27442536991456, firebrick = 0.10724525535015, floralwhite = 0.95922484825004, forestgreen = 0.18920812076002, fuchsia = 0.2848, gainsboro = 0.71569350050648, ghostwhite = 0.94311261886323, gold = 0.69860877428159, goldenrod = 0.41919977809569, gray = 0.2158605001139, green = 0.15438342968146, greenyellow = 0.80609472611453, grey = 0.2158605001139, honeydew = 0.96336535554782, hotpink = 0.34658438169715, indianred = 0.21406134963884, indigo = 0.03107561486337, ivory = 0.99071270600615, khaki = 0.77012343394121, lavender = 0.80318750514521, lavenderblush = 0.90172748631046, lawngreen = 0.73905893124963, lemonchiffon = 0.94038992245622, lightblue = 0.63709141280807, lightcoral = 0.35522120733135, lightcyan = 0.94587293494829, lightgoldenrodyellow = 0.93348351018297, lightgray = 0.65140563741982, lightgreen = 0.69091979956865, lightgrey = 0.65140563741982, lightpink = 0.58566152734898, lightsalmon = 0.4780675225206, lightseagreen = 0.35050145117042, lightskyblue = 0.56195637618331, lightslategray = 0.23830165007287, lightslategrey = 0.23830165007287, lightsteelblue = 0.53983888284666, lightyellow = 0.98161818392882, lime = 0.7152, limegreen = 0.44571042246098, linen = 0.88357340984379, magenta = 0.2848, maroon = 0.045891942324215, mediumaquamarine = 0.49389703310801, mediumblue = 0.044077780212328, mediumorchid = 0.21639251153773, mediumpurple = 0.22905858091648, mediumseagreen = 0.34393112338131, mediumslateblue = 0.20284629471622, mediumspringgreen = 0.70704308194184, mediumturquoise = 0.5133827926448, mediumvioletred = 0.14371899849357, midnightblue = 0.02071786635086, mintcream = 0.97834604947588, mistyrose = 0.82183047859185, moccasin = 0.80083000991567, navajowhite = 0.76519682342785, navy = 0.015585128108224, oldlace = 0.91900633405549, olive = 0.20027537200568, olivedrab = 0.22593150951929, orange = 0.4817026703631, orangered = 0.25516243753416, orchid = 0.31348806761439, palegoldenrod = 0.78792647887614, palegreen = 0.77936759006353, paleturquoise = 0.76436077921714, palevioletred = 0.28754994117889, papayawhip = 0.87797100199835, peachpuff = 0.74905589878251, peru = 0.30113074877936, pink = 0.63271070702466, plum = 0.45734221587969, powderblue = 0.68254586500605, purple = 0.061477070432439, rebeccapurple = 0.07492341159447, red = 0.2126, rosybrown = 0.32319457649407, royalblue = 0.16663210743188, saddlebrown = 0.097922285020521, salmon = 0.36977241527596, sandybrown = 0.46628543696283, seagreen = 0.19734199706275, seashell = 0.92737862206922, sienna = 0.13697631337098, silver = 0.52711512570581, skyblue = 0.55291668518184, slateblue = 0.14784278062136, slategray = 0.20896704076536, slategrey = 0.20896704076536, snow = 0.96533341834849, springgreen = 0.73052306068529, steelblue = 0.20562642207625, tan = 0.48237604163921, teal = 0.16996855778968, thistle = 0.56818401093733, tomato = 0.30638612719415, turquoise = 0.5895536427578, violet = 0.40315452986676, wheat = 0.74909702820482, white = 1, whitesmoke = 0.91309865179342, yellow = 0.9278, yellowgreen = 0.50762957208707, } chi69ar1btd4wp6xbk3uez6sfu0vipn 10041 9056 2026-08-24T13:00:45Z RAPTOR7762 18 9 revisions imported from [[:meta:Module:Color_contrast/colors]] 9055 Scribunto text/plain return { aliceblue = 0.92880068253475, antiquewhite = 0.84646951707754, aqua = 0.7874, aquamarine = 0.8078549208338, azure = 0.97265264954166, beige = 0.8988459998705, bisque = 0.80732327372979, black = 0, blanchedalmond = 0.85084439608156, blue = 0.0722, blueviolet = 0.12622014321946, brown = 0.098224287876511, burlywood = 0.51559844533893, cadetblue = 0.29424681085422, chartreuse = 0.76032025902623, chocolate = 0.23898526114557, coral = 0.37017930872924, cornflowerblue = 0.30318641994179, cornsilk = 0.93562110372965, crimson = 0.16042199953026, cyan = 0.7874, darkblue = 0.018640801980939, darkcyan = 0.20329317839046, darkgoldenrod = 0.27264703559993, darkgray = 0.39675523072563, darkgreen = 0.091143429047575, darkgrey = 0.39675523072563, darkkhaki = 0.45747326349994, darkmagenta = 0.07353047651207, darkolivegreen = 0.12651920884889, darkorange = 0.40016167026524, darkorchid = 0.13413142174857, darkred = 0.054889674531132, darksalmon = 0.40541471563381, darkseagreen = 0.43789249325969, darkslateblue = 0.065792846227988, darkslategray = 0.067608151928044, darkslategrey = 0.067608151928044, darkturquoise = 0.4874606277449, darkviolet = 0.10999048339343, deeppink = 0.23866895828276, deepskyblue = 0.44481603395575, dimgray = 0.14126329114027, dimgrey = 0.14126329114027, dodgerblue = 0.27442536991456, firebrick = 0.10724525535015, floralwhite = 0.95922484825004, forestgreen = 0.18920812076002, fuchsia = 0.2848, gainsboro = 0.71569350050648, ghostwhite = 0.94311261886323, gold = 0.69860877428159, goldenrod = 0.41919977809569, gray = 0.2158605001139, green = 0.15438342968146, greenyellow = 0.80609472611453, grey = 0.2158605001139, honeydew = 0.96336535554782, hotpink = 0.34658438169715, indianred = 0.21406134963884, indigo = 0.03107561486337, ivory = 0.99071270600615, khaki = 0.77012343394121, lavender = 0.80318750514521, lavenderblush = 0.90172748631046, lawngreen = 0.73905893124963, lemonchiffon = 0.94038992245622, lightblue = 0.63709141280807, lightcoral = 0.35522120733135, lightcyan = 0.94587293494829, lightgoldenrodyellow = 0.93348351018297, lightgray = 0.65140563741982, lightgreen = 0.69091979956865, lightgrey = 0.65140563741982, lightpink = 0.58566152734898, lightsalmon = 0.4780675225206, lightseagreen = 0.35050145117042, lightskyblue = 0.56195637618331, lightslategray = 0.23830165007287, lightslategrey = 0.23830165007287, lightsteelblue = 0.53983888284666, lightyellow = 0.98161818392882, lime = 0.7152, limegreen = 0.44571042246098, linen = 0.88357340984379, magenta = 0.2848, maroon = 0.045891942324215, mediumaquamarine = 0.49389703310801, mediumblue = 0.044077780212328, mediumorchid = 0.21639251153773, mediumpurple = 0.22905858091648, mediumseagreen = 0.34393112338131, mediumslateblue = 0.20284629471622, mediumspringgreen = 0.70704308194184, mediumturquoise = 0.5133827926448, mediumvioletred = 0.14371899849357, midnightblue = 0.02071786635086, mintcream = 0.97834604947588, mistyrose = 0.82183047859185, moccasin = 0.80083000991567, navajowhite = 0.76519682342785, navy = 0.015585128108224, oldlace = 0.91900633405549, olive = 0.20027537200568, olivedrab = 0.22593150951929, orange = 0.4817026703631, orangered = 0.25516243753416, orchid = 0.31348806761439, palegoldenrod = 0.78792647887614, palegreen = 0.77936759006353, paleturquoise = 0.76436077921714, palevioletred = 0.28754994117889, papayawhip = 0.87797100199835, peachpuff = 0.74905589878251, peru = 0.30113074877936, pink = 0.63271070702466, plum = 0.45734221587969, powderblue = 0.68254586500605, purple = 0.061477070432439, rebeccapurple = 0.07492341159447, red = 0.2126, rosybrown = 0.32319457649407, royalblue = 0.16663210743188, saddlebrown = 0.097922285020521, salmon = 0.36977241527596, sandybrown = 0.46628543696283, seagreen = 0.19734199706275, seashell = 0.92737862206922, sienna = 0.13697631337098, silver = 0.52711512570581, skyblue = 0.55291668518184, slateblue = 0.14784278062136, slategray = 0.20896704076536, slategrey = 0.20896704076536, snow = 0.96533341834849, springgreen = 0.73052306068529, steelblue = 0.20562642207625, tan = 0.48237604163921, teal = 0.16996855778968, thistle = 0.56818401093733, tomato = 0.30638612719415, turquoise = 0.5895536427578, violet = 0.40315452986676, wheat = 0.74909702820482, white = 1, whitesmoke = 0.91309865179342, yellow = 0.9278, yellowgreen = 0.50762957208707, } chi69ar1btd4wp6xbk3uez6sfu0vipn Module:Transclusion count/data/T 828 1106 10431 9220 2026-08-23T05:10:35Z en>Ahechtbot 0 [[Wikipedia:BOT|Bot]]: Updated page. 10431 Scribunto text/plain return { ["T"] = 324000, ["T1"] = 9000, ["T:TDYK"] = 2700, ["TAFI/Picture_box"] = 2800, ["TBA"] = 6500, ["TCH"] = 2300, ["TCMDb_name"] = 2700, ["TCMDb_title"] = 15000, ["TDMCA"] = 23000, ["TERYT"] = 53000, ["TFAFULL"] = 14000, ["TFAIMAGE"] = 3000, ["TFA_footer"] = 9700, ["TFAfooter"] = 9700, ["TFArecentlist"] = 5400, ["THA"] = 4500, ["TOC_bottom"] = 86000, ["TOC_left"] = 3100, ["TOC_left/styles.css"] = 3100, ["TOC_limit"] = 24000, ["TOC_limit/styles.css"] = 26000, ["TOC_right"] = 51000, ["TOC_right/styles.css"] = 51000, ["TOC_top"] = 86000, ["TOC_top/styles.css"] = 86000, ["TOClimit"] = 3100, ["TOCright"] = 7500, ["TPE"] = 2500, ["TUN"] = 2300, ["TUR"] = 8100, ["TWA/Logo/3"] = 74000, ["TWA/Navigation2"] = 5200, ["TWA_nav_inner_black"] = 38000, ["Tab"] = 6700, ["Tab/Number_of_defined_parameters"] = 6700, ["Tab/styles.css"] = 6700, ["TableTBA"] = 3100, ["Table_alignment"] = 19000, ["Table_alignment/styles.css"] = 19000, ["Tag"] = 7300, ["Talk"] = 4300, ["Talk_Header"] = 5600, ["Talk_archive"] = 45000, ["Talk_archive_navigation"] = 20000, ["Talk_header"] = 846000, ["Talk_header/archivebotparse"] = 115000, ["Talk_header/styles.css"] = 846000, ["Talk_other"] = 4540000, ["Talk_page"] = 8100, ["Talk_page_header"] = 4700, ["Talk_page_of_a_redirect"] = 4200, ["Talk_page_of_redirect"] = 36000, ["Talk_page_stalker"] = 13000, ["Talk_page_watcher"] = 3700, ["Talk_quote"] = 2500, ["Talk_quote_block"] = 22000, ["Talk_quote_block/styles.css"] = 22000, ["Talk_quote_inline"] = 176000, ["Talk_quote_inline/styles.css"] = 176000, ["Talk_quote_inline_with_italics"] = 2800, ["Talk_quote_inline_with_quotes"] = 7400, ["Talkarchive"] = 117000, ["Talkarchivenav"] = 31000, ["Talkback"] = 65000, ["Talkheader"] = 119000, ["Talkpage"] = 5800, ["Talkquote"] = 9200, ["Talkref"] = 3500, ["Talkspace_detect"] = 557000, ["Tallyho"] = 2300, ["Tan"] = 5200, ["Task_force_assessment_category"] = 3100, ["Task_force_assessment_category/core"] = 3100, ["Tasks"] = 939000, ["Taxobox"] = 3400, ["Taxobox/Error_colour"] = 506000, ["Taxobox/core"] = 506000, ["Taxobox/core/styles.css"] = 506000, ["Taxobox/species"] = 200000, ["Taxobox_colour"] = 657000, ["Taxon_author"] = 6300, ["Taxon_info"] = 547000, ["Taxon_italics"] = 395000, ["Taxonbar"] = 503000, ["Taxonbar/candidate"] = 501000, ["Taxonomy"] = 401000, ["Taxonomy/Acalyptratae"] = 6700, ["Taxonomy/Acanthomorpha"] = 17000, ["Taxonomy/Acanthopterygii"] = 17000, ["Taxonomy/Acrididea"] = 2100, ["Taxonomy/Actinomycetes"] = 2600, ["Taxonomy/Actinomycetota"] = 2800, ["Taxonomy/Actinopteri"] = 32000, ["Taxonomy/Actinopterygii"] = 33000, ["Taxonomy/Aculeata"] = 10000, ["Taxonomy/Adephaga"] = 14000, ["Taxonomy/Afrophidia"] = 4500, ["Taxonomy/Agaricales"] = 3600, ["Taxonomy/Agaricomycetes"] = 7200, ["Taxonomy/Agaricomycetidae"] = 4600, ["Taxonomy/Agaricomycotina"] = 7500, ["Taxonomy/Alethinophidia"] = 4700, ["Taxonomy/Allotriocarida"] = 266000, ["Taxonomy/Alphaproteobacteria"] = 2100, ["Taxonomy/Amastigomycota"] = 24000, ["Taxonomy/Ambulacraria"] = 3100, ["Taxonomy/Ammonoidea"] = 2400, ["Taxonomy/Amniota"] = 64000, ["Taxonomy/Amorphea"] = 517000, ["Taxonomy/Amphibia"] = 9100, ["Taxonomy/Amphiesmenoptera"] = 117000, ["Taxonomy/Angiosperms"] = 104000, ["Taxonomy/Animalia"] = 492000, ["Taxonomy/Antennoclypeata"] = 3200, ["Taxonomy/Anthophila"] = 4600, ["Taxonomy/Anthozoa"] = 2200, ["Taxonomy/Antliophora"] = 24000, ["Taxonomy/Anura"] = 7800, ["Taxonomy/Aparaglossata"] = 224000, ["Taxonomy/Apiales"] = 2200, ["Taxonomy/Apo-Chiroptera"] = 2000, ["Taxonomy/Apocrita"] = 14000, ["Taxonomy/Apoditrysia"] = 107000, ["Taxonomy/Apoidea"] = 5200, ["Taxonomy/Arachnida"] = 26000, ["Taxonomy/Arachnopulmonata"] = 19000, ["Taxonomy/Araneae"] = 18000, ["Taxonomy/Araneoidea"] = 3000, ["Taxonomy/Araneomorphae"] = 16000, ["Taxonomy/Archaeplastida"] = 113000, ["Taxonomy/Archelosauria"] = 7200, ["Taxonomy/Archosauria"] = 25000, ["Taxonomy/Archosauria/skip"] = 19000, ["Taxonomy/Archosauriformes"] = 5300, ["Taxonomy/Archosauromorpha"] = 5500, ["Taxonomy/Arctiinae"] = 11000, ["Taxonomy/Arctiini"] = 5200, ["Taxonomy/Arthropoda"] = 307000, ["Taxonomy/Artiodactyla"] = 2700, ["Taxonomy/Artiofabula"] = 2400, ["Taxonomy/Artiopoda"] = 2300, ["Taxonomy/Aschiza"] = 2500, ["Taxonomy/Ascomycota"] = 16000, ["Taxonomy/Asilomorpha"] = 3400, ["Taxonomy/Asparagales"] = 12000, ["Taxonomy/Asteraceae"] = 8600, ["Taxonomy/Asterales"] = 9900, ["Taxonomy/Asterids"] = 31000, ["Taxonomy/Asteroideae"] = 6600, ["Taxonomy/Auchenorrhyncha"] = 4000, ["Taxonomy/Australaves"] = 11000, ["Taxonomy/Avemetatarsalia"] = 5100, ["Taxonomy/Avemetatarsalia/skip"] = 19000, ["Taxonomy/Aves"] = 19000, ["Taxonomy/Avicularioidea"] = 2300, ["Taxonomy/BOP_clade"] = 2300, ["Taxonomy/Bacillati"] = 5700, ["Taxonomy/Bacillota"] = 2300, ["Taxonomy/Bacteria"] = 14000, ["Taxonomy/Basidiomycota"] = 8300, ["Taxonomy/Batrachia"] = 8800, ["Taxonomy/Batrachomorpha"] = 9100, ["Taxonomy/Bilateria"] = 486000, ["Taxonomy/Bivalvia"] = 2800, ["Taxonomy/Bombycoidea"] = 3800, ["Taxonomy/Boreoeutheria"] = 16000, ["Taxonomy/Brachycera"] = 20000, ["Taxonomy/Brachyura"] = 2000, ["Taxonomy/Bromeliaceae"] = 2300, ["Taxonomy/Buccinoidea"] = 2500, ["Taxonomy/CAM"] = 113000, ["Taxonomy/Caelifera"] = 2200, ["Taxonomy/Caenogastropoda"] = 25000, ["Taxonomy/Caenophidia"] = 4300, ["Taxonomy/Caesalpinioideae"] = 2200, ["Taxonomy/Calyptratae"] = 5600, ["Taxonomy/Campanulids"] = 13000, ["Taxonomy/Carabidae"] = 11000, ["Taxonomy/Caraboidea"] = 12000, ["Taxonomy/Carnivoramorpha"] = 2000, ["Taxonomy/Caryophyllales"] = 5600, ["Taxonomy/Cassidinae"] = 3900, ["Taxonomy/Cephalopoda"] = 5000, ["Taxonomy/Cerambycidae"] = 29000, ["Taxonomy/Cerambycinae"] = 6200, ["Taxonomy/Cetruminantia"] = 2200, ["Taxonomy/Chelicerata"] = 27000, ["Taxonomy/Chiroptera"] = 2000, ["Taxonomy/Choanozoa"] = 492000, ["Taxonomy/Chondrichthyes"] = 2700, ["Taxonomy/Chordata"] = 113000, ["Taxonomy/Chrysomelidae"] = 7500, ["Taxonomy/Chrysomeloidea"] = 37000, ["Taxonomy/Cicadomorpha"] = 2800, ["Taxonomy/Cimicomorpha"] = 2200, ["Taxonomy/Clupeocephala"] = 30000, ["Taxonomy/Cnidaria"] = 3800, ["Taxonomy/Coccinellidae"] = 2600, ["Taxonomy/Coccinellinae"] = 2000, ["Taxonomy/Coccinelloidea"] = 3000, ["Taxonomy/Coelolepida"] = 116000, ["Taxonomy/Coleoptera"] = 82000, ["Taxonomy/Coleopterida"] = 82000, ["Taxonomy/Colubridae"] = 2700, ["Taxonomy/Colubroidea"] = 2700, ["Taxonomy/Colubroides"] = 4300, ["Taxonomy/Commelinids"] = 12000, ["Taxonomy/Conchifera"] = 5300, ["Taxonomy/Condylognatha"] = 12000, ["Taxonomy/Conoidea"] = 7300, ["Taxonomy/Core_eudicots"] = 70000, ["Taxonomy/Cosmopterigidae"] = 2100, ["Taxonomy/Cossoidea"] = 2800, ["Taxonomy/Crambidae"] = 12000, ["Taxonomy/Crambinae"] = 2300, ["Taxonomy/Crocopoda"] = 5400, ["Taxonomy/Ctenosquamata"] = 18000, ["Taxonomy/Cucujiformia"] = 49000, ["Taxonomy/Curculionidae"] = 3200, ["Taxonomy/Curculionoidea"] = 3900, ["Taxonomy/Cyclorrhapha"] = 12000, ["Taxonomy/Cyperaceae"] = 2600, ["Taxonomy/Cypriniformes"] = 5100, ["Taxonomy/Cypriniphysi"] = 5100, ["Taxonomy/Cyprinoidei"] = 3900, ["Taxonomy/Decapoda"] = 4300, ["Taxonomy/Dendrobiinae"] = 2100, ["Taxonomy/Depressariidae"] = 3100, ["Taxonomy/Deuteropoda"] = 307000, ["Taxonomy/Deuterostomia"] = 116000, ["Taxonomy/Diaphoretickes"] = 117000, ["Taxonomy/Diaphoretickes/showdomain"] = 5100, ["Taxonomy/Diapsida"] = 25000, ["Taxonomy/Dicondylia"] = 263000, ["Taxonomy/Dictyoptera"] = 2400, ["Taxonomy/Dikarya"] = 24000, ["Taxonomy/Dinosauria"] = 4300, ["Taxonomy/Dinosauria/skip"] = 19000, ["Taxonomy/Dinosauromorpha"] = 4300, ["Taxonomy/Diptera"] = 24000, ["Taxonomy/Ditrysia"] = 113000, ["Taxonomy/Doryloformicia"] = 2900, ["Taxonomy/Dothideomyceta"] = 9700, ["Taxonomy/Dothideomycetes"] = 2700, ["Taxonomy/Ecdysozoa"] = 310000, ["Taxonomy/Echinodermata"] = 2800, ["Taxonomy/Elasmobranchii"] = 2200, ["Taxonomy/Elateriformia"] = 3800, ["Taxonomy/Elementaves"] = 2100, ["Taxonomy/Elpistostegalia"] = 74000, ["Taxonomy/Embryophytes"] = 110000, ["Taxonomy/Embryophytes/Plantae"] = 110000, ["Taxonomy/Ennominae"] = 2700, ["Taxonomy/Ensifera"] = 2200, ["Taxonomy/Entelegynae"] = 8100, ["Taxonomy/Eotetrapodiformes"] = 74000, ["Taxonomy/Epidendroideae"] = 5500, ["Taxonomy/Erebidae"] = 17000, ["Taxonomy/Eremoneura"] = 12000, ["Taxonomy/Ericales"] = 4200, ["Taxonomy/Euarchontoglires"] = 6300, ["Taxonomy/Eucarida"] = 4400, ["Taxonomy/Eucrocopoda"] = 5200, ["Taxonomy/Eudicots"] = 74000, ["Taxonomy/Eufalconimorphae"] = 11000, ["Taxonomy/Euformicia"] = 3200, ["Taxonomy/Eugnathostomata"] = 111000, ["Taxonomy/Eukaryota"] = 635000, ["Taxonomy/Eukaryota/displayed"] = 6400, ["Taxonomy/Eulepidoptera"] = 114000, ["Taxonomy/Eumalacostraca"] = 6900, ["Taxonomy/Eumetabola"] = 251000, ["Taxonomy/Eumetazoa"] = 490000, ["Taxonomy/Eupasseres"] = 9800, ["Taxonomy/Eupercaria"] = 5700, ["Taxonomy/Euphyllophytes"] = 2000, ["Taxonomy/Eupitheciini"] = 2000, ["Taxonomy/Eupulmonata"] = 6300, ["Taxonomy/Eureptilia"] = 25000, ["Taxonomy/Eurypterygii"] = 18000, ["Taxonomy/Euselachii"] = 2300, ["Taxonomy/Euteleostei"] = 19000, ["Taxonomy/Eutheria"] = 17000, ["Taxonomy/Euthyneura"] = 13000, ["Taxonomy/Euungulata"] = 4000, ["Taxonomy/Fabaceae"] = 6800, ["Taxonomy/Fabales"] = 7100, ["Taxonomy/Fabids"] = 18000, ["Taxonomy/Faboideae"] = 4000, ["Taxonomy/Ferae"] = 2400, ["Taxonomy/Ferungulata"] = 6400, ["Taxonomy/Filozoa"] = 492000, ["Taxonomy/Formicidae"] = 3300, ["Taxonomy/Formicoidea"] = 3300, ["Taxonomy/Fungi"] = 25000, ["Taxonomy/Gamasina"] = 2300, ["Taxonomy/Gammaproteobacteria"] = 2000, ["Taxonomy/Gastropoda"] = 44000, ["Taxonomy/Gekkonoidea"] = 2200, ["Taxonomy/Gekkonomorpha"] = 2600, ["Taxonomy/Gekkota"] = 2600, ["Taxonomy/Gelechiidae"] = 6100, ["Taxonomy/Gelechiinae"] = 3000, ["Taxonomy/Gelechioidea"] = 19000, ["Taxonomy/Gentianales"] = 5000, ["Taxonomy/Geometridae"] = 11000, ["Taxonomy/Geometroidea"] = 11000, ["Taxonomy/Glires"] = 4600, ["Taxonomy/Gliriformes"] = 4600, ["Taxonomy/Glossata"] = 116000, ["Taxonomy/Gnathostomata"] = 111000, ["Taxonomy/Gracillariidae"] = 2200, ["Taxonomy/Gracillarioidea"] = 2500, ["Taxonomy/Graminid_clade"] = 4100, ["Taxonomy/Halvaria"] = 3000, ["Taxonomy/Helicina_(suborder)"] = 5500, ["Taxonomy/Hemiptera"] = 10000, ["Taxonomy/Hesperiidae"] = 2700, ["Taxonomy/Heterobranchia"] = 13000, ["Taxonomy/Heteroneura"] = 115000, ["Taxonomy/Heteroptera"] = 5100, ["Taxonomy/Hexapoda"] = 265000, ["Taxonomy/Holometabola"] = 238000, ["Taxonomy/Holomycota"] = 25000, ["Taxonomy/Holozoa"] = 492000, ["Taxonomy/Hyloidea"] = 3600, ["Taxonomy/Hymenoptera"] = 14000, ["Taxonomy/Hymenopterida"] = 14000, ["Taxonomy/Iguania"] = 2500, ["Taxonomy/Iguanomorpha"] = 2500, ["Taxonomy/Insecta"] = 264000, ["Taxonomy/Lamiales"] = 6900, ["Taxonomy/Lamiids"] = 14000, ["Taxonomy/Lamiinae"] = 21000, ["Taxonomy/Larentiinae"] = 3700, ["Taxonomy/Laurasiatheria"] = 9200, ["Taxonomy/Lecanoromycetes"] = 4700, ["Taxonomy/Lecanoromycetidae"] = 3200, ["Taxonomy/Leotiomyceta"] = 14000, ["Taxonomy/Lepidoptera"] = 116000, ["Taxonomy/Lepidosauria"] = 15000, ["Taxonomy/Lepidosauromorpha"] = 15000, ["Taxonomy/Life"] = 653000, ["Taxonomy/Linyphiidae"] = 2100, ["Taxonomy/Lissamphibia"] = 9100, ["Taxonomy/Lithosiini"] = 3600, ["Taxonomy/Littorinimorpha"] = 5800, ["Taxonomy/Lophotrochozoa"] = 57000, ["Taxonomy/Lycaenidae"] = 4100, ["Taxonomy/Macroheterocera"] = 43000, ["Taxonomy/Magnoliids"] = 2900, ["Taxonomy/Malacostraca"] = 7100, ["Taxonomy/Malaxideae"] = 2200, ["Taxonomy/Malpighiales"] = 4900, ["Taxonomy/Malvales"] = 2700, ["Taxonomy/Malvids"] = 13000, ["Taxonomy/Mammalia"] = 19000, ["Taxonomy/Mammalia/skip"] = 19000, ["Taxonomy/Mandibulata"] = 278000, ["Taxonomy/Melolonthinae"] = 3000, ["Taxonomy/Meso-Papilionoideae"] = 3800, ["Taxonomy/Mesostigmata"] = 2800, ["Taxonomy/Mollusca"] = 52000, ["Taxonomy/Monocots"] = 27000, ["Taxonomy/Monogynaspida"] = 2500, ["Taxonomy/Multicrustacea"] = 8700, ["Taxonomy/Muricidae"] = 2200, ["Taxonomy/Muricoidea"] = 2200, ["Taxonomy/Muroidea"] = 2600, ["Taxonomy/Muscomorpha"] = 15000, ["Taxonomy/Mygalomorphae"] = 2400, ["Taxonomy/Myoglossata"] = 116000, ["Taxonomy/Myomorpha"] = 2700, ["Taxonomy/Myriapoda"] = 2400, ["Taxonomy/Myrtaceae"] = 3100, ["Taxonomy/Myrtales"] = 4600, ["Taxonomy/Myrtoideae"] = 3100, ["Taxonomy/Nematocera"] = 3300, ["Taxonomy/Neoaves"] = 17000, ["Taxonomy/Neobatrachia"] = 6800, ["Taxonomy/Neocephalopoda"] = 3900, ["Taxonomy/Neodiapsida"] = 24000, ["Taxonomy/Neogastropoda"] = 16000, ["Taxonomy/Neognathae"] = 18000, ["Taxonomy/Neolepidoptera"] = 116000, ["Taxonomy/Neoptera"] = 259000, ["Taxonomy/Neopterygii"] = 32000, ["Taxonomy/Neoreptilia"] = 25000, ["Taxonomy/Neoteleostei"] = 18000, ["Taxonomy/Nephrozoa"] = 486000, ["Taxonomy/Neuropteroidea"] = 83000, ["Taxonomy/Noctuidae"] = 8400, ["Taxonomy/Noctuinae"] = 2800, ["Taxonomy/Noctuoidea"] = 27000, ["Taxonomy/Non-protein_amino_acid-accumulating_clade"] = 2700, ["Taxonomy/Nudibranchia"] = 2700, ["Taxonomy/Nudipleura"] = 2700, ["Taxonomy/Nymphalidae"] = 4300, ["Taxonomy/Obazoa"] = 517000, ["Taxonomy/Obtectomera"] = 73000, ["Taxonomy/Odonata"] = 3100, ["Taxonomy/Odonatoptera"] = 3100, ["Taxonomy/Oestroidea"] = 5000, ["Taxonomy/Olfactores"] = 112000, ["Taxonomy/Ophidia"] = 5200, ["Taxonomy/Opisthokonta"] = 517000, ["Taxonomy/Opisthothelae"] = 18000, ["Taxonomy/Orchidaceae"] = 8100, ["Taxonomy/Orchidoideae"] = 2300, ["Taxonomy/Ornithodira"] = 5000, ["Taxonomy/Ornithurae"] = 19000, ["Taxonomy/Ornithurae/skip"] = 19000, ["Taxonomy/Orthoptera"] = 4400, ["Taxonomy/Ostariophysi"] = 10000, ["Taxonomy/Osteichthyes"] = 108000, ["Taxonomy/Otocephala"] = 11000, ["Taxonomy/Otophysi"] = 10000, ["Taxonomy/Ovalentaria"] = 5000, ["Taxonomy/Palaeoptera"] = 3800, ["Taxonomy/Pan-Carnivora"] = 2200, ["Taxonomy/Pan-Euteleostei"] = 19000, ["Taxonomy/Pan-Euungulata"] = 4100, ["Taxonomy/Panarthropoda"] = 307000, ["Taxonomy/Pancrustacea"] = 275000, ["Taxonomy/Panorpida"] = 141000, ["Taxonomy/Panpulmonata"] = 8600, ["Taxonomy/Pantetrapulmonata"] = 19000, ["Taxonomy/Papilionoidea"] = 13000, ["Taxonomy/ParaHoxozoa"] = 490000, ["Taxonomy/Parapleurota"] = 25000, ["Taxonomy/Parasitiformes"] = 3100, ["Taxonomy/Paraxonia"] = 2800, ["Taxonomy/Passerea"] = 13000, ["Taxonomy/Passeri"] = 7800, ["Taxonomy/Passerida"] = 3500, ["Taxonomy/Passerides"] = 5900, ["Taxonomy/Passeriformes"] = 9800, ["Taxonomy/Pentatomomorpha"] = 2300, ["Taxonomy/Peracarida"] = 2500, ["Taxonomy/Perciformes"] = 2800, ["Taxonomy/Percomorpha"] = 16000, ["Taxonomy/Pezizomycotina"] = 15000, ["Taxonomy/Phycitinae"] = 2600, ["Taxonomy/Phytophaga"] = 41000, ["Taxonomy/Placentalia"] = 17000, ["Taxonomy/Plantae"] = 112000, ["Taxonomy/Planulozoa"] = 3800, ["Taxonomy/Platyhelminthes"] = 2700, ["Taxonomy/Pleocyemata"] = 4100, ["Taxonomy/Poaceae"] = 4100, ["Taxonomy/Poales"] = 9400, ["Taxonomy/Podiata"] = 517000, ["Taxonomy/Polyneoptera"] = 8600, ["Taxonomy/Polyphaga"] = 68000, ["Taxonomy/Polypodiophyta"] = 2000, ["Taxonomy/Polypodiopsida"] = 2000, ["Taxonomy/Polysporangiophytes"] = 108000, ["Taxonomy/Polysporangiophytes/Plantae"] = 108000, ["Taxonomy/Proteales"] = 2000, ["Taxonomy/Protostomia"] = 370000, ["Taxonomy/Pseudomonadati"] = 8100, ["Taxonomy/Pseudomonadota"] = 5000, ["Taxonomy/Psittacopasseres"] = 11000, ["Taxonomy/Pteropliini"] = 2300, ["Taxonomy/Pterygota"] = 263000, ["Taxonomy/Pyralidae"] = 4500, ["Taxonomy/Pyraloidea"] = 16000, ["Taxonomy/Pyramidellidae"] = 2200, ["Taxonomy/Pyramidelloidea"] = 2200, ["Taxonomy/RTA_clade"] = 4400, ["Taxonomy/Ranoidea"] = 2900, ["Taxonomy/Reptantia"] = 3400, ["Taxonomy/Reptilia"] = 25000, ["Taxonomy/Reptiliomorpha"] = 64000, ["Taxonomy/Rhabditophora"] = 2700, ["Taxonomy/Rhipidistia"] = 75000, ["Taxonomy/Ringipleura"] = 2800, ["Taxonomy/Rodentia"] = 4400, ["Taxonomy/Romeriida"] = 25000, ["Taxonomy/Rosales"] = 3300, ["Taxonomy/Rosids"] = 31000, ["Taxonomy/Rouphozoa"] = 2800, ["Taxonomy/Rubiaceae"] = 2600, ["Taxonomy/Saccharomyceta"] = 15000, ["Taxonomy/Salientia"] = 7800, ["Taxonomy/Salticidae"] = 2900, ["Taxonomy/Salticinae"] = 2600, ["Taxonomy/Sapindales"] = 3300, ["Taxonomy/Sar"] = 4000, ["Taxonomy/Sarcopterygii"] = 75000, ["Taxonomy/Sauria"] = 23000, ["Taxonomy/Saurischia"] = 2900, ["Taxonomy/Sauropsida"] = 43000, ["Taxonomy/Scarabaeidae"] = 10000, ["Taxonomy/Scarabaeiformia"] = 11000, ["Taxonomy/Scarabaeoidea"] = 11000, ["Taxonomy/Schizophora"] = 12000, ["Taxonomy/Scincidae"] = 2100, ["Taxonomy/Scincomorpha"] = 2400, ["Taxonomy/Scrotifera"] = 8500, ["Taxonomy/Sericinae"] = 3900, ["Taxonomy/Sericini"] = 3600, ["Taxonomy/Serpentes"] = 5200, ["Taxonomy/Setaphyta"] = 2100, ["Taxonomy/Siluriformes"] = 3600, ["Taxonomy/Simplicidentata"] = 4400, ["Taxonomy/Sordariomyceta"] = 4600, ["Taxonomy/Sordariomycetes"] = 2900, ["Taxonomy/Spermatophyta"] = 106000, ["Taxonomy/Spermatophytes/Plantae"] = 106000, ["Taxonomy/Spilomelinae"] = 4300, ["Taxonomy/Spiralia"] = 60000, ["Taxonomy/Squamata"] = 15000, ["Taxonomy/Staphyliniformia"] = 3000, ["Taxonomy/Staphylinoidea"] = 2200, ["Taxonomy/Stegocephali"] = 74000, ["Taxonomy/Stylommatophora"] = 6000, ["Taxonomy/Superasterids"] = 38000, ["Taxonomy/Superrosids"] = 32000, ["Taxonomy/Syrphidae"] = 2100, ["Taxonomy/Syrphoidea"] = 2300, ["Taxonomy/TSAR"] = 4000, ["Taxonomy/Tachinidae"] = 4400, ["Taxonomy/Tectipleura"] = 9800, ["Taxonomy/Teleocephala"] = 30000, ["Taxonomy/Teleostei"] = 32000, ["Taxonomy/Teleosteomorpha"] = 32000, ["Taxonomy/Telluraves"] = 13000, ["Taxonomy/Tenebrionoidea"] = 3400, ["Taxonomy/Tephritidae"] = 3300, ["Taxonomy/Tephritinae"] = 2400, ["Taxonomy/Tephritoidea"] = 4300, ["Taxonomy/Tetrapoda"] = 74000, ["Taxonomy/Tetrapodomorpha"] = 74000, ["Taxonomy/Tetrapulmonata"] = 19000, ["Taxonomy/Theria"] = 18000, ["Taxonomy/Theria/skip"] = 18000, ["Taxonomy/Theropoda/skip"] = 19000, ["Taxonomy/Tortricidae"] = 8500, ["Taxonomy/Tortricinae"] = 5900, ["Taxonomy/Tortricoidea"] = 8500, ["Taxonomy/Toxicofera"] = 8400, ["Taxonomy/Tracheophyta"] = 108000, ["Taxonomy/Tracheophytes/Plantae"] = 108000, ["Taxonomy/Trilobita"] = 2200, ["Taxonomy/Trilobitomorpha"] = 2300, ["Taxonomy/Trochida"] = 2800, ["Taxonomy/Trochoidea"] = 2800, ["Taxonomy/Tyranni"] = 2000, ["Taxonomy/Unicalcarida"] = 14000, ["Taxonomy/Vertebrata"] = 112000, ["Taxonomy/Vetigastropoda"] = 4900, ["Taxonomy/Virus"] = 2900, ["Taxonomy/crown_Formicidae"] = 3200, ["Taxonomy_key"] = 150000, ["Taxonomy_preload"] = 150000, ["Tb"] = 13000, ["Team_roster_navbox"] = 34000, ["Technical"] = 4100, ["Technically_indistinguishable"] = 2500, ["Television_debuts_endings_antonym"] = 7200, ["Television_episode_redirect_handler"] = 24000, ["Television_episode_short_description"] = 13000, ["Template"] = 4700, ["Template-Class"] = 14000, ["TemplateData_header"] = 18000, ["Template_category"] = 36000, ["Template_display"] = 57000, ["Template_for_discussion/dated"] = 16000, ["Template_for_discussion/styles.css"] = 37000, ["Template_for_merging/dated"] = 21000, ["Template_link"] = 7560000, ["Template_link_code"] = 1160000, ["Template_link_code_with_subst"] = 20000, ["Template_link_expanded"] = 2630000, ["Template_link_expanded_with_subst"] = 5100, ["Template_link_general"] = 24000, ["Template_link_interwiki"] = 9000, ["Template_link_null"] = 9200, ["Template_link_universal"] = 12000, ["Template_link_with_alternate_text"] = 2200, ["Template_link_with_link_off"] = 9800, ["Template_link_with_linked_braces"] = 8200, ["Template_link_with_parameters"] = 70000, ["Template_link_with_subst"] = 54000, ["Template_links"] = 2500, ["Template_other"] = 4970000, ["Template_parameter_usage"] = 20000, ["Template_parameter_value"] = 51000, ["Template_rating"] = 2600, ["Template_reference_list"] = 7400, ["Template_sandbox_notice"] = 6500, ["Template_shortcut"] = 6500, ["TennisEventInfo"] = 6800, ["TennisEvents"] = 2200, ["Tennis_events"] = 13000, ["Tennis_icon"] = 2800, ["Tennis_icon2"] = 2800, ["Tennis_record"] = 3000, ["Terminate_sentence"] = 53000, ["Testcases_notice"] = 5100, ["Text_diff"] = 3500, ["Tfd_links"] = 6900, ["Th/abp"] = 115000, ["Thank"] = 2400, ["Thank_you"] = 5400, ["The_edit-summary_field"] = 8900, ["The_edit-summary_field/OOUI"] = 2400, ["Their"] = 15000, ["They"] = 11000, ["They_have"] = 39000, ["Thin_space"] = 29000, ["Thinsp"] = 26000, ["Third-party"] = 6700, ["Thirteen_Colonies_article_name"] = 2100, ["This_is_a_new_user"] = 7000, ["Thursday"] = 2800, ["Tick"] = 81000, ["Ticket_confirmation"] = 3200, ["Time"] = 2800, ["Time_ago"] = 185000, ["Time_signature"] = 3300, ["Time_with_time_zone_link"] = 4300, ["Title_case"] = 5800, ["Title_century"] = 31000, ["Title_country"] = 42000, ["Title_decade"] = 31000, ["Title_demonym"] = 39000, ["Title_disambig_text"] = 251000, ["Title_language"] = 2600, ["Title_monthname"] = 41000, ["Title_number"] = 4400, ["Title_year"] = 264000, ["Title_year+1"] = 13000, ["Title_year-1"] = 3000, ["Title_year2range"] = 7900, ["Title_year2range-1"] = 6400, ["Title_year_range"] = 13000, ["Tl"] = 7270000, ["Tl2"] = 8900, ["Tlc"] = 909000, ["Tld"] = 253000, ["Tlf"] = 9700, ["Tlg"] = 22000, ["Tlit"] = 3200, ["Tlp"] = 70000, ["Tls"] = 52000, ["Tlsc"] = 20000, ["Tlsp"] = 2400, ["Tlu"] = 12000, ["Tlx"] = 2620000, ["Tlxs"] = 3400, ["Tmbox"] = 2400000, ["Tmpv"] = 50000, ["Tn"] = 8200, ["Tnull"] = 9000, ["To"] = 3000, ["To_USD"] = 2500, ["To_USD/CurrencyCheck"] = 2500, ["To_USD/General"] = 2200, ["To_be_announced"] = 7200, ["To_do"] = 7700, ["Toc_right"] = 2100, ["Tocright"] = 7300, ["Todo"] = 2700, ["Tomorrow"] = 7200, ["Tone"] = 7700, ["Tone-cmn"] = 2800, ["Toolbar"] = 349000, ["Toolforge"] = 12000, ["Tooltip"] = 563000, ["Tooltip/styles.css"] = 563000, ["Top-Class"] = 15000, ["Top-importance"] = 15000, ["Top_25_Report"] = 3900, ["Top_25_report"] = 6000, ["Top_icon"] = 84000, ["Totd"] = 4300, ["Totd_nav"] = 5400, ["Tp"] = 2600, ["Tpq"] = 3900, ["Tpr"] = 2900, ["Tps"] = 12000, ["Tpw"] = 3600, ["Tq"] = 172000, ["Tq2"] = 5700, ["Tqb"] = 5300, ["Tqq"] = 7400, ["Tquote"] = 2200, ["Track_gauge"] = 26000, ["Track_listing"] = 124000, ["Tracking_category"] = 5200, ["Tracklist"] = 15000, ["Trademark"] = 7800, ["Trademarked"] = 4300, ["Transclude"] = 18000, ["Transclude_lead_excerpt"] = 3700, ["Transcluded_section"] = 4700, ["Transclusionless"] = 5000, ["Translated"] = 25000, ["Translated_page"] = 114000, ["Translation"] = 20000, ["Translation/Base"] = 2400, ["Translation/Information"] = 2100, ["Translation/Summary"] = 2100, ["Transliteration"] = 69000, ["Tree_chart"] = 8400, ["Tree_chart/end"] = 8400, ["Tree_chart/start"] = 8400, ["Tree_list"] = 25000, ["Tree_list/end"] = 25000, ["Tree_list/styles.css"] = 25000, ["Trim"] = 2990000, ["Trim_%"] = 6700, ["Trim_brackets"] = 3600, ["Trim_leading"] = 2100, ["Trim_quotes"] = 26000, ["Trout"] = 2200, ["Tsh"] = 3300, ["Tsp"] = 2200, ["Tuesday"] = 2800, ["TuttoCalciatori"] = 2200, ["Twitter"] = 16000, ["Two-digit_year"] = 6000, ["TwoLegResult"] = 5800, ["TwoLegStart"] = 4600, ["TwoLeg_start"] = 5800, ["Module:TNT"] = 10000, ["Module:TableTools"] = 9590000, ["Module:Table_empty_cell"] = 33000, ["Module:Taxobox_ranks"] = 657000, ["Module:TaxonItalics"] = 656000, ["Module:TaxonList"] = 28000, ["Module:Taxonbar"] = 503000, ["Module:Taxonbar/candidate"] = 501000, ["Module:Taxonbar/conf"] = 503000, ["Module:Taxonbar/exists"] = 501000, ["Module:Taxonbar/whitelist"] = 503000, ["Module:Team_appearances_list"] = 17000, ["Module:Team_appearances_list/data"] = 17000, ["Module:Team_bracket"] = 55000, ["Module:Team_bracket_tracking"] = 3700, ["Module:Team_roster_navbox"] = 35000, ["Module:Television_episode_redirect_handler"] = 24000, ["Module:Television_episode_short_description"] = 35000, ["Module:Television_infoboxes_disambiguation_check"] = 72000, ["Module:TemplatePar"] = 33000, ["Module:TemplateStyles"] = 598000, ["Module:Template_invocation"] = 3200, ["Module:Template_link_general"] = 3790000, ["Module:Template_parameter_value"] = 12100000, ["Module:Template_redirect_regex"] = 1460000, ["Module:Template_test_case"] = 3300, ["Module:Template_test_case/config"] = 3300, ["Module:Template_test_case/data"] = 3300, ["Module:Template_wrapper"] = 1080000, ["Module:Tennis_events_nav"] = 22000, ["Module:Text"] = 2110000, ["Module:Text/data"] = 53000, ["Module:Tfd_links"] = 6900, ["Module:Time"] = 4500, ["Module:Time/data"] = 4500, ["Module:Time_ago"] = 192000, ["Module:Title_monthname"] = 41000, ["Module:Toolbar"] = 1510000, ["Module:Top_25_report"] = 5900, ["Module:Track_gauge"] = 26000, ["Module:Track_gauge/data"] = 26000, ["Module:Track_listing"] = 124000, ["Module:Track_listing/configuration"] = 124000, ["Module:Track_listing/styles.css"] = 124000, ["Module:Transclusion_count"] = 64000, ["Module:Transclusion_count/data/A"] = 3700, ["Module:Transclusion_count/data/B"] = 2800, ["Module:Transclusion_count/data/C"] = 12000, ["Module:Transclusion_count/data/E"] = 2400, ["Module:Transclusion_count/data/G"] = 2000, ["Module:Transclusion_count/data/I"] = 3300, ["Module:Transclusion_count/data/M"] = 3200, ["Module:Transclusion_count/data/N"] = 2800, ["Module:Transclusion_count/data/P"] = 2900, ["Module:Transclusion_count/data/S"] = 5000, ["Module:Transclusion_count/data/T"] = 2600, ["Module:Transclusion_count/data/U"] = 2600, ["Module:Transclusion_count/data/W"] = 3700, ["Module:Transclusion_count/data/other"] = 2200, ["Module:Tree_chart"] = 8400, ["Module:Tree_chart/data"] = 8400, ["Module:Trim_quotes"] = 68000, ["Module:TwitterSnowflake"] = 48000, ["Module:Type_in_location"] = 137000, } 5vzfrul03393vqwlnxl3mn5r9fsk7y0 10432 10431 2026-08-24T13:15:13Z RAPTOR7762 18 1 revision imported from [[:en:Module:Transclusion_count/data/T]] 10431 Scribunto text/plain return { ["T"] = 324000, ["T1"] = 9000, ["T:TDYK"] = 2700, ["TAFI/Picture_box"] = 2800, ["TBA"] = 6500, ["TCH"] = 2300, ["TCMDb_name"] = 2700, ["TCMDb_title"] = 15000, ["TDMCA"] = 23000, ["TERYT"] = 53000, ["TFAFULL"] = 14000, ["TFAIMAGE"] = 3000, ["TFA_footer"] = 9700, ["TFAfooter"] = 9700, ["TFArecentlist"] = 5400, ["THA"] = 4500, ["TOC_bottom"] = 86000, ["TOC_left"] = 3100, ["TOC_left/styles.css"] = 3100, ["TOC_limit"] = 24000, ["TOC_limit/styles.css"] = 26000, ["TOC_right"] = 51000, ["TOC_right/styles.css"] = 51000, ["TOC_top"] = 86000, ["TOC_top/styles.css"] = 86000, ["TOClimit"] = 3100, ["TOCright"] = 7500, ["TPE"] = 2500, ["TUN"] = 2300, ["TUR"] = 8100, ["TWA/Logo/3"] = 74000, ["TWA/Navigation2"] = 5200, ["TWA_nav_inner_black"] = 38000, ["Tab"] = 6700, ["Tab/Number_of_defined_parameters"] = 6700, ["Tab/styles.css"] = 6700, ["TableTBA"] = 3100, ["Table_alignment"] = 19000, ["Table_alignment/styles.css"] = 19000, ["Tag"] = 7300, ["Talk"] = 4300, ["Talk_Header"] = 5600, ["Talk_archive"] = 45000, ["Talk_archive_navigation"] = 20000, ["Talk_header"] = 846000, ["Talk_header/archivebotparse"] = 115000, ["Talk_header/styles.css"] = 846000, ["Talk_other"] = 4540000, ["Talk_page"] = 8100, ["Talk_page_header"] = 4700, ["Talk_page_of_a_redirect"] = 4200, ["Talk_page_of_redirect"] = 36000, ["Talk_page_stalker"] = 13000, ["Talk_page_watcher"] = 3700, ["Talk_quote"] = 2500, ["Talk_quote_block"] = 22000, ["Talk_quote_block/styles.css"] = 22000, ["Talk_quote_inline"] = 176000, ["Talk_quote_inline/styles.css"] = 176000, ["Talk_quote_inline_with_italics"] = 2800, ["Talk_quote_inline_with_quotes"] = 7400, ["Talkarchive"] = 117000, ["Talkarchivenav"] = 31000, ["Talkback"] = 65000, ["Talkheader"] = 119000, ["Talkpage"] = 5800, ["Talkquote"] = 9200, ["Talkref"] = 3500, ["Talkspace_detect"] = 557000, ["Tallyho"] = 2300, ["Tan"] = 5200, ["Task_force_assessment_category"] = 3100, ["Task_force_assessment_category/core"] = 3100, ["Tasks"] = 939000, ["Taxobox"] = 3400, ["Taxobox/Error_colour"] = 506000, ["Taxobox/core"] = 506000, ["Taxobox/core/styles.css"] = 506000, ["Taxobox/species"] = 200000, ["Taxobox_colour"] = 657000, ["Taxon_author"] = 6300, ["Taxon_info"] = 547000, ["Taxon_italics"] = 395000, ["Taxonbar"] = 503000, ["Taxonbar/candidate"] = 501000, ["Taxonomy"] = 401000, ["Taxonomy/Acalyptratae"] = 6700, ["Taxonomy/Acanthomorpha"] = 17000, ["Taxonomy/Acanthopterygii"] = 17000, ["Taxonomy/Acrididea"] = 2100, ["Taxonomy/Actinomycetes"] = 2600, ["Taxonomy/Actinomycetota"] = 2800, ["Taxonomy/Actinopteri"] = 32000, ["Taxonomy/Actinopterygii"] = 33000, ["Taxonomy/Aculeata"] = 10000, ["Taxonomy/Adephaga"] = 14000, ["Taxonomy/Afrophidia"] = 4500, ["Taxonomy/Agaricales"] = 3600, ["Taxonomy/Agaricomycetes"] = 7200, ["Taxonomy/Agaricomycetidae"] = 4600, ["Taxonomy/Agaricomycotina"] = 7500, ["Taxonomy/Alethinophidia"] = 4700, ["Taxonomy/Allotriocarida"] = 266000, ["Taxonomy/Alphaproteobacteria"] = 2100, ["Taxonomy/Amastigomycota"] = 24000, ["Taxonomy/Ambulacraria"] = 3100, ["Taxonomy/Ammonoidea"] = 2400, ["Taxonomy/Amniota"] = 64000, ["Taxonomy/Amorphea"] = 517000, ["Taxonomy/Amphibia"] = 9100, ["Taxonomy/Amphiesmenoptera"] = 117000, ["Taxonomy/Angiosperms"] = 104000, ["Taxonomy/Animalia"] = 492000, ["Taxonomy/Antennoclypeata"] = 3200, ["Taxonomy/Anthophila"] = 4600, ["Taxonomy/Anthozoa"] = 2200, ["Taxonomy/Antliophora"] = 24000, ["Taxonomy/Anura"] = 7800, ["Taxonomy/Aparaglossata"] = 224000, ["Taxonomy/Apiales"] = 2200, ["Taxonomy/Apo-Chiroptera"] = 2000, ["Taxonomy/Apocrita"] = 14000, ["Taxonomy/Apoditrysia"] = 107000, ["Taxonomy/Apoidea"] = 5200, ["Taxonomy/Arachnida"] = 26000, ["Taxonomy/Arachnopulmonata"] = 19000, ["Taxonomy/Araneae"] = 18000, ["Taxonomy/Araneoidea"] = 3000, ["Taxonomy/Araneomorphae"] = 16000, ["Taxonomy/Archaeplastida"] = 113000, ["Taxonomy/Archelosauria"] = 7200, ["Taxonomy/Archosauria"] = 25000, ["Taxonomy/Archosauria/skip"] = 19000, ["Taxonomy/Archosauriformes"] = 5300, ["Taxonomy/Archosauromorpha"] = 5500, ["Taxonomy/Arctiinae"] = 11000, ["Taxonomy/Arctiini"] = 5200, ["Taxonomy/Arthropoda"] = 307000, ["Taxonomy/Artiodactyla"] = 2700, ["Taxonomy/Artiofabula"] = 2400, ["Taxonomy/Artiopoda"] = 2300, ["Taxonomy/Aschiza"] = 2500, ["Taxonomy/Ascomycota"] = 16000, ["Taxonomy/Asilomorpha"] = 3400, ["Taxonomy/Asparagales"] = 12000, ["Taxonomy/Asteraceae"] = 8600, ["Taxonomy/Asterales"] = 9900, ["Taxonomy/Asterids"] = 31000, ["Taxonomy/Asteroideae"] = 6600, ["Taxonomy/Auchenorrhyncha"] = 4000, ["Taxonomy/Australaves"] = 11000, ["Taxonomy/Avemetatarsalia"] = 5100, ["Taxonomy/Avemetatarsalia/skip"] = 19000, ["Taxonomy/Aves"] = 19000, ["Taxonomy/Avicularioidea"] = 2300, ["Taxonomy/BOP_clade"] = 2300, ["Taxonomy/Bacillati"] = 5700, ["Taxonomy/Bacillota"] = 2300, ["Taxonomy/Bacteria"] = 14000, ["Taxonomy/Basidiomycota"] = 8300, ["Taxonomy/Batrachia"] = 8800, ["Taxonomy/Batrachomorpha"] = 9100, ["Taxonomy/Bilateria"] = 486000, ["Taxonomy/Bivalvia"] = 2800, ["Taxonomy/Bombycoidea"] = 3800, ["Taxonomy/Boreoeutheria"] = 16000, ["Taxonomy/Brachycera"] = 20000, ["Taxonomy/Brachyura"] = 2000, ["Taxonomy/Bromeliaceae"] = 2300, ["Taxonomy/Buccinoidea"] = 2500, ["Taxonomy/CAM"] = 113000, ["Taxonomy/Caelifera"] = 2200, ["Taxonomy/Caenogastropoda"] = 25000, ["Taxonomy/Caenophidia"] = 4300, ["Taxonomy/Caesalpinioideae"] = 2200, ["Taxonomy/Calyptratae"] = 5600, ["Taxonomy/Campanulids"] = 13000, ["Taxonomy/Carabidae"] = 11000, ["Taxonomy/Caraboidea"] = 12000, ["Taxonomy/Carnivoramorpha"] = 2000, ["Taxonomy/Caryophyllales"] = 5600, ["Taxonomy/Cassidinae"] = 3900, ["Taxonomy/Cephalopoda"] = 5000, ["Taxonomy/Cerambycidae"] = 29000, ["Taxonomy/Cerambycinae"] = 6200, ["Taxonomy/Cetruminantia"] = 2200, ["Taxonomy/Chelicerata"] = 27000, ["Taxonomy/Chiroptera"] = 2000, ["Taxonomy/Choanozoa"] = 492000, ["Taxonomy/Chondrichthyes"] = 2700, ["Taxonomy/Chordata"] = 113000, ["Taxonomy/Chrysomelidae"] = 7500, ["Taxonomy/Chrysomeloidea"] = 37000, ["Taxonomy/Cicadomorpha"] = 2800, ["Taxonomy/Cimicomorpha"] = 2200, ["Taxonomy/Clupeocephala"] = 30000, ["Taxonomy/Cnidaria"] = 3800, ["Taxonomy/Coccinellidae"] = 2600, ["Taxonomy/Coccinellinae"] = 2000, ["Taxonomy/Coccinelloidea"] = 3000, ["Taxonomy/Coelolepida"] = 116000, ["Taxonomy/Coleoptera"] = 82000, ["Taxonomy/Coleopterida"] = 82000, ["Taxonomy/Colubridae"] = 2700, ["Taxonomy/Colubroidea"] = 2700, ["Taxonomy/Colubroides"] = 4300, ["Taxonomy/Commelinids"] = 12000, ["Taxonomy/Conchifera"] = 5300, ["Taxonomy/Condylognatha"] = 12000, ["Taxonomy/Conoidea"] = 7300, ["Taxonomy/Core_eudicots"] = 70000, ["Taxonomy/Cosmopterigidae"] = 2100, ["Taxonomy/Cossoidea"] = 2800, ["Taxonomy/Crambidae"] = 12000, ["Taxonomy/Crambinae"] = 2300, ["Taxonomy/Crocopoda"] = 5400, ["Taxonomy/Ctenosquamata"] = 18000, ["Taxonomy/Cucujiformia"] = 49000, ["Taxonomy/Curculionidae"] = 3200, ["Taxonomy/Curculionoidea"] = 3900, ["Taxonomy/Cyclorrhapha"] = 12000, ["Taxonomy/Cyperaceae"] = 2600, ["Taxonomy/Cypriniformes"] = 5100, ["Taxonomy/Cypriniphysi"] = 5100, ["Taxonomy/Cyprinoidei"] = 3900, ["Taxonomy/Decapoda"] = 4300, ["Taxonomy/Dendrobiinae"] = 2100, ["Taxonomy/Depressariidae"] = 3100, ["Taxonomy/Deuteropoda"] = 307000, ["Taxonomy/Deuterostomia"] = 116000, ["Taxonomy/Diaphoretickes"] = 117000, ["Taxonomy/Diaphoretickes/showdomain"] = 5100, ["Taxonomy/Diapsida"] = 25000, ["Taxonomy/Dicondylia"] = 263000, ["Taxonomy/Dictyoptera"] = 2400, ["Taxonomy/Dikarya"] = 24000, ["Taxonomy/Dinosauria"] = 4300, ["Taxonomy/Dinosauria/skip"] = 19000, ["Taxonomy/Dinosauromorpha"] = 4300, ["Taxonomy/Diptera"] = 24000, ["Taxonomy/Ditrysia"] = 113000, ["Taxonomy/Doryloformicia"] = 2900, ["Taxonomy/Dothideomyceta"] = 9700, ["Taxonomy/Dothideomycetes"] = 2700, ["Taxonomy/Ecdysozoa"] = 310000, ["Taxonomy/Echinodermata"] = 2800, ["Taxonomy/Elasmobranchii"] = 2200, ["Taxonomy/Elateriformia"] = 3800, ["Taxonomy/Elementaves"] = 2100, ["Taxonomy/Elpistostegalia"] = 74000, ["Taxonomy/Embryophytes"] = 110000, ["Taxonomy/Embryophytes/Plantae"] = 110000, ["Taxonomy/Ennominae"] = 2700, ["Taxonomy/Ensifera"] = 2200, ["Taxonomy/Entelegynae"] = 8100, ["Taxonomy/Eotetrapodiformes"] = 74000, ["Taxonomy/Epidendroideae"] = 5500, ["Taxonomy/Erebidae"] = 17000, ["Taxonomy/Eremoneura"] = 12000, ["Taxonomy/Ericales"] = 4200, ["Taxonomy/Euarchontoglires"] = 6300, ["Taxonomy/Eucarida"] = 4400, ["Taxonomy/Eucrocopoda"] = 5200, ["Taxonomy/Eudicots"] = 74000, ["Taxonomy/Eufalconimorphae"] = 11000, ["Taxonomy/Euformicia"] = 3200, ["Taxonomy/Eugnathostomata"] = 111000, ["Taxonomy/Eukaryota"] = 635000, ["Taxonomy/Eukaryota/displayed"] = 6400, ["Taxonomy/Eulepidoptera"] = 114000, ["Taxonomy/Eumalacostraca"] = 6900, ["Taxonomy/Eumetabola"] = 251000, ["Taxonomy/Eumetazoa"] = 490000, ["Taxonomy/Eupasseres"] = 9800, ["Taxonomy/Eupercaria"] = 5700, ["Taxonomy/Euphyllophytes"] = 2000, ["Taxonomy/Eupitheciini"] = 2000, ["Taxonomy/Eupulmonata"] = 6300, ["Taxonomy/Eureptilia"] = 25000, ["Taxonomy/Eurypterygii"] = 18000, ["Taxonomy/Euselachii"] = 2300, ["Taxonomy/Euteleostei"] = 19000, ["Taxonomy/Eutheria"] = 17000, ["Taxonomy/Euthyneura"] = 13000, ["Taxonomy/Euungulata"] = 4000, ["Taxonomy/Fabaceae"] = 6800, ["Taxonomy/Fabales"] = 7100, ["Taxonomy/Fabids"] = 18000, ["Taxonomy/Faboideae"] = 4000, ["Taxonomy/Ferae"] = 2400, ["Taxonomy/Ferungulata"] = 6400, ["Taxonomy/Filozoa"] = 492000, ["Taxonomy/Formicidae"] = 3300, ["Taxonomy/Formicoidea"] = 3300, ["Taxonomy/Fungi"] = 25000, ["Taxonomy/Gamasina"] = 2300, ["Taxonomy/Gammaproteobacteria"] = 2000, ["Taxonomy/Gastropoda"] = 44000, ["Taxonomy/Gekkonoidea"] = 2200, ["Taxonomy/Gekkonomorpha"] = 2600, ["Taxonomy/Gekkota"] = 2600, ["Taxonomy/Gelechiidae"] = 6100, ["Taxonomy/Gelechiinae"] = 3000, ["Taxonomy/Gelechioidea"] = 19000, ["Taxonomy/Gentianales"] = 5000, ["Taxonomy/Geometridae"] = 11000, ["Taxonomy/Geometroidea"] = 11000, ["Taxonomy/Glires"] = 4600, ["Taxonomy/Gliriformes"] = 4600, ["Taxonomy/Glossata"] = 116000, ["Taxonomy/Gnathostomata"] = 111000, ["Taxonomy/Gracillariidae"] = 2200, ["Taxonomy/Gracillarioidea"] = 2500, ["Taxonomy/Graminid_clade"] = 4100, ["Taxonomy/Halvaria"] = 3000, ["Taxonomy/Helicina_(suborder)"] = 5500, ["Taxonomy/Hemiptera"] = 10000, ["Taxonomy/Hesperiidae"] = 2700, ["Taxonomy/Heterobranchia"] = 13000, ["Taxonomy/Heteroneura"] = 115000, ["Taxonomy/Heteroptera"] = 5100, ["Taxonomy/Hexapoda"] = 265000, ["Taxonomy/Holometabola"] = 238000, ["Taxonomy/Holomycota"] = 25000, ["Taxonomy/Holozoa"] = 492000, ["Taxonomy/Hyloidea"] = 3600, ["Taxonomy/Hymenoptera"] = 14000, ["Taxonomy/Hymenopterida"] = 14000, ["Taxonomy/Iguania"] = 2500, ["Taxonomy/Iguanomorpha"] = 2500, ["Taxonomy/Insecta"] = 264000, ["Taxonomy/Lamiales"] = 6900, ["Taxonomy/Lamiids"] = 14000, ["Taxonomy/Lamiinae"] = 21000, ["Taxonomy/Larentiinae"] = 3700, ["Taxonomy/Laurasiatheria"] = 9200, ["Taxonomy/Lecanoromycetes"] = 4700, ["Taxonomy/Lecanoromycetidae"] = 3200, ["Taxonomy/Leotiomyceta"] = 14000, ["Taxonomy/Lepidoptera"] = 116000, ["Taxonomy/Lepidosauria"] = 15000, ["Taxonomy/Lepidosauromorpha"] = 15000, ["Taxonomy/Life"] = 653000, ["Taxonomy/Linyphiidae"] = 2100, ["Taxonomy/Lissamphibia"] = 9100, ["Taxonomy/Lithosiini"] = 3600, ["Taxonomy/Littorinimorpha"] = 5800, ["Taxonomy/Lophotrochozoa"] = 57000, ["Taxonomy/Lycaenidae"] = 4100, ["Taxonomy/Macroheterocera"] = 43000, ["Taxonomy/Magnoliids"] = 2900, ["Taxonomy/Malacostraca"] = 7100, ["Taxonomy/Malaxideae"] = 2200, ["Taxonomy/Malpighiales"] = 4900, ["Taxonomy/Malvales"] = 2700, ["Taxonomy/Malvids"] = 13000, ["Taxonomy/Mammalia"] = 19000, ["Taxonomy/Mammalia/skip"] = 19000, ["Taxonomy/Mandibulata"] = 278000, ["Taxonomy/Melolonthinae"] = 3000, ["Taxonomy/Meso-Papilionoideae"] = 3800, ["Taxonomy/Mesostigmata"] = 2800, ["Taxonomy/Mollusca"] = 52000, ["Taxonomy/Monocots"] = 27000, ["Taxonomy/Monogynaspida"] = 2500, ["Taxonomy/Multicrustacea"] = 8700, ["Taxonomy/Muricidae"] = 2200, ["Taxonomy/Muricoidea"] = 2200, ["Taxonomy/Muroidea"] = 2600, ["Taxonomy/Muscomorpha"] = 15000, ["Taxonomy/Mygalomorphae"] = 2400, ["Taxonomy/Myoglossata"] = 116000, ["Taxonomy/Myomorpha"] = 2700, ["Taxonomy/Myriapoda"] = 2400, ["Taxonomy/Myrtaceae"] = 3100, ["Taxonomy/Myrtales"] = 4600, ["Taxonomy/Myrtoideae"] = 3100, ["Taxonomy/Nematocera"] = 3300, ["Taxonomy/Neoaves"] = 17000, ["Taxonomy/Neobatrachia"] = 6800, ["Taxonomy/Neocephalopoda"] = 3900, ["Taxonomy/Neodiapsida"] = 24000, ["Taxonomy/Neogastropoda"] = 16000, ["Taxonomy/Neognathae"] = 18000, ["Taxonomy/Neolepidoptera"] = 116000, ["Taxonomy/Neoptera"] = 259000, ["Taxonomy/Neopterygii"] = 32000, ["Taxonomy/Neoreptilia"] = 25000, ["Taxonomy/Neoteleostei"] = 18000, ["Taxonomy/Nephrozoa"] = 486000, ["Taxonomy/Neuropteroidea"] = 83000, ["Taxonomy/Noctuidae"] = 8400, ["Taxonomy/Noctuinae"] = 2800, ["Taxonomy/Noctuoidea"] = 27000, ["Taxonomy/Non-protein_amino_acid-accumulating_clade"] = 2700, ["Taxonomy/Nudibranchia"] = 2700, ["Taxonomy/Nudipleura"] = 2700, ["Taxonomy/Nymphalidae"] = 4300, ["Taxonomy/Obazoa"] = 517000, ["Taxonomy/Obtectomera"] = 73000, ["Taxonomy/Odonata"] = 3100, ["Taxonomy/Odonatoptera"] = 3100, ["Taxonomy/Oestroidea"] = 5000, ["Taxonomy/Olfactores"] = 112000, ["Taxonomy/Ophidia"] = 5200, ["Taxonomy/Opisthokonta"] = 517000, ["Taxonomy/Opisthothelae"] = 18000, ["Taxonomy/Orchidaceae"] = 8100, ["Taxonomy/Orchidoideae"] = 2300, ["Taxonomy/Ornithodira"] = 5000, ["Taxonomy/Ornithurae"] = 19000, ["Taxonomy/Ornithurae/skip"] = 19000, ["Taxonomy/Orthoptera"] = 4400, ["Taxonomy/Ostariophysi"] = 10000, ["Taxonomy/Osteichthyes"] = 108000, ["Taxonomy/Otocephala"] = 11000, ["Taxonomy/Otophysi"] = 10000, ["Taxonomy/Ovalentaria"] = 5000, ["Taxonomy/Palaeoptera"] = 3800, ["Taxonomy/Pan-Carnivora"] = 2200, ["Taxonomy/Pan-Euteleostei"] = 19000, ["Taxonomy/Pan-Euungulata"] = 4100, ["Taxonomy/Panarthropoda"] = 307000, ["Taxonomy/Pancrustacea"] = 275000, ["Taxonomy/Panorpida"] = 141000, ["Taxonomy/Panpulmonata"] = 8600, ["Taxonomy/Pantetrapulmonata"] = 19000, ["Taxonomy/Papilionoidea"] = 13000, ["Taxonomy/ParaHoxozoa"] = 490000, ["Taxonomy/Parapleurota"] = 25000, ["Taxonomy/Parasitiformes"] = 3100, ["Taxonomy/Paraxonia"] = 2800, ["Taxonomy/Passerea"] = 13000, ["Taxonomy/Passeri"] = 7800, ["Taxonomy/Passerida"] = 3500, ["Taxonomy/Passerides"] = 5900, ["Taxonomy/Passeriformes"] = 9800, ["Taxonomy/Pentatomomorpha"] = 2300, ["Taxonomy/Peracarida"] = 2500, ["Taxonomy/Perciformes"] = 2800, ["Taxonomy/Percomorpha"] = 16000, ["Taxonomy/Pezizomycotina"] = 15000, ["Taxonomy/Phycitinae"] = 2600, ["Taxonomy/Phytophaga"] = 41000, ["Taxonomy/Placentalia"] = 17000, ["Taxonomy/Plantae"] = 112000, ["Taxonomy/Planulozoa"] = 3800, ["Taxonomy/Platyhelminthes"] = 2700, ["Taxonomy/Pleocyemata"] = 4100, ["Taxonomy/Poaceae"] = 4100, ["Taxonomy/Poales"] = 9400, ["Taxonomy/Podiata"] = 517000, ["Taxonomy/Polyneoptera"] = 8600, ["Taxonomy/Polyphaga"] = 68000, ["Taxonomy/Polypodiophyta"] = 2000, ["Taxonomy/Polypodiopsida"] = 2000, ["Taxonomy/Polysporangiophytes"] = 108000, ["Taxonomy/Polysporangiophytes/Plantae"] = 108000, ["Taxonomy/Proteales"] = 2000, ["Taxonomy/Protostomia"] = 370000, ["Taxonomy/Pseudomonadati"] = 8100, ["Taxonomy/Pseudomonadota"] = 5000, ["Taxonomy/Psittacopasseres"] = 11000, ["Taxonomy/Pteropliini"] = 2300, ["Taxonomy/Pterygota"] = 263000, ["Taxonomy/Pyralidae"] = 4500, ["Taxonomy/Pyraloidea"] = 16000, ["Taxonomy/Pyramidellidae"] = 2200, ["Taxonomy/Pyramidelloidea"] = 2200, ["Taxonomy/RTA_clade"] = 4400, ["Taxonomy/Ranoidea"] = 2900, ["Taxonomy/Reptantia"] = 3400, ["Taxonomy/Reptilia"] = 25000, ["Taxonomy/Reptiliomorpha"] = 64000, ["Taxonomy/Rhabditophora"] = 2700, ["Taxonomy/Rhipidistia"] = 75000, ["Taxonomy/Ringipleura"] = 2800, ["Taxonomy/Rodentia"] = 4400, ["Taxonomy/Romeriida"] = 25000, ["Taxonomy/Rosales"] = 3300, ["Taxonomy/Rosids"] = 31000, ["Taxonomy/Rouphozoa"] = 2800, ["Taxonomy/Rubiaceae"] = 2600, ["Taxonomy/Saccharomyceta"] = 15000, ["Taxonomy/Salientia"] = 7800, ["Taxonomy/Salticidae"] = 2900, ["Taxonomy/Salticinae"] = 2600, ["Taxonomy/Sapindales"] = 3300, ["Taxonomy/Sar"] = 4000, ["Taxonomy/Sarcopterygii"] = 75000, ["Taxonomy/Sauria"] = 23000, ["Taxonomy/Saurischia"] = 2900, ["Taxonomy/Sauropsida"] = 43000, ["Taxonomy/Scarabaeidae"] = 10000, ["Taxonomy/Scarabaeiformia"] = 11000, ["Taxonomy/Scarabaeoidea"] = 11000, ["Taxonomy/Schizophora"] = 12000, ["Taxonomy/Scincidae"] = 2100, ["Taxonomy/Scincomorpha"] = 2400, ["Taxonomy/Scrotifera"] = 8500, ["Taxonomy/Sericinae"] = 3900, ["Taxonomy/Sericini"] = 3600, ["Taxonomy/Serpentes"] = 5200, ["Taxonomy/Setaphyta"] = 2100, ["Taxonomy/Siluriformes"] = 3600, ["Taxonomy/Simplicidentata"] = 4400, ["Taxonomy/Sordariomyceta"] = 4600, ["Taxonomy/Sordariomycetes"] = 2900, ["Taxonomy/Spermatophyta"] = 106000, ["Taxonomy/Spermatophytes/Plantae"] = 106000, ["Taxonomy/Spilomelinae"] = 4300, ["Taxonomy/Spiralia"] = 60000, ["Taxonomy/Squamata"] = 15000, ["Taxonomy/Staphyliniformia"] = 3000, ["Taxonomy/Staphylinoidea"] = 2200, ["Taxonomy/Stegocephali"] = 74000, ["Taxonomy/Stylommatophora"] = 6000, ["Taxonomy/Superasterids"] = 38000, ["Taxonomy/Superrosids"] = 32000, ["Taxonomy/Syrphidae"] = 2100, ["Taxonomy/Syrphoidea"] = 2300, ["Taxonomy/TSAR"] = 4000, ["Taxonomy/Tachinidae"] = 4400, ["Taxonomy/Tectipleura"] = 9800, ["Taxonomy/Teleocephala"] = 30000, ["Taxonomy/Teleostei"] = 32000, ["Taxonomy/Teleosteomorpha"] = 32000, ["Taxonomy/Telluraves"] = 13000, ["Taxonomy/Tenebrionoidea"] = 3400, ["Taxonomy/Tephritidae"] = 3300, ["Taxonomy/Tephritinae"] = 2400, ["Taxonomy/Tephritoidea"] = 4300, ["Taxonomy/Tetrapoda"] = 74000, ["Taxonomy/Tetrapodomorpha"] = 74000, ["Taxonomy/Tetrapulmonata"] = 19000, ["Taxonomy/Theria"] = 18000, ["Taxonomy/Theria/skip"] = 18000, ["Taxonomy/Theropoda/skip"] = 19000, ["Taxonomy/Tortricidae"] = 8500, ["Taxonomy/Tortricinae"] = 5900, ["Taxonomy/Tortricoidea"] = 8500, ["Taxonomy/Toxicofera"] = 8400, ["Taxonomy/Tracheophyta"] = 108000, ["Taxonomy/Tracheophytes/Plantae"] = 108000, ["Taxonomy/Trilobita"] = 2200, ["Taxonomy/Trilobitomorpha"] = 2300, ["Taxonomy/Trochida"] = 2800, ["Taxonomy/Trochoidea"] = 2800, ["Taxonomy/Tyranni"] = 2000, ["Taxonomy/Unicalcarida"] = 14000, ["Taxonomy/Vertebrata"] = 112000, ["Taxonomy/Vetigastropoda"] = 4900, ["Taxonomy/Virus"] = 2900, ["Taxonomy/crown_Formicidae"] = 3200, ["Taxonomy_key"] = 150000, ["Taxonomy_preload"] = 150000, ["Tb"] = 13000, ["Team_roster_navbox"] = 34000, ["Technical"] = 4100, ["Technically_indistinguishable"] = 2500, ["Television_debuts_endings_antonym"] = 7200, ["Television_episode_redirect_handler"] = 24000, ["Television_episode_short_description"] = 13000, ["Template"] = 4700, ["Template-Class"] = 14000, ["TemplateData_header"] = 18000, ["Template_category"] = 36000, ["Template_display"] = 57000, ["Template_for_discussion/dated"] = 16000, ["Template_for_discussion/styles.css"] = 37000, ["Template_for_merging/dated"] = 21000, ["Template_link"] = 7560000, ["Template_link_code"] = 1160000, ["Template_link_code_with_subst"] = 20000, ["Template_link_expanded"] = 2630000, ["Template_link_expanded_with_subst"] = 5100, ["Template_link_general"] = 24000, ["Template_link_interwiki"] = 9000, ["Template_link_null"] = 9200, ["Template_link_universal"] = 12000, ["Template_link_with_alternate_text"] = 2200, ["Template_link_with_link_off"] = 9800, ["Template_link_with_linked_braces"] = 8200, ["Template_link_with_parameters"] = 70000, ["Template_link_with_subst"] = 54000, ["Template_links"] = 2500, ["Template_other"] = 4970000, ["Template_parameter_usage"] = 20000, ["Template_parameter_value"] = 51000, ["Template_rating"] = 2600, ["Template_reference_list"] = 7400, ["Template_sandbox_notice"] = 6500, ["Template_shortcut"] = 6500, ["TennisEventInfo"] = 6800, ["TennisEvents"] = 2200, ["Tennis_events"] = 13000, ["Tennis_icon"] = 2800, ["Tennis_icon2"] = 2800, ["Tennis_record"] = 3000, ["Terminate_sentence"] = 53000, ["Testcases_notice"] = 5100, ["Text_diff"] = 3500, ["Tfd_links"] = 6900, ["Th/abp"] = 115000, ["Thank"] = 2400, ["Thank_you"] = 5400, ["The_edit-summary_field"] = 8900, ["The_edit-summary_field/OOUI"] = 2400, ["Their"] = 15000, ["They"] = 11000, ["They_have"] = 39000, ["Thin_space"] = 29000, ["Thinsp"] = 26000, ["Third-party"] = 6700, ["Thirteen_Colonies_article_name"] = 2100, ["This_is_a_new_user"] = 7000, ["Thursday"] = 2800, ["Tick"] = 81000, ["Ticket_confirmation"] = 3200, ["Time"] = 2800, ["Time_ago"] = 185000, ["Time_signature"] = 3300, ["Time_with_time_zone_link"] = 4300, ["Title_case"] = 5800, ["Title_century"] = 31000, ["Title_country"] = 42000, ["Title_decade"] = 31000, ["Title_demonym"] = 39000, ["Title_disambig_text"] = 251000, ["Title_language"] = 2600, ["Title_monthname"] = 41000, ["Title_number"] = 4400, ["Title_year"] = 264000, ["Title_year+1"] = 13000, ["Title_year-1"] = 3000, ["Title_year2range"] = 7900, ["Title_year2range-1"] = 6400, ["Title_year_range"] = 13000, ["Tl"] = 7270000, ["Tl2"] = 8900, ["Tlc"] = 909000, ["Tld"] = 253000, ["Tlf"] = 9700, ["Tlg"] = 22000, ["Tlit"] = 3200, ["Tlp"] = 70000, ["Tls"] = 52000, ["Tlsc"] = 20000, ["Tlsp"] = 2400, ["Tlu"] = 12000, ["Tlx"] = 2620000, ["Tlxs"] = 3400, ["Tmbox"] = 2400000, ["Tmpv"] = 50000, ["Tn"] = 8200, ["Tnull"] = 9000, ["To"] = 3000, ["To_USD"] = 2500, ["To_USD/CurrencyCheck"] = 2500, ["To_USD/General"] = 2200, ["To_be_announced"] = 7200, ["To_do"] = 7700, ["Toc_right"] = 2100, ["Tocright"] = 7300, ["Todo"] = 2700, ["Tomorrow"] = 7200, ["Tone"] = 7700, ["Tone-cmn"] = 2800, ["Toolbar"] = 349000, ["Toolforge"] = 12000, ["Tooltip"] = 563000, ["Tooltip/styles.css"] = 563000, ["Top-Class"] = 15000, ["Top-importance"] = 15000, ["Top_25_Report"] = 3900, ["Top_25_report"] = 6000, ["Top_icon"] = 84000, ["Totd"] = 4300, ["Totd_nav"] = 5400, ["Tp"] = 2600, ["Tpq"] = 3900, ["Tpr"] = 2900, ["Tps"] = 12000, ["Tpw"] = 3600, ["Tq"] = 172000, ["Tq2"] = 5700, ["Tqb"] = 5300, ["Tqq"] = 7400, ["Tquote"] = 2200, ["Track_gauge"] = 26000, ["Track_listing"] = 124000, ["Tracking_category"] = 5200, ["Tracklist"] = 15000, ["Trademark"] = 7800, ["Trademarked"] = 4300, ["Transclude"] = 18000, ["Transclude_lead_excerpt"] = 3700, ["Transcluded_section"] = 4700, ["Transclusionless"] = 5000, ["Translated"] = 25000, ["Translated_page"] = 114000, ["Translation"] = 20000, ["Translation/Base"] = 2400, ["Translation/Information"] = 2100, ["Translation/Summary"] = 2100, ["Transliteration"] = 69000, ["Tree_chart"] = 8400, ["Tree_chart/end"] = 8400, ["Tree_chart/start"] = 8400, ["Tree_list"] = 25000, ["Tree_list/end"] = 25000, ["Tree_list/styles.css"] = 25000, ["Trim"] = 2990000, ["Trim_%"] = 6700, ["Trim_brackets"] = 3600, ["Trim_leading"] = 2100, ["Trim_quotes"] = 26000, ["Trout"] = 2200, ["Tsh"] = 3300, ["Tsp"] = 2200, ["Tuesday"] = 2800, ["TuttoCalciatori"] = 2200, ["Twitter"] = 16000, ["Two-digit_year"] = 6000, ["TwoLegResult"] = 5800, ["TwoLegStart"] = 4600, ["TwoLeg_start"] = 5800, ["Module:TNT"] = 10000, ["Module:TableTools"] = 9590000, ["Module:Table_empty_cell"] = 33000, ["Module:Taxobox_ranks"] = 657000, ["Module:TaxonItalics"] = 656000, ["Module:TaxonList"] = 28000, ["Module:Taxonbar"] = 503000, ["Module:Taxonbar/candidate"] = 501000, ["Module:Taxonbar/conf"] = 503000, ["Module:Taxonbar/exists"] = 501000, ["Module:Taxonbar/whitelist"] = 503000, ["Module:Team_appearances_list"] = 17000, ["Module:Team_appearances_list/data"] = 17000, ["Module:Team_bracket"] = 55000, ["Module:Team_bracket_tracking"] = 3700, ["Module:Team_roster_navbox"] = 35000, ["Module:Television_episode_redirect_handler"] = 24000, ["Module:Television_episode_short_description"] = 35000, ["Module:Television_infoboxes_disambiguation_check"] = 72000, ["Module:TemplatePar"] = 33000, ["Module:TemplateStyles"] = 598000, ["Module:Template_invocation"] = 3200, ["Module:Template_link_general"] = 3790000, ["Module:Template_parameter_value"] = 12100000, ["Module:Template_redirect_regex"] = 1460000, ["Module:Template_test_case"] = 3300, ["Module:Template_test_case/config"] = 3300, ["Module:Template_test_case/data"] = 3300, ["Module:Template_wrapper"] = 1080000, ["Module:Tennis_events_nav"] = 22000, ["Module:Text"] = 2110000, ["Module:Text/data"] = 53000, ["Module:Tfd_links"] = 6900, ["Module:Time"] = 4500, ["Module:Time/data"] = 4500, ["Module:Time_ago"] = 192000, ["Module:Title_monthname"] = 41000, ["Module:Toolbar"] = 1510000, ["Module:Top_25_report"] = 5900, ["Module:Track_gauge"] = 26000, ["Module:Track_gauge/data"] = 26000, ["Module:Track_listing"] = 124000, ["Module:Track_listing/configuration"] = 124000, ["Module:Track_listing/styles.css"] = 124000, ["Module:Transclusion_count"] = 64000, ["Module:Transclusion_count/data/A"] = 3700, ["Module:Transclusion_count/data/B"] = 2800, ["Module:Transclusion_count/data/C"] = 12000, ["Module:Transclusion_count/data/E"] = 2400, ["Module:Transclusion_count/data/G"] = 2000, ["Module:Transclusion_count/data/I"] = 3300, ["Module:Transclusion_count/data/M"] = 3200, ["Module:Transclusion_count/data/N"] = 2800, ["Module:Transclusion_count/data/P"] = 2900, ["Module:Transclusion_count/data/S"] = 5000, ["Module:Transclusion_count/data/T"] = 2600, ["Module:Transclusion_count/data/U"] = 2600, ["Module:Transclusion_count/data/W"] = 3700, ["Module:Transclusion_count/data/other"] = 2200, ["Module:Tree_chart"] = 8400, ["Module:Tree_chart/data"] = 8400, ["Module:Trim_quotes"] = 68000, ["Module:TwitterSnowflake"] = 48000, ["Module:Type_in_location"] = 137000, } 5vzfrul03393vqwlnxl3mn5r9fsk7y0 Tempilet:Bole Wikimedians User Group 10 1248 9552 2026-08-06T22:12:51Z meta>RAPTOR7762 0 /* */ 9552 wikitext text/x-wiki <noinclude><languages/> </noinclude>{{Navbox | name = Bole Wikimedians User Group | title = Bole Wikimedians User Group | state = {{{state|autocollapse}}} | image = [[File:Fulfulde_Wikimedia_Community_Logo.png|75px]] | bodyclass = hlist | bodystyle = font-family:'Segoe UI', Arial, sans-serif; font-size: 13px; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 6px; line-height: 1.3; | basestyle = background: #202122; color: white; font-weight: bold; | titlestyle = background: linear-gradient(90deg, #1e3a8a, #3b82f6); color: white; padding: 4px 10px; border-radius: 4px 4px 0 0; | groupstyle = background: #f8f9fa; color: #202122; font-weight: 600; padding: 3px 8px; border-right: 1px solid #e2e8f0; text-align: right; | liststyle = padding: 3px 8px; background: #ffffff; | group1 = <!--T:2--> Getting involved! | list1 = *[[Special:MyLanguage/Fulfulde Wikimedians User Group/Memberships|<!--T:3--> Join us!]] | group2 = <!--T:4--> Community Events | list2 = * [[Special:MyLanguage/Fulfulde Wikimedians User Group/Events|<!--T:33--> All time events!]] | group3 = Annual Reports | list3 = * [[Wikimedia_Fulfulde_Community/Reports/Annual_Report_2022|2022]] • [[Wikimedia_Fulfulde_Community/Reports/Annual_Report_2023|2023]] • [[Wikimedia_Fulfulde_Community/Reports/Annual_Report_2024|2024]] • [[Wikimedia_Fulfulde_Community/Reports/Annual_Report_2025|2025]] • [[Wikimedia_Fulfulde_Community/Reports/Annual_Report_2026|2026]] | group4 = Community Meetings | list4 = {{Navbox|child | listclass = hlist | bodystyle = background: transparent; font-family: inherit; font-size: 12px; | groupstyle = background: #edf2f7; color: #2d3748; font-weight: normal; border-right: none; padding: 1px 6px; | liststyle = background: transparent; padding: 1px 6px; | group1 = 2025 | list1 = * [[Wikimedia_Fulfulde_Community_-_Annual_General_Meeting_2025|Jan]] * [[Wikimedia_Fulfulde_Community_-_May_2025_Community_Meeting|May]] * [[Wikimedia_Fulfulde_Community_-_September_2025_Community_Meeting|Sept]] | group2 = 2026 | list2 = * [[Wikimedia_Fulfulde_Community_-_January_2026_Community_Meeting|Jan]] }} | group5 = <!--T:38--> Hubs/Networks | list5 = * [[Special:MyLanguage/Wikimedia Fulfulde Community Yobe Network|<!--T:40--> Yobe Network]] • [[Special:MyLanguage/Wikimedia Fulfulde Community Gombe Network|<!--T:39--> Gombe Network]] • [[Special:MyLanguage/Fulfulde Wikimedia Wikidata Lexicographers Club|<!--T:41--> Wikidata Lexicographers]] • [[Special:MyLanguage/Fulfulde Wikimedia Commons Photographers Hub|<!--T:41--> Commons Photographers]] | group6 = <!--T:20--> Newsletter | list6 = * [[Special:MyLanguage/Fulfulde Wikimedians User Group/News|All news]] | belowstyle = background: #f1f5f9; color: #475569; border-top: 1px solid #e2e8f0; padding: 5px; border-radius: 0 0 4px 4px; font-size: 12px; | below = [[File:Facebook icon.jpg|frameless|13px|alt={{Name|Facebook}}]] '''Wikimediafulah''' &nbsp;•&nbsp; [[File:X logo 2023.svg|frameless|13px|alt={{Name|Twitter}}]] '''Wikimediafulah''' &nbsp;•&nbsp; [[File:Instagram.svg|frameless|13px|alt={{Name|Instagram}}]] '''Wikimediafulah''' &nbsp;•&nbsp; [[File:Email-icon.png|frameless|13px|alt=<!--T:10--> Email address]] '''{{nospam|fulfuldewikimediansusergroup|gmail.com}}''' }} 1z46k0oaf1pfk5riznnek30wkaz71r5 9553 9552 2026-08-08T14:29:28Z meta>RAPTOR7762 0 9553 wikitext text/x-wiki <noinclude><languages/> </noinclude>{{Navbox | name = Bole Wikimedians User Group | title = Bole Wikimedians User Group | state = {{{state|autocollapse}}} | image = [[File:Bole Wikimedians User Group.svg|75px]] | bodyclass = hlist | bodystyle = font-family:'Segoe UI', Arial, sans-serif; font-size: 13px; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 6px; line-height: 1.3; | basestyle = background: #202122; color: white; font-weight: bold; | titlestyle = background: linear-gradient(90deg, #1e3a8a, #3b82f6); color: white; padding: 4px 10px; border-radius: 4px 4px 0 0; | groupstyle = background: #f8f9fa; color: #202122; font-weight: 600; padding: 3px 8px; border-right: 1px solid #e2e8f0; text-align: right; | liststyle = padding: 3px 8px; background: #ffffff; | group1 = <!--T:2--> Getting involved! | list1 = *[[Special:MyLanguage/Bole Wikimedians User Group/Membership|<!--T:3--> Join us!]] | group2 = <!--T:4--> Community Events | list2 = * [[Special:MyLanguage/Bole Wikimedians User Group/Events|<!--T:33--> All time events!]] | group3 = Annual Reports | list3 = * [[Bole Wikimedians User Group/Reports/Annual_Report_2023|2023]] • [[Bole Wikimedians User Group/Reports/Annual_Report_2024|2024]] • [[Bole Wikimedians User Group/Annual_Report_2025|2025]] • [[Bole Wikimedians User Group/Reports/Annual_Report_2026|2026]] | group4 = Community Meetings | list4 = {{Bole Wikimediams User Group/Meetings}} | group5 = <!--T:38--> Hubs/Networks | list5 = * [[Special:MyLanguage/Bole Wikimedians Yobe Network|<!--T:40--> Yobe Network]] • [[Special:MyLanguage/Bole Wikimedians Gombe Network|<!--T:39--> Gombe Network]] | group6 = <!--T:20--> Newsletter | list6 = * [[Special:MyLanguage/Bole Wikimedians User Group/News|All news]] | belowstyle = background: #f1f5f9; color: #475569; border-top: 1px solid #e2e8f0; padding: 5px; border-radius: 0 0 4px 4px; font-size: 12px; | below = [[File:2023 Facebook icon.svg|frameless|13px|alt={{Name|Facebook}}]] '''Bole Wikimedians User Group'''&nbsp;•&nbsp;[[File:Email social icon.svg|frameless|13px|alt=<!--T:10--> Email address]] '''{{nospam|bolewikimediansusergroup|gmail.com}}''' }} 92n4c3rjml0le3s5thr339nwlw47yze 9554 9553 2026-08-09T00:12:42Z meta>RAPTOR7762 0 9554 wikitext text/x-wiki #REDIRECT[[]]<noinclude><languages/> </noinclude>{{Navbox | name = Bole Wikimedians User Group | title = Bole Wikimedians User Group | state = {{{state|autocollapse}}} | image = [[File:Bole Wikimedians User Group.svg|75px]] | bodyclass = hlist | bodystyle = font-family:'Segoe UI', Arial, sans-serif; font-size: 13px; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 6px; line-height: 1.3; | basestyle = background: #202122; color: white; font-weight: bold; | titlestyle = background: linear-gradient(90deg, #1e3a8a, #3b82f6); color: white; padding: 4px 10px; border-radius: 4px 4px 0 0; | groupstyle = background: #f8f9fa; color: #202122; font-weight: 600; padding: 3px 8px; border-right: 1px solid #e2e8f0; text-align: right; | liststyle = padding: 3px 8px; background: #ffffff; | group1 = <!--T:2--> Getting involved! | list1 = *[[Special:MyLanguage/Bole Wikimedians User Group/Membership|<!--T:3--> Join us!]] | group2 = <!--T:4--> Community Events | list2 = * [[Special:MyLanguage/Bole Wikimedians User Group/Events|<!--T:33--> All time events!]] | group3 = Annual Reports | list3 = * [[Bole Wikimedians User Group/Reports/Annual_Report_2023|2023]] • [[Bole Wikimedians User Group/Reports/Annual_Report_2024|2024]] • [[Bole Wikimedians User Group/Annual_Report_2025|2025]] • [[Bole Wikimedians User Group/Reports/Annual_Report_2026|2026]] | group4 = Community Meetings | list4 = {{Bole Wikimediams User Group/Meetings}} | group5 = <!--T:38--> Hubs/Networks | list5 = * [[Special:MyLanguage/Bole Wikimedians Yobe Network|<!--T:40--> Yobe Network]] • [[Special:MyLanguage/Bole Wikimedians Gombe Network|<!--T:39--> Gombe Network]] | group6 = <!--T:20--> Newsletter | list6 = * [[Special:MyLanguage/Bole Wikimedians User Group/News|All news]] | belowstyle = background: #f1f5f9; color: #475569; border-top: 1px solid #e2e8f0; padding: 5px; border-radius: 0 0 4px 4px; font-size: 12px; | below = [[File:2023 Facebook icon.svg|frameless|13px|alt={{Name|Facebook}}]] '''Bole Wikimedians User Group'''&nbsp;•&nbsp;[[File:Email social icon.svg|frameless|13px|alt=<!--T:10--> Email address]] '''{{nospam|bolewikimediansusergroup|gmail.com}}''' }} f3tlttwijcdfph81l8rauoqh3fkkmj1 9555 9554 2026-08-09T00:13:09Z meta>RAPTOR7762 0 9555 wikitext text/x-wiki {{Navbox | name = Bole Wikimedians User Group | title = Bole Wikimedians User Group | state = {{{state|autocollapse}}} | image = [[File:Bole Wikimedians User Group.svg|75px]] | bodyclass = hlist | bodystyle = font-family:'Segoe UI', Arial, sans-serif; font-size: 13px; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 6px; line-height: 1.3; | basestyle = background: #202122; color: white; font-weight: bold; | titlestyle = background: linear-gradient(90deg, #1e3a8a, #3b82f6); color: white; padding: 4px 10px; border-radius: 4px 4px 0 0; | groupstyle = background: #f8f9fa; color: #202122; font-weight: 600; padding: 3px 8px; border-right: 1px solid #e2e8f0; text-align: right; | liststyle = padding: 3px 8px; background: #ffffff; | group1 = <!--T:2--> Getting involved! | list1 = *[[Special:MyLanguage/Bole Wikimedians User Group/Membership|<!--T:3--> Join us!]] | group2 = <!--T:4--> Community Events | list2 = * [[Special:MyLanguage/Bole Wikimedians User Group/Events|<!--T:33--> All time events!]] | group3 = Annual Reports | list3 = * [[Bole Wikimedians User Group/Reports/Annual_Report_2023|2023]] • [[Bole Wikimedians User Group/Reports/Annual_Report_2024|2024]] • [[Bole Wikimedians User Group/Annual_Report_2025|2025]] • [[Bole Wikimedians User Group/Reports/Annual_Report_2026|2026]] | group4 = Community Meetings | list4 = {{Bole Wikimediams User Group/Meetings}} | group5 = <!--T:38--> Hubs/Networks | list5 = * [[Special:MyLanguage/Bole Wikimedians Yobe Network|<!--T:40--> Yobe Network]] • [[Special:MyLanguage/Bole Wikimedians Gombe Network|<!--T:39--> Gombe Network]] | group6 = <!--T:20--> Newsletter | list6 = * [[Special:MyLanguage/Bole Wikimedians User Group/News|All news]] | belowstyle = background: #f1f5f9; color: #475569; border-top: 1px solid #e2e8f0; padding: 5px; border-radius: 0 0 4px 4px; font-size: 12px; | below = [[File:2023 Facebook icon.svg|frameless|13px|alt={{Name|Facebook}}]] '''Bole Wikimedians User Group'''&nbsp;•&nbsp;[[File:Email social icon.svg|frameless|13px|alt=<!--T:10--> Email address]] '''{{nospam|bolewikimediansusergroup|gmail.com}}''' }} m9yuc2y4tyct8d42cvp5vutbsyf9rsu 9556 9555 2026-08-09T00:13:35Z meta>RAPTOR7762 0 9556 wikitext text/x-wiki {{Navbox | name = Bole Wikimedians User Group | title = Bole Wikimedians User Group | state = {{{state|autocollapse}}} | image = [[File:Bole Wikimedians User Group Logo.svg|75px]] | bodyclass = hlist | bodystyle = font-family:'Segoe UI', Arial, sans-serif; font-size: 13px; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 6px; line-height: 1.3; | basestyle = background: #202122; color: white; font-weight: bold; | titlestyle = background: linear-gradient(90deg, #1e3a8a, #3b82f6); color: white; padding: 4px 10px; border-radius: 4px 4px 0 0; | groupstyle = background: #f8f9fa; color: #202122; font-weight: 600; padding: 3px 8px; border-right: 1px solid #e2e8f0; text-align: right; | liststyle = padding: 3px 8px; background: #ffffff; | group1 = <!--T:2--> Getting involved! | list1 = *[[Special:MyLanguage/Bole Wikimedians User Group/Membership|<!--T:3--> Join us!]] | group2 = <!--T:4--> Community Events | list2 = * [[Special:MyLanguage/Bole Wikimedians User Group/Events|<!--T:33--> All time events!]] | group3 = Annual Reports | list3 = * [[Bole Wikimedians User Group/Reports/Annual_Report_2023|2023]] • [[Bole Wikimedians User Group/Reports/Annual_Report_2024|2024]] • [[Bole Wikimedians User Group/Annual_Report_2025|2025]] • [[Bole Wikimedians User Group/Reports/Annual_Report_2026|2026]] | group4 = Community Meetings | list4 = {{Bole Wikimediams User Group/Meetings}} | group5 = <!--T:38--> Hubs/Networks | list5 = * [[Special:MyLanguage/Bole Wikimedians Yobe Network|<!--T:40--> Yobe Network]] • [[Special:MyLanguage/Bole Wikimedians Gombe Network|<!--T:39--> Gombe Network]] | group6 = <!--T:20--> Newsletter | list6 = * [[Special:MyLanguage/Bole Wikimedians User Group/News|All news]] | belowstyle = background: #f1f5f9; color: #475569; border-top: 1px solid #e2e8f0; padding: 5px; border-radius: 0 0 4px 4px; font-size: 12px; | below = [[File:2023 Facebook icon.svg|frameless|13px|alt={{Name|Facebook}}]] '''Bole Wikimedians User Group'''&nbsp;•&nbsp;[[File:Email social icon.svg|frameless|13px|alt=<!--T:10--> Email address]] '''{{nospam|bolewikimediansusergroup|gmail.com}}''' }} sp9bzkafnikomdh7fn3u2zt5d23hp7p 9557 9556 2026-08-09T00:13:50Z meta>RAPTOR7762 0 9557 wikitext text/x-wiki {{Navbox | name = Bole Wikimedians User Group | title = Bole Wikimedians User Group | state = {{{state|autocollapse}}} | image = [[File:Bole Wikimedians User Group Logo.svg|200px]] | bodyclass = hlist | bodystyle = font-family:'Segoe UI', Arial, sans-serif; font-size: 13px; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 6px; line-height: 1.3; | basestyle = background: #202122; color: white; font-weight: bold; | titlestyle = background: linear-gradient(90deg, #1e3a8a, #3b82f6); color: white; padding: 4px 10px; border-radius: 4px 4px 0 0; | groupstyle = background: #f8f9fa; color: #202122; font-weight: 600; padding: 3px 8px; border-right: 1px solid #e2e8f0; text-align: right; | liststyle = padding: 3px 8px; background: #ffffff; | group1 = <!--T:2--> Getting involved! | list1 = *[[Special:MyLanguage/Bole Wikimedians User Group/Membership|<!--T:3--> Join us!]] | group2 = <!--T:4--> Community Events | list2 = * [[Special:MyLanguage/Bole Wikimedians User Group/Events|<!--T:33--> All time events!]] | group3 = Annual Reports | list3 = * [[Bole Wikimedians User Group/Reports/Annual_Report_2023|2023]] • [[Bole Wikimedians User Group/Reports/Annual_Report_2024|2024]] • [[Bole Wikimedians User Group/Annual_Report_2025|2025]] • [[Bole Wikimedians User Group/Reports/Annual_Report_2026|2026]] | group4 = Community Meetings | list4 = {{Bole Wikimediams User Group/Meetings}} | group5 = <!--T:38--> Hubs/Networks | list5 = * [[Special:MyLanguage/Bole Wikimedians Yobe Network|<!--T:40--> Yobe Network]] • [[Special:MyLanguage/Bole Wikimedians Gombe Network|<!--T:39--> Gombe Network]] | group6 = <!--T:20--> Newsletter | list6 = * [[Special:MyLanguage/Bole Wikimedians User Group/News|All news]] | belowstyle = background: #f1f5f9; color: #475569; border-top: 1px solid #e2e8f0; padding: 5px; border-radius: 0 0 4px 4px; font-size: 12px; | below = [[File:2023 Facebook icon.svg|frameless|13px|alt={{Name|Facebook}}]] '''Bole Wikimedians User Group'''&nbsp;•&nbsp;[[File:Email social icon.svg|frameless|13px|alt=<!--T:10--> Email address]] '''{{nospam|bolewikimediansusergroup|gmail.com}}''' }} bnxjuwqtb4swk9jmtxmfhbpec08911j 9558 9557 2026-08-24T13:00:36Z RAPTOR7762 18 6 revisions imported from [[:meta:Template:Bole_Wikimedians_User_Group/footer]] 9557 wikitext text/x-wiki {{Navbox | name = Bole Wikimedians User Group | title = Bole Wikimedians User Group | state = {{{state|autocollapse}}} | image = [[File:Bole Wikimedians User Group Logo.svg|200px]] | bodyclass = hlist | bodystyle = font-family:'Segoe UI', Arial, sans-serif; font-size: 13px; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 6px; line-height: 1.3; | basestyle = background: #202122; color: white; font-weight: bold; | titlestyle = background: linear-gradient(90deg, #1e3a8a, #3b82f6); color: white; padding: 4px 10px; border-radius: 4px 4px 0 0; | groupstyle = background: #f8f9fa; color: #202122; font-weight: 600; padding: 3px 8px; border-right: 1px solid #e2e8f0; text-align: right; | liststyle = padding: 3px 8px; background: #ffffff; | group1 = <!--T:2--> Getting involved! | list1 = *[[Special:MyLanguage/Bole Wikimedians User Group/Membership|<!--T:3--> Join us!]] | group2 = <!--T:4--> Community Events | list2 = * [[Special:MyLanguage/Bole Wikimedians User Group/Events|<!--T:33--> All time events!]] | group3 = Annual Reports | list3 = * [[Bole Wikimedians User Group/Reports/Annual_Report_2023|2023]] • [[Bole Wikimedians User Group/Reports/Annual_Report_2024|2024]] • [[Bole Wikimedians User Group/Annual_Report_2025|2025]] • [[Bole Wikimedians User Group/Reports/Annual_Report_2026|2026]] | group4 = Community Meetings | list4 = {{Bole Wikimediams User Group/Meetings}} | group5 = <!--T:38--> Hubs/Networks | list5 = * [[Special:MyLanguage/Bole Wikimedians Yobe Network|<!--T:40--> Yobe Network]] • [[Special:MyLanguage/Bole Wikimedians Gombe Network|<!--T:39--> Gombe Network]] | group6 = <!--T:20--> Newsletter | list6 = * [[Special:MyLanguage/Bole Wikimedians User Group/News|All news]] | belowstyle = background: #f1f5f9; color: #475569; border-top: 1px solid #e2e8f0; padding: 5px; border-radius: 0 0 4px 4px; font-size: 12px; | below = [[File:2023 Facebook icon.svg|frameless|13px|alt={{Name|Facebook}}]] '''Bole Wikimedians User Group'''&nbsp;•&nbsp;[[File:Email social icon.svg|frameless|13px|alt=<!--T:10--> Email address]] '''{{nospam|bolewikimediansusergroup|gmail.com}}''' }} bnxjuwqtb4swk9jmtxmfhbpec08911j 10395 9558 2026-08-24T13:02:56Z RAPTOR7762 18 10395 wikitext text/x-wiki {{Navbox | name = Bole Wikimedians User Group | title = Bole Wikimedians User Group | state = {{{state|autocollapse}}} | image = [[File:Bole Wikimedians User Group Logo.svg|200px]] | bodyclass = hlist | bodystyle = font-family:'Segoe UI', Arial, sans-serif; font-size: 13px; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 6px; line-height: 1.3; | basestyle = background: #202122; color: white; font-weight: bold; | titlestyle = background: linear-gradient(90deg, #1e3a8a, #3b82f6); color: white; padding: 4px 10px; border-radius: 4px 4px 0 0; | groupstyle = background: #f8f9fa; color: #202122; font-weight: 600; padding: 3px 8px; border-right: 1px solid #e2e8f0; text-align: right; | liststyle = padding: 3px 8px; background: #ffffff; | group1 = <!--T:2--> Getting involved! | list1 = *[[Special:MyLanguage/Bole Wikimedians User Group/Membership|<!--T:3--> Join us!]] | group2 = <!--T:4--> Community Events | list2 = * [[Special:MyLanguage/Bole Wikimedians User Group/Events|<!--T:33--> All time events!]] | group3 = Annual Reports | list3 = * [[Bole Wikimedians User Group/Reports/Annual_Report_2023|2023]] • [[Bole Wikimedians User Group/Reports/Annual_Report_2024|2024]] • [[Bole Wikimedians User Group/Annual_Report_2025|2025]] • [[Bole Wikimedians User Group/Reports/Annual_Report_2026|2026]] | group4 = Community Meetings | list4 = {{Bole Wikimedians User Group/Meetings}} | group5 = <!--T:38--> Hubs/Networks | list5 = * [[Special:MyLanguage/Bole Wikimedians Yobe Network|<!--T:40--> Yobe Network]] • [[Special:MyLanguage/Bole Wikimedians Gombe Network|<!--T:39--> Gombe Network]] | group6 = <!--T:20--> Newsletter | list6 = * [[Special:MyLanguage/Bole Wikimedians User Group/News|All news]] | belowstyle = background: #f1f5f9; color: #475569; border-top: 1px solid #e2e8f0; padding: 5px; border-radius: 0 0 4px 4px; font-size: 12px; | below = [[File:2023 Facebook icon.svg|frameless|13px|alt={{Name|Facebook}}]] '''Bole Wikimedians User Group'''&nbsp;•&nbsp;[[File:Email social icon.svg|frameless|13px|alt=<!--T:10--> Email address]] '''{{nospam|bolewikimediansusergroup|gmail.com}}''' }} jwzkb1notc7tcjinebi6u05docm7s44 10396 10395 2026-08-24T13:03:15Z RAPTOR7762 18 Protected "[[Tempilet:Bole Wikimedians User Group/footer]]" ([Ramu=Allow only autoconfirmed users] (indefinite) [Zeme=Allow only autoconfirmed users] (indefinite)) 10395 wikitext text/x-wiki {{Navbox | name = Bole Wikimedians User Group | title = Bole Wikimedians User Group | state = {{{state|autocollapse}}} | image = [[File:Bole Wikimedians User Group Logo.svg|200px]] | bodyclass = hlist | bodystyle = font-family:'Segoe UI', Arial, sans-serif; font-size: 13px; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 6px; line-height: 1.3; | basestyle = background: #202122; color: white; font-weight: bold; | titlestyle = background: linear-gradient(90deg, #1e3a8a, #3b82f6); color: white; padding: 4px 10px; border-radius: 4px 4px 0 0; | groupstyle = background: #f8f9fa; color: #202122; font-weight: 600; padding: 3px 8px; border-right: 1px solid #e2e8f0; text-align: right; | liststyle = padding: 3px 8px; background: #ffffff; | group1 = <!--T:2--> Getting involved! | list1 = *[[Special:MyLanguage/Bole Wikimedians User Group/Membership|<!--T:3--> Join us!]] | group2 = <!--T:4--> Community Events | list2 = * [[Special:MyLanguage/Bole Wikimedians User Group/Events|<!--T:33--> All time events!]] | group3 = Annual Reports | list3 = * [[Bole Wikimedians User Group/Reports/Annual_Report_2023|2023]] • [[Bole Wikimedians User Group/Reports/Annual_Report_2024|2024]] • [[Bole Wikimedians User Group/Annual_Report_2025|2025]] • [[Bole Wikimedians User Group/Reports/Annual_Report_2026|2026]] | group4 = Community Meetings | list4 = {{Bole Wikimedians User Group/Meetings}} | group5 = <!--T:38--> Hubs/Networks | list5 = * [[Special:MyLanguage/Bole Wikimedians Yobe Network|<!--T:40--> Yobe Network]] • [[Special:MyLanguage/Bole Wikimedians Gombe Network|<!--T:39--> Gombe Network]] | group6 = <!--T:20--> Newsletter | list6 = * [[Special:MyLanguage/Bole Wikimedians User Group/News|All news]] | belowstyle = background: #f1f5f9; color: #475569; border-top: 1px solid #e2e8f0; padding: 5px; border-radius: 0 0 4px 4px; font-size: 12px; | below = [[File:2023 Facebook icon.svg|frameless|13px|alt={{Name|Facebook}}]] '''Bole Wikimedians User Group'''&nbsp;•&nbsp;[[File:Email social icon.svg|frameless|13px|alt=<!--T:10--> Email address]] '''{{nospam|bolewikimediansusergroup|gmail.com}}''' }} jwzkb1notc7tcjinebi6u05docm7s44 10397 10396 2026-08-24T13:05:19Z RAPTOR7762 18 10397 wikitext text/x-wiki {{Navbox | name = Bole Wikimedians User Group | title = Bole Wikimedians User Group | state = {{{state|autocollapse}}} | image = [[File:Bole Wikimedians User Group Logo.svg|200px]] | bodyclass = hlist | bodystyle = font-family:'Segoe UI', Arial, sans-serif; font-size: 13px; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 6px; line-height: 1.3; | basestyle = background: #202122; color: white; font-weight: bold; | titlestyle = background: linear-gradient(90deg, #1e3a8a, #3b82f6); color: white; padding: 4px 10px; border-radius: 4px 4px 0 0; | groupstyle = background: #f8f9fa; color: #202122; font-weight: 600; padding: 3px 8px; border-right: 1px solid #e2e8f0; text-align: right; | liststyle = padding: 3px 8px; background: #ffffff; | group1 = <!--T:2--> Getting involved! | list1 = *[[Special:MyLanguage/Bole Wikimedians User Group/Membership|<!--T:3--> Join us!]] | group2 = <!--T:4--> Community Events | list2 = * [[Special:MyLanguage/Bole Wikimedians User Group/Events|<!--T:33--> All time events!]] | group3 = Annual Reports | list3 = * [[Bole Wikimedians User Group/Reports/Annual_Report_2023|2023]] • [[Bole Wikimedians User Group/Reports/Annual_Report_2024|2024]] • [[Bole Wikimedians User Group/Annual_Report_2025|2025]] • [[Bole Wikimedians User Group/Reports/Annual_Report_2026|2026]] | group4 = Community Meetings | list4 = {{Bole Wikimedians User Group/Meetings}} | group5 = <!--T:38--> Hubs/Networks | list5 = * [[Special:MyLanguage/Bole Wikimedians Yobe Network|<!--T:40--> Yobe Network]] • [[Special:MyLanguage/Bole Wikimedians Gombe Network|<!--T:39--> Gombe Network]] | group6 = <!--T:20--> Newsletter | list6 = * [[Special:MyLanguage/Bole Wikimedians User Group/News|All news]] | belowstyle = background: #f1f5f9; color: #475569; border-top: 1px solid #e2e8f0; padding: 5px; border-radius: 0 0 4px 4px; font-size: 12px; | below = [[File:2023 Facebook icon.svg|frameless|13px|alt={{Name|Facebook}}]] '''Bole Wikimedians User Group'''&nbsp;•&nbsp;[[File:Email social icon.svg|frameless|13px|alt=<!--T:10--> Email address]] '''<bdi dir="ltr" style="white-space:nowrap;{{#if:{{{nolook|{{{3|}}}}}}||font-size:12px;line-height:1.5;font-family:monospace}}">bolewikimediansusergroup@gmail.com}}</bdi>''' }} 1yhg3ne0wmh7sgtju71pk66nabjh4lf 10398 10397 2026-08-24T13:06:18Z RAPTOR7762 18 10398 wikitext text/x-wiki {{Navbox | name = Bole Wikimedians User Group | title = Bole Wikimedians User Group | state = {{{state|autocollapse}}} | image = [[File:Bole Wikimedians User Group Logo.svg|200px]] | bodyclass = hlist | bodystyle = font-family:'Segoe UI', Arial, sans-serif; font-size: 13px; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 6px; line-height: 1.3; | basestyle = background: #202122; color: white; font-weight: bold; | titlestyle = background: linear-gradient(90deg, #1e3a8a, #3b82f6); color: white; padding: 4px 10px; border-radius: 4px 4px 0 0; | groupstyle = background: #f8f9fa; color: #202122; font-weight: 600; padding: 3px 8px; border-right: 1px solid #e2e8f0; text-align: right; | liststyle = padding: 3px 8px; background: #ffffff; | group1 = <!--T:2--> Getting involved! | list1 = *[[Special:MyLanguage/Bole Wikimedians User Group/Membership|<!--T:3--> Join us!]] | group2 = <!--T:4--> Community Events | list2 = * [[Special:MyLanguage/Bole Wikimedians User Group/Events|<!--T:33--> All time events!]] | group3 = Annual Reports | list3 = * [[Bole Wikimedians User Group/Reports/Annual_Report_2023|2023]] • [[Bole Wikimedians User Group/Reports/Annual_Report_2024|2024]] • [[Bole Wikimedians User Group/Annual_Report_2025|2025]] • [[Bole Wikimedians User Group/Reports/Annual_Report_2026|2026]] | group4 = Community Meetings | list4 = {{Bole Wikimedians User Group/Meetings}} | group5 = <!--T:38--> Hubs/Networks | list5 = * [[Special:MyLanguage/Bole Wikimedians Yobe Network|<!--T:40--> Yobe Network]] • [[Special:MyLanguage/Bole Wikimedians Gombe Network|<!--T:39--> Gombe Network]] | group6 = <!--T:20--> Newsletter | list6 = * [[Special:MyLanguage/Bole Wikimedians User Group/News|All news]] | belowstyle = background: #f1f5f9; color: #475569; border-top: 1px solid #e2e8f0; padding: 5px; border-radius: 0 0 4px 4px; font-size: 12px; | below = [[File:2023 Facebook icon.svg|frameless|13px|alt={{Name|Facebook}}]] '''Bole Wikimedians User Group'''&nbsp;•&nbsp;[[File:Email social icon.svg|frameless|13px|alt=<!--T:10--> Email address]] '''{{nospam|bolewikimediansusergroup|gmail.com}}''' }} jwzkb1notc7tcjinebi6u05docm7s44 10400 10398 2026-08-24T13:07:54Z RAPTOR7762 18 RAPTOR7762 moved page [[Tempilet:Bole Wikimedians User Group/footer]] to [[Tempilet:Bole Wikimedians User Group]] 10398 wikitext text/x-wiki {{Navbox | name = Bole Wikimedians User Group | title = Bole Wikimedians User Group | state = {{{state|autocollapse}}} | image = [[File:Bole Wikimedians User Group Logo.svg|200px]] | bodyclass = hlist | bodystyle = font-family:'Segoe UI', Arial, sans-serif; font-size: 13px; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 6px; line-height: 1.3; | basestyle = background: #202122; color: white; font-weight: bold; | titlestyle = background: linear-gradient(90deg, #1e3a8a, #3b82f6); color: white; padding: 4px 10px; border-radius: 4px 4px 0 0; | groupstyle = background: #f8f9fa; color: #202122; font-weight: 600; padding: 3px 8px; border-right: 1px solid #e2e8f0; text-align: right; | liststyle = padding: 3px 8px; background: #ffffff; | group1 = <!--T:2--> Getting involved! | list1 = *[[Special:MyLanguage/Bole Wikimedians User Group/Membership|<!--T:3--> Join us!]] | group2 = <!--T:4--> Community Events | list2 = * [[Special:MyLanguage/Bole Wikimedians User Group/Events|<!--T:33--> All time events!]] | group3 = Annual Reports | list3 = * [[Bole Wikimedians User Group/Reports/Annual_Report_2023|2023]] • [[Bole Wikimedians User Group/Reports/Annual_Report_2024|2024]] • [[Bole Wikimedians User Group/Annual_Report_2025|2025]] • [[Bole Wikimedians User Group/Reports/Annual_Report_2026|2026]] | group4 = Community Meetings | list4 = {{Bole Wikimedians User Group/Meetings}} | group5 = <!--T:38--> Hubs/Networks | list5 = * [[Special:MyLanguage/Bole Wikimedians Yobe Network|<!--T:40--> Yobe Network]] • [[Special:MyLanguage/Bole Wikimedians Gombe Network|<!--T:39--> Gombe Network]] | group6 = <!--T:20--> Newsletter | list6 = * [[Special:MyLanguage/Bole Wikimedians User Group/News|All news]] | belowstyle = background: #f1f5f9; color: #475569; border-top: 1px solid #e2e8f0; padding: 5px; border-radius: 0 0 4px 4px; font-size: 12px; | below = [[File:2023 Facebook icon.svg|frameless|13px|alt={{Name|Facebook}}]] '''Bole Wikimedians User Group'''&nbsp;•&nbsp;[[File:Email social icon.svg|frameless|13px|alt=<!--T:10--> Email address]] '''{{nospam|bolewikimediansusergroup|gmail.com}}''' }} jwzkb1notc7tcjinebi6u05docm7s44 10404 10400 2026-08-24T13:12:55Z RAPTOR7762 18 10404 wikitext text/x-wiki {{Navbox | name = Bole Wikimedians User Group | title = Bole Wikimedians User Group | state = {{{state|autocollapse}}} | image = [[File:Bole Wikimedians User Group Logo.svg|200px]] | bodyclass = hlist | bodystyle = font-family:'Segoe UI', Arial, sans-serif; font-size: 13px; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 6px; line-height: 1.3; | basestyle = background: #202122; color: white; font-weight: bold; | titlestyle = background: linear-gradient(90deg, #1e3a8a, #3b82f6); color: white; padding: 4px 10px; border-radius: 4px 4px 0 0; | groupstyle = background: #f8f9fa; color: #202122; font-weight: 600; padding: 3px 8px; border-right: 1px solid #e2e8f0; text-align: right; | liststyle = padding: 3px 8px; background: #ffffff; | group1 = <!--T:2--> Getting involved! | list1 = *[[meta:Special:MyLanguage/Bole Wikimedians User Group/Membership|<!--T:3--> Join us!]] | group2 = <!--T:4--> Community Events | list2 = * [[meta:Special:MyLanguage/Bole Wikimedians User Group/Events|<!--T:33--> All time events!]] | group3 = Annual Reports | list3 = * [[meta:Bole Wikimedians User Group/Reports/Annual_Report_2023|2023]] • [[meta:Bole Wikimedians User Group/Reports/Annual_Report_2024|2024]] • [[meta:Bole Wikimedians User Group/Annual_Report_2025|2025]] • [[meta:Bole Wikimedians User Group/Reports/Annual_Report_2026|2026]] | group4 = Community Meetings | list4 = {{Bole Wikimedians User Group/Meetings}} | group5 = <!--T:38--> Hubs/Networks | list5 = * [[meta:Special:MyLanguage/Bole Wikimedians Yobe Network|<!--T:40--> Yobe Network]] • [[meta:Special:MyLanguage/Bole Wikimedians Gombe Network|<!--T:39--> Gombe Network]] | group6 = <!--T:20--> Newsletter | list6 = * [[meta:Special:MyLanguage/Bole Wikimedians User Group/News|All news]] | belowstyle = background: #f1f5f9; color: #475569; border-top: 1px solid #e2e8f0; padding: 5px; border-radius: 0 0 4px 4px; font-size: 12px; | below = [[File:2023 Facebook icon.svg|frameless|13px|alt={{Name|Facebook}}]] '''Bole Wikimedians User Group'''&nbsp;•&nbsp;[[File:Email social icon.svg|frameless|13px|alt=<!--T:10--> Email address]] '''{{nospam|bolewikimediansusergroup|gmail.com}}''' }} 4rqmmpkruq601e4xnkjdbot0bwr8xeo 10439 10404 2026-08-24T13:24:56Z RAPTOR7762 18 10439 wikitext text/x-wiki {{Navbox | name = Bole Wikimedians User Group | title = Bole Wikimedians User Group | state = {{{state|autocollapse}}} | image = [[File:Bole Wikimedians User Group Logo.svg|200px]] | bodyclass = hlist | bodystyle = font-family:'Segoe UI', Arial, sans-serif; font-size: 13px; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 6px; line-height: 1.3; | basestyle = background: #202122; color: white; font-weight: bold; | titlestyle = background: linear-gradient(90deg, #1e3a8a, #3b82f6); color: white; padding: 4px 10px; border-radius: 4px 4px 0 0; | groupstyle = background: #f8f9fa; color: #202122; font-weight: 600; padding: 3px 8px; border-right: 1px solid #e2e8f0; text-align: right; | liststyle = padding: 3px 8px; background: #ffffff; | group1 = <!--T:2--> Getting involved! | list1 = *[[meta:Special:MyLanguage/Bole Wikimedians User Group/Membership|<!--T:3--> Join us!]] | group2 = <!--T:4--> Community Events | list2 = * [[meta:Special:MyLanguage/Bole Wikimedians User Group/Events|<!--T:33--> All time events!]] | group3 = Annual Reports | list3 = * [[meta:Bole Wikimedians User Group/Reports/Annual_Report_2023|2023]] • [[meta:Bole Wikimedians User Group/Reports/Annual_Report_2024|2024]] • [[meta:Bole Wikimedians User Group/Annual_Report_2025|2025]] • [[meta:Bole Wikimedians User Group/Reports/Annual_Report_2026|2026]] | group4 = Community Meetings | list4 = {{Bole Wikimedians User Group/Meetings}} | group5 = <!--T:38--> Hubs/Networks | list5 = * [[meta:Special:MyLanguage/Bole Wikimedians Yobe Network|<!--T:40--> Yobe Network]] • [[meta:Special:MyLanguage/Bole Wikimedians Gombe Network|<!--T:39--> Gombe Network]] | group6 = <!--T:20--> Newsletter | list6 = * [[meta:Special:MyLanguage/Bole Wikimedians User Group/News|All news]] | belowstyle = background: #f1f5f9; color: #475569; border-top: 1px solid #e2e8f0; padding: 5px; border-radius: 0 0 4px 4px; font-size: 12px; | below = [[File:2023 Facebook icon.svg|frameless|13px|alt={{Name|Facebook}}|link=]] '''Bole Wikimedians User Group'''&nbsp;•&nbsp;[[File:Email social icon.svg|frameless|13px|alt=<!--T:10--> Email address]] '''{{nospam|bolewikimediansusergroup|gmail.com}}''' }} pi2yzkmpxnmm3k9xl5amg21bpypdqek 10440 10439 2026-08-24T13:28:24Z RAPTOR7762 18 10440 wikitext text/x-wiki {{Navbox | name = Bole Wikimedians User Group | title = Bole Wikimedians User Group | state = {{{state|autocollapse}}} | image = [[File:Bole Wikimedians User Group Logo.svg|200px]] | bodyclass = hlist | bodystyle = font-family:'Segoe UI', Arial, sans-serif; font-size: 13px; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 6px; line-height: 1.3; | basestyle = background: #202122; color: white; font-weight: bold; | titlestyle = background: linear-gradient(90deg, #1e3a8a, #3b82f6); color: white; padding: 4px 10px; border-radius: 4px 4px 0 0; | groupstyle = background: #f8f9fa; color: #202122; font-weight: 600; padding: 3px 8px; border-right: 1px solid #e2e8f0; text-align: right; | liststyle = padding: 3px 8px; background: #ffffff; | group1 = <!--T:2--> Getting involved! | list1 = *[[meta:Special:MyLanguage/Bole Wikimedians User Group/Membership|<!--T:3--> Join us!]] | group2 = <!--T:4--> Community Events | list2 = * [[meta:Special:MyLanguage/Bole Wikimedians User Group/Events|<!--T:33--> All time events!]] | group3 = Annual Reports | list3 = * [[meta:Bole Wikimedians User Group/Reports/Annual_Report_2023|2023]] • [[meta:Bole Wikimedians User Group/Reports/Annual_Report_2024|2024]] • [[meta:Bole Wikimedians User Group/Annual_Report_2025|2025]] • [[meta:Bole Wikimedians User Group/Reports/Annual_Report_2026|2026]] | group4 = Community Meetings | list4 = {{Bole Wikimedians User Group/Meetings}} | group5 = <!--T:38--> Hubs/Networks | list5 = * [[meta:Special:MyLanguage/Bole Wikimedians Yobe Network|<!--T:40--> Yobe Network]] • [[meta:Special:MyLanguage/Bole Wikimedians Gombe Network|<!--T:39--> Gombe Network]] | group6 = <!--T:20--> Newsletter | list6 = * [[meta:Special:MyLanguage/Bole Wikimedians User Group/News|All news]] | belowstyle = background: #f1f5f9; color: #475569; border-top: 1px solid #e2e8f0; padding: 5px; border-radius: 0 0 4px 4px; font-size: 12px; | below = [[File:2023 Facebook icon.svg|frameless|13px|alt={{Name|Facebook}}|link=]] '''[https://www.facebook.com/61590521903033/ Bole Wikimedians User Group]'''&nbsp;•&nbsp;[[File:Email social icon.svg|frameless|13px|alt=<!--T:10--> Email address]] '''{{nospam|bolewikimediansusergroup|gmail.com}}''' }} 6y7y4tw6jv4pxpt68j5pulc4g1mksig 10442 10440 2026-08-24T13:36:50Z RAPTOR7762 18 10442 wikitext text/x-wiki {{Navbox | name = Bole Wikimedians User Group | title = Bole Wikimedians User Group | state = {{{state|autocollapse}}} | image = [[File:Bole Wikimedians User Group Logo.svg|200px]] | bodyclass = hlist | bodystyle = font-family:'Segoe UI', Arial, sans-serif; font-size: 13px; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 6px; line-height: 1.3; | basestyle = background: #202122; color: white; font-weight: bold; | titlestyle = background: linear-gradient(90deg, #1e3a8a, #3b82f6); color: white; padding: 4px 10px; border-radius: 4px 4px 0 0; | groupstyle = background: #f8f9fa; color: #202122; font-weight: 600; padding: 3px 8px; border-right: 1px solid #e2e8f0; text-align: right; | liststyle = padding: 3px 8px; background: #ffffff; | group1 = <!--T:2--> Getting involved! | list1 = *[[meta:Special:MyLanguage/Bole Wikimedians User Group/Membership|<!--T:3--> Join us!]] | group2 = <!--T:4--> Community Events | list2 = * [[meta:Special:MyLanguage/Bole Wikimedians User Group/Events|<!--T:33--> All time events!]] | group3 = Annual Reports | list3 = * [[meta:Bole Wikimedians User Group/Reports/Annual_Report_2023|2023]] • [[meta:Bole Wikimedians User Group/Reports/Annual_Report_2024|2024]] • [[meta:Bole Wikimedians User Group/Annual_Report_2025|2025]] • [[meta:Bole Wikimedians User Group/Reports/Annual_Report_2026|2026]] | group4 = Community Meetings | list4 = {{Bole Wikimedians User Group/Meetings}} | group5 = <!--T:38--> Hubs/Networks | list5 = * [[meta:Special:MyLanguage/Bole Wikimedians Yobe Network|<!--T:40--> Yobe Network]] • [[meta:Special:MyLanguage/Bole Wikimedians Gombe Network|<!--T:39--> Gombe Network]] | group6 = <!--T:20--> Newsletter | list6 = * [[meta:Special:MyLanguage/Bole Wikimedians User Group/News|All news]] | belowstyle = background: #f1f5f9; color: #475569; border-top: 1px solid #e2e8f0; padding: 5px; border-radius: 0 0 4px 4px; font-size: 12px; | below = [[File:2023 Facebook icon.svg|frameless|13px|alt={{Name|Facebook}}|link=]] '''[https://www.facebook.com/61590521903033/ Bole Wikimedians User Group]'''&nbsp;•&nbsp;[[File:Email social icon.svg|frameless|13px|alt=<!--T:10--> Email address|link=]] '''{{nospam|bolewikimediansusergroup|gmail.com}}''' }} o5anzkz4tbxpkk5bo2b60kdrkyjdsur Tempilet:Flatlist/styles.css 10 1249 9822 2021-06-24T11:46:52Z meta>ExE Boss 0 Create CSS page to style lists using <[[mw:Special:MyLanguage/Help:TemplateStyles|templatestyles]]> 9822 sanitized-css text/css /* Should be kept in sync with [[MediaWiki:Common.css]] */ /** * Style for horizontal lists (separator following item). * @source https://www.mediawiki.org/wiki/Snippets/Horizontal_lists * @revision 9 (2016-08-10) * @author [[User:Edokter]] */ .hlist dl, .hlist ol, .hlist ul { margin: 0; padding: 0; } /* Display list items inline */ .hlist dd, .hlist dt, .hlist li { margin: 0; display: inline; } /* Display nested lists inline */ .hlist.inline, .hlist.inline dl, .hlist.inline ol, .hlist.inline ul, .hlist dl dl, .hlist dl ol, .hlist dl ul, .hlist ol dl, .hlist ol ol, .hlist ol ul, .hlist ul dl, .hlist ul ol, .hlist ul ul { display: inline; } /* Hide empty list items */ .hlist .mw-empty-li, .hlist .mw-empty-elt { display: none; } /* Generate interpuncts */ .hlist dt:after { content: ": "; } .hlist dd:after, .hlist li:after { content: " · "; font-weight: bold; } .hlist dd:last-child:after, .hlist dt:last-child:after, .hlist li:last-child:after { content: none; } /* Add parentheses around nested lists */ .hlist dd dd:first-child:before, .hlist dd dt:first-child:before, .hlist dd li:first-child:before, .hlist dt dd:first-child:before, .hlist dt dt:first-child:before, .hlist dt li:first-child:before, .hlist li dd:first-child:before, .hlist li dt:first-child:before, .hlist li li:first-child:before { content: " ("; font-weight: normal; } .hlist dd dd:last-child:after, .hlist dd dt:last-child:after, .hlist dd li:last-child:after, .hlist dt dd:last-child:after, .hlist dt dt:last-child:after, .hlist dt li:last-child:after, .hlist li dd:last-child:after, .hlist li dt:last-child:after, .hlist li li:last-child:after { content: ")"; font-weight: normal; } /* Put ordinals in front of ordered list items */ .hlist ol { counter-reset: listitem; } .hlist ol > li { counter-increment: listitem; } .hlist ol > li:before { content: " " counter(listitem) "\a0"; } .hlist dd ol > li:first-child:before, .hlist dt ol > li:first-child:before, .hlist li ol > li:first-child:before { content: " (" counter(listitem) "\a0"; } /* end hlist */ /** * Unbulleted lists */ .plainlist ul { line-height: inherit; list-style: none none; margin: 0; } .plainlist ul li { margin-bottom: 0; } ranyx8h1pulvnjmjry1ef6atjggqsq9 9823 9822 2021-06-28T11:11:01Z meta>ExE Boss 0 ExE Boss moved page [[Module:List/styles.css]] to [[Template:Hlist/styles.css]] without leaving a redirect: Splitting into [[Template:Hlist/styles.css]] and [[Template:Plainlist/styles.css]] 9822 sanitized-css text/css /* Should be kept in sync with [[MediaWiki:Common.css]] */ /** * Style for horizontal lists (separator following item). * @source https://www.mediawiki.org/wiki/Snippets/Horizontal_lists * @revision 9 (2016-08-10) * @author [[User:Edokter]] */ .hlist dl, .hlist ol, .hlist ul { margin: 0; padding: 0; } /* Display list items inline */ .hlist dd, .hlist dt, .hlist li { margin: 0; display: inline; } /* Display nested lists inline */ .hlist.inline, .hlist.inline dl, .hlist.inline ol, .hlist.inline ul, .hlist dl dl, .hlist dl ol, .hlist dl ul, .hlist ol dl, .hlist ol ol, .hlist ol ul, .hlist ul dl, .hlist ul ol, .hlist ul ul { display: inline; } /* Hide empty list items */ .hlist .mw-empty-li, .hlist .mw-empty-elt { display: none; } /* Generate interpuncts */ .hlist dt:after { content: ": "; } .hlist dd:after, .hlist li:after { content: " · "; font-weight: bold; } .hlist dd:last-child:after, .hlist dt:last-child:after, .hlist li:last-child:after { content: none; } /* Add parentheses around nested lists */ .hlist dd dd:first-child:before, .hlist dd dt:first-child:before, .hlist dd li:first-child:before, .hlist dt dd:first-child:before, .hlist dt dt:first-child:before, .hlist dt li:first-child:before, .hlist li dd:first-child:before, .hlist li dt:first-child:before, .hlist li li:first-child:before { content: " ("; font-weight: normal; } .hlist dd dd:last-child:after, .hlist dd dt:last-child:after, .hlist dd li:last-child:after, .hlist dt dd:last-child:after, .hlist dt dt:last-child:after, .hlist dt li:last-child:after, .hlist li dd:last-child:after, .hlist li dt:last-child:after, .hlist li li:last-child:after { content: ")"; font-weight: normal; } /* Put ordinals in front of ordered list items */ .hlist ol { counter-reset: listitem; } .hlist ol > li { counter-increment: listitem; } .hlist ol > li:before { content: " " counter(listitem) "\a0"; } .hlist dd ol > li:first-child:before, .hlist dt ol > li:first-child:before, .hlist li ol > li:first-child:before { content: " (" counter(listitem) "\a0"; } /* end hlist */ /** * Unbulleted lists */ .plainlist ul { line-height: inherit; list-style: none none; margin: 0; } .plainlist ul li { margin-bottom: 0; } ranyx8h1pulvnjmjry1ef6atjggqsq9 9824 9823 2021-06-28T11:19:19Z meta>ExE Boss 0 Finish split into [[Template:Hlist/styles.css]] and [[Template:Plainlist/styles.css]] 9824 sanitized-css text/css /* Should be kept in sync with [[MediaWiki:Common.css]] */ /** * Style for horizontal lists (separator following item). * @source https://www.mediawiki.org/wiki/Snippets/Horizontal_lists * @revision 9 (2016-08-10) * @author [[User:Edokter]] */ .hlist dl, .hlist ol, .hlist ul { margin: 0; padding: 0; } /* Display list items inline */ .hlist dd, .hlist dt, .hlist li { margin: 0; display: inline; } /* Display nested lists inline */ .hlist.inline, .hlist.inline dl, .hlist.inline ol, .hlist.inline ul, .hlist dl dl, .hlist dl ol, .hlist dl ul, .hlist ol dl, .hlist ol ol, .hlist ol ul, .hlist ul dl, .hlist ul ol, .hlist ul ul { display: inline; } /* Hide empty list items */ .hlist .mw-empty-li, .hlist .mw-empty-elt { display: none; } /* Generate interpuncts */ .hlist dt:after { content: ": "; } .hlist dd:after, .hlist li:after { content: " · "; font-weight: bold; } .hlist dd:last-child:after, .hlist dt:last-child:after, .hlist li:last-child:after { content: none; } /* Add parentheses around nested lists */ .hlist dd dd:first-child:before, .hlist dd dt:first-child:before, .hlist dd li:first-child:before, .hlist dt dd:first-child:before, .hlist dt dt:first-child:before, .hlist dt li:first-child:before, .hlist li dd:first-child:before, .hlist li dt:first-child:before, .hlist li li:first-child:before { content: " ("; font-weight: normal; } .hlist dd dd:last-child:after, .hlist dd dt:last-child:after, .hlist dd li:last-child:after, .hlist dt dd:last-child:after, .hlist dt dt:last-child:after, .hlist dt li:last-child:after, .hlist li dd:last-child:after, .hlist li dt:last-child:after, .hlist li li:last-child:after { content: ")"; font-weight: normal; } /* Put ordinals in front of ordered list items */ .hlist ol { counter-reset: listitem; } .hlist ol > li { counter-increment: listitem; } .hlist ol > li:before { content: " " counter(listitem) "\a0"; } .hlist dd ol > li:first-child:before, .hlist dt ol > li:first-child:before, .hlist li ol > li:first-child:before { content: " (" counter(listitem) "\a0"; } hhjbqi9jupi4zy6i3ctldqkae31ivup 9825 9824 2021-07-05T15:09:36Z meta>ExE Boss 0 ExE Boss moved page [[Template:Hlist/styles.css]] to [[Template:Flatlist/styles.css]] without leaving a redirect: Match [[mw:Template:Flatlist/styles.css]] 9824 sanitized-css text/css /* Should be kept in sync with [[MediaWiki:Common.css]] */ /** * Style for horizontal lists (separator following item). * @source https://www.mediawiki.org/wiki/Snippets/Horizontal_lists * @revision 9 (2016-08-10) * @author [[User:Edokter]] */ .hlist dl, .hlist ol, .hlist ul { margin: 0; padding: 0; } /* Display list items inline */ .hlist dd, .hlist dt, .hlist li { margin: 0; display: inline; } /* Display nested lists inline */ .hlist.inline, .hlist.inline dl, .hlist.inline ol, .hlist.inline ul, .hlist dl dl, .hlist dl ol, .hlist dl ul, .hlist ol dl, .hlist ol ol, .hlist ol ul, .hlist ul dl, .hlist ul ol, .hlist ul ul { display: inline; } /* Hide empty list items */ .hlist .mw-empty-li, .hlist .mw-empty-elt { display: none; } /* Generate interpuncts */ .hlist dt:after { content: ": "; } .hlist dd:after, .hlist li:after { content: " · "; font-weight: bold; } .hlist dd:last-child:after, .hlist dt:last-child:after, .hlist li:last-child:after { content: none; } /* Add parentheses around nested lists */ .hlist dd dd:first-child:before, .hlist dd dt:first-child:before, .hlist dd li:first-child:before, .hlist dt dd:first-child:before, .hlist dt dt:first-child:before, .hlist dt li:first-child:before, .hlist li dd:first-child:before, .hlist li dt:first-child:before, .hlist li li:first-child:before { content: " ("; font-weight: normal; } .hlist dd dd:last-child:after, .hlist dd dt:last-child:after, .hlist dd li:last-child:after, .hlist dt dd:last-child:after, .hlist dt dt:last-child:after, .hlist dt li:last-child:after, .hlist li dd:last-child:after, .hlist li dt:last-child:after, .hlist li li:last-child:after { content: ")"; font-weight: normal; } /* Put ordinals in front of ordered list items */ .hlist ol { counter-reset: listitem; } .hlist ol > li { counter-increment: listitem; } .hlist ol > li:before { content: " " counter(listitem) "\a0"; } .hlist dd ol > li:first-child:before, .hlist dt ol > li:first-child:before, .hlist li ol > li:first-child:before { content: " (" counter(listitem) "\a0"; } hhjbqi9jupi4zy6i3ctldqkae31ivup 9826 9825 2021-07-05T18:00:36Z meta>MusikBot II 0 Protected "[[Template:Flatlist/styles.css]]": High-risk template or module ([[User:MusikBot II/TemplateProtector|more info]]) ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) 9824 sanitized-css text/css /* Should be kept in sync with [[MediaWiki:Common.css]] */ /** * Style for horizontal lists (separator following item). * @source https://www.mediawiki.org/wiki/Snippets/Horizontal_lists * @revision 9 (2016-08-10) * @author [[User:Edokter]] */ .hlist dl, .hlist ol, .hlist ul { margin: 0; padding: 0; } /* Display list items inline */ .hlist dd, .hlist dt, .hlist li { margin: 0; display: inline; } /* Display nested lists inline */ .hlist.inline, .hlist.inline dl, .hlist.inline ol, .hlist.inline ul, .hlist dl dl, .hlist dl ol, .hlist dl ul, .hlist ol dl, .hlist ol ol, .hlist ol ul, .hlist ul dl, .hlist ul ol, .hlist ul ul { display: inline; } /* Hide empty list items */ .hlist .mw-empty-li, .hlist .mw-empty-elt { display: none; } /* Generate interpuncts */ .hlist dt:after { content: ": "; } .hlist dd:after, .hlist li:after { content: " · "; font-weight: bold; } .hlist dd:last-child:after, .hlist dt:last-child:after, .hlist li:last-child:after { content: none; } /* Add parentheses around nested lists */ .hlist dd dd:first-child:before, .hlist dd dt:first-child:before, .hlist dd li:first-child:before, .hlist dt dd:first-child:before, .hlist dt dt:first-child:before, .hlist dt li:first-child:before, .hlist li dd:first-child:before, .hlist li dt:first-child:before, .hlist li li:first-child:before { content: " ("; font-weight: normal; } .hlist dd dd:last-child:after, .hlist dd dt:last-child:after, .hlist dd li:last-child:after, .hlist dt dd:last-child:after, .hlist dt dt:last-child:after, .hlist dt li:last-child:after, .hlist li dd:last-child:after, .hlist li dt:last-child:after, .hlist li li:last-child:after { content: ")"; font-weight: normal; } /* Put ordinals in front of ordered list items */ .hlist ol { counter-reset: listitem; } .hlist ol > li { counter-increment: listitem; } .hlist ol > li:before { content: " " counter(listitem) "\a0"; } .hlist dd ol > li:first-child:before, .hlist dt ol > li:first-child:before, .hlist li ol > li:first-child:before { content: " (" counter(listitem) "\a0"; } hhjbqi9jupi4zy6i3ctldqkae31ivup 9827 9826 2023-03-15T13:50:59Z meta>MarcoAurelio 0 No longer in Common.css 9827 sanitized-css text/css /** * Style for horizontal lists (separator following item). * @source https://www.mediawiki.org/wiki/Snippets/Horizontal_lists * @revision 9 (2016-08-10) * @author [[User:Edokter]] */ .hlist dl, .hlist ol, .hlist ul { margin: 0; padding: 0; } /* Display list items inline */ .hlist dd, .hlist dt, .hlist li { margin: 0; display: inline; } /* Display nested lists inline */ .hlist.inline, .hlist.inline dl, .hlist.inline ol, .hlist.inline ul, .hlist dl dl, .hlist dl ol, .hlist dl ul, .hlist ol dl, .hlist ol ol, .hlist ol ul, .hlist ul dl, .hlist ul ol, .hlist ul ul { display: inline; } /* Hide empty list items */ .hlist .mw-empty-li, .hlist .mw-empty-elt { display: none; } /* Generate interpuncts */ .hlist dt:after { content: ": "; } .hlist dd:after, .hlist li:after { content: " · "; font-weight: bold; } .hlist dd:last-child:after, .hlist dt:last-child:after, .hlist li:last-child:after { content: none; } /* Add parentheses around nested lists */ .hlist dd dd:first-child:before, .hlist dd dt:first-child:before, .hlist dd li:first-child:before, .hlist dt dd:first-child:before, .hlist dt dt:first-child:before, .hlist dt li:first-child:before, .hlist li dd:first-child:before, .hlist li dt:first-child:before, .hlist li li:first-child:before { content: " ("; font-weight: normal; } .hlist dd dd:last-child:after, .hlist dd dt:last-child:after, .hlist dd li:last-child:after, .hlist dt dd:last-child:after, .hlist dt dt:last-child:after, .hlist dt li:last-child:after, .hlist li dd:last-child:after, .hlist li dt:last-child:after, .hlist li li:last-child:after { content: ")"; font-weight: normal; } /* Put ordinals in front of ordered list items */ .hlist ol { counter-reset: listitem; } .hlist ol > li { counter-increment: listitem; } .hlist ol > li:before { content: " " counter(listitem) "\a0"; } .hlist dd ol > li:first-child:before, .hlist dt ol > li:first-child:before, .hlist li ol > li:first-child:before { content: " (" counter(listitem) "\a0"; } 4744d7qw1b89w4wg80kvsmz5i9v771u 9828 9827 2025-08-26T15:59:03Z meta>Pppery 0 /* {{pp-template}} */ 9828 sanitized-css text/css /* {{pp-template}} */ /** * Style for horizontal lists (separator following item). * @source https://www.mediawiki.org/wiki/Snippets/Horizontal_lists * @revision 9 (2016-08-10) * @author [[User:Edokter]] */ .hlist dl, .hlist ol, .hlist ul { margin: 0; padding: 0; } /* Display list items inline */ .hlist dd, .hlist dt, .hlist li { margin: 0; display: inline; } /* Display nested lists inline */ .hlist.inline, .hlist.inline dl, .hlist.inline ol, .hlist.inline ul, .hlist dl dl, .hlist dl ol, .hlist dl ul, .hlist ol dl, .hlist ol ol, .hlist ol ul, .hlist ul dl, .hlist ul ol, .hlist ul ul { display: inline; } /* Hide empty list items */ .hlist .mw-empty-li, .hlist .mw-empty-elt { display: none; } /* Generate interpuncts */ .hlist dt:after { content: ": "; } .hlist dd:after, .hlist li:after { content: " · "; font-weight: bold; } .hlist dd:last-child:after, .hlist dt:last-child:after, .hlist li:last-child:after { content: none; } /* Add parentheses around nested lists */ .hlist dd dd:first-child:before, .hlist dd dt:first-child:before, .hlist dd li:first-child:before, .hlist dt dd:first-child:before, .hlist dt dt:first-child:before, .hlist dt li:first-child:before, .hlist li dd:first-child:before, .hlist li dt:first-child:before, .hlist li li:first-child:before { content: " ("; font-weight: normal; } .hlist dd dd:last-child:after, .hlist dd dt:last-child:after, .hlist dd li:last-child:after, .hlist dt dd:last-child:after, .hlist dt dt:last-child:after, .hlist dt li:last-child:after, .hlist li dd:last-child:after, .hlist li dt:last-child:after, .hlist li li:last-child:after { content: ")"; font-weight: normal; } /* Put ordinals in front of ordered list items */ .hlist ol { counter-reset: listitem; } .hlist ol > li { counter-increment: listitem; } .hlist ol > li:before { content: " " counter(listitem) "\a0"; } .hlist dd ol > li:first-child:before, .hlist dt ol > li:first-child:before, .hlist li ol > li:first-child:before { content: " (" counter(listitem) "\a0"; } a4wyf051b7o8tplxd2sf168cj98zrj2 9829 9828 2026-08-24T13:00:40Z RAPTOR7762 18 7 revisions imported from [[:meta:Template:Flatlist/styles.css]] 9828 sanitized-css text/css /* {{pp-template}} */ /** * Style for horizontal lists (separator following item). * @source https://www.mediawiki.org/wiki/Snippets/Horizontal_lists * @revision 9 (2016-08-10) * @author [[User:Edokter]] */ .hlist dl, .hlist ol, .hlist ul { margin: 0; padding: 0; } /* Display list items inline */ .hlist dd, .hlist dt, .hlist li { margin: 0; display: inline; } /* Display nested lists inline */ .hlist.inline, .hlist.inline dl, .hlist.inline ol, .hlist.inline ul, .hlist dl dl, .hlist dl ol, .hlist dl ul, .hlist ol dl, .hlist ol ol, .hlist ol ul, .hlist ul dl, .hlist ul ol, .hlist ul ul { display: inline; } /* Hide empty list items */ .hlist .mw-empty-li, .hlist .mw-empty-elt { display: none; } /* Generate interpuncts */ .hlist dt:after { content: ": "; } .hlist dd:after, .hlist li:after { content: " · "; font-weight: bold; } .hlist dd:last-child:after, .hlist dt:last-child:after, .hlist li:last-child:after { content: none; } /* Add parentheses around nested lists */ .hlist dd dd:first-child:before, .hlist dd dt:first-child:before, .hlist dd li:first-child:before, .hlist dt dd:first-child:before, .hlist dt dt:first-child:before, .hlist dt li:first-child:before, .hlist li dd:first-child:before, .hlist li dt:first-child:before, .hlist li li:first-child:before { content: " ("; font-weight: normal; } .hlist dd dd:last-child:after, .hlist dd dt:last-child:after, .hlist dd li:last-child:after, .hlist dt dd:last-child:after, .hlist dt dt:last-child:after, .hlist dt li:last-child:after, .hlist li dd:last-child:after, .hlist li dt:last-child:after, .hlist li li:last-child:after { content: ")"; font-weight: normal; } /* Put ordinals in front of ordered list items */ .hlist ol { counter-reset: listitem; } .hlist ol > li { counter-increment: listitem; } .hlist ol > li:before { content: " " counter(listitem) "\a0"; } .hlist dd ol > li:first-child:before, .hlist dt ol > li:first-child:before, .hlist li ol > li:first-child:before { content: " (" counter(listitem) "\a0"; } a4wyf051b7o8tplxd2sf168cj98zrj2 Tempilet:Label 10 1250 9935 2015-08-22T22:04:45Z meta>Bluerasberry 0 copied from English Wikipedia... 9935 wikitext text/x-wiki <includeonly>{{#invoke:Wikibase|label|{{{1}}}}}</includeonly><noinclude>{{documentation}}</noinclude> jesppw88bj6fg67gtt7pugoxb8xhd8b 9936 9935 2016-06-01T15:36:24Z meta>Mahir256 0 9936 wikitext text/x-wiki <includeonly>{{#invoke: Wikidata | getLabel |entity={{{1|}}}|lang={{{2|{{int:lang}}}}}}}</includeonly><noinclude> {{documentation}}</noinclude> ru5q70rfr87skgw9j8bfibq1gb11rxz 9937 9936 2019-12-05T02:17:45Z meta>MusikBot II 0 Protected "[[Template:Label]]": High-risk template or module ([[User:MusikBot II/TemplateProtector|more info]]) ([Edit=Allow only autoconfirmed users] (indefinite)) 9936 wikitext text/x-wiki <includeonly>{{#invoke: Wikidata | getLabel |entity={{{1|}}}|lang={{{2|{{int:lang}}}}}}}</includeonly><noinclude> {{documentation}}</noinclude> ru5q70rfr87skgw9j8bfibq1gb11rxz 9938 9937 2020-12-07T23:11:55Z meta>Verdy p 0 9938 wikitext text/x-wiki <includeonly>{{#invoke:Wikidata|getLabel|entity={{{1|}}}|lang={{{2|{{int:lang}}}}}}}</includeonly><noinclude>{{Documentation}}</noinclude> rdb4sipqmscm1gmfriig4mewy6ewlc4 9939 9938 2022-03-20T15:09:56Z meta>Rdrg109 0 9939 wikitext text/x-wiki {{#if:{{{item|{{{1|}}} }}}| {{#invoke:Wikidata label|getLabel |entity={{{entity|{{{1|}}} }}} |lang={{{lang|{{{2|}}} }}} |link={{{link|-}}} |capitalization={{{capitalization|none}}} |show_id={{{show_id|}}} }} }}<noinclude> {{documentation}}</noinclude> osdfcwtvk1cgjj2uh699rkasnu3p3ts 9940 9939 2022-03-20T15:10:19Z meta>Rdrg109 0 Undo revision 23029370 by [[Special:Contributions/Rdrg109|Rdrg109]] ([[User talk:Rdrg109|talk]]) 9940 wikitext text/x-wiki <includeonly>{{#invoke:Wikidata|getLabel|entity={{{1|}}}|lang={{{2|{{int:lang}}}}}}}</includeonly><noinclude>{{Documentation}}</noinclude> rdb4sipqmscm1gmfriig4mewy6ewlc4 9941 9940 2022-03-20T15:44:09Z meta>Rdrg109 0 9941 wikitext text/x-wiki {{#if:{{{item|{{{1|}}} }}}| {{#invoke:Wikidata label|getLabel |item={{{item|{{{1|}}} }}} |lang={{{lang|{{{2|}}} }}} |link={{{link|-}}} |capitalization={{{capitalization|none}}} |show_id={{{show_id|}}} }} }}<noinclude> {{documentation}}</noinclude> 3n5b146mlbpr2piyuavzxrctzu75y5c 9942 9941 2023-07-08T18:01:34Z meta>MusikBot II 0 Changed protection settings for "[[Template:Label]]": High-risk template or module ([[User:MusikBot II/TemplateProtector|more info]]) ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) 9941 wikitext text/x-wiki {{#if:{{{item|{{{1|}}} }}}| {{#invoke:Wikidata label|getLabel |item={{{item|{{{1|}}} }}} |lang={{{lang|{{{2|}}} }}} |link={{{link|-}}} |capitalization={{{capitalization|none}}} |show_id={{{show_id|}}} }} }}<noinclude> {{documentation}}</noinclude> 3n5b146mlbpr2piyuavzxrctzu75y5c 9943 9942 2026-08-24T13:00:42Z RAPTOR7762 18 8 revisions imported from [[:meta:Template:Label]] 9941 wikitext text/x-wiki {{#if:{{{item|{{{1|}}} }}}| {{#invoke:Wikidata label|getLabel |item={{{item|{{{1|}}} }}} |lang={{{lang|{{{2|}}} }}} |link={{{link|-}}} |capitalization={{{capitalization|none}}} |show_id={{{show_id|}}} }} }}<noinclude> {{documentation}}</noinclude> 3n5b146mlbpr2piyuavzxrctzu75y5c Module:Wikidata label 828 1251 9944 2019-10-13T08:04:18Z meta>Lopullinen 0 Copied from [[:c:Module:Wikidata label]] (version 11:24, 16 July 2019‎) 9944 Scribunto text/plain --[[ __ __ _ _ __ ___ _ _ _ _ _ _ _ | \/ | ___ __| |_ _| | ___ \ \ / (_) | _(_) __| | __ _| |_ __ _ | | __ _| |__ ___| | | |\/| |/ _ \ / _` | | | | |/ _ (_) \ /\ / /| | |/ / |/ _` |/ _` | __/ _` | | |/ _` | '_ \ / _ \ | | | | | (_) | (_| | |_| | | __/_ \ V V / | | <| | (_| | (_| | || (_| | | | (_| | |_) | __/ | |_| |_|\___/ \__,_|\__,_|_|\___(_) \_/\_/ |_|_|\_\_|\__,_|\__,_|\__\__,_| |_|\__,_|_.__/ \___|_| This module is intended to be the engine behind "Template:Label". Thic module was copied from Commons please ask for changes there. Please do not modify this code without applying the changes first at "Module:Wikidata label/sandbox" and testing at "Module:Wikidata label/testcases". Authors and maintainers: * User:Jarekt - original version Dependencies: * Module:Yesno - used only if "show_id" parameter present ]] -- use different sitelink call depending if you already have an entity or not local function getSitelink(item, entity, lang) if entity then -- if we have entity than use it return entity:getSitelink(lang .. 'wiki') else -- if no entity than use different function return mw.wikibase.sitelink( item, lang .. 'wiki' ) end end local p = {} --[[ _getLabel This function returns a label translated to desired language, created based on wikidata Inputs: 1: item - wikidata's item's q-code or entity class 2: lang - desired language of the label 3: link_type - link style. Possible values: "wikipedia", "Wikidata", "Commons", or "-" (no link) 4: capitalization - can be "uc" (upper case), "lc" (lower case), "ucfirst" (upper case for the first letter), "lcfirst" (lower case for the first letter) Error Handling: Bad q-code will result in displayed error ]] function p._getLabel(item, lang, link_type, capitalization, show_id) local entity, s, link, label, language -- clean up the input parameters if type(item)~='string' then -- "item" is not a q-code entity = item -- "item" must be the entity item = entity.id -- look-up q-code elseif tonumber(item) then -- if it is just the number than add "Q" in front item = 'Q'..item end item = string.gsub( string.upper(item), 'PROPERTY:P', 'P') -- make all the properties the same and capitalize -- build language fallback list lang = string.lower(lang) or 'en' local langList = mw.language.getFallbacksFor(lang) table.insert(langList, 1, lang) -- get label (visible part of the link) for _, language in ipairs(langList) do -- loop over language fallback list looking for label in the specific language if entity then label = entity:getLabel(language) else label = mw.wikibase.getLabelByLang(item, language) end if label then break end -- label found and we are done end if not label then -- no labels found, so just show the q-code label = item elseif show_id then -- add id local yesno = require('Module:Yesno') show_id = yesno(show_id,false) if show_id then local id = mw.getCurrentFrame():preprocess( "{{int:parentheses|" .. item .."}}") local wordsep = mw.message.new( "Word-separator" ):inLanguage(lang):plain() label = label .. wordsep .. "<small>" .. id .. "</small>" end end -- change capitalization of the label if capitalization=='ucfirst' then label = mw.language.new(lang):ucfirst(label) elseif capitalization=='lcfirst' then label = mw.language.new(lang):lcfirst(label) elseif capitalization=='uc' then label = mw.language.new(lang):uc(label) elseif capitalization=='lc' then label = mw.language.new(lang):lc(label) end -- create URL part of the link link_type = string.lower(link_type or '') local dLink = 'd:'..item; -- create fallback wikidata link if string.sub(item, 1, 1) == 'P' then dLink = 'd:Property:'.. item end if link_type=='-' then -- allow different link formats link = '' -- no link elseif link_type=='wikidata' then link = dLink -- link to wikidata elseif link_type=='wikidata talk' and string.sub(item, 1, 1)=='P' then link = 'd:Property talk:'.. item -- link to wikidata property talk page elseif link_type=='wikidata talk' then link = 'd:Talk:'..item -- link to wikidata talk page elseif link_type=='commons' or link_type=='commonscat' then -- For link_type=='commons' we try the following links (in that order): -- 1) sitelink to commons -- 2) "Commons Category" P373 property -- 3) "Commons Gallery" P935 property -- Since most pages have a sitelink to commons we never have to call expensive mw.wikibase.getEntity -- For link_type=='commonscat' we try to maximize chances of commons link beeing a category, so we -- try the following links (in that order): -- 1) sitelink to commons, which is kept if it points to a category -- 2) "Commons Category" P373 property -- 3) sitelink to commons (which does not point to a category) -- 4) "Commons Gallery" P935 property -- Since most pages have a sitelink to commons we never have to call expensive mw.wikibase.getEntity local sLink = getSitelink(item, entity, 'commons') -- look for sitelink to commons if sLink then sLink = 'c:'..sLink if (link_type=='commons') or (link_type=='commonscat' and string.find( sLink, 'Category:')) then link = sLink end end if not link then -- try linking to P373 category -- this is potentially memory expensive operation entity = entity or mw.wikibase.getEntity(item); assert(entity, "Item ID " .. item .. " is not valid") s = entity:getBestStatements( 'P373' ) if s[1] and s[1].mainsnak.datavalue.value then link = 'c:Category:' .. s[1].mainsnak.datavalue.value end end link = link or sLink if not link then -- try linking to P935 gallery -- there is no need for mw.wikibase.getEntity(item) call since at this point it was already loded s = entity:getBestStatements( 'P935' ) if s[1] and s[1].mainsnak.datavalue.value then link = s[1].mainsnak.datavalue.value end end end if not link then-- apply default "Wikipedia" link type for _, language in ipairs(langList) do local sitelink = getSitelink(item, entity, language) if sitelink then link = mw.ustring.format('w:%s:%s', language, sitelink) break end end end link = link or dLink -- no wiki sitelink, so link to wikidata -- return the results if link~='' then return mw.ustring.format('[[%s|%s]]', link, label) -- return link else return label -- return just a label end end --[[ getLabel This function returns a label translated to desired language, created based on wikidata Usage: {{#invoke:Wikidata label|getLabel|item=Q...|lang=..|link_style=..|capitalization=..}} Parameters 1: wikidata's item's q-code (required) 2: language (optional; default {{int:lang}} ) 3: link_style: "wikipedia" (default), "Wikidata", "Commons", or "-" (no link) 4: capitalization - can be "uc", "lc", "ucfirst", "lcfirst" Error Handling: Bad q-code will result in displayed error ]] function p.getLabel(frame) local args = frame.args if not (args.lang and mw.language.isSupportedLanguage(args.lang)) then args.lang = frame:callParserFunction( "int", "lang" ) -- get user's chosen language end if (not args.link) or (mw.text.trim(args.link) == "") then args.link = "wikipedia" end if (not args.capitalization) or (mw.text.trim(args.capitalization) == "") then args.capitalization = "none" end args.item = mw.text.trim(args.item or '') return p._getLabel(args.item, args.lang, args.link, args.capitalization, args.show_id) end --[[ _sitelinks This function returns a table of sitelinks for a single project organized by language Inputs: 1: item - wikidata's item's q-code or entity class 2: project - "wikipedia", "wikisource", "wikiquote", "wikibooks", "wikinews", "wikiversity", "wikivoyage", "wiktionary", "commons", "mediawiki", "wikispecies", "wikidata", etc. Output: Table with language fields ]] function p._sitelinks( item, project ) local entity, sitelink -- get entity if type(item)=='string' then -- "item" is a q-code entity = mw.wikibase.getEntity(item); else entity = item -- "item" is the entity item = entity.id -- look-up q-code end -- get project code local LUT = {wikipedia='wiki', commons='commonswiki', mediawiki='mediawikiwiki', wikispecies='specieswiki', wikidata='wikidatawiki'} project = string.lower(project) if LUT[project] then -- correct the project name project=LUT[project] end local n = string.len(project); local s ={} if entity and entity.sitelinks then -- See if entity exists, and that it has sitelinks for _, sitelink in pairs(entity.sitelinks) do -- loop over all sitelinks local site = sitelink.site local lang = mw.ustring.sub( site, 1, mw.ustring.len(site) - n ) -- language part of the siteID local proj = mw.ustring.sub( site, mw.ustring.len(site) - n + 1 ) -- project part of the siteID if proj == project then -- proj matches desired "project" s[lang] = sitelink.title end end end return s end --[[ sitelinks This function returns a comma separated list of sitelinks for a single project organized by language Its main purpose is to help with testing of _sitelinks function. Usage: {{#invoke:Wikidata label|sitelinks|item=Q...|project=..}} Inputs: 1: item - wikidata's item's q-code or entity class 2: project - "wikipedia" (or "wiki"), "wikisource", "wikiquote", "wikibooks", "wikinews", "wikiversity", "wikivoyage", "wiktionary", etc. Output: comma separated list ]] function p.sitelinks(frame) local sitelinks = p._sitelinks(frame.args.item, frame.args.project) local s = {} for i, j in pairs(sitelinks) do table.insert(s, i .. ':' .. j) end return table.concat(s, ', ') end --[[ _aliases This function returns a table of aliases for a single language Inputs: 1: item - wikidata's item's q-code or entity class 2: lang - language code, like 'en' or 'de' Output: Table of aliases ]] function p._aliases( item, lang ) local entity if type(item)=='string' then -- "item" is a q-code entity = mw.wikibase.getEntity(item); else entity = item -- "item" is the entity item = entity.id -- look-up q-code end local s = {} if entity and entity.aliases then -- See if there is an entity and that is has aliases if entity.aliases[lang] then -- See if it has English Aliases for i, j in pairs(entity.aliases[lang]) do -- Make a loop around the English aliases table.insert(s, j.value) -- Create a table of English aliases end end end return s end --[[ aliases This function returns a comma separated list of aliases for a single language Its main purpose is to help with testing of _aliases function. Usage: {{#invoke:Wikidata label|aliases|item=Q...|lang=..}} Inputs: 1: item - wikidata's item's q-code or entity class 2: lang - language code, like 'en' or 'de' Output: Comma separated list of aliases ]] function p.aliases(frame) return table.concat(p._aliases(frame.args.item, frame.args.lang), ', ') end return p 02mwbjqxbngd2trldxz2uu13m26r5l6 9945 9944 2022-03-20T18:01:34Z meta>MusikBot II 0 Protected "[[Module:Wikidata label]]": High-risk template or module ([[User:MusikBot II/TemplateProtector|more info]]) ([Edit=Allow only autoconfirmed users] (indefinite)) 9944 Scribunto text/plain --[[ __ __ _ _ __ ___ _ _ _ _ _ _ _ | \/ | ___ __| |_ _| | ___ \ \ / (_) | _(_) __| | __ _| |_ __ _ | | __ _| |__ ___| | | |\/| |/ _ \ / _` | | | | |/ _ (_) \ /\ / /| | |/ / |/ _` |/ _` | __/ _` | | |/ _` | '_ \ / _ \ | | | | | (_) | (_| | |_| | | __/_ \ V V / | | <| | (_| | (_| | || (_| | | | (_| | |_) | __/ | |_| |_|\___/ \__,_|\__,_|_|\___(_) \_/\_/ |_|_|\_\_|\__,_|\__,_|\__\__,_| |_|\__,_|_.__/ \___|_| This module is intended to be the engine behind "Template:Label". Thic module was copied from Commons please ask for changes there. Please do not modify this code without applying the changes first at "Module:Wikidata label/sandbox" and testing at "Module:Wikidata label/testcases". Authors and maintainers: * User:Jarekt - original version Dependencies: * Module:Yesno - used only if "show_id" parameter present ]] -- use different sitelink call depending if you already have an entity or not local function getSitelink(item, entity, lang) if entity then -- if we have entity than use it return entity:getSitelink(lang .. 'wiki') else -- if no entity than use different function return mw.wikibase.sitelink( item, lang .. 'wiki' ) end end local p = {} --[[ _getLabel This function returns a label translated to desired language, created based on wikidata Inputs: 1: item - wikidata's item's q-code or entity class 2: lang - desired language of the label 3: link_type - link style. Possible values: "wikipedia", "Wikidata", "Commons", or "-" (no link) 4: capitalization - can be "uc" (upper case), "lc" (lower case), "ucfirst" (upper case for the first letter), "lcfirst" (lower case for the first letter) Error Handling: Bad q-code will result in displayed error ]] function p._getLabel(item, lang, link_type, capitalization, show_id) local entity, s, link, label, language -- clean up the input parameters if type(item)~='string' then -- "item" is not a q-code entity = item -- "item" must be the entity item = entity.id -- look-up q-code elseif tonumber(item) then -- if it is just the number than add "Q" in front item = 'Q'..item end item = string.gsub( string.upper(item), 'PROPERTY:P', 'P') -- make all the properties the same and capitalize -- build language fallback list lang = string.lower(lang) or 'en' local langList = mw.language.getFallbacksFor(lang) table.insert(langList, 1, lang) -- get label (visible part of the link) for _, language in ipairs(langList) do -- loop over language fallback list looking for label in the specific language if entity then label = entity:getLabel(language) else label = mw.wikibase.getLabelByLang(item, language) end if label then break end -- label found and we are done end if not label then -- no labels found, so just show the q-code label = item elseif show_id then -- add id local yesno = require('Module:Yesno') show_id = yesno(show_id,false) if show_id then local id = mw.getCurrentFrame():preprocess( "{{int:parentheses|" .. item .."}}") local wordsep = mw.message.new( "Word-separator" ):inLanguage(lang):plain() label = label .. wordsep .. "<small>" .. id .. "</small>" end end -- change capitalization of the label if capitalization=='ucfirst' then label = mw.language.new(lang):ucfirst(label) elseif capitalization=='lcfirst' then label = mw.language.new(lang):lcfirst(label) elseif capitalization=='uc' then label = mw.language.new(lang):uc(label) elseif capitalization=='lc' then label = mw.language.new(lang):lc(label) end -- create URL part of the link link_type = string.lower(link_type or '') local dLink = 'd:'..item; -- create fallback wikidata link if string.sub(item, 1, 1) == 'P' then dLink = 'd:Property:'.. item end if link_type=='-' then -- allow different link formats link = '' -- no link elseif link_type=='wikidata' then link = dLink -- link to wikidata elseif link_type=='wikidata talk' and string.sub(item, 1, 1)=='P' then link = 'd:Property talk:'.. item -- link to wikidata property talk page elseif link_type=='wikidata talk' then link = 'd:Talk:'..item -- link to wikidata talk page elseif link_type=='commons' or link_type=='commonscat' then -- For link_type=='commons' we try the following links (in that order): -- 1) sitelink to commons -- 2) "Commons Category" P373 property -- 3) "Commons Gallery" P935 property -- Since most pages have a sitelink to commons we never have to call expensive mw.wikibase.getEntity -- For link_type=='commonscat' we try to maximize chances of commons link beeing a category, so we -- try the following links (in that order): -- 1) sitelink to commons, which is kept if it points to a category -- 2) "Commons Category" P373 property -- 3) sitelink to commons (which does not point to a category) -- 4) "Commons Gallery" P935 property -- Since most pages have a sitelink to commons we never have to call expensive mw.wikibase.getEntity local sLink = getSitelink(item, entity, 'commons') -- look for sitelink to commons if sLink then sLink = 'c:'..sLink if (link_type=='commons') or (link_type=='commonscat' and string.find( sLink, 'Category:')) then link = sLink end end if not link then -- try linking to P373 category -- this is potentially memory expensive operation entity = entity or mw.wikibase.getEntity(item); assert(entity, "Item ID " .. item .. " is not valid") s = entity:getBestStatements( 'P373' ) if s[1] and s[1].mainsnak.datavalue.value then link = 'c:Category:' .. s[1].mainsnak.datavalue.value end end link = link or sLink if not link then -- try linking to P935 gallery -- there is no need for mw.wikibase.getEntity(item) call since at this point it was already loded s = entity:getBestStatements( 'P935' ) if s[1] and s[1].mainsnak.datavalue.value then link = s[1].mainsnak.datavalue.value end end end if not link then-- apply default "Wikipedia" link type for _, language in ipairs(langList) do local sitelink = getSitelink(item, entity, language) if sitelink then link = mw.ustring.format('w:%s:%s', language, sitelink) break end end end link = link or dLink -- no wiki sitelink, so link to wikidata -- return the results if link~='' then return mw.ustring.format('[[%s|%s]]', link, label) -- return link else return label -- return just a label end end --[[ getLabel This function returns a label translated to desired language, created based on wikidata Usage: {{#invoke:Wikidata label|getLabel|item=Q...|lang=..|link_style=..|capitalization=..}} Parameters 1: wikidata's item's q-code (required) 2: language (optional; default {{int:lang}} ) 3: link_style: "wikipedia" (default), "Wikidata", "Commons", or "-" (no link) 4: capitalization - can be "uc", "lc", "ucfirst", "lcfirst" Error Handling: Bad q-code will result in displayed error ]] function p.getLabel(frame) local args = frame.args if not (args.lang and mw.language.isSupportedLanguage(args.lang)) then args.lang = frame:callParserFunction( "int", "lang" ) -- get user's chosen language end if (not args.link) or (mw.text.trim(args.link) == "") then args.link = "wikipedia" end if (not args.capitalization) or (mw.text.trim(args.capitalization) == "") then args.capitalization = "none" end args.item = mw.text.trim(args.item or '') return p._getLabel(args.item, args.lang, args.link, args.capitalization, args.show_id) end --[[ _sitelinks This function returns a table of sitelinks for a single project organized by language Inputs: 1: item - wikidata's item's q-code or entity class 2: project - "wikipedia", "wikisource", "wikiquote", "wikibooks", "wikinews", "wikiversity", "wikivoyage", "wiktionary", "commons", "mediawiki", "wikispecies", "wikidata", etc. Output: Table with language fields ]] function p._sitelinks( item, project ) local entity, sitelink -- get entity if type(item)=='string' then -- "item" is a q-code entity = mw.wikibase.getEntity(item); else entity = item -- "item" is the entity item = entity.id -- look-up q-code end -- get project code local LUT = {wikipedia='wiki', commons='commonswiki', mediawiki='mediawikiwiki', wikispecies='specieswiki', wikidata='wikidatawiki'} project = string.lower(project) if LUT[project] then -- correct the project name project=LUT[project] end local n = string.len(project); local s ={} if entity and entity.sitelinks then -- See if entity exists, and that it has sitelinks for _, sitelink in pairs(entity.sitelinks) do -- loop over all sitelinks local site = sitelink.site local lang = mw.ustring.sub( site, 1, mw.ustring.len(site) - n ) -- language part of the siteID local proj = mw.ustring.sub( site, mw.ustring.len(site) - n + 1 ) -- project part of the siteID if proj == project then -- proj matches desired "project" s[lang] = sitelink.title end end end return s end --[[ sitelinks This function returns a comma separated list of sitelinks for a single project organized by language Its main purpose is to help with testing of _sitelinks function. Usage: {{#invoke:Wikidata label|sitelinks|item=Q...|project=..}} Inputs: 1: item - wikidata's item's q-code or entity class 2: project - "wikipedia" (or "wiki"), "wikisource", "wikiquote", "wikibooks", "wikinews", "wikiversity", "wikivoyage", "wiktionary", etc. Output: comma separated list ]] function p.sitelinks(frame) local sitelinks = p._sitelinks(frame.args.item, frame.args.project) local s = {} for i, j in pairs(sitelinks) do table.insert(s, i .. ':' .. j) end return table.concat(s, ', ') end --[[ _aliases This function returns a table of aliases for a single language Inputs: 1: item - wikidata's item's q-code or entity class 2: lang - language code, like 'en' or 'de' Output: Table of aliases ]] function p._aliases( item, lang ) local entity if type(item)=='string' then -- "item" is a q-code entity = mw.wikibase.getEntity(item); else entity = item -- "item" is the entity item = entity.id -- look-up q-code end local s = {} if entity and entity.aliases then -- See if there is an entity and that is has aliases if entity.aliases[lang] then -- See if it has English Aliases for i, j in pairs(entity.aliases[lang]) do -- Make a loop around the English aliases table.insert(s, j.value) -- Create a table of English aliases end end end return s end --[[ aliases This function returns a comma separated list of aliases for a single language Its main purpose is to help with testing of _aliases function. Usage: {{#invoke:Wikidata label|aliases|item=Q...|lang=..}} Inputs: 1: item - wikidata's item's q-code or entity class 2: lang - language code, like 'en' or 'de' Output: Comma separated list of aliases ]] function p.aliases(frame) return table.concat(p._aliases(frame.args.item, frame.args.lang), ', ') end return p 02mwbjqxbngd2trldxz2uu13m26r5l6 9946 9945 2023-01-11T21:00:51Z meta>Pols12 0 Upgrades from [[c:Module:Wikidata_label]] 9946 Scribunto text/plain --[[ __ __ _ _ __ ___ _ _ _ _ _ _ _ | \/ | ___ __| |_ _| | ___ \ \ / (_) | _(_) __| | __ _| |_ __ _ | | __ _| |__ ___| | | |\/| |/ _ \ / _` | | | | |/ _ (_) \ /\ / /| | |/ / |/ _` |/ _` | __/ _` | | |/ _` | '_ \ / _ \ | | | | | (_) | (_| | |_| | | __/_ \ V V / | | <| | (_| | (_| | || (_| | | | (_| | |_) | __/ | |_| |_|\___/ \__,_|\__,_|_|\___(_) \_/\_/ |_|_|\_\_|\__,_|\__,_|\__\__,_| |_|\__,_|_.__/ \___|_| This module is intended to be the engine behind "Template:Label". This module was copied from Commons please ask for changes there. Please do not modify this code without applying the changes first at "Module:Wikidata label/sandbox" and testing at "Module:Wikidata label/testcases". Authors and maintainers: * User:Jarekt - original version ]] require('strict') -- used for debugging purposes as it detects cases of unintended global variables --============================================= --=== Internal functions ====================== --============================================= --------------------------------------------------------------------------- -- Normalize input arguments by converting them all to lower case and -- replacing space with "_" in the argument name. Also empty strings are -- converted to nils. Arguments are collected from arguments passed to the -- module and if missing from the template that calls the module local function getArgs(frame) local function normalize_input_args(input_args, output_args) for name, value in pairs( input_args ) do value = mw.text.trim(value) -- trim whitespaces from the beggining and the end of the string if value ~= '' then -- nuke empty strings if type(name)=='string' then name = string.gsub( string.lower(name), ' ', '_') end output_args[name] = value end end return output_args end local args = {} args = normalize_input_args(frame:getParent().args, args) args = normalize_input_args(frame.args, args) return args end --------------------------------------------------------------------------- -- Function allowing for consistent treatment of boolean-like wikitext input. -- It works similarly to Module:Yesno but does not assume val is a string local function yesno(val, default) if type(val) == 'boolean' then return val elseif type(val) == 'number' then if val == 1 then return true elseif val == 0 then return false end elseif type(val) == 'string' then val = mw.ustring.lower(val) -- put in lower case if val == 'no' or val == 'n' or val == 'false' or val == '0' then return false elseif val == 'yes' or val == 'y' or val == 'true' or val == '1' then return true end end return default end ------------------------------------------------------------------------- -- get message in a given language -- INPUTS: -- * msg - name of a message. For it to work [[MediaWiki:msg]] page need to be set up -- * lang - translate message to language "lang" -- * default - string to return in case this module is moved to a project where this message is not set -- OUTPUT: -- * translated message local function getMessage(msg, lang, default) msg = mw.message.new(msg):inLanguage(lang):plain() return (msg == nil and default) or msg end --------------------------------------------------------------------------- -- use different sitelink call depending if you already have an entity or not -- INPUTS: -- * item and entity - entity id and entity: if full entity already uploded than use that -- otherwise use entity id to look up sitelink -- * lang - language of the project -- OUTPUT: -- * sitelink local function getSitelink(item, entity, lang) if entity and entity.getSitelink then -- if we have entity then use it return entity:getSitelink(lang .. 'wiki') else -- if no entity then use different function return mw.wikibase.getSitelink(item, lang .. 'wiki') end end --------------------------------------------------------------------------- -- use different sitelink call depending if you already have an entity or not -- INPUTS: -- * item and entity - entity id and entity: if full entity already uploded than use that -- otherwise use entity id to look up sitelink -- * prop - property for which to return the best statment -- OUTPUT: -- * value of the best statment (only from the first one) local function getBestStatementsValue(item, entity, prop) local statments if entity then statments = entity:getBestStatements(prop) else statments = mw.wikibase.getBestStatements(item, prop) end for _, statment in ipairs(statments) do if statment and statment.mainsnak.datavalue.value then return statment.mainsnak.datavalue.value end end end --------------------------------------------------------------------------- -- change capitalization of the label -- INPUTS: -- * label - label string -- * capitalization - capitalization to be applied: allowed values are "tc", "lc", -- "uc", "lcfirst", and "ucfirst". Any other value will return original string -- * lang - language of the label -- OUTPUT: -- * value of the best statment (only from the first one) local function apply_capitalization(label, capitalization, lang) capitalization = string.lower(capitalization or 'none') if capitalization == 'none' then return label elseif capitalization == 'uc' then return mw.language.new(lang):uc(label) elseif capitalization == 'lc' then return mw.language.new(lang):lc(label) elseif capitalization == 'tc' then -- title case local new_label = {} for _, word in ipairs(mw.text.split(label, ' ')) do table.insert(new_label, mw.language.new(lang):ucfirst(word)) end return table.concat(new_label, ' ') elseif capitalization == 'ucfirst' then return mw.language.new(lang):ucfirst(label) elseif capitalization == 'lcfirst' then return mw.language.new(lang):lcfirst(label) end return label end --[[------------------------------------------------------------------------- get link based on user preference INPUTS: * link_type - can be : * "wikidata" - link to wikidata * "wikipedia" - link to wikipedia (language dependent) * "wikidata talk" - link to wikidata talk page * "commons" - link to commons (try sitelink then commons category then commons gallery) * "commonscat" - link to commons (try commons category then commons gallery) * "-" - means no link * item - entity ID (always provided) * entity - whole entity. It can be nil if whole entity is not loaded * langList - language fallback list for preferred language (required) OUTPUT: * link - link to the wikimedia page ]] local function getLink(link_type, item, entity, langList) local link, eLink link_type = mw.ustring.lower(link_type or '') local item_type = mw.ustring.sub(item, 1, 1) -- first letter prefix of item entity ID: 'Q', 'P' or 'M' if item_type == 'M' then eLink='c:Special:EntityPage/'..item elseif item_type == 'Q' then eLink='d:'..item -- wikibase entity page link elseif item_type == 'P' then eLink='d:Property:'..item -- wikibase entity page link else eLink='d:Special:EntityPage/'..item end if link_type == '-' then -- allow different link formats link = '' -- no link elseif link_type == 'wikidata' or item_type == 'M' then link = eLink -- link to wikibase entity page elseif link_type == 'wikidata talk' and item_type == 'P' then link = 'd:Property talk:'.. item -- link to wikidata property talk page elseif link_type == 'wikidata talk' then link = 'd:Talk:'..item -- link to wikidata talk page elseif link_type == 'commons' or link_type == 'commonscat' then --[[ When link_type == 'commons' we try the following links (in specified order): 1) commons sitelink 2) P373 "Commons Category" claims 3) P935 "Commons Gallery" claims Since most items have a commons sitelink we never have to look for claims When link_type == 'commonscat' we try to maximize chances of commons link being a category, so we try the following links (in specified order): 1) commons sitelink, which is kept if it points to a category 2) P373 "Commons Category" claims 3) commons sitelink (which does not point to a category) 4) P935 "Commons Gallery" claims Since most pages have a commons sitelink we never have to look for claims ]] local sLink = getSitelink(item, entity, 'commons') -- look for sitelink to commons if sLink then sLink = 'c:'..sLink if (link_type == 'commons') or (link_type == 'commonscat' and mw.ustring.find(sLink, 'Category:')) then link = sLink end end if not link then -- try linking to P373 "Commons Category" local cat = getBestStatementsValue(item, entity, 'P373') link = (cat ~= nil and 'c:Category:' .. cat) or nil end link = link or sLink if not link then -- try linking to P935 "Commons Gallery" link = getBestStatementsValue(item, entity, 'P935') end end if not link then -- apply default "Wikipedia" link type for _, language in ipairs(langList) do local sitelink = getSitelink(item, entity, language) if sitelink then link = 'w:'.. language ..':'.. sitelink break end end end return link or eLink -- no wiki sitelink, so link to wikidata end --============================================= --=== External functions ====================== --============================================= local p = {} --====================================================================== --=== API functions for use from other Scribunto modules =============== --====================================================================== --[[ _getLabel This function returns a label translated to desired language, created based on wikidata Inputs: 1: item - wikidata's item's q-id or entity class 2: lang - desired language of the label 3: link_type - link style. Possible values (case-insensitive): "wikipedia", "wikidata", "Commons", or "-" (no link) 4: capitalization - can be "uc" (upper case), "lc" (lower case), "ucfirst" (upper case for the first letter), "lcfirst" (lower case for the first letter), or 'none' (default) Error Handling: Bad q-id will result in displayed error ]] function p._getLabel(item, lang, link_type, capitalization, show_id) local entity, s, link, label, language, desc -- clean up the input parameters if type(item) ~= 'string' then -- "item" is not a q-id entity = item -- "item" must be the entity item = entity.id -- look-up q-id elseif tonumber(item) then -- if it is just the number then add "Q" in front item = 'Q'..item end item = mw.ustring.gsub(mw.ustring.upper(item), 'PROPERTY:P', 'P') -- make all the properties the same and capitalize if not lang then label, lang = mw.wikibase.getLabelWithLang(item) end if not lang then -- if still no language lang = mw.getCurrentFrame():callParserFunction("int","lang") -- get user's chosen language label = nil end -- build language fallback list lang = mw.ustring.lower(lang) local langList = mw.language.getFallbacksFor(lang) table.insert(langList, 1, lang) -- get label (visible part of the link) if not label then for _, language in ipairs(langList) do -- loop over language fallback list looking for label in the specific language if entity then label = entity:getLabel(language) else label = mw.wikibase.getLabelByLang(item, language) end if label then break end -- label found and we are done end end if label then -- wikitext-escape the label if we have one label = mw.text.nowiki(label) end if not label then -- no labels found, so just show the q-id label = item elseif show_id then -- add id show_id = yesno(show_id,false) if show_id then local wordsep = getMessage('Word-separator', lang, ' ') local id = mw.message.new('parentheses', item):inLanguage(lang):plain() id = (id~=nil and id) or ('('..item..')') -- in case this module is moved to a project where {{int:parenthesis}} is not set label = label .. wordsep .. "<small>" .. id .. "</small>" end end label = apply_capitalization(label, capitalization, lang) -- look for description if entity and entity.descriptions and lang then for _, language in ipairs(langList) do if entity.descriptions[language] then desc = entity.descriptions[language].value break end end else desc = mw.wikibase.getDescription(item) end if desc and link_type ~= '-' then -- wikitext-escape the description if we have one desc = mw.text.nowiki(desc) -- add description as hover text label = '<span title="' .. desc .. '">' .. label .. '</span>' end -- return the results if link_type == '-' then return label -- return just the label else link = getLink(link_type, item, entity, langList) return '[[' .. link .. '|' .. label .. ']]' -- return link end end --[[------------------------------------------------------------------------------- _sitelinks This function returns a table of sitelinks for a single project organized by language Inputs: 1: item - wikidata's item's q-id or entity class 2: project - (case-insensitive) one of: "wikipedia", "wikisource", "wikiquote", "wikibooks", "wikinews", "wikiversity", "wikivoyage", "wiktionary", "commons", "mediawiki", "wikispecies", "wikidata", etc. Output: Table of sitelinks with language fields Output: Table of sitelinks with language fields See also * [https://foundation.wikimedia.org/wiki/Special:SiteMatrix] for the full list of supported interwikis. * [https://dumps.wikimedia.org/backup-index.html] for the full list of sitecodes (used in database dumps). ]] function p._sitelinks(item, project) local entity, sitelink -- get entity if type(item) == 'string' then -- "item" is a q-id entity = mw.wikibase.getEntity(item) else entity = item -- "item" is the entity end -- convert from english project name to proproject code local projLUT = { wikipedia = 'wiki', commons = 'commonswiki', foundation = 'foundationwiki', mediawiki = 'mediawikiwiki', wikispecies = 'specieswiki', wikidata = 'wikidatawiki', incubator = 'incubatorwiki', oldwikisource = 'sourceswiki', } local langLUT = { -- These are not language codes before the 'wiki' or 'wikiversity' suffix in a sitecode: foundation = '~', commons = '~', -- they will be skipped incubator = '~', meta = '~', mediawiki = '~', sources = '~', species = '~', beta = '~', -- Legacy language codes used in sitecodes, remapped to standard Wikimedia language codes: -- See https://meta.wikimedia.org/wiki/Special_language_codes for details als = 'gsw', bat_smg = 'sgs', fiu_vro = 'vro', be_x_old = 'be-tarask', roa_rup = 'rup', zh_classical = 'lzh', zh_yue = 'yue', zh_min_nan = 'nan', zh_wuu = 'wuu', no = 'nb', } project = project:lower() project = projLUT[project] or project -- correct the project name local n = project:len() local linkTable = {} if entity and entity.sitelinks then -- See if entity exists, and that it has sitelinks for _, sitelink in pairs(entity.sitelinks) do -- loop over all sitelinks local site = sitelink.site local m = site:len() - n local proj = site:sub(m +1) -- project part of the siteID if proj == project then -- proj matches desired "project" local lang = site:sub(1, m) -- language part of the siteID lang = langLUT[lang] or lang:gsub('_','-') if lang ~= '~' then -- proj matches desired "project" linkTable[lang] = sitelink.title end end end end return linkTable end --[[---------------------------------------------------------------- _aliases This function returns a table of aliases for a single language Inputs: 1: item - wikidata's item's q-id or entity class 2: lang - language code, like 'en' or 'de' Output: Table of aliases with language fields ]] function p._aliases(item, lang) local entity if type(item) == 'string' then -- "item" is a q-id entity = mw.wikibase.getEntity(item) else entity = item -- "item" is the entity end local aliasTable = {} if entity and entity.aliases then -- See if there is an entity and that is has aliases if entity.aliases[lang] then -- See if it has English Aliases for _, alias in pairs(entity.aliases[lang]) do -- Make a loop around the English aliases table.insert(aliasTable, alias.value) -- Create a table of English aliases end end end return aliasTable end --====================================================================== --=== Invoke functions for use from wikitext, e.g., templates ========== ---===================================================================== --[[ getLabel This function returns a label translated to desired language, created based on wikidata Usage: {{#invoke:Wikidata label|getLabel|item=Q...|lang=..|link_style=..|capitalization=..}} Parameters 1: wikidata's item's q-id (required) 2: language (optional; default {{int:lang}}) 3: link_style: "wikipedia" (default), "Wikidata", "Commons", or "-" (no link) 4: capitalization - can be "uc", "lc", "tc", "ucfirst", "lcfirst" Error Handling: Bad q-id will result in displayed error ]] function p.getLabel(frame) local args = getArgs(frame) return p._getLabel(args.item, args.lang, args.link, args.capitalization, args.show_id) end --[[------------------------------------------------------------------------------- sitelinks This function returns a comma separated list of sitelinks for a single project organized by language Its main purpose is to help with testing of _sitelinks function. Usage: {{#invoke:Wikidata label|sitelinks|item=Q...|project=..}} Inputs: 1: item - wikidata's item's q-id or entity class 2: project - "wikipedia" (or "wiki"), "wikisource", "wikiquote", "wikibooks", "wikinews", "wikiversity", "wikivoyage", "wiktionary", etc. Output: comma separated list ]] function p.sitelinks(frame) local args = getArgs(frame) local sitelinks = p._sitelinks(args.item, args.project) local sitelinkList = {} for lang, sitelink in pairs(sitelinks) do table.insert(sitelinkList, (lang=='' and sitelink) or (lang .. ':' .. sitelink)) end return table.concat(sitelinkList, ', ') end --[[---------------------------------------------------------------------------- aliases This function returns a comma separated list of aliases for a single language Its main purpose is to help with testing of _aliases function. Usage: {{#invoke:Wikidata label|aliases|item=Q...|lang=..}} Inputs: 1: item - wikidata's item's q-id or entity class 2: lang - language code, like 'en' or 'de' Output: Comma separated list of aliases ]] function p.aliases(frame) local args = getArgs(frame) return table.concat(p._aliases(args.item, args.lang), ', ') end return p tubg9bh0033761yy22p4vw8xjare3q3 9947 9946 2023-07-02T18:01:32Z meta>MusikBot II 0 Changed protection settings for "[[Module:Wikidata label]]": High-risk template or module ([[User:MusikBot II/TemplateProtector|more info]]) ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) 9946 Scribunto text/plain --[[ __ __ _ _ __ ___ _ _ _ _ _ _ _ | \/ | ___ __| |_ _| | ___ \ \ / (_) | _(_) __| | __ _| |_ __ _ | | __ _| |__ ___| | | |\/| |/ _ \ / _` | | | | |/ _ (_) \ /\ / /| | |/ / |/ _` |/ _` | __/ _` | | |/ _` | '_ \ / _ \ | | | | | (_) | (_| | |_| | | __/_ \ V V / | | <| | (_| | (_| | || (_| | | | (_| | |_) | __/ | |_| |_|\___/ \__,_|\__,_|_|\___(_) \_/\_/ |_|_|\_\_|\__,_|\__,_|\__\__,_| |_|\__,_|_.__/ \___|_| This module is intended to be the engine behind "Template:Label". This module was copied from Commons please ask for changes there. Please do not modify this code without applying the changes first at "Module:Wikidata label/sandbox" and testing at "Module:Wikidata label/testcases". Authors and maintainers: * User:Jarekt - original version ]] require('strict') -- used for debugging purposes as it detects cases of unintended global variables --============================================= --=== Internal functions ====================== --============================================= --------------------------------------------------------------------------- -- Normalize input arguments by converting them all to lower case and -- replacing space with "_" in the argument name. Also empty strings are -- converted to nils. Arguments are collected from arguments passed to the -- module and if missing from the template that calls the module local function getArgs(frame) local function normalize_input_args(input_args, output_args) for name, value in pairs( input_args ) do value = mw.text.trim(value) -- trim whitespaces from the beggining and the end of the string if value ~= '' then -- nuke empty strings if type(name)=='string' then name = string.gsub( string.lower(name), ' ', '_') end output_args[name] = value end end return output_args end local args = {} args = normalize_input_args(frame:getParent().args, args) args = normalize_input_args(frame.args, args) return args end --------------------------------------------------------------------------- -- Function allowing for consistent treatment of boolean-like wikitext input. -- It works similarly to Module:Yesno but does not assume val is a string local function yesno(val, default) if type(val) == 'boolean' then return val elseif type(val) == 'number' then if val == 1 then return true elseif val == 0 then return false end elseif type(val) == 'string' then val = mw.ustring.lower(val) -- put in lower case if val == 'no' or val == 'n' or val == 'false' or val == '0' then return false elseif val == 'yes' or val == 'y' or val == 'true' or val == '1' then return true end end return default end ------------------------------------------------------------------------- -- get message in a given language -- INPUTS: -- * msg - name of a message. For it to work [[MediaWiki:msg]] page need to be set up -- * lang - translate message to language "lang" -- * default - string to return in case this module is moved to a project where this message is not set -- OUTPUT: -- * translated message local function getMessage(msg, lang, default) msg = mw.message.new(msg):inLanguage(lang):plain() return (msg == nil and default) or msg end --------------------------------------------------------------------------- -- use different sitelink call depending if you already have an entity or not -- INPUTS: -- * item and entity - entity id and entity: if full entity already uploded than use that -- otherwise use entity id to look up sitelink -- * lang - language of the project -- OUTPUT: -- * sitelink local function getSitelink(item, entity, lang) if entity and entity.getSitelink then -- if we have entity then use it return entity:getSitelink(lang .. 'wiki') else -- if no entity then use different function return mw.wikibase.getSitelink(item, lang .. 'wiki') end end --------------------------------------------------------------------------- -- use different sitelink call depending if you already have an entity or not -- INPUTS: -- * item and entity - entity id and entity: if full entity already uploded than use that -- otherwise use entity id to look up sitelink -- * prop - property for which to return the best statment -- OUTPUT: -- * value of the best statment (only from the first one) local function getBestStatementsValue(item, entity, prop) local statments if entity then statments = entity:getBestStatements(prop) else statments = mw.wikibase.getBestStatements(item, prop) end for _, statment in ipairs(statments) do if statment and statment.mainsnak.datavalue.value then return statment.mainsnak.datavalue.value end end end --------------------------------------------------------------------------- -- change capitalization of the label -- INPUTS: -- * label - label string -- * capitalization - capitalization to be applied: allowed values are "tc", "lc", -- "uc", "lcfirst", and "ucfirst". Any other value will return original string -- * lang - language of the label -- OUTPUT: -- * value of the best statment (only from the first one) local function apply_capitalization(label, capitalization, lang) capitalization = string.lower(capitalization or 'none') if capitalization == 'none' then return label elseif capitalization == 'uc' then return mw.language.new(lang):uc(label) elseif capitalization == 'lc' then return mw.language.new(lang):lc(label) elseif capitalization == 'tc' then -- title case local new_label = {} for _, word in ipairs(mw.text.split(label, ' ')) do table.insert(new_label, mw.language.new(lang):ucfirst(word)) end return table.concat(new_label, ' ') elseif capitalization == 'ucfirst' then return mw.language.new(lang):ucfirst(label) elseif capitalization == 'lcfirst' then return mw.language.new(lang):lcfirst(label) end return label end --[[------------------------------------------------------------------------- get link based on user preference INPUTS: * link_type - can be : * "wikidata" - link to wikidata * "wikipedia" - link to wikipedia (language dependent) * "wikidata talk" - link to wikidata talk page * "commons" - link to commons (try sitelink then commons category then commons gallery) * "commonscat" - link to commons (try commons category then commons gallery) * "-" - means no link * item - entity ID (always provided) * entity - whole entity. It can be nil if whole entity is not loaded * langList - language fallback list for preferred language (required) OUTPUT: * link - link to the wikimedia page ]] local function getLink(link_type, item, entity, langList) local link, eLink link_type = mw.ustring.lower(link_type or '') local item_type = mw.ustring.sub(item, 1, 1) -- first letter prefix of item entity ID: 'Q', 'P' or 'M' if item_type == 'M' then eLink='c:Special:EntityPage/'..item elseif item_type == 'Q' then eLink='d:'..item -- wikibase entity page link elseif item_type == 'P' then eLink='d:Property:'..item -- wikibase entity page link else eLink='d:Special:EntityPage/'..item end if link_type == '-' then -- allow different link formats link = '' -- no link elseif link_type == 'wikidata' or item_type == 'M' then link = eLink -- link to wikibase entity page elseif link_type == 'wikidata talk' and item_type == 'P' then link = 'd:Property talk:'.. item -- link to wikidata property talk page elseif link_type == 'wikidata talk' then link = 'd:Talk:'..item -- link to wikidata talk page elseif link_type == 'commons' or link_type == 'commonscat' then --[[ When link_type == 'commons' we try the following links (in specified order): 1) commons sitelink 2) P373 "Commons Category" claims 3) P935 "Commons Gallery" claims Since most items have a commons sitelink we never have to look for claims When link_type == 'commonscat' we try to maximize chances of commons link being a category, so we try the following links (in specified order): 1) commons sitelink, which is kept if it points to a category 2) P373 "Commons Category" claims 3) commons sitelink (which does not point to a category) 4) P935 "Commons Gallery" claims Since most pages have a commons sitelink we never have to look for claims ]] local sLink = getSitelink(item, entity, 'commons') -- look for sitelink to commons if sLink then sLink = 'c:'..sLink if (link_type == 'commons') or (link_type == 'commonscat' and mw.ustring.find(sLink, 'Category:')) then link = sLink end end if not link then -- try linking to P373 "Commons Category" local cat = getBestStatementsValue(item, entity, 'P373') link = (cat ~= nil and 'c:Category:' .. cat) or nil end link = link or sLink if not link then -- try linking to P935 "Commons Gallery" link = getBestStatementsValue(item, entity, 'P935') end end if not link then -- apply default "Wikipedia" link type for _, language in ipairs(langList) do local sitelink = getSitelink(item, entity, language) if sitelink then link = 'w:'.. language ..':'.. sitelink break end end end return link or eLink -- no wiki sitelink, so link to wikidata end --============================================= --=== External functions ====================== --============================================= local p = {} --====================================================================== --=== API functions for use from other Scribunto modules =============== --====================================================================== --[[ _getLabel This function returns a label translated to desired language, created based on wikidata Inputs: 1: item - wikidata's item's q-id or entity class 2: lang - desired language of the label 3: link_type - link style. Possible values (case-insensitive): "wikipedia", "wikidata", "Commons", or "-" (no link) 4: capitalization - can be "uc" (upper case), "lc" (lower case), "ucfirst" (upper case for the first letter), "lcfirst" (lower case for the first letter), or 'none' (default) Error Handling: Bad q-id will result in displayed error ]] function p._getLabel(item, lang, link_type, capitalization, show_id) local entity, s, link, label, language, desc -- clean up the input parameters if type(item) ~= 'string' then -- "item" is not a q-id entity = item -- "item" must be the entity item = entity.id -- look-up q-id elseif tonumber(item) then -- if it is just the number then add "Q" in front item = 'Q'..item end item = mw.ustring.gsub(mw.ustring.upper(item), 'PROPERTY:P', 'P') -- make all the properties the same and capitalize if not lang then label, lang = mw.wikibase.getLabelWithLang(item) end if not lang then -- if still no language lang = mw.getCurrentFrame():callParserFunction("int","lang") -- get user's chosen language label = nil end -- build language fallback list lang = mw.ustring.lower(lang) local langList = mw.language.getFallbacksFor(lang) table.insert(langList, 1, lang) -- get label (visible part of the link) if not label then for _, language in ipairs(langList) do -- loop over language fallback list looking for label in the specific language if entity then label = entity:getLabel(language) else label = mw.wikibase.getLabelByLang(item, language) end if label then break end -- label found and we are done end end if label then -- wikitext-escape the label if we have one label = mw.text.nowiki(label) end if not label then -- no labels found, so just show the q-id label = item elseif show_id then -- add id show_id = yesno(show_id,false) if show_id then local wordsep = getMessage('Word-separator', lang, ' ') local id = mw.message.new('parentheses', item):inLanguage(lang):plain() id = (id~=nil and id) or ('('..item..')') -- in case this module is moved to a project where {{int:parenthesis}} is not set label = label .. wordsep .. "<small>" .. id .. "</small>" end end label = apply_capitalization(label, capitalization, lang) -- look for description if entity and entity.descriptions and lang then for _, language in ipairs(langList) do if entity.descriptions[language] then desc = entity.descriptions[language].value break end end else desc = mw.wikibase.getDescription(item) end if desc and link_type ~= '-' then -- wikitext-escape the description if we have one desc = mw.text.nowiki(desc) -- add description as hover text label = '<span title="' .. desc .. '">' .. label .. '</span>' end -- return the results if link_type == '-' then return label -- return just the label else link = getLink(link_type, item, entity, langList) return '[[' .. link .. '|' .. label .. ']]' -- return link end end --[[------------------------------------------------------------------------------- _sitelinks This function returns a table of sitelinks for a single project organized by language Inputs: 1: item - wikidata's item's q-id or entity class 2: project - (case-insensitive) one of: "wikipedia", "wikisource", "wikiquote", "wikibooks", "wikinews", "wikiversity", "wikivoyage", "wiktionary", "commons", "mediawiki", "wikispecies", "wikidata", etc. Output: Table of sitelinks with language fields Output: Table of sitelinks with language fields See also * [https://foundation.wikimedia.org/wiki/Special:SiteMatrix] for the full list of supported interwikis. * [https://dumps.wikimedia.org/backup-index.html] for the full list of sitecodes (used in database dumps). ]] function p._sitelinks(item, project) local entity, sitelink -- get entity if type(item) == 'string' then -- "item" is a q-id entity = mw.wikibase.getEntity(item) else entity = item -- "item" is the entity end -- convert from english project name to proproject code local projLUT = { wikipedia = 'wiki', commons = 'commonswiki', foundation = 'foundationwiki', mediawiki = 'mediawikiwiki', wikispecies = 'specieswiki', wikidata = 'wikidatawiki', incubator = 'incubatorwiki', oldwikisource = 'sourceswiki', } local langLUT = { -- These are not language codes before the 'wiki' or 'wikiversity' suffix in a sitecode: foundation = '~', commons = '~', -- they will be skipped incubator = '~', meta = '~', mediawiki = '~', sources = '~', species = '~', beta = '~', -- Legacy language codes used in sitecodes, remapped to standard Wikimedia language codes: -- See https://meta.wikimedia.org/wiki/Special_language_codes for details als = 'gsw', bat_smg = 'sgs', fiu_vro = 'vro', be_x_old = 'be-tarask', roa_rup = 'rup', zh_classical = 'lzh', zh_yue = 'yue', zh_min_nan = 'nan', zh_wuu = 'wuu', no = 'nb', } project = project:lower() project = projLUT[project] or project -- correct the project name local n = project:len() local linkTable = {} if entity and entity.sitelinks then -- See if entity exists, and that it has sitelinks for _, sitelink in pairs(entity.sitelinks) do -- loop over all sitelinks local site = sitelink.site local m = site:len() - n local proj = site:sub(m +1) -- project part of the siteID if proj == project then -- proj matches desired "project" local lang = site:sub(1, m) -- language part of the siteID lang = langLUT[lang] or lang:gsub('_','-') if lang ~= '~' then -- proj matches desired "project" linkTable[lang] = sitelink.title end end end end return linkTable end --[[---------------------------------------------------------------- _aliases This function returns a table of aliases for a single language Inputs: 1: item - wikidata's item's q-id or entity class 2: lang - language code, like 'en' or 'de' Output: Table of aliases with language fields ]] function p._aliases(item, lang) local entity if type(item) == 'string' then -- "item" is a q-id entity = mw.wikibase.getEntity(item) else entity = item -- "item" is the entity end local aliasTable = {} if entity and entity.aliases then -- See if there is an entity and that is has aliases if entity.aliases[lang] then -- See if it has English Aliases for _, alias in pairs(entity.aliases[lang]) do -- Make a loop around the English aliases table.insert(aliasTable, alias.value) -- Create a table of English aliases end end end return aliasTable end --====================================================================== --=== Invoke functions for use from wikitext, e.g., templates ========== ---===================================================================== --[[ getLabel This function returns a label translated to desired language, created based on wikidata Usage: {{#invoke:Wikidata label|getLabel|item=Q...|lang=..|link_style=..|capitalization=..}} Parameters 1: wikidata's item's q-id (required) 2: language (optional; default {{int:lang}}) 3: link_style: "wikipedia" (default), "Wikidata", "Commons", or "-" (no link) 4: capitalization - can be "uc", "lc", "tc", "ucfirst", "lcfirst" Error Handling: Bad q-id will result in displayed error ]] function p.getLabel(frame) local args = getArgs(frame) return p._getLabel(args.item, args.lang, args.link, args.capitalization, args.show_id) end --[[------------------------------------------------------------------------------- sitelinks This function returns a comma separated list of sitelinks for a single project organized by language Its main purpose is to help with testing of _sitelinks function. Usage: {{#invoke:Wikidata label|sitelinks|item=Q...|project=..}} Inputs: 1: item - wikidata's item's q-id or entity class 2: project - "wikipedia" (or "wiki"), "wikisource", "wikiquote", "wikibooks", "wikinews", "wikiversity", "wikivoyage", "wiktionary", etc. Output: comma separated list ]] function p.sitelinks(frame) local args = getArgs(frame) local sitelinks = p._sitelinks(args.item, args.project) local sitelinkList = {} for lang, sitelink in pairs(sitelinks) do table.insert(sitelinkList, (lang=='' and sitelink) or (lang .. ':' .. sitelink)) end return table.concat(sitelinkList, ', ') end --[[---------------------------------------------------------------------------- aliases This function returns a comma separated list of aliases for a single language Its main purpose is to help with testing of _aliases function. Usage: {{#invoke:Wikidata label|aliases|item=Q...|lang=..}} Inputs: 1: item - wikidata's item's q-id or entity class 2: lang - language code, like 'en' or 'de' Output: Comma separated list of aliases ]] function p.aliases(frame) local args = getArgs(frame) return table.concat(p._aliases(args.item, args.lang), ', ') end return p tubg9bh0033761yy22p4vw8xjare3q3 9948 9947 2025-08-13T16:52:12Z meta>Pppery 0 Update from Commons 9948 Scribunto text/plain --[[ __ __ _ _ __ ___ _ _ _ _ _ _ _ | \/ | ___ __| |_ _| | ___ \ \ / (_) | _(_) __| | __ _| |_ __ _ | | __ _| |__ ___| | | |\/| |/ _ \ / _` | | | | |/ _ (_) \ /\ / /| | |/ / |/ _` |/ _` | __/ _` | | |/ _` | '_ \ / _ \ | | | | | (_) | (_| | |_| | | __/_ \ V V / | | <| | (_| | (_| | || (_| | | | (_| | |_) | __/ | |_| |_|\___/ \__,_|\__,_|_|\___(_) \_/\_/ |_|_|\_\_|\__,_|\__,_|\__\__,_| |_|\__,_|_.__/ \___|_| This module is intended to be the engine behind "Template:Label". This module was copied from Commons please ask for changes there. Please do not modify this code without applying the changes first at "Module:Wikidata label/sandbox" and testing at "Module:Wikidata label/testcases". Authors and maintainers: * User:Jarekt - original version ]] require('strict') -- used for debugging purposes as it detects cases of unintended global variables --============================================= --=== Internal functions ====================== --============================================= --------------------------------------------------------------------------- -- Normalize input arguments by converting them all to lower case and -- replacing space with "_" in the argument name. Also empty strings are -- converted to nils. Arguments are collected from arguments passed to the -- module and if missing from the template that calls the module local function getArgs(frame) local function normalize_input_args(input_args, output_args) for name, value in pairs( input_args ) do value = mw.text.trim(value) -- trim whitespaces from the beggining and the end of the string if value ~= '' then -- nuke empty strings if type(name)=='string' then name = string.gsub( string.lower(name), ' ', '_') end output_args[name] = value end end return output_args end local args = {} args = normalize_input_args(frame:getParent().args, args) args = normalize_input_args(frame.args, args) return args end --------------------------------------------------------------------------- -- Function allowing for consistent treatment of boolean-like wikitext input. -- It works similarly to Module:Yesno but does not assume val is a string local function yesno(val, default) if type(val) == 'boolean' then return val elseif type(val) == 'number' then if val == 1 then return true elseif val == 0 then return false end elseif type(val) == 'string' then val = mw.ustring.lower(val) -- put in lower case if val == 'no' or val == 'n' or val == 'false' or val == '0' then return false elseif val == 'yes' or val == 'y' or val == 'true' or val == '1' then return true end end return default end ------------------------------------------------------------------------- -- get message in a given language -- INPUTS: -- * msg - name of a message. For it to work [[MediaWiki:msg]] page need to be set up -- * lang - translate message to language "lang" -- * default - string to return in case this module is moved to a project where this message is not set -- OUTPUT: -- * translated message local function getMessage(msg, lang, default) msg = mw.message.new(msg):inLanguage(lang):plain() return (msg == nil and default) or msg end --------------------------------------------------------------------------- -- use different sitelink call depending if you already have an entity or not -- INPUTS: -- * item and entity - entity id and entity: if full entity already uploded than use that -- otherwise use entity id to look up sitelink -- * lang - language of the project -- OUTPUT: -- * sitelink local function getSitelink(item, entity, lang) if entity and entity.getSitelink then -- if we have entity then use it return entity:getSitelink(lang .. 'wiki') else -- if no entity then use different function return mw.wikibase.getSitelink(item, lang .. 'wiki') end end --------------------------------------------------------------------------- -- use different sitelink call depending if you already have an entity or not -- INPUTS: -- * item and entity - entity id and entity: if full entity already uploded than use that -- otherwise use entity id to look up sitelink -- * prop - property for which to return the best statment -- OUTPUT: -- * value of the best statment (only from the first one) local function getBestStatementsValue(item, entity, prop) local statments if entity then statments = entity:getBestStatements(prop) else statments = mw.wikibase.getBestStatements(item, prop) end for _, statment in ipairs(statments) do if statment and statment.mainsnak.datavalue.value then return statment.mainsnak.datavalue.value end end end --------------------------------------------------------------------------- -- change capitalization of the label -- INPUTS: -- * label - label string -- * capitalization - capitalization to be applied: allowed values are "tc", "lc", -- "uc", "lcfirst", and "ucfirst". Any other value will return original string -- * lang - language of the label -- OUTPUT: -- * value of the best statment (only from the first one) local function apply_capitalization(label, capitalization, lang) capitalization = string.lower(capitalization or 'none') if capitalization == 'none' then return label elseif capitalization == 'uc' then return mw.language.new(lang):uc(label) elseif capitalization == 'lc' then return mw.language.new(lang):lc(label) elseif capitalization == 'tc' then -- title case local new_label = {} for _, word in ipairs(mw.text.split(label, ' ')) do table.insert(new_label, mw.language.new(lang):ucfirst(word)) end return table.concat(new_label, ' ') elseif capitalization == 'ucfirst' then return mw.language.new(lang):ucfirst(label) elseif capitalization == 'lcfirst' then return mw.language.new(lang):lcfirst(label) end return label end --[[------------------------------------------------------------------------- get link based on user preference INPUTS: * link_type - can be : * "wikidata" - link to wikidata * "wikipedia" - link to wikipedia (language dependent) * "wikidata talk" - link to wikidata talk page * "commons" - link to commons (try sitelink then commons category then commons gallery) * "commonscat" - link to commons (try commons category then commons gallery) * "-" - means no link * item - entity ID (always provided) * entity - whole entity. It can be nil if whole entity is not loaded * langList - language fallback list for preferred language (required) OUTPUT: * link - link to the wikimedia page ]] local function getLink(link_type, item, entity, langList) local link, eLink link_type = mw.ustring.lower(link_type or '') local item_type = mw.ustring.sub(item, 1, 1) -- first letter prefix of item entity ID: 'Q', 'P' or 'M' if item_type == 'M' then eLink='c:Special:EntityPage/'..item elseif item_type == 'Q' then eLink='d:'..item -- wikibase entity page link elseif item_type == 'P' then eLink='d:Property:'..item -- wikibase entity page link else eLink='d:Special:EntityPage/'..item end if link_type == '-' then -- allow different link formats link = '' -- no link elseif link_type == 'wikidata' or item_type == 'M' then link = eLink -- link to wikibase entity page elseif link_type == 'wikidata talk' and item_type == 'P' then link = 'd:Property talk:'.. item -- link to wikidata property talk page elseif link_type == 'wikidata talk' then link = 'd:Talk:'..item -- link to wikidata talk page elseif link_type == 'commons' or link_type == 'commonscat' then --[[ When link_type == 'commons' we try the following links (in specified order): 1) commons sitelink 2) P373 "Commons Category" claims 3) P935 "Commons Gallery" claims Since most items have a commons sitelink we never have to look for claims When link_type == 'commonscat' we try to maximize chances of commons link being a category, so we try the following links (in specified order): 1) commons sitelink, which is kept if it points to a category 2) P373 "Commons Category" claims 3) commons sitelink (which does not point to a category) 4) P935 "Commons Gallery" claims Since most pages have a commons sitelink we never have to look for claims ]] local sLink = getSitelink(item, entity, 'commons') -- look for sitelink to commons if sLink then sLink = 'c:'..sLink if (link_type == 'commons') or (link_type == 'commonscat' and mw.ustring.find(sLink, 'Category:')) then link = sLink end end if not link then -- try linking to P373 "Commons Category" local cat = getBestStatementsValue(item, entity, 'P373') link = (cat ~= nil and 'c:Category:' .. cat) or nil end link = link or sLink if not link then -- try linking to P935 "Commons Gallery" link = getBestStatementsValue(item, entity, 'P935') end end if not link then -- apply default "Wikipedia" link type for _, language in ipairs(langList) do local sitelink = getSitelink(item, entity, language) if sitelink then link = 'w:'.. language ..':'.. sitelink break end end end return link or eLink -- no wiki sitelink, so link to wikidata end --============================================= --=== External functions ====================== --============================================= local p = {} --====================================================================== --=== API functions for use from other Scribunto modules =============== --====================================================================== --[[ _getLabel This function returns a label translated to desired language, created based on wikidata Inputs: 1: item - wikidata's item's q-id or entity class 2: lang - desired language of the label 3: link_type - link style. Possible values (case-insensitive): "wikipedia", "wikidata", "Commons", or "-" (no link) 4: capitalization - can be "uc" (upper case), "lc" (lower case), "ucfirst" (upper case for the first letter), "lcfirst" (lower case for the first letter), or 'none' (default) Error Handling: Bad q-id will result in displayed error ]] function p._getLabel(item, lang, link_type, capitalization, show_id) local entity, s, link, label, language, desc -- clean up the input parameters if type(item) ~= 'string' then -- "item" is not a q-id entity = item -- "item" must be the entity item = entity.id -- look-up q-id elseif tonumber(item) then -- if it is just the number then add "Q" in front item = 'Q'..item end item = mw.ustring.gsub(mw.ustring.upper(item), 'PROPERTY:P', 'P') -- make all the properties the same and capitalize if link_type == 'no' then link_type = '-' end if not lang then label, lang = mw.wikibase.getLabelWithLang(item) end if not lang then -- if still no language lang = mw.getCurrentFrame():callParserFunction("int","lang") -- get user's chosen language label = nil end -- build language fallback list lang = mw.ustring.lower(lang) local langList = mw.language.getFallbacksFor(lang) table.insert(langList, 1, lang) table.insert(langList, 'mul') -- add "default for all languages" -- get label (visible part of the link) if not label then for _, language in ipairs(langList) do -- loop over language fallback list looking for label in the specific language if entity then label = entity:getLabel(language) else label = mw.wikibase.getLabelByLang(item, language) end if label then break end -- label found and we are done end end if label then -- wikitext-escape the label if we have one label = mw.text.nowiki(label) end if not label then -- no labels found, so just show the q-id label = item elseif show_id then -- add id show_id = yesno(show_id,false) if show_id then local wordsep = getMessage('Word-separator', lang, ' ') local id = mw.message.new('parentheses', item):inLanguage(lang):plain() id = (id~=nil and id) or ('('..item..')') -- in case this module is moved to a project where {{int:parenthesis}} is not set label = label .. wordsep .. "<small>" .. id .. "</small>" end end label = apply_capitalization(label, capitalization, lang) -- look for description if entity and entity.descriptions and lang then for _, language in ipairs(langList) do if entity.descriptions[language] then desc = entity.descriptions[language].value break end end else desc = mw.wikibase.getDescription(item) end if desc and link_type ~= '-' then -- wikitext-escape the description if we have one desc = mw.text.nowiki(desc) -- add description as hover text label = '<span title="' .. desc .. '">' .. label .. '</span>' end -- return the results if link_type == '-' then return label -- return just the label else link = getLink(link_type, item, entity, langList) return '[[' .. link .. '|' .. label .. ']]' -- return link end end --[[------------------------------------------------------------------------------- _sitelinks This function returns a table of sitelinks for a single project organized by language Inputs: 1: item - wikidata's item's q-id or entity class 2: project - (case-insensitive) one of: "wikipedia", "wikisource", "wikiquote", "wikibooks", "wikinews", "wikiversity", "wikivoyage", "wiktionary", "commons", "mediawiki", "wikispecies", "wikidata", etc. Output: Table of sitelinks with language fields Output: Table of sitelinks with language fields See also * [https://foundation.wikimedia.org/wiki/Special:SiteMatrix] for the full list of supported interwikis. * [https://dumps.wikimedia.org/backup-index.html] for the full list of sitecodes (used in database dumps). ]] function p._sitelinks(item, project) local entity, sitelink -- get entity if type(item) == 'string' then -- "item" is a q-id entity = mw.wikibase.getEntity(item) else entity = item -- "item" is the entity end -- convert from english project name to proproject code local projLUT = { wikipedia = 'wiki', commons = 'commonswiki', foundation = 'foundationwiki', mediawiki = 'mediawikiwiki', wikispecies = 'specieswiki', wikidata = 'wikidatawiki', incubator = 'incubatorwiki', oldwikisource = 'sourceswiki', } local langLUT = { -- These are not language codes before the 'wiki' or 'wikiversity' suffix in a sitecode: foundation = '~', commons = '~', -- they will be skipped incubator = '~', meta = '~', mediawiki = '~', sources = '~', species = '~', beta = '~', -- Legacy language codes used in sitecodes, remapped to standard Wikimedia language codes: -- See https://meta.wikimedia.org/wiki/Special_language_codes for details als = 'gsw', bat_smg = 'sgs', fiu_vro = 'vro', be_x_old = 'be-tarask', roa_rup = 'rup', zh_classical = 'lzh', zh_yue = 'yue', zh_min_nan = 'nan', zh_wuu = 'wuu', no = 'nb', } project = project:lower() project = projLUT[project] or project -- correct the project name local n = project:len() local linkTable = {} if entity and entity.sitelinks then -- See if entity exists, and that it has sitelinks for _, sitelink in pairs(entity.sitelinks) do -- loop over all sitelinks local site = sitelink.site local m = site:len() - n local proj = site:sub(m +1) -- project part of the siteID if proj == project then -- proj matches desired "project" local lang = site:sub(1, m) -- language part of the siteID lang = langLUT[lang] or lang:gsub('_','-') if lang ~= '~' then -- proj matches desired "project" linkTable[lang] = sitelink.title end end end end return linkTable end --[[---------------------------------------------------------------- _aliases This function returns a table of aliases for a single language Inputs: 1: item - wikidata's item's q-id or entity class 2: lang - language code, like 'en' or 'de' Output: Table of aliases with language fields ]] function p._aliases(item, lang) local entity if type(item) == 'string' then -- "item" is a q-id entity = mw.wikibase.getEntity(item) else entity = item -- "item" is the entity end local aliasTable = {} if entity and entity.aliases then -- See if there is an entity and that is has aliases if entity.aliases[lang] then -- See if it has English Aliases for _, alias in pairs(entity.aliases[lang]) do -- Make a loop around the English aliases table.insert(aliasTable, alias.value) -- Create a table of English aliases end end end return aliasTable end --====================================================================== --=== Invoke functions for use from wikitext, e.g., templates ========== ---===================================================================== --[[ getLabel This function returns a label translated to desired language, created based on wikidata Usage: {{#invoke:Wikidata label|getLabel|item=Q...|lang=..|link_style=..|capitalization=..}} Parameters 1: wikidata's item's q-id (required) 2: language (optional; default {{int:lang}}) 3: link_style: "wikipedia" (default), "Wikidata", "Commons", or "-" (no link) 4: capitalization - can be "uc", "lc", "tc", "ucfirst", "lcfirst" Error Handling: Bad q-id will result in displayed error ]] function p.getLabel(frame) local args = getArgs(frame) return p._getLabel(args.item, args.lang, args.link, args.capitalization, args.show_id) end --[[------------------------------------------------------------------------------- sitelinks This function returns a comma separated list of sitelinks for a single project organized by language Its main purpose is to help with testing of _sitelinks function. Usage: {{#invoke:Wikidata label|sitelinks|item=Q...|project=..}} Inputs: 1: item - wikidata's item's q-id or entity class 2: project - "wikipedia" (or "wiki"), "wikisource", "wikiquote", "wikibooks", "wikinews", "wikiversity", "wikivoyage", "wiktionary", etc. Output: comma separated list ]] function p.sitelinks(frame) local args = getArgs(frame) local sitelinks = p._sitelinks(args.item, args.project) local sitelinkList = {} for lang, sitelink in pairs(sitelinks) do table.insert(sitelinkList, (lang=='' and sitelink) or (lang .. ':' .. sitelink)) end return table.concat(sitelinkList, ', ') end --[[---------------------------------------------------------------------------- aliases This function returns a comma separated list of aliases for a single language Its main purpose is to help with testing of _aliases function. Usage: {{#invoke:Wikidata label|aliases|item=Q...|lang=..}} Inputs: 1: item - wikidata's item's q-id or entity class 2: lang - language code, like 'en' or 'de' Output: Comma separated list of aliases ]] function p.aliases(frame) local args = getArgs(frame) return table.concat(p._aliases(args.item, args.lang), ', ') end return p 7b3k45meuo4sbudososz6gy9dx3nxzm 9949 9948 2026-08-24T13:00:42Z RAPTOR7762 18 5 revisions imported from [[:meta:Module:Wikidata_label]] 9948 Scribunto text/plain --[[ __ __ _ _ __ ___ _ _ _ _ _ _ _ | \/ | ___ __| |_ _| | ___ \ \ / (_) | _(_) __| | __ _| |_ __ _ | | __ _| |__ ___| | | |\/| |/ _ \ / _` | | | | |/ _ (_) \ /\ / /| | |/ / |/ _` |/ _` | __/ _` | | |/ _` | '_ \ / _ \ | | | | | (_) | (_| | |_| | | __/_ \ V V / | | <| | (_| | (_| | || (_| | | | (_| | |_) | __/ | |_| |_|\___/ \__,_|\__,_|_|\___(_) \_/\_/ |_|_|\_\_|\__,_|\__,_|\__\__,_| |_|\__,_|_.__/ \___|_| This module is intended to be the engine behind "Template:Label". This module was copied from Commons please ask for changes there. Please do not modify this code without applying the changes first at "Module:Wikidata label/sandbox" and testing at "Module:Wikidata label/testcases". Authors and maintainers: * User:Jarekt - original version ]] require('strict') -- used for debugging purposes as it detects cases of unintended global variables --============================================= --=== Internal functions ====================== --============================================= --------------------------------------------------------------------------- -- Normalize input arguments by converting them all to lower case and -- replacing space with "_" in the argument name. Also empty strings are -- converted to nils. Arguments are collected from arguments passed to the -- module and if missing from the template that calls the module local function getArgs(frame) local function normalize_input_args(input_args, output_args) for name, value in pairs( input_args ) do value = mw.text.trim(value) -- trim whitespaces from the beggining and the end of the string if value ~= '' then -- nuke empty strings if type(name)=='string' then name = string.gsub( string.lower(name), ' ', '_') end output_args[name] = value end end return output_args end local args = {} args = normalize_input_args(frame:getParent().args, args) args = normalize_input_args(frame.args, args) return args end --------------------------------------------------------------------------- -- Function allowing for consistent treatment of boolean-like wikitext input. -- It works similarly to Module:Yesno but does not assume val is a string local function yesno(val, default) if type(val) == 'boolean' then return val elseif type(val) == 'number' then if val == 1 then return true elseif val == 0 then return false end elseif type(val) == 'string' then val = mw.ustring.lower(val) -- put in lower case if val == 'no' or val == 'n' or val == 'false' or val == '0' then return false elseif val == 'yes' or val == 'y' or val == 'true' or val == '1' then return true end end return default end ------------------------------------------------------------------------- -- get message in a given language -- INPUTS: -- * msg - name of a message. For it to work [[MediaWiki:msg]] page need to be set up -- * lang - translate message to language "lang" -- * default - string to return in case this module is moved to a project where this message is not set -- OUTPUT: -- * translated message local function getMessage(msg, lang, default) msg = mw.message.new(msg):inLanguage(lang):plain() return (msg == nil and default) or msg end --------------------------------------------------------------------------- -- use different sitelink call depending if you already have an entity or not -- INPUTS: -- * item and entity - entity id and entity: if full entity already uploded than use that -- otherwise use entity id to look up sitelink -- * lang - language of the project -- OUTPUT: -- * sitelink local function getSitelink(item, entity, lang) if entity and entity.getSitelink then -- if we have entity then use it return entity:getSitelink(lang .. 'wiki') else -- if no entity then use different function return mw.wikibase.getSitelink(item, lang .. 'wiki') end end --------------------------------------------------------------------------- -- use different sitelink call depending if you already have an entity or not -- INPUTS: -- * item and entity - entity id and entity: if full entity already uploded than use that -- otherwise use entity id to look up sitelink -- * prop - property for which to return the best statment -- OUTPUT: -- * value of the best statment (only from the first one) local function getBestStatementsValue(item, entity, prop) local statments if entity then statments = entity:getBestStatements(prop) else statments = mw.wikibase.getBestStatements(item, prop) end for _, statment in ipairs(statments) do if statment and statment.mainsnak.datavalue.value then return statment.mainsnak.datavalue.value end end end --------------------------------------------------------------------------- -- change capitalization of the label -- INPUTS: -- * label - label string -- * capitalization - capitalization to be applied: allowed values are "tc", "lc", -- "uc", "lcfirst", and "ucfirst". Any other value will return original string -- * lang - language of the label -- OUTPUT: -- * value of the best statment (only from the first one) local function apply_capitalization(label, capitalization, lang) capitalization = string.lower(capitalization or 'none') if capitalization == 'none' then return label elseif capitalization == 'uc' then return mw.language.new(lang):uc(label) elseif capitalization == 'lc' then return mw.language.new(lang):lc(label) elseif capitalization == 'tc' then -- title case local new_label = {} for _, word in ipairs(mw.text.split(label, ' ')) do table.insert(new_label, mw.language.new(lang):ucfirst(word)) end return table.concat(new_label, ' ') elseif capitalization == 'ucfirst' then return mw.language.new(lang):ucfirst(label) elseif capitalization == 'lcfirst' then return mw.language.new(lang):lcfirst(label) end return label end --[[------------------------------------------------------------------------- get link based on user preference INPUTS: * link_type - can be : * "wikidata" - link to wikidata * "wikipedia" - link to wikipedia (language dependent) * "wikidata talk" - link to wikidata talk page * "commons" - link to commons (try sitelink then commons category then commons gallery) * "commonscat" - link to commons (try commons category then commons gallery) * "-" - means no link * item - entity ID (always provided) * entity - whole entity. It can be nil if whole entity is not loaded * langList - language fallback list for preferred language (required) OUTPUT: * link - link to the wikimedia page ]] local function getLink(link_type, item, entity, langList) local link, eLink link_type = mw.ustring.lower(link_type or '') local item_type = mw.ustring.sub(item, 1, 1) -- first letter prefix of item entity ID: 'Q', 'P' or 'M' if item_type == 'M' then eLink='c:Special:EntityPage/'..item elseif item_type == 'Q' then eLink='d:'..item -- wikibase entity page link elseif item_type == 'P' then eLink='d:Property:'..item -- wikibase entity page link else eLink='d:Special:EntityPage/'..item end if link_type == '-' then -- allow different link formats link = '' -- no link elseif link_type == 'wikidata' or item_type == 'M' then link = eLink -- link to wikibase entity page elseif link_type == 'wikidata talk' and item_type == 'P' then link = 'd:Property talk:'.. item -- link to wikidata property talk page elseif link_type == 'wikidata talk' then link = 'd:Talk:'..item -- link to wikidata talk page elseif link_type == 'commons' or link_type == 'commonscat' then --[[ When link_type == 'commons' we try the following links (in specified order): 1) commons sitelink 2) P373 "Commons Category" claims 3) P935 "Commons Gallery" claims Since most items have a commons sitelink we never have to look for claims When link_type == 'commonscat' we try to maximize chances of commons link being a category, so we try the following links (in specified order): 1) commons sitelink, which is kept if it points to a category 2) P373 "Commons Category" claims 3) commons sitelink (which does not point to a category) 4) P935 "Commons Gallery" claims Since most pages have a commons sitelink we never have to look for claims ]] local sLink = getSitelink(item, entity, 'commons') -- look for sitelink to commons if sLink then sLink = 'c:'..sLink if (link_type == 'commons') or (link_type == 'commonscat' and mw.ustring.find(sLink, 'Category:')) then link = sLink end end if not link then -- try linking to P373 "Commons Category" local cat = getBestStatementsValue(item, entity, 'P373') link = (cat ~= nil and 'c:Category:' .. cat) or nil end link = link or sLink if not link then -- try linking to P935 "Commons Gallery" link = getBestStatementsValue(item, entity, 'P935') end end if not link then -- apply default "Wikipedia" link type for _, language in ipairs(langList) do local sitelink = getSitelink(item, entity, language) if sitelink then link = 'w:'.. language ..':'.. sitelink break end end end return link or eLink -- no wiki sitelink, so link to wikidata end --============================================= --=== External functions ====================== --============================================= local p = {} --====================================================================== --=== API functions for use from other Scribunto modules =============== --====================================================================== --[[ _getLabel This function returns a label translated to desired language, created based on wikidata Inputs: 1: item - wikidata's item's q-id or entity class 2: lang - desired language of the label 3: link_type - link style. Possible values (case-insensitive): "wikipedia", "wikidata", "Commons", or "-" (no link) 4: capitalization - can be "uc" (upper case), "lc" (lower case), "ucfirst" (upper case for the first letter), "lcfirst" (lower case for the first letter), or 'none' (default) Error Handling: Bad q-id will result in displayed error ]] function p._getLabel(item, lang, link_type, capitalization, show_id) local entity, s, link, label, language, desc -- clean up the input parameters if type(item) ~= 'string' then -- "item" is not a q-id entity = item -- "item" must be the entity item = entity.id -- look-up q-id elseif tonumber(item) then -- if it is just the number then add "Q" in front item = 'Q'..item end item = mw.ustring.gsub(mw.ustring.upper(item), 'PROPERTY:P', 'P') -- make all the properties the same and capitalize if link_type == 'no' then link_type = '-' end if not lang then label, lang = mw.wikibase.getLabelWithLang(item) end if not lang then -- if still no language lang = mw.getCurrentFrame():callParserFunction("int","lang") -- get user's chosen language label = nil end -- build language fallback list lang = mw.ustring.lower(lang) local langList = mw.language.getFallbacksFor(lang) table.insert(langList, 1, lang) table.insert(langList, 'mul') -- add "default for all languages" -- get label (visible part of the link) if not label then for _, language in ipairs(langList) do -- loop over language fallback list looking for label in the specific language if entity then label = entity:getLabel(language) else label = mw.wikibase.getLabelByLang(item, language) end if label then break end -- label found and we are done end end if label then -- wikitext-escape the label if we have one label = mw.text.nowiki(label) end if not label then -- no labels found, so just show the q-id label = item elseif show_id then -- add id show_id = yesno(show_id,false) if show_id then local wordsep = getMessage('Word-separator', lang, ' ') local id = mw.message.new('parentheses', item):inLanguage(lang):plain() id = (id~=nil and id) or ('('..item..')') -- in case this module is moved to a project where {{int:parenthesis}} is not set label = label .. wordsep .. "<small>" .. id .. "</small>" end end label = apply_capitalization(label, capitalization, lang) -- look for description if entity and entity.descriptions and lang then for _, language in ipairs(langList) do if entity.descriptions[language] then desc = entity.descriptions[language].value break end end else desc = mw.wikibase.getDescription(item) end if desc and link_type ~= '-' then -- wikitext-escape the description if we have one desc = mw.text.nowiki(desc) -- add description as hover text label = '<span title="' .. desc .. '">' .. label .. '</span>' end -- return the results if link_type == '-' then return label -- return just the label else link = getLink(link_type, item, entity, langList) return '[[' .. link .. '|' .. label .. ']]' -- return link end end --[[------------------------------------------------------------------------------- _sitelinks This function returns a table of sitelinks for a single project organized by language Inputs: 1: item - wikidata's item's q-id or entity class 2: project - (case-insensitive) one of: "wikipedia", "wikisource", "wikiquote", "wikibooks", "wikinews", "wikiversity", "wikivoyage", "wiktionary", "commons", "mediawiki", "wikispecies", "wikidata", etc. Output: Table of sitelinks with language fields Output: Table of sitelinks with language fields See also * [https://foundation.wikimedia.org/wiki/Special:SiteMatrix] for the full list of supported interwikis. * [https://dumps.wikimedia.org/backup-index.html] for the full list of sitecodes (used in database dumps). ]] function p._sitelinks(item, project) local entity, sitelink -- get entity if type(item) == 'string' then -- "item" is a q-id entity = mw.wikibase.getEntity(item) else entity = item -- "item" is the entity end -- convert from english project name to proproject code local projLUT = { wikipedia = 'wiki', commons = 'commonswiki', foundation = 'foundationwiki', mediawiki = 'mediawikiwiki', wikispecies = 'specieswiki', wikidata = 'wikidatawiki', incubator = 'incubatorwiki', oldwikisource = 'sourceswiki', } local langLUT = { -- These are not language codes before the 'wiki' or 'wikiversity' suffix in a sitecode: foundation = '~', commons = '~', -- they will be skipped incubator = '~', meta = '~', mediawiki = '~', sources = '~', species = '~', beta = '~', -- Legacy language codes used in sitecodes, remapped to standard Wikimedia language codes: -- See https://meta.wikimedia.org/wiki/Special_language_codes for details als = 'gsw', bat_smg = 'sgs', fiu_vro = 'vro', be_x_old = 'be-tarask', roa_rup = 'rup', zh_classical = 'lzh', zh_yue = 'yue', zh_min_nan = 'nan', zh_wuu = 'wuu', no = 'nb', } project = project:lower() project = projLUT[project] or project -- correct the project name local n = project:len() local linkTable = {} if entity and entity.sitelinks then -- See if entity exists, and that it has sitelinks for _, sitelink in pairs(entity.sitelinks) do -- loop over all sitelinks local site = sitelink.site local m = site:len() - n local proj = site:sub(m +1) -- project part of the siteID if proj == project then -- proj matches desired "project" local lang = site:sub(1, m) -- language part of the siteID lang = langLUT[lang] or lang:gsub('_','-') if lang ~= '~' then -- proj matches desired "project" linkTable[lang] = sitelink.title end end end end return linkTable end --[[---------------------------------------------------------------- _aliases This function returns a table of aliases for a single language Inputs: 1: item - wikidata's item's q-id or entity class 2: lang - language code, like 'en' or 'de' Output: Table of aliases with language fields ]] function p._aliases(item, lang) local entity if type(item) == 'string' then -- "item" is a q-id entity = mw.wikibase.getEntity(item) else entity = item -- "item" is the entity end local aliasTable = {} if entity and entity.aliases then -- See if there is an entity and that is has aliases if entity.aliases[lang] then -- See if it has English Aliases for _, alias in pairs(entity.aliases[lang]) do -- Make a loop around the English aliases table.insert(aliasTable, alias.value) -- Create a table of English aliases end end end return aliasTable end --====================================================================== --=== Invoke functions for use from wikitext, e.g., templates ========== ---===================================================================== --[[ getLabel This function returns a label translated to desired language, created based on wikidata Usage: {{#invoke:Wikidata label|getLabel|item=Q...|lang=..|link_style=..|capitalization=..}} Parameters 1: wikidata's item's q-id (required) 2: language (optional; default {{int:lang}}) 3: link_style: "wikipedia" (default), "Wikidata", "Commons", or "-" (no link) 4: capitalization - can be "uc", "lc", "tc", "ucfirst", "lcfirst" Error Handling: Bad q-id will result in displayed error ]] function p.getLabel(frame) local args = getArgs(frame) return p._getLabel(args.item, args.lang, args.link, args.capitalization, args.show_id) end --[[------------------------------------------------------------------------------- sitelinks This function returns a comma separated list of sitelinks for a single project organized by language Its main purpose is to help with testing of _sitelinks function. Usage: {{#invoke:Wikidata label|sitelinks|item=Q...|project=..}} Inputs: 1: item - wikidata's item's q-id or entity class 2: project - "wikipedia" (or "wiki"), "wikisource", "wikiquote", "wikibooks", "wikinews", "wikiversity", "wikivoyage", "wiktionary", etc. Output: comma separated list ]] function p.sitelinks(frame) local args = getArgs(frame) local sitelinks = p._sitelinks(args.item, args.project) local sitelinkList = {} for lang, sitelink in pairs(sitelinks) do table.insert(sitelinkList, (lang=='' and sitelink) or (lang .. ':' .. sitelink)) end return table.concat(sitelinkList, ', ') end --[[---------------------------------------------------------------------------- aliases This function returns a comma separated list of aliases for a single language Its main purpose is to help with testing of _aliases function. Usage: {{#invoke:Wikidata label|aliases|item=Q...|lang=..}} Inputs: 1: item - wikidata's item's q-id or entity class 2: lang - language code, like 'en' or 'de' Output: Comma separated list of aliases ]] function p.aliases(frame) local args = getArgs(frame) return table.concat(p._aliases(args.item, args.lang), ', ') end return p 7b3k45meuo4sbudososz6gy9dx3nxzm Tempilet:Nospam 10 1252 9950 2012-02-12T03:22:39Z meta>Steven Crossin 0 ++ 9950 wikitext text/x-wiki <span class="nowrap">{{{1|account}}}[[File:At sign.svg|15px|@|link=]]{{{2|example.com}}}</span><noinclude> {{Documentation}} <!-- PLEASE ADD THIS TEMPLATE'S CATEGORIES AND INTERWIKIS TO THE /doc SUBPAGE, THANKS --> </noinclude> 5i5wxt4meffzorieo8zbdnwgfi6le8a 9951 9950 2014-01-11T04:40:44Z meta>Verdy p 0 9951 wikitext text/x-wiki <tt class="nowrap">{{{1|account}}}[[File:At sign.svg|15px|@|link=]]{{{2|example.com}}}</tt><noinclude>{{Documentation}}</noinclude> o2m9ft1le8rwm8ddv42q1s3va5jphds 9952 9951 2014-03-25T21:10:01Z meta>TeleComNasSprVen 0 Redirect to [[Template:NonSpamEmail]] 9952 wikitext text/x-wiki #REDIRECT [[Template:NonSpamEmail]] 597768eswsrwj62xm2iw6kzmma27ovm 9953 9952 2014-03-28T05:46:58Z meta>Verdy p 0 Undo revision 7957075 by [[Special:Contributions/TeleComNasSprVen|TeleComNasSprVen]] ([[User talk:TeleComNasSprVen|talk]]) not equivalent (and incompatible target is not modificable) 9953 wikitext text/x-wiki <tt class="nowrap">{{{1|account}}}[[File:At sign.svg|15px|@|link=]]{{{2|example.com}}}</tt><noinclude>{{Documentation}}</noinclude> o2m9ft1le8rwm8ddv42q1s3va5jphds 9954 9953 2014-07-31T15:49:55Z meta>Verdy p 0 alt text more explicit for text readers(an arrobace alone is not read); and still better as "(at)" instead of "@" (too explicit for spambots); also use explicit icon height. 9954 wikitext text/x-wiki <tt class="nowrap">{{{1|account}}}[[File:At sign.svg|15x15px|link=|alt=(at)]]{{{2|example.com}}}</tt><noinclude>{{Documentation}}</noinclude> h05hprev0jym81mmh4d2jccjdj7834c 9955 9954 2014-07-31T16:05:54Z meta>Verdy p 0 precise vertical alignment: font-size/line-hine-height fixed to match to the fixed icon size (in CSS "logical" pixels): the whole is like a single image with a static height 9955 wikitext text/x-wiki <tt style="white-space:nowrap;font-size:12px;line-height:1.5">{{{1|account}}}[[File:At sign.svg|15x15px|middle|link=|alt=(at)]]{{{2|example.com}}}</tt><noinclude>{{Documentation}}</noinclude> lxbgri52psarht1o4oqhpttyoohsdsb 9956 9955 2014-07-31T16:15:53Z meta>Verdy p 0 fix order for RTL pages 9956 wikitext text/x-wiki <tt dir="ltr" style="white-space:nowrap;font-size:12px;line-height:1.5">{{{1|account}}}[[File:At sign.svg|15x15px|middle|link=|alt=(at)]]{{{2|example.com}}}</tt><noinclude>{{Documentation}}</noinclude> 52py2gp4m68v64mb1raqja7e8iksknc 9957 9956 2018-03-29T03:10:41Z 2403:AC00:0:2:0:0:2:50D9 9957 wikitext text/x-wiki <tt dir="ltr" style="white-space:nowrap;font-size:12px;line-height:1.5">{{{1|account}}}@{{{2|example.com}}}</tt><noinclude>{{Documentation}}</noinclude> 3olmjt9552f1gvugk1fe5pibuavd8e9 9958 9957 2018-03-29T03:55:14Z meta>Ammarpad 0 Undo revision 17880517 by [[Special:Contributions/2403:AC00:0:2:0:0:2:50D9|2403:AC00:0:2:0:0:2:50D9]] ([[User talk:2403:AC00:0:2:0:0:2:50D9|talk]]) 9958 wikitext text/x-wiki <tt dir="ltr" style="white-space:nowrap;font-size:12px;line-height:1.5">{{{1|account}}}[[File:At sign.svg|15x15px|middle|link=|alt=(at)]]{{{2|example.com}}}</tt><noinclude>{{Documentation}}</noinclude> 52py2gp4m68v64mb1raqja7e8iksknc 9959 9953 2014-04-11T12:23:04Z meta>Mdennis 0 establishing 9959 wikitext text/x-wiki <span class="nowrap">{{{1|<noinclude>account</noinclude>}}}[[File:At sign.svg|15px|@|link=]]{{{2|<noinclude>example.com</noinclude>}}}</span><noinclude> aup7rfbdxvajj6njdku0bnlib6unrpc 9960 9959 2014-04-11T12:23:21Z meta>Mdennis 0 cat 9960 wikitext text/x-wiki <span class="nowrap">{{{1|<noinclude>account</noinclude>}}}[[File:At sign.svg|15px|@|link=]]{{{2|<noinclude>example.com</noinclude>}}}</span><noinclude> <noinclude> [[Category:Templates]] </noinclude> 4lefwrq9lyvh8km204nph2kydq01oir 9961 9958 2018-07-31T00:17:56Z meta>GVarnum-WMF 0 2 revisions imported from [[:foundation:Template:Nospam]]: Importing from old Foundation Wiki 9958 wikitext text/x-wiki <tt dir="ltr" style="white-space:nowrap;font-size:12px;line-height:1.5">{{{1|account}}}[[File:At sign.svg|15x15px|middle|link=|alt=(at)]]{{{2|example.com}}}</tt><noinclude>{{Documentation}}</noinclude> 52py2gp4m68v64mb1raqja7e8iksknc 9962 9961 2018-12-20T16:35:55Z meta>Tholme 0 lintfix 9962 wikitext text/x-wiki <span dir="ltr" style="white-space:nowrap;font-size:12px;line-height:1.5; font-family:monospace;">{{{1|account}}}[[File:At sign.svg|15x15px|middle|link=|alt=(at)]]{{{2|example.com}}}</span><noinclude>{{Documentation}}</noinclude> 4yiwwaznt8z6xbjajzyek82hqw1uzi7 9963 9962 2018-12-20T16:37:43Z meta>Tholme 0 why should this have different formatting than the rest of the text? 9963 wikitext text/x-wiki <span dir="ltr" style="white-space:nowrap;">{{{1|account}}}[[File:At sign.svg|15x15px|middle|link=|alt=(at)]]{{{2|example.com}}}</span><noinclude>{{Documentation}}</noinclude> 0r0injb77sh96slserzssu1kyyhhwp0 9964 9963 2019-05-03T01:12:37Z meta>Billinghurst 0 Undo revision 18730223 by [[Special:Contributions/Tholme|Tholme]] ([[User talk:Tholme|talk]]); it was done to differentiate an email address in text; add as option 9964 wikitext text/x-wiki <span dir="ltr" style="white-space:nowrap;{{#if:{{{nolook}}}||font-size:12px;line-height:1.5; font-family:monospace;}}">{{{1|account}}}[[File:At sign.svg|15x15px|middle|link=|alt=(at)]]{{{2|example.com}}}</span><noinclude>{{Documentation}}</noinclude> g62gakaa1ar99a3c2y4843ic8hqi1eg 9965 9964 2019-05-03T02:36:06Z meta>Billinghurst 0 update 9965 wikitext text/x-wiki <span dir="ltr" style="white-space:nowrap;{{#if:{{{nolook|}}}||font-size:12px;line-height:1.5; font-family:monospace;}}">{{{1|account}}}[[File:At sign.svg|15x15px|middle|link=|alt=(at)]]{{{2|example.com}}}</span><noinclude>{{Documentation}}</noinclude> bnpzmxapml4588lp9ymn543rsmro4w0 9966 9965 2019-05-03T02:39:25Z meta>Billinghurst 0 {{{3}}} 9966 wikitext text/x-wiki <span dir="ltr" style="white-space:nowrap;{{#if:{{{nolook|{{{3|}}}}}}||font-size:12px;line-height:1.5; font-family:monospace;}}">{{{1|account}}}[[File:At sign.svg|15x15px|middle|link=|alt=(at)]]{{{2|example.com}}}</span><noinclude>{{Documentation}}</noinclude> jv5gqr2m7uay4f83h608izpdpue1eou 9967 9966 2019-05-03T02:39:52Z meta>Billinghurst 0 Protected "[[Template:Nospam]]": Highly transcluded template ([Edit=Allow only autoconfirmed users] (indefinite) [Move=Allow only autoconfirmed users] (indefinite)) 9966 wikitext text/x-wiki <span dir="ltr" style="white-space:nowrap;{{#if:{{{nolook|{{{3|}}}}}}||font-size:12px;line-height:1.5; font-family:monospace;}}">{{{1|account}}}[[File:At sign.svg|15x15px|middle|link=|alt=(at)]]{{{2|example.com}}}</span><noinclude>{{Documentation}}</noinclude> jv5gqr2m7uay4f83h608izpdpue1eou 9968 9967 2020-11-12T11:58:54Z meta>Verdy p 0 use bdi, and cipher the dots with vector image in the domain name part 9968 wikitext text/x-wiki <bdi dir="ltr" style="white-space:nowrap;{{#if:{{{nolook|{{{3|}}}}}}||font-size:12px;line-height:1.5;font-family:monospace}}">{{{1<noinclude>|account</noinclude>}}}[[File:At sign.svg|15x15px|middle|link=|alt=(at)]]{{#invoke:String|replace|{{{2<noinclude>|example.com</noinclude>}}}|.|[[File:Dot.svg|4x13px|middle|link=|alt=(dot)]]}}</bdi><noinclude>{{Documentation}}</noinclude> cr9oexjiu6l85oq37u5tey1fwxiv878 9969 9968 2020-11-12T12:01:08Z meta>Verdy p 0 9969 wikitext text/x-wiki <bdi dir="ltr" style="white-space:nowrap;{{#if:{{{nolook|{{{3|}}}}}}||font-size:12px;line-height:1.5;font-family:monospace}}">{{{1<noinclude>|account</noinclude>}}}[[File:At sign.svg|x15px|middle|link=|alt=(at)]]{{#invoke:String|replace|{{{2<noinclude>|example.com</noinclude>}}}|.|[[File:Dot.svg|x15px|middle|link=|alt=(dot)]]}}</bdi><noinclude>{{Documentation}}</noinclude> ilqmltczaspny201fao6bv27ydsn1en 9970 9969 2021-11-24T15:58:44Z meta>Krinkle 0 Use true symbols as alt text for easier copy-pasting. this still results in more or less the same HTML which seems unlikely to be scraped if the old one wasn't already scraped. This matches enwiki [[Template:No spam]]. 9970 wikitext text/x-wiki <bdi dir="ltr" style="white-space:nowrap;{{#if:{{{nolook|{{{3|}}}}}}||font-size:12px;line-height:1.5;font-family:monospace}}">{{{1<noinclude>|account</noinclude>}}}[[File:At sign.svg|x15px|middle|link=|alt=@]]{{#invoke:String|replace|{{{2<noinclude>|example.com</noinclude>}}}|.|[[File:Dot.svg|x15px|middle|link=|alt=.]]}}</bdi><noinclude>{{Documentation}}</noinclude> tk042xv1kibzidfpg46vt60wcild50n 9971 9970 2024-10-28T15:24:07Z meta>Null the Great 0 add support for dark version 9971 wikitext text/x-wiki <bdi dir="ltr" style="white-space:nowrap;{{#if:{{{nolook|{{{3|}}}}}}||font-size:12px;line-height:1.5;font-family:monospace}}">{{{1<noinclude>|account</noinclude>}}}[[File:At sign.svg|x15px|middle|link=|alt=@|class=skin-invert]]{{#invoke:String|replace|{{{2<noinclude>|example.com</noinclude>}}}|.|[[File:Dot.svg|x15px|middle|link=|alt=.|class=skin-invert]]}}</bdi><noinclude>{{Documentation}}</noinclude> hfb819xs14dldtgv4k3o9h9cgkqetvx 9972 9971 2024-11-22T19:34:12Z meta>Nemoralis 0 9972 wikitext text/x-wiki <bdi dir="ltr" style="white-space:nowrap;{{#if:{{{nolook|{{{3|}}}}}}||font-size:12px;line-height:1.5;font-family:monospace}}">{{{1<noinclude>|account</noinclude>}}}[[File:At sign.svg|x15px|middle|link=|alt=@|class=skin-invert-image]]{{#invoke:String|replace|{{{2<noinclude>|example.com</noinclude>}}}|.|[[File:Dot.svg|x15px|middle|link=|alt=.|class=skin-invert-image]]}}</bdi><noinclude>{{Documentation}}</noinclude> mp1bv8dh3cu3087u3fmllrucd6fagv9 9973 9972 2025-02-24T18:08:16Z meta>MusikBot II 0 Changed protection settings for "[[Template:Nospam]]": High-risk template or module ([[User:MusikBot II/TemplateProtector|more info]]) ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) 9972 wikitext text/x-wiki <bdi dir="ltr" style="white-space:nowrap;{{#if:{{{nolook|{{{3|}}}}}}||font-size:12px;line-height:1.5;font-family:monospace}}">{{{1<noinclude>|account</noinclude>}}}[[File:At sign.svg|x15px|middle|link=|alt=@|class=skin-invert-image]]{{#invoke:String|replace|{{{2<noinclude>|example.com</noinclude>}}}|.|[[File:Dot.svg|x15px|middle|link=|alt=.|class=skin-invert-image]]}}</bdi><noinclude>{{Documentation}}</noinclude> mp1bv8dh3cu3087u3fmllrucd6fagv9 9974 9973 2026-08-24T13:00:44Z RAPTOR7762 18 24 revisions imported from [[:meta:Template:Nospam]] 9972 wikitext text/x-wiki <bdi dir="ltr" style="white-space:nowrap;{{#if:{{{nolook|{{{3|}}}}}}||font-size:12px;line-height:1.5;font-family:monospace}}">{{{1<noinclude>|account</noinclude>}}}[[File:At sign.svg|x15px|middle|link=|alt=@|class=skin-invert-image]]{{#invoke:String|replace|{{{2<noinclude>|example.com</noinclude>}}}|.|[[File:Dot.svg|x15px|middle|link=|alt=.|class=skin-invert-image]]}}</bdi><noinclude>{{Documentation}}</noinclude> mp1bv8dh3cu3087u3fmllrucd6fagv9 Tempilet:Name 10 1253 10042 2022-06-28T14:42:45Z meta>Pols12 0 Created page with "<noinclude><languages/> {{documentation|content= == Usage == Displays the localized name of a product, trademark, service or any proper noun. This is useful in tables or infoboxes. You should avoid using it inside sentences, because the translation may change depending on grammatical case (especially for proper noun with articles). As first parameter you may give the full name or a short identifier from the following list (note it is case-sensitive): * Eventbrite: ev..." 10042 wikitext text/x-wiki <noinclude><languages/> {{documentation|content= == Usage == Displays the localized name of a product, trademark, service or any proper noun. This is useful in tables or infoboxes. You should avoid using it inside sentences, because the translation may change depending on grammatical case (especially for proper noun with articles). As first parameter you may give the full name or a short identifier from the following list (note it is case-sensitive): * Eventbrite: evtb * Facebook: fb * Google Forms: gforms * Google Meet: gmeet * LimeSurvey: limesurvey * Qualtrics: qual * QuickSurveys: qsurveys * Skype: skype * SurveyMonkey: surveymonkey * Twitter: tw * Zoom: zoom === Example === <code><nowiki>Used service: <tvar name=Service>{{name|qual}}</tvar></nowiki></code> gives "Used service: {{name|qual}}" in English == See also == * [[:Category:Common messages|Common messages category]]: other templates to localize common phrases [[Category:Common messages{{#translation:}}]] }} </noinclude>{{#switch:{{{1}}} | Eventbrite |evtb = <translate><!--T:1--> Eventbrite</translate> | Facebook |fb = <translate><!--T:2--> Facebook</translate> | Google Forms |gforms = <translate><!--T:3--> Google Forms</translate> | Google Meet |gmeet = <translate><!--T:4--> Google Meet</translate> | LimeSurvey |limesurvey = <translate><!--T:5--> LimeSurvey</translate> | Qualtrics |qual = <translate><!--T:6--> Qualtrics</translate> | QuickSurveys |qsurveys = <translate><!--T:7--> QuickSurveys</translate> | Skype |skype = <translate><!--T:8--> Skype</translate> | SurveyMonkey |surveymonkey = <translate><!--T:9--> SurveyMonkey</translate> | Twitter |tw = <translate><!--T:10--> Twitter</translate> | Zoom |zoom = <translate><!--T:11--> Zoom</translate> |#default = <span class="error">Unknown name given to {{tl|Name}}</span> }} ci57h83e4k98f6h0zakvkt9drndxlif 10043 10042 2022-06-28T16:01:33Z meta>Pols12 0 do not display the error when passing empty string 10043 wikitext text/x-wiki <noinclude><languages/> {{documentation|content= == Usage == Displays the localized name of a product, trademark, service or any proper noun. This is useful in tables or infoboxes. You should avoid using it inside sentences, because the translation may change depending on grammatical case (especially for proper noun with articles). As first parameter you may give the full name or a short identifier from the following list (note it is case-sensitive): * Eventbrite: evtb * Facebook: fb * Google Forms: gforms * Google Meet: gmeet * LimeSurvey: limesurvey * Qualtrics: qual * QuickSurveys: qsurveys * Skype: skype * SurveyMonkey: surveymonkey * Twitter: tw * Zoom: zoom === Example === <code><nowiki>Used service: <tvar name=Service>{{name|qual}}</tvar></nowiki></code> gives "Used service: {{name|qual}}" in English == See also == * [[:Category:Common messages|Common messages category]]: other templates to localize common phrases [[Category:Common messages{{#translation:}}]] }} </noinclude>{{#switch:{{{1}}} | Eventbrite |evtb = <translate><!--T:1--> Eventbrite</translate> | Facebook |fb = <translate><!--T:2--> Facebook</translate> | Google Forms |gforms = <translate><!--T:3--> Google Forms</translate> | Google Meet |gmeet = <translate><!--T:4--> Google Meet</translate> | LimeSurvey |limesurvey = <translate><!--T:5--> LimeSurvey</translate> | Qualtrics |qual = <translate><!--T:6--> Qualtrics</translate> | QuickSurveys |qsurveys = <translate><!--T:7--> QuickSurveys</translate> | Skype |skype = <translate><!--T:8--> Skype</translate> | SurveyMonkey |surveymonkey = <translate><!--T:9--> SurveyMonkey</translate> | Twitter |tw = <translate><!--T:10--> Twitter</translate> | Zoom |zoom = <translate><!--T:11--> Zoom</translate> | = |#default = <span class="error">Unknown name given to {{tl|Name}}</span> }} 4q9tp4mgvk35aqdtlhppc5baoa2p2xb 10044 10043 2022-07-16T16:31:58Z meta>Pols12 0 +Instagram 10044 wikitext text/x-wiki <noinclude><languages/> {{documentation|content= == Usage == Displays the localized name of a product, trademark, service or any proper noun. This is useful in tables or infoboxes. You should avoid using it inside sentences, because the translation may change depending on grammatical case (especially for proper noun with articles). As first parameter you may give the full name or a short identifier from the following list (note it is case-sensitive): * Eventbrite: evtb * Facebook: fb * Google Forms: gforms * Google Meet: gmeet * Instagram: insta * LimeSurvey: limesurvey * Qualtrics: qual * QuickSurveys: qsurveys * Skype: skype * SurveyMonkey: surveymonkey * Twitter: tw * Zoom: zoom === Example === <code><nowiki>Used service: <tvar name=Service>{{name|qual}}</tvar></nowiki></code> gives "Used service: {{name|qual}}" in English == See also == * [[:Category:Common messages|Common messages category]]: other templates to localize common phrases [[Category:Common messages{{#translation:}}]] }} </noinclude>{{#switch:{{{1}}} | Eventbrite |evtb = <translate><!--T:1--> Eventbrite</translate> | Facebook |fb = <translate><!--T:2--> Facebook</translate> | Google Forms |gforms = <translate><!--T:3--> Google Forms</translate> | Google Meet |gmeet = <translate><!--T:4--> Google Meet</translate> | Instagram | insta = <translate><!--T:12--> Instagram</translate> | LimeSurvey |limesurvey = <translate><!--T:5--> LimeSurvey</translate> | Qualtrics |qual = <translate><!--T:6--> Qualtrics</translate> | QuickSurveys |qsurveys = <translate><!--T:7--> QuickSurveys</translate> | Skype |skype = <translate><!--T:8--> Skype</translate> | SurveyMonkey |surveymonkey = <translate><!--T:9--> SurveyMonkey</translate> | Twitter |tw = <translate><!--T:10--> Twitter</translate> | Zoom |zoom = <translate><!--T:11--> Zoom</translate> | = |#default = <span class="error">Unknown name given to {{tl|Name}}, please add it to the template.</span> }} ppfh40obmvs41szb68tyqkeml1en37j 10045 10044 2022-07-19T09:36:57Z meta>Pols12 0 +Youtube 10045 wikitext text/x-wiki <noinclude><languages/> {{documentation|content= == Usage == Displays the localized name of a product, trademark, service or any proper noun. This is useful in tables or infoboxes. You should avoid using it inside sentences, because the translation may change depending on grammatical case (especially for proper noun with articles). As first parameter you may give the full name or a short identifier from the following list (note it is case-sensitive): * Eventbrite: evtb * Facebook: fb * Google Forms: gforms * Google Meet: gmeet * Instagram: insta * LimeSurvey: limesurvey * Qualtrics: qual * QuickSurveys: qsurveys * Skype: skype * SurveyMonkey: surveymonkey * Twitter: tw * YouTube : yt * Zoom: zoom === Example === <code><nowiki>Used service: <tvar name=Service>{{name|qual}}</tvar></nowiki></code> gives "Used service: {{name|qual}}" in English == See also == * [[:Category:Common messages|Common messages category]]: other templates to localize common phrases [[Category:Common messages{{#translation:}}]] }} </noinclude>{{#switch:{{{1}}} | Eventbrite |evtb = <translate><!--T:1--> Eventbrite</translate> | Facebook |fb = <translate><!--T:2--> Facebook</translate> | Google Forms |gforms = <translate><!--T:3--> Google Forms</translate> | Google Meet |gmeet = <translate><!--T:4--> Google Meet</translate> | Instagram | insta = <translate><!--T:12--> Instagram</translate> | LimeSurvey |limesurvey = <translate><!--T:5--> LimeSurvey</translate> | Qualtrics |qual = <translate><!--T:6--> Qualtrics</translate> | QuickSurveys |qsurveys = <translate><!--T:7--> QuickSurveys</translate> | Skype |skype = <translate><!--T:8--> Skype</translate> | SurveyMonkey |surveymonkey = <translate><!--T:9--> SurveyMonkey</translate> | Twitter |tw = <translate><!--T:10--> Twitter</translate> | YouTube | Youtube |yt = <translate><!--T:13--> YouTube</translate> | Zoom |zoom = <translate><!--T:11--> Zoom</translate> | = |#default = <span class="error">Unknown name given to {{tl|Name}}, please add it to the template.</span> }} r45a344bowii1dztepiczqibszrekri 10046 10045 2022-07-20T16:55:04Z meta>Pols12 0 +Etherpad 10046 wikitext text/x-wiki <noinclude><languages/> {{documentation|content= == Usage == Displays the localized name of a product, trademark, service or any proper noun. This is useful in tables or infoboxes. You should avoid using it inside sentences, because the translation may change depending on grammatical case (especially for proper noun with articles). As first parameter you may give the full name or a short identifier from the following list (note it is case-sensitive): * Etherpad: pad * Eventbrite: evtb * Facebook: fb * Google Forms: gforms * Google Meet: gmeet * Instagram: insta * LimeSurvey: limesurvey * Qualtrics: qual * QuickSurveys: qsurveys * Skype: skype * SurveyMonkey: surveymonkey * Twitter: tw * YouTube : yt * Zoom: zoom === Example === <code><nowiki>Used service: <tvar name=Service>{{name|qual}}</tvar></nowiki></code> gives "Used service: {{name|qual}}" in English == See also == * [[:Category:Common messages|Common messages category]]: other templates to localize common phrases [[Category:Common messages{{#translation:}}]] }} </noinclude>{{#switch:{{{1}}} | Etherpad |pad = <translate><!--T:14--> Etherpad</translate> | Eventbrite |evtb = <translate><!--T:1--> Eventbrite</translate> | Facebook |fb = <translate><!--T:2--> Facebook</translate> | Google Forms |gforms = <translate><!--T:3--> Google Forms</translate> | Google Meet |gmeet = <translate><!--T:4--> Google Meet</translate> | Instagram | insta = <translate><!--T:12--> Instagram</translate> | LimeSurvey |limesurvey = <translate><!--T:5--> LimeSurvey</translate> | Qualtrics |qual = <translate><!--T:6--> Qualtrics</translate> | QuickSurveys |qsurveys = <translate><!--T:7--> QuickSurveys</translate> | Skype |skype = <translate><!--T:8--> Skype</translate> | SurveyMonkey |surveymonkey = <translate><!--T:9--> SurveyMonkey</translate> | Twitter |tw = <translate><!--T:10--> Twitter</translate> | YouTube | Youtube |yt = <translate><!--T:13--> YouTube</translate> | Zoom |zoom = <translate><!--T:11--> Zoom</translate> | = |#default = <span class="error">Unknown name given to {{tl|Name}}, please add it to the template.</span> }} 2tmf1948h05bh1hb09d5z1951p6pkut 10047 10046 2022-08-06T09:46:19Z meta>Pols12 0 +quora 10047 wikitext text/x-wiki <noinclude><languages/> {{documentation|content= == Usage == Displays the localized name of a product, trademark, service or any proper noun. This is useful in tables or infoboxes. You should avoid using it inside sentences, because the translation may change depending on grammatical case (especially for proper noun with articles). As first parameter you may give the full name or a short identifier from the following list (note it is case-sensitive): * Etherpad: pad * Eventbrite: evtb * Facebook: fb * Google Forms: gforms * Google Meet: gmeet * Instagram: insta * LimeSurvey: limesurvey * Qualtrics: qual * QuickSurveys: qsurveys * Quora: quo * Skype: skype * SurveyMonkey: surveymonkey * Twitter: tw * YouTube : yt * Zoom: zoom === Example === <code><nowiki>Used service: <tvar name=Service>{{name|qual}}</tvar></nowiki></code> gives "Used service: {{name|qual}}" in English == See also == * [[:Category:Common messages|Common messages category]]: other templates to localize common phrases [[Category:Common messages{{#translation:}}]] }} </noinclude>{{#switch:{{{1}}} | Etherpad |pad = <translate><!--T:14--> Etherpad</translate> | Eventbrite |evtb = <translate><!--T:1--> Eventbrite</translate> | Facebook |fb = <translate><!--T:2--> Facebook</translate> | Google Forms |gforms = <translate><!--T:3--> Google Forms</translate> | Google Meet |gmeet = <translate><!--T:4--> Google Meet</translate> | Instagram | insta = <translate><!--T:12--> Instagram</translate> | LimeSurvey |limesurvey = <translate><!--T:5--> LimeSurvey</translate> | Qualtrics |qual = <translate><!--T:6--> Qualtrics</translate> | QuickSurveys |qsurveys = <translate><!--T:7--> QuickSurveys</translate> | Quora |quo = <translate><!--T:15--> Quora</translate> | Skype |skype = <translate><!--T:8--> Skype</translate> | SurveyMonkey |surveymonkey = <translate><!--T:9--> SurveyMonkey</translate> | Twitter |tw = <translate><!--T:10--> Twitter</translate> | YouTube | Youtube |yt = <translate><!--T:13--> YouTube</translate> | Zoom |zoom = <translate><!--T:11--> Zoom</translate> | = |#default = <span class="error">Unknown name given to {{tl|Name}}, please add it to the template.</span> }} h37rwgia15hfqliugtoklkqio9h7l6n 10048 10047 2022-08-06T13:24:14Z meta>Pols12 0 +Identi.ca 10048 wikitext text/x-wiki <noinclude><languages/> {{documentation|content= == Usage == Displays the localized name of a product, trademark, service or any proper noun. This is useful in tables or infoboxes. You should avoid using it inside sentences, because the translation may change depending on grammatical case (especially for proper noun with articles). As first parameter you may give the full name or a short identifier from the following list (note it is case-sensitive): * Etherpad: pad * Eventbrite: evtb * Facebook: fb * Google Forms: gforms * Google Meet: gmeet * Identi.ca: ica * Instagram: insta * LimeSurvey: limesurvey * Qualtrics: qual * QuickSurveys: qsurveys * Quora: quo * Skype: skype * SurveyMonkey: surveymonkey * Twitter: tw * YouTube : yt * Zoom: zoom === Example === <code><nowiki>Used service: <tvar name=Service>{{name|qual}}</tvar></nowiki></code> gives "Used service: {{name|qual}}" in English == See also == * [[:Category:Common messages|Common messages category]]: other templates to localize common phrases [[Category:Common messages{{#translation:}}]] }} </noinclude>{{#switch:{{{1}}} | Etherpad |pad = <translate><!--T:14--> Etherpad</translate> | Eventbrite |evtb = <translate><!--T:1--> Eventbrite</translate> | Facebook |fb = <translate><!--T:2--> Facebook</translate> | Google Forms |gforms = <translate><!--T:3--> Google Forms</translate> | Google Meet |gmeet = <translate><!--T:4--> Google Meet</translate> | Identi.ca |Identica |ica <translate><!--T:16--> Identi.ca</translate> | Instagram |insta = <translate><!--T:12--> Instagram</translate> | LimeSurvey |limesurvey = <translate><!--T:5--> LimeSurvey</translate> | Qualtrics |qual = <translate><!--T:6--> Qualtrics</translate> | QuickSurveys |qsurveys = <translate><!--T:7--> QuickSurveys</translate> | Quora |quo = <translate><!--T:15--> Quora</translate> | Skype |skype = <translate><!--T:8--> Skype</translate> | SurveyMonkey |surveymonkey = <translate><!--T:9--> SurveyMonkey</translate> | Twitter |tw = <translate><!--T:10--> Twitter</translate> | YouTube | Youtube |yt = <translate><!--T:13--> YouTube</translate> | Zoom |zoom = <translate><!--T:11--> Zoom</translate> | = |#default = <span class="error">Unknown name given to {{tl|Name}}, please add it to the template.</span> }} m0nr3rej1dcfdvof7iol25rumj3cpfi 10049 10048 2022-08-06T14:33:48Z meta>Pols12 0 nowrap: wrapping is mostly useless and may cause big issues 10049 wikitext text/x-wiki <noinclude><languages/> {{documentation|content= == Usage == Displays the localized name of a product, trademark, service or any proper noun. This is useful in tables or infoboxes. You should avoid using it inside sentences, because the translation may change depending on grammatical case (especially for proper noun with articles). As first parameter you may give the full name or a short identifier from the following list (note it is case-sensitive): * Etherpad: pad * Eventbrite: evtb * Facebook: fb * Google Forms: gforms * Google Meet: gmeet * Identi.ca: ica * Instagram: insta * LimeSurvey: limesurvey * Qualtrics: qual * QuickSurveys: qsurveys * Quora: quo * Skype: skype * SurveyMonkey: surveymonkey * Twitter: tw * YouTube : yt * Zoom: zoom === Example === <code><nowiki>Used service: <tvar name=Service>{{name|qual}}</tvar></nowiki></code> gives "Used service: {{name|qual}}" in English == See also == * [[:Category:Common messages|Common messages category]]: other templates to localize common phrases [[Category:Common messages{{#translation:}}]] }} </noinclude>{{#switch:{{{1}}} | Etherpad |pad = <translate nowrap><!--T:14--> Etherpad</translate> | Eventbrite |evtb = <translate nowrap><!--T:1--> Eventbrite</translate> | Facebook |fb = <translate nowrap><!--T:2--> Facebook</translate> | Google Forms |gforms = <translate nowrap><!--T:3--> Google Forms</translate> | Google Meet |gmeet = <translate nowrap><!--T:4--> Google Meet</translate> | Identi.ca |Identica |ica <translate nowrap><!--T:16--> Identi.ca</translate> | Instagram |insta = <translate nowrap><!--T:12--> Instagram</translate> | LimeSurvey |limesurvey = <translate nowrap><!--T:5--> LimeSurvey</translate> | Qualtrics |qual = <translate nowrap><!--T:6--> Qualtrics</translate> | QuickSurveys |qsurveys = <translate nowrap><!--T:7--> QuickSurveys</translate> | Quora |quo = <translate nowrap><!--T:15--> Quora</translate> | Skype |skype = <translate nowrap><!--T:8--> Skype</translate> | SurveyMonkey |surveymonkey = <translate nowrap><!--T:9--> SurveyMonkey</translate> | Twitter |tw = <translate nowrap><!--T:10--> Twitter</translate> | YouTube | Youtube |yt = <translate nowrap><!--T:13--> YouTube</translate> | Zoom |zoom = <translate nowrap><!--T:11--> Zoom</translate> | = |#default = <span class="error">Unknown name given to {{tl|Name}}, please add it to the template.</span> }} kep0z8dmyhn5gs8ozuywqblphbtjlr7 10050 10049 2022-09-26T16:48:45Z meta>GVarnum-WMF 0 {{Help translate/Common messages}} 10050 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|content= == Usage == Displays the localized name of a product, trademark, service or any proper noun. This is useful in tables or infoboxes. You should avoid using it inside sentences, because the translation may change depending on grammatical case (especially for proper noun with articles). As first parameter you may give the full name or a short identifier from the following list (note it is case-sensitive): * Etherpad: pad * Eventbrite: evtb * Facebook: fb * Google Forms: gforms * Google Meet: gmeet * Identi.ca: ica * Instagram: insta * LimeSurvey: limesurvey * Qualtrics: qual * QuickSurveys: qsurveys * Quora: quo * Skype: skype * SurveyMonkey: surveymonkey * Twitter: tw * YouTube : yt * Zoom: zoom === Example === <code><nowiki>Used service: <tvar name=Service>{{name|qual}}</tvar></nowiki></code> gives "Used service: {{name|qual}}" in English == See also == * [[:Category:Common messages|Common messages category]]: other templates to localize common phrases [[Category:Common messages{{#translation:}}]] }} </noinclude>{{#switch:{{{1}}} | Etherpad |pad = <translate nowrap><!--T:14--> Etherpad</translate> | Eventbrite |evtb = <translate nowrap><!--T:1--> Eventbrite</translate> | Facebook |fb = <translate nowrap><!--T:2--> Facebook</translate> | Google Forms |gforms = <translate nowrap><!--T:3--> Google Forms</translate> | Google Meet |gmeet = <translate nowrap><!--T:4--> Google Meet</translate> | Identi.ca |Identica |ica <translate nowrap><!--T:16--> Identi.ca</translate> | Instagram |insta = <translate nowrap><!--T:12--> Instagram</translate> | LimeSurvey |limesurvey = <translate nowrap><!--T:5--> LimeSurvey</translate> | Qualtrics |qual = <translate nowrap><!--T:6--> Qualtrics</translate> | QuickSurveys |qsurveys = <translate nowrap><!--T:7--> QuickSurveys</translate> | Quora |quo = <translate nowrap><!--T:15--> Quora</translate> | Skype |skype = <translate nowrap><!--T:8--> Skype</translate> | SurveyMonkey |surveymonkey = <translate nowrap><!--T:9--> SurveyMonkey</translate> | Twitter |tw = <translate nowrap><!--T:10--> Twitter</translate> | YouTube | Youtube |yt = <translate nowrap><!--T:13--> YouTube</translate> | Zoom |zoom = <translate nowrap><!--T:11--> Zoom</translate> | = |#default = <span class="error">Unknown name given to {{tl|Name}}, please add it to the template.</span> }} rii20kaeq0ltq824qa2p2pcb5hxfc1d 10051 10050 2022-09-26T18:22:03Z meta>GVarnum-WMF 0 +Creative Commons 10051 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|content= == Usage == Displays the localized name of a product, trademark, service or any proper noun. This is useful in tables or infoboxes. You should avoid using it inside sentences, because the translation may change depending on grammatical case (especially for proper noun with articles). As first parameter you may give the full name or a short identifier from the following list (note it is case-sensitive): * Creative Commons: cc * Etherpad: pad * Eventbrite: evtb * Facebook: fb * Google Forms: gforms * Google Meet: gmeet * Identi.ca: ica * Instagram: insta * LimeSurvey: limesurvey * Qualtrics: qual * QuickSurveys: qsurveys * Quora: quo * Skype: skype * SurveyMonkey: surveymonkey * Twitter: tw * YouTube : yt * Zoom: zoom === Example === <code><nowiki>Used service: <tvar name=Service>{{name|qual}}</tvar></nowiki></code> gives "Used service: {{name|qual}}" in English == See also == * [[:Category:Common messages|Common messages category]]: other templates to localize common phrases [[Category:Common messages{{#translation:}}]] }} </noinclude>{{#switch:{{{1}}} | Creative Commons |cc = <translate nowrap>Creative Commons</translate> | Etherpad |pad = <translate nowrap><!--T:14--> Etherpad</translate> | Eventbrite |evtb = <translate nowrap><!--T:1--> Eventbrite</translate> | Facebook |fb = <translate nowrap><!--T:2--> Facebook</translate> | Google Forms |gforms = <translate nowrap><!--T:3--> Google Forms</translate> | Google Meet |gmeet = <translate nowrap><!--T:4--> Google Meet</translate> | Identi.ca |Identica |ica <translate nowrap><!--T:16--> Identi.ca</translate> | Instagram |insta = <translate nowrap><!--T:12--> Instagram</translate> | LimeSurvey |limesurvey = <translate nowrap><!--T:5--> LimeSurvey</translate> | Qualtrics |qual = <translate nowrap><!--T:6--> Qualtrics</translate> | QuickSurveys |qsurveys = <translate nowrap><!--T:7--> QuickSurveys</translate> | Quora |quo = <translate nowrap><!--T:15--> Quora</translate> | Skype |skype = <translate nowrap><!--T:8--> Skype</translate> | SurveyMonkey |surveymonkey = <translate nowrap><!--T:9--> SurveyMonkey</translate> | Twitter |tw = <translate nowrap><!--T:10--> Twitter</translate> | YouTube | Youtube |yt = <translate nowrap><!--T:13--> YouTube</translate> | Zoom |zoom = <translate nowrap><!--T:11--> Zoom</translate> | = |#default = <span class="error">Unknown name given to {{tl|Name}}, please add it to the template.</span> }} l10vlc8it7znuusoypfnc5cax36o4b2 10052 10051 2022-09-26T18:22:09Z meta>GVarnum-WMF 0 Marked this version for translation 10052 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|content= == Usage == Displays the localized name of a product, trademark, service or any proper noun. This is useful in tables or infoboxes. You should avoid using it inside sentences, because the translation may change depending on grammatical case (especially for proper noun with articles). As first parameter you may give the full name or a short identifier from the following list (note it is case-sensitive): * Creative Commons: cc * Etherpad: pad * Eventbrite: evtb * Facebook: fb * Google Forms: gforms * Google Meet: gmeet * Identi.ca: ica * Instagram: insta * LimeSurvey: limesurvey * Qualtrics: qual * QuickSurveys: qsurveys * Quora: quo * Skype: skype * SurveyMonkey: surveymonkey * Twitter: tw * YouTube : yt * Zoom: zoom === Example === <code><nowiki>Used service: <tvar name=Service>{{name|qual}}</tvar></nowiki></code> gives "Used service: {{name|qual}}" in English == See also == * [[:Category:Common messages|Common messages category]]: other templates to localize common phrases [[Category:Common messages{{#translation:}}]] }} </noinclude>{{#switch:{{{1}}} | Creative Commons |cc = <translate nowrap><!--T:17--> Creative Commons</translate> | Etherpad |pad = <translate nowrap><!--T:14--> Etherpad</translate> | Eventbrite |evtb = <translate nowrap><!--T:1--> Eventbrite</translate> | Facebook |fb = <translate nowrap><!--T:2--> Facebook</translate> | Google Forms |gforms = <translate nowrap><!--T:3--> Google Forms</translate> | Google Meet |gmeet = <translate nowrap><!--T:4--> Google Meet</translate> | Identi.ca |Identica |ica <translate nowrap><!--T:16--> Identi.ca</translate> | Instagram |insta = <translate nowrap><!--T:12--> Instagram</translate> | LimeSurvey |limesurvey = <translate nowrap><!--T:5--> LimeSurvey</translate> | Qualtrics |qual = <translate nowrap><!--T:6--> Qualtrics</translate> | QuickSurveys |qsurveys = <translate nowrap><!--T:7--> QuickSurveys</translate> | Quora |quo = <translate nowrap><!--T:15--> Quora</translate> | Skype |skype = <translate nowrap><!--T:8--> Skype</translate> | SurveyMonkey |surveymonkey = <translate nowrap><!--T:9--> SurveyMonkey</translate> | Twitter |tw = <translate nowrap><!--T:10--> Twitter</translate> | YouTube | Youtube |yt = <translate nowrap><!--T:13--> YouTube</translate> | Zoom |zoom = <translate nowrap><!--T:11--> Zoom</translate> | = |#default = <span class="error">Unknown name given to {{tl|Name}}, please add it to the template.</span> }} sbn4hiel2u94k4zmvu4w1cwyhalp2ry 10053 10052 2022-09-26T18:26:53Z meta>GVarnum-WMF 0 {{merge|Template:Int string}} 10053 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{merge|Template:Int string}} {{documentation|content= == Usage == Displays the localized name of a product, trademark, service or any proper noun. This is useful in tables or infoboxes. You should avoid using it inside sentences, because the translation may change depending on grammatical case (especially for proper noun with articles). As first parameter you may give the full name or a short identifier from the following list (note it is case-sensitive): * Creative Commons: cc * Etherpad: pad * Eventbrite: evtb * Facebook: fb * Google Forms: gforms * Google Meet: gmeet * Identi.ca: ica * Instagram: insta * LimeSurvey: limesurvey * Qualtrics: qual * QuickSurveys: qsurveys * Quora: quo * Skype: skype * SurveyMonkey: surveymonkey * Twitter: tw * YouTube : yt * Zoom: zoom === Example === <code><nowiki>Used service: <tvar name=Service>{{name|qual}}</tvar></nowiki></code> gives "Used service: {{name|qual}}" in English == See also == * [[:Category:Common messages|Common messages category]]: other templates to localize common phrases [[Category:Common messages{{#translation:}}]] }} </noinclude>{{#switch:{{{1}}} | Creative Commons |cc = <translate nowrap><!--T:17--> Creative Commons</translate> | Etherpad |pad = <translate nowrap><!--T:14--> Etherpad</translate> | Eventbrite |evtb = <translate nowrap><!--T:1--> Eventbrite</translate> | Facebook |fb = <translate nowrap><!--T:2--> Facebook</translate> | Google Forms |gforms = <translate nowrap><!--T:3--> Google Forms</translate> | Google Meet |gmeet = <translate nowrap><!--T:4--> Google Meet</translate> | Identi.ca |Identica |ica <translate nowrap><!--T:16--> Identi.ca</translate> | Instagram |insta = <translate nowrap><!--T:12--> Instagram</translate> | LimeSurvey |limesurvey = <translate nowrap><!--T:5--> LimeSurvey</translate> | Qualtrics |qual = <translate nowrap><!--T:6--> Qualtrics</translate> | QuickSurveys |qsurveys = <translate nowrap><!--T:7--> QuickSurveys</translate> | Quora |quo = <translate nowrap><!--T:15--> Quora</translate> | Skype |skype = <translate nowrap><!--T:8--> Skype</translate> | SurveyMonkey |surveymonkey = <translate nowrap><!--T:9--> SurveyMonkey</translate> | Twitter |tw = <translate nowrap><!--T:10--> Twitter</translate> | YouTube | Youtube |yt = <translate nowrap><!--T:13--> YouTube</translate> | Zoom |zoom = <translate nowrap><!--T:11--> Zoom</translate> | = |#default = <span class="error">Unknown name given to {{tl|Name}}, please add it to the template.</span> }} r7zcz79q3lyax1jtmpkusib97gyrv6u 10054 10053 2022-09-26T22:44:39Z meta>GVarnum-WMF 0 setup as redirect to [[Template:Int string]] 10054 wikitext text/x-wiki #REDIRECT [[Template:Int string]] evrvl2aaq0rvsshude99bbbbtl7glss 10055 10054 2022-09-26T22:47:01Z meta>GVarnum-WMF 0 wrapper for {{Int string}} 10055 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|content= == Usage == Displays the localized name of a product, trademark, service or any proper noun. This is useful in tables or infoboxes. You should avoid using it inside sentences, because the translation may change depending on grammatical case (especially for proper noun with articles). Managed by use of the {{tl|Int string}} template. === Example === <code><nowiki>Used service: <tvar name=Service>{{name|qual}}</tvar></nowiki></code> gives "Used service: {{name|qual}}" in English == See also == * [[:Category:Common messages|Common messages category]]: other templates to localize common phrases [[Category:Common messages{{#translation:}}]] }} </noinclude><includeonly>{{Int string|1={{{1}}}}}</includeonly> ceszedrb80wyou7ykr5koouym98ogm6 10056 10055 2022-09-26T22:47:51Z meta>GVarnum-WMF 0 formatting 10056 wikitext text/x-wiki <noinclude> {{documentation|content= == Usage == {{Help translate/Common messages}} Displays the localized name of a product, trademark, service or any proper noun. This is useful in tables or infoboxes. You should avoid using it inside sentences, because the translation may change depending on grammatical case (especially for proper noun with articles). Managed by use of the {{tl|Int string}} template. === Example === <code><nowiki>Used service: <tvar name=Service>{{name|qual}}</tvar></nowiki></code> gives "Used service: {{name|qual}}" in English == See also == * [[:Category:Common messages|Common messages category]]: other templates to localize common phrases [[Category:Common messages{{#translation:}}]] }} </noinclude><includeonly>{{Int string|1={{{1}}}}}</includeonly> ntzy06u3djwa2his8n3rtjwu1vqenci 10057 10056 2022-09-26T23:16:11Z meta>GVarnum-WMF 0 Redirect to [[Template:Int string]] 10057 wikitext text/x-wiki #REDIRECT [[Template:Int string]] evrvl2aaq0rvsshude99bbbbtl7glss 10058 10057 2023-11-29T18:02:08Z meta>MusikBot II 0 Protected "[[Template:Name]]": High-risk template or module ([[User:MusikBot II/TemplateProtector|more info]]) ([Edit=Allow only autoconfirmed users] (indefinite)) 10057 wikitext text/x-wiki #REDIRECT [[Template:Int string]] evrvl2aaq0rvsshude99bbbbtl7glss 10059 10058 2026-08-24T13:00:45Z RAPTOR7762 18 17 revisions imported from [[:meta:Template:Name]] 10057 wikitext text/x-wiki #REDIRECT [[Template:Int string]] evrvl2aaq0rvsshude99bbbbtl7glss Tempilet:Int string 10 1254 10060 2022-09-24T20:19:12Z meta>GVarnum-WMF 0 Created page with "<noinclude> <languages /> </noinclude> <includeonly> {{#switch: {{{1|}}} </includeonly> | Home = <translate>Home</translate> | MediaWiki = <translate>MediaWiki</translate> | Resources = <translate>Resources</translate> | Wikimedia = <translate>Wikimedia</translate> | Wikimedia Foundation = <translate>Wikimedia Foundation</translate> <includeonly> }} </includeonly><noinclude> {{doc}} </noinclude>" 10060 wikitext text/x-wiki <noinclude> <languages /> </noinclude> <includeonly> {{#switch: {{{1|}}} </includeonly> | Home = <translate>Home</translate> | MediaWiki = <translate>MediaWiki</translate> | Resources = <translate>Resources</translate> | Wikimedia = <translate>Wikimedia</translate> | Wikimedia Foundation = <translate>Wikimedia Foundation</translate> <includeonly> }} </includeonly><noinclude> {{doc}} </noinclude> h8kltw1bcxa4zycyk3jomgu5bujuvu5 10061 10060 2022-09-24T20:19:34Z meta>GVarnum-WMF 0 10061 wikitext text/x-wiki <noinclude> <languages /> </noinclude> <includeonly> {{#switch: {{{1|}}} </includeonly> | Home = <translate>Home</translate> | MediaWiki = <translate>MediaWiki</translate> | Resources = <translate>Resources</translate> | Wikimedia = <translate>Wikimedia</translate> | Wikimedia Foundation = <translate>Wikimedia Foundation</translate> <includeonly> }} </includeonly><noinclude> {{doc}} </noinclude> 5uq8jyr4hkc7qkujgd6op9j9w06uvkg 10062 10061 2022-09-24T20:19:49Z meta>GVarnum-WMF 0 {{draft}} 10062 wikitext text/x-wiki <noinclude> {{draft}} <languages /> </noinclude> <includeonly> {{#switch: {{{1|}}} </includeonly> | Home = <translate>Home</translate> | MediaWiki = <translate>MediaWiki</translate> | Resources = <translate>Resources</translate> | Wikimedia = <translate>Wikimedia</translate> | Wikimedia Foundation = <translate>Wikimedia Foundation</translate> <includeonly> }} </includeonly><noinclude> {{doc}} </noinclude> jgms4gjl7ytuf2fbq3bhklad3dvp24i 10063 10062 2022-09-24T20:19:56Z meta>GVarnum-WMF 0 Marked this version for translation 10063 wikitext text/x-wiki <noinclude> {{draft}} <languages /> </noinclude> <includeonly> {{#switch: {{{1|}}} </includeonly> | Home = <translate><!--T:1--> Home</translate> | MediaWiki = <translate><!--T:2--> MediaWiki</translate> | Resources = <translate><!--T:3--> Resources</translate> | Wikimedia = <translate><!--T:4--> Wikimedia</translate> | Wikimedia Foundation = <translate><!--T:5--> Wikimedia Foundation</translate> <includeonly> }} </includeonly><noinclude> {{doc}} </noinclude> b1fw5utznnvap7cckcjd09av5edpad4 10064 10063 2022-09-24T20:24:17Z meta>GVarnum-WMF 0 Protected "[[Template:Int content]]": Highly transcluded template: Potential long-term usage/concerns ([Edit=Allow only autoconfirmed users] (indefinite) [Move=Allow only administrators] (indefinite)) 10063 wikitext text/x-wiki <noinclude> {{draft}} <languages /> </noinclude> <includeonly> {{#switch: {{{1|}}} </includeonly> | Home = <translate><!--T:1--> Home</translate> | MediaWiki = <translate><!--T:2--> MediaWiki</translate> | Resources = <translate><!--T:3--> Resources</translate> | Wikimedia = <translate><!--T:4--> Wikimedia</translate> | Wikimedia Foundation = <translate><!--T:5--> Wikimedia Foundation</translate> <includeonly> }} </includeonly><noinclude> {{doc}} </noinclude> b1fw5utznnvap7cckcjd09av5edpad4 10065 10064 2022-09-24T20:32:01Z meta>GVarnum-WMF 0 more terms added using {{int:}} 10065 wikitext text/x-wiki <noinclude> {{draft}} <languages /> </noinclude> <includeonly> {{#switch: {{{1|}}} </includeonly> | Home = <translate><!--T:1--> Home</translate> | MediaWiki = {{int:project-localized-name-mediawikiwiki}} | Resources = <translate><!--T:3--> Resources</translate> | Wikidata = {{int:project-localized-name-wikidatawiki}} | Wikimedia = <translate><!--T:4--> Wikimedia</translate> | Wikimedia Foundation = <translate><!--T:5--> Wikimedia Foundation</translate> <includeonly> }} </includeonly><noinclude> {{doc}} </noinclude> a25d310vfko13muh0f0e5gi8bxxw8ui 10066 10065 2022-09-24T20:46:30Z meta>GVarnum-WMF 0 more strings 10066 wikitext text/x-wiki <noinclude> {{draft}} <languages /> </noinclude> <includeonly> {{#switch: {{{1|}}} </includeonly> | Hello = {{int:hello}} | Home = <translate><!--T:1--> Home</translate> | MediaWiki = {{int:project-localized-name-mediawikiwiki}} | Resources = <translate><!--T:3--> Resources</translate> | Thank you = {{int:thank-you}} | Wikidata = {{int:project-localized-name-wikidatawiki}} | Wikimedia = <translate><!--T:4--> Wikimedia</translate> | Wikimedia Foundation = <translate><!--T:5--> Wikimedia Foundation</translate> <includeonly> }} </includeonly><noinclude> {{doc}} </noinclude> ntbc2fnyenc03cijhr1r5xojy50frw0 10067 10066 2022-09-24T20:48:42Z meta>GVarnum-WMF 0 more strings from {{int:}} 10067 wikitext text/x-wiki <noinclude> {{draft}} <languages /> </noinclude> <includeonly> {{#switch: {{{1|}}} </includeonly> | Feedback = {{int:specialblockfeedback}} | Hello = {{int:hello}} | Home = <translate><!--T:1--> Home</translate> | Leave Feedback = {{int:specialinvestigate-feedback}} | MediaWiki = {{int:project-localized-name-mediawikiwiki}} | Resources = <translate><!--T:3--> Resources</translate> | Thank you = {{int:thank-you}} | Wikidata = {{int:project-localized-name-wikidatawiki}} | Wikimedia = <translate><!--T:4--> Wikimedia</translate> | Wikimedia Foundation = <translate><!--T:5--> Wikimedia Foundation</translate> <includeonly> }} </includeonly><noinclude> {{doc}} </noinclude> 45bog9lokqlh3za09mmfqnxfpgxq0jm 10068 10067 2022-09-24T20:55:56Z meta>GVarnum-WMF 0 additional strings 10068 wikitext text/x-wiki <noinclude> {{draft}} <languages /> </noinclude> <includeonly> {{#switch: {{{1|}}} </includeonly> | Commons = <translate>Commons</translate> | Creative Commons = <translate>Creative Commons</translate> | Feedback = {{int:specialblockfeedback}} | Hello = {{int:hello}} | Home = <translate><!--T:1--> Home</translate> | Leave Feedback = {{int:specialinvestigate-feedback}} | MediaWiki = {{int:project-localized-name-mediawikiwiki}} | Meta-Wiki = {{int:project-localized-name-metawiki}} | Resources = <translate><!--T:3--> Resources</translate> | Thank you = {{int:thank-you}} | Wikibooks = <translate>Wikibooks</translate> | Wikidata = {{int:project-localized-name-wikidatawiki}} | Wikimedia = <translate><!--T:4--> Wikimedia</translate> | Wikimedia Commons = {{int:project-localized-name-commonswiki}} | Wikimedia Foundation = <translate><!--T:5--> Wikimedia Foundation</translate> | Wikimedia Incubator = {{int:project-localized-name-incubatorwiki}} | Wikinews = <translate>Wikinews</translate> | Wikiquote = <translate>Wikiquote</translate> | Wikisource = <translate>Wikisource</translate> | Wikispecies = {{int:project-localized-name-specieswiki}} | Wikitech = {{int:project-localized-name-labswiki}} | Wikiversity = <translate>Wikiversity</translate> | Wikivoyage = <translate>Wikivoyage</translate> | Wiktionary = <translate>Wiktionary</translate> | <includeonly> }} </includeonly><noinclude> {{doc}} </noinclude> rfc1samme8k09to4wr5vhdpp15in38y 10069 10068 2022-09-24T20:56:11Z meta>GVarnum-WMF 0 Marked this version for translation 10069 wikitext text/x-wiki <noinclude> {{draft}} <languages /> </noinclude> <includeonly> {{#switch: {{{1|}}} </includeonly> | Commons = <translate><!--T:6--> Commons</translate> | Creative Commons = <translate><!--T:7--> Creative Commons</translate> | Feedback = {{int:specialblockfeedback}} | Hello = {{int:hello}} | Home = <translate><!--T:1--> Home</translate> | Leave Feedback = {{int:specialinvestigate-feedback}} | MediaWiki = {{int:project-localized-name-mediawikiwiki}} | Meta-Wiki = {{int:project-localized-name-metawiki}} | Resources = <translate><!--T:3--> Resources</translate> | Thank you = {{int:thank-you}} | Wikibooks = <translate><!--T:8--> Wikibooks</translate> | Wikidata = {{int:project-localized-name-wikidatawiki}} | Wikimedia = <translate><!--T:4--> Wikimedia</translate> | Wikimedia Commons = {{int:project-localized-name-commonswiki}} | Wikimedia Foundation = <translate><!--T:5--> Wikimedia Foundation</translate> | Wikimedia Incubator = {{int:project-localized-name-incubatorwiki}} | Wikinews = <translate><!--T:9--> Wikinews</translate> | Wikiquote = <translate><!--T:10--> Wikiquote</translate> | Wikisource = <translate><!--T:11--> Wikisource</translate> | Wikispecies = {{int:project-localized-name-specieswiki}} | Wikitech = {{int:project-localized-name-labswiki}} | Wikiversity = <translate><!--T:12--> Wikiversity</translate> | Wikivoyage = <translate><!--T:13--> Wikivoyage</translate> | Wiktionary = <translate><!--T:14--> Wiktionary</translate> | <includeonly> }} </includeonly><noinclude> {{doc}} </noinclude> 96v9wersb1ey4sbw1y0569kni7nvu6o 10070 10069 2022-09-24T21:00:47Z meta>GVarnum-WMF 0 social media string 10070 wikitext text/x-wiki <noinclude> {{draft}} <languages /> </noinclude> <includeonly> {{#switch: {{{1|}}} </includeonly> | Commons = <translate><!--T:6--> Commons</translate> | Creative Commons = <translate><!--T:7--> Creative Commons</translate> | Facebook = <translate>Facebook</translate> | Feedback = {{int:specialblockfeedback}} | Hello = {{int:hello}} | Home = <translate><!--T:1--> Home</translate> | Instagram = <translate>Instagram</translate> | Leave Feedback = {{int:specialinvestigate-feedback}} | LinkedIn = <translate>LinkedIn</translate> | MediaWiki = {{int:project-localized-name-mediawikiwiki}} | Meta-Wiki = {{int:project-localized-name-metawiki}} | Resources = <translate><!--T:3--> Resources</translate> | Thank you = {{int:thank-you}} | Twitter = <translate>Twitter</translate> | Wikibooks = <translate><!--T:8--> Wikibooks</translate> | Wikidata = {{int:project-localized-name-wikidatawiki}} | Wikimedia = <translate><!--T:4--> Wikimedia</translate> | Wikimedia Commons = {{int:project-localized-name-commonswiki}} | Wikimedia Foundation = <translate><!--T:5--> Wikimedia Foundation</translate> | Wikimedia Incubator = {{int:project-localized-name-incubatorwiki}} | Wikinews = <translate><!--T:9--> Wikinews</translate> | Wikiquote = <translate><!--T:10--> Wikiquote</translate> | Wikisource = <translate><!--T:11--> Wikisource</translate> | Wikispecies = {{int:project-localized-name-specieswiki}} | Wikitech = {{int:project-localized-name-labswiki}} | Wikiversity = <translate><!--T:12--> Wikiversity</translate> | Wikivoyage = <translate><!--T:13--> Wikivoyage</translate> | Wiktionary = <translate><!--T:14--> Wiktionary</translate> | <includeonly> }} </includeonly><noinclude> {{doc}} </noinclude> mdyahifzfuirpoit0751evt7drh5dlj 10071 10070 2022-09-24T21:13:52Z meta>GVarnum-WMF 0 Marked this version for translation 10071 wikitext text/x-wiki <noinclude> {{draft}} <languages /> </noinclude> <includeonly> {{#switch: {{{1|}}} </includeonly> | Commons = <translate><!--T:6--> Commons</translate> | Creative Commons = <translate><!--T:7--> Creative Commons</translate> | Facebook = <translate><!--T:15--> Facebook</translate> | Feedback = {{int:specialblockfeedback}} | Hello = {{int:hello}} | Home = <translate><!--T:1--> Home</translate> | Instagram = <translate><!--T:16--> Instagram</translate> | Leave Feedback = {{int:specialinvestigate-feedback}} | LinkedIn = <translate><!--T:17--> LinkedIn</translate> | MediaWiki = {{int:project-localized-name-mediawikiwiki}} | Meta-Wiki = {{int:project-localized-name-metawiki}} | Resources = <translate><!--T:3--> Resources</translate> | Thank you = {{int:thank-you}} | Twitter = <translate><!--T:18--> Twitter</translate> | Wikibooks = <translate><!--T:8--> Wikibooks</translate> | Wikidata = {{int:project-localized-name-wikidatawiki}} | Wikimedia = <translate><!--T:4--> Wikimedia</translate> | Wikimedia Commons = {{int:project-localized-name-commonswiki}} | Wikimedia Foundation = <translate><!--T:5--> Wikimedia Foundation</translate> | Wikimedia Incubator = {{int:project-localized-name-incubatorwiki}} | Wikinews = <translate><!--T:9--> Wikinews</translate> | Wikiquote = <translate><!--T:10--> Wikiquote</translate> | Wikisource = <translate><!--T:11--> Wikisource</translate> | Wikispecies = {{int:project-localized-name-specieswiki}} | Wikitech = {{int:project-localized-name-labswiki}} | Wikiversity = <translate><!--T:12--> Wikiversity</translate> | Wikivoyage = <translate><!--T:13--> Wikivoyage</translate> | Wiktionary = <translate><!--T:14--> Wiktionary</translate> | <includeonly> }} </includeonly><noinclude> {{doc}} </noinclude> 165jd1loxr2f3lrdzwy7i2snpmkzd8e 10072 10071 2022-09-24T21:17:14Z meta>GVarnum-WMF 0 additional strings 10072 wikitext text/x-wiki <noinclude> {{draft}} <languages /> </noinclude> <includeonly> {{#switch: {{{1|}}} </includeonly> | Commons = <translate><!--T:6--> Commons</translate> | Connect = <translate>Connect</translate> | Contribute = <translate>Contribute</translate> | Creative Commons = <translate><!--T:7--> Creative Commons</translate> | Facebook = <translate><!--T:15--> Facebook</translate> | Feedback = {{int:specialblockfeedback}} | Frequently asked questions = <translate>Frequently asked questions</translate> | Hello = {{int:hello}} | Home = <translate><!--T:1--> Home</translate> | Instagram = <translate><!--T:16--> Instagram</translate> | Leave Feedback = {{int:specialinvestigate-feedback}} | LinkedIn = <translate><!--T:17--> LinkedIn</translate> | Plan = <translate>Plan</translate> | MediaWiki = {{int:project-localized-name-mediawikiwiki}} | Meta-Wiki = {{int:project-localized-name-metawiki}} | Projects = <translate>Projects</translate> | References = <translate>References</translate> | Research = <translate>Research</translate> | Resources = <translate><!--T:3--> Resources</translate> | See also = <translate>See also</translate> | Start = <translate>Start</translate> | Thank you = {{int:thank-you}} | Twitter = <translate><!--T:18--> Twitter</translate> | Wikibooks = <translate><!--T:8--> Wikibooks</translate> | Wikidata = {{int:project-localized-name-wikidatawiki}} | Wikimedia = <translate><!--T:4--> Wikimedia</translate> | Wikimedia Commons = {{int:project-localized-name-commonswiki}} | Wikimedia Foundation = <translate><!--T:5--> Wikimedia Foundation</translate> | Wikimedia Incubator = {{int:project-localized-name-incubatorwiki}} | Wikinews = <translate><!--T:9--> Wikinews</translate> | Wikiquote = <translate><!--T:10--> Wikiquote</translate> | Wikisource = <translate><!--T:11--> Wikisource</translate> | Wikispecies = {{int:project-localized-name-specieswiki}} | Wikitech = {{int:project-localized-name-labswiki}} | Wikiversity = <translate><!--T:12--> Wikiversity</translate> | Wikivoyage = <translate><!--T:13--> Wikivoyage</translate> | Wiktionary = <translate><!--T:14--> Wiktionary</translate> | <includeonly> }} </includeonly><noinclude> {{doc}} </noinclude> s41xogharl7w6sutvo5pfxh65cguzav 10073 10072 2022-09-24T21:17:38Z meta>GVarnum-WMF 0 10073 wikitext text/x-wiki <noinclude> {{draft}} <languages /> </noinclude> <includeonly> {{#switch: {{{1|}}} </includeonly> | Commons = <translate><!--T:6--> Commons</translate> | Connect = <translate>Connect</translate> | Contribute = <translate>Contribute</translate> | Creative Commons = <translate><!--T:7--> Creative Commons</translate> | Facebook = <translate><!--T:15--> Facebook</translate> | Feedback = {{int:specialblockfeedback}} | Frequently asked questions = <translate>Frequently asked questions</translate> | Hello = {{int:hello}} | Home = <translate><!--T:1--> Home</translate> | Instagram = <translate><!--T:16--> Instagram</translate> | Leave Feedback = {{int:specialinvestigate-feedback}} | LinkedIn = <translate><!--T:17--> LinkedIn</translate> | Plan = <translate>Plan</translate> | MediaWiki = {{int:project-localized-name-mediawikiwiki}} | Meta-Wiki = {{int:project-localized-name-metawiki}} | Projects = <translate>Projects</translate> | References = <translate>References</translate> | Research = <translate>Research</translate> | Resources = <translate><!--T:3--> Resources</translate> | See also = <translate>See also</translate> | Start = <translate>Start</translate> | Thank you = {{int:thank-you}} | Twitter = <translate><!--T:18--> Twitter</translate> | Wikibooks = <translate><!--T:8--> Wikibooks</translate> | Wikidata = {{int:project-localized-name-wikidatawiki}} | Wikimedia = <translate><!--T:4--> Wikimedia</translate> | Wikimedia Commons = {{int:project-localized-name-commonswiki}} | Wikimedia Foundation = <translate><!--T:5--> Wikimedia Foundation</translate> | Wikimedia Incubator = {{int:project-localized-name-incubatorwiki}} | Wikinews = <translate><!--T:9--> Wikinews</translate> | Wikiquote = <translate><!--T:10--> Wikiquote</translate> | Wikisource = <translate><!--T:11--> Wikisource</translate> | Wikispecies = {{int:project-localized-name-specieswiki}} | Wikitech = {{int:project-localized-name-labswiki}} | Wikiversity = <translate><!--T:12--> Wikiversity</translate> | Wikivoyage = <translate><!--T:13--> Wikivoyage</translate> | Wiktionary = <translate><!--T:14--> Wiktionary</translate> <includeonly> }} </includeonly><noinclude> {{doc}} </noinclude> ldli5itppdfqts9pvmt1cuiqt6iwy7d 10074 10073 2022-09-24T21:17:46Z meta>GVarnum-WMF 0 Marked this version for translation 10074 wikitext text/x-wiki <noinclude> {{draft}} <languages /> </noinclude> <includeonly> {{#switch: {{{1|}}} </includeonly> | Commons = <translate><!--T:6--> Commons</translate> | Connect = <translate><!--T:19--> Connect</translate> | Contribute = <translate><!--T:20--> Contribute</translate> | Creative Commons = <translate><!--T:7--> Creative Commons</translate> | Facebook = <translate><!--T:15--> Facebook</translate> | Feedback = {{int:specialblockfeedback}} | Frequently asked questions = <translate><!--T:21--> Frequently asked questions</translate> | Hello = {{int:hello}} | Home = <translate><!--T:1--> Home</translate> | Instagram = <translate><!--T:16--> Instagram</translate> | Leave Feedback = {{int:specialinvestigate-feedback}} | LinkedIn = <translate><!--T:17--> LinkedIn</translate> | Plan = <translate><!--T:22--> Plan</translate> | MediaWiki = {{int:project-localized-name-mediawikiwiki}} | Meta-Wiki = {{int:project-localized-name-metawiki}} | Projects = <translate><!--T:23--> Projects</translate> | References = <translate><!--T:24--> References</translate> | Research = <translate><!--T:25--> Research</translate> | Resources = <translate><!--T:3--> Resources</translate> | See also = <translate><!--T:26--> See also</translate> | Start = <translate><!--T:27--> Start</translate> | Thank you = {{int:thank-you}} | Twitter = <translate><!--T:18--> Twitter</translate> | Wikibooks = <translate><!--T:8--> Wikibooks</translate> | Wikidata = {{int:project-localized-name-wikidatawiki}} | Wikimedia = <translate><!--T:4--> Wikimedia</translate> | Wikimedia Commons = {{int:project-localized-name-commonswiki}} | Wikimedia Foundation = <translate><!--T:5--> Wikimedia Foundation</translate> | Wikimedia Incubator = {{int:project-localized-name-incubatorwiki}} | Wikinews = <translate><!--T:9--> Wikinews</translate> | Wikiquote = <translate><!--T:10--> Wikiquote</translate> | Wikisource = <translate><!--T:11--> Wikisource</translate> | Wikispecies = {{int:project-localized-name-specieswiki}} | Wikitech = {{int:project-localized-name-labswiki}} | Wikiversity = <translate><!--T:12--> Wikiversity</translate> | Wikivoyage = <translate><!--T:13--> Wikivoyage</translate> | Wiktionary = <translate><!--T:14--> Wiktionary</translate> <includeonly> }} </includeonly><noinclude> {{doc}} </noinclude> etb28avoxye0jjvj5tiagpc05e6sgjr 10075 10074 2022-09-24T21:25:02Z meta>GVarnum-WMF 0 /{{CURRENTCONTENTLANGUAGE}} 10075 wikitext text/x-wiki <noinclude> {{draft}} <languages /> </noinclude> <includeonly> {{#switch: {{{1|}}} </includeonly> | Commons = <translate><!--T:6--> Commons</translate> | Connect = <translate><!--T:19--> Connect</translate> | Contribute = <translate><!--T:20--> Contribute</translate> | Creative Commons = <translate><!--T:7--> Creative Commons</translate> | Facebook = <translate><!--T:15--> Facebook</translate> | Feedback = {{int:specialblockfeedback/{{CURRENTCONTENTLANGUAGE}}}} | Frequently asked questions = <translate><!--T:21--> Frequently asked questions</translate> | Hello = {{int:hello/{{CURRENTCONTENTLANGUAGE}}}} | Home = <translate><!--T:1--> Home</translate> | Instagram = <translate><!--T:16--> Instagram</translate> | Leave Feedback = {{int:specialinvestigate-feedback/{{CURRENTCONTENTLANGUAGE}}}} | LinkedIn = <translate><!--T:17--> LinkedIn</translate> | Plan = <translate><!--T:22--> Plan</translate> | MediaWiki = {{int:project-localized-name-mediawikiwiki/{{CURRENTCONTENTLANGUAGE}}}} | Meta-Wiki = {{int:project-localized-name-metawiki/{{CURRENTCONTENTLANGUAGE}}}} | Projects = <translate><!--T:23--> Projects</translate> | References = <translate><!--T:24--> References</translate> | Research = <translate><!--T:25--> Research</translate> | Resources = <translate><!--T:3--> Resources</translate> | See also = <translate><!--T:26--> See also</translate> | Start = <translate><!--T:27--> Start</translate> | Thank you = {{int:thank-you/{{CURRENTCONTENTLANGUAGE}}}} | Twitter = <translate><!--T:18--> Twitter</translate> | Wikibooks = <translate><!--T:8--> Wikibooks</translate> | Wikidata = {{int:project-localized-name-wikidatawiki/{{CURRENTCONTENTLANGUAGE}}}} | Wikimedia = <translate><!--T:4--> Wikimedia</translate> | Wikimedia Commons = {{int:project-localized-name-commonswiki/{{CURRENTCONTENTLANGUAGE}}}} | Wikimedia Foundation = <translate><!--T:5--> Wikimedia Foundation</translate> | Wikimedia Incubator = {{int:project-localized-name-incubatorwiki/{{CURRENTCONTENTLANGUAGE}}}} | Wikinews = <translate><!--T:9--> Wikinews</translate> | Wikiquote = <translate><!--T:10--> Wikiquote</translate> | Wikisource = <translate><!--T:11--> Wikisource</translate> | Wikispecies = {{int:project-localized-name-specieswiki/{{CURRENTCONTENTLANGUAGE}}}} | Wikitech = {{int:project-localized-name-labswiki/{{CURRENTCONTENTLANGUAGE}}}} | Wikiversity = <translate><!--T:12--> Wikiversity</translate> | Wikivoyage = <translate><!--T:13--> Wikivoyage</translate> | Wiktionary = <translate><!--T:14--> Wiktionary</translate> <includeonly> }} </includeonly><noinclude> {{doc}} </noinclude> lx7p6m76wm3suya9m8ykaeugjo8ovhu 10076 10075 2022-09-24T21:28:46Z meta>GVarnum-WMF 0 ce 10076 wikitext text/x-wiki <noinclude> {{draft}} <languages /> </noinclude> <includeonly> {{#switch: {{{1|}}} </includeonly> | Commons = <translate><!--T:6--> Commons</translate> | Connect = <translate><!--T:19--> Connect</translate> | Contribute = <translate><!--T:20--> Contribute</translate> | Creative Commons = <translate><!--T:7--> Creative Commons</translate> | Facebook = <translate><!--T:15--> Facebook</translate> | Feedback = {{int:specialblockfeedback/{{CURRENTCONTENTLANGUAGE}}}} | Frequently asked questions = <translate><!--T:21--> Frequently asked questions</translate> | Hello = {{int:hello/{{CURRENTCONTENTLANGUAGE}}}} | Home = <translate><!--T:1--> Home</translate> | Instagram = <translate><!--T:16--> Instagram</translate> | Leave Feedback = {{int:specialinvestigate-feedback/{{CURRENTCONTENTLANGUAGE}}}} | LinkedIn = <translate><!--T:17--> LinkedIn</translate> | Plan = <translate><!--T:22--> Plan</translate> | MediaWiki = {{int:project-localized-name-mediawikiwiki/{{CURRENTCONTENTLANGUAGE}}}} | Meta-Wiki = {{int:project-localized-name-metawiki/{{CURRENTCONTENTLANGUAGE}}}} | Projects = <translate><!--T:23--> Projects</translate> | References = <translate><!--T:24--> References</translate> | Research = <translate><!--T:25--> Research</translate> | Resources = <translate><!--T:3--> Resources</translate> | See also = <translate><!--T:26--> See also</translate> | Start = <translate><!--T:27--> Start</translate> | Thank you. = {{int:thank-you/{{CURRENTCONTENTLANGUAGE}}}} | Twitter = <translate><!--T:18--> Twitter</translate> | Wikibooks = <translate><!--T:8--> Wikibooks</translate> | Wikidata = {{int:project-localized-name-wikidatawiki/{{CURRENTCONTENTLANGUAGE}}}} | Wikimedia = <translate><!--T:4--> Wikimedia</translate> | Wikimedia Commons = {{int:project-localized-name-commonswiki/{{CURRENTCONTENTLANGUAGE}}}} | Wikimedia Foundation = <translate><!--T:5--> Wikimedia Foundation</translate> | Wikimedia Incubator = {{int:project-localized-name-incubatorwiki/{{CURRENTCONTENTLANGUAGE}}}} | Wikinews = <translate><!--T:9--> Wikinews</translate> | Wikiquote = <translate><!--T:10--> Wikiquote</translate> | Wikisource = <translate><!--T:11--> Wikisource</translate> | Wikispecies = {{int:project-localized-name-specieswiki/{{CURRENTCONTENTLANGUAGE}}}} | Wikitech = {{int:project-localized-name-labswiki/{{CURRENTCONTENTLANGUAGE}}}} | Wikiversity = <translate><!--T:12--> Wikiversity</translate> | Wikivoyage = <translate><!--T:13--> Wikivoyage</translate> | Wiktionary = <translate><!--T:14--> Wiktionary</translate> <includeonly> }} </includeonly><noinclude> {{doc}} </noinclude> msnx580pvp9z1z5cv7qs2sw0n5y559p 10077 10076 2022-09-24T21:31:24Z meta>GVarnum-WMF 0 GVarnum-WMF moved page [[Template:Int content]] to [[Template:Int string]] without leaving a redirect: Part of translatable page "Template:Int content" 10076 wikitext text/x-wiki <noinclude> {{draft}} <languages /> </noinclude> <includeonly> {{#switch: {{{1|}}} </includeonly> | Commons = <translate><!--T:6--> Commons</translate> | Connect = <translate><!--T:19--> Connect</translate> | Contribute = <translate><!--T:20--> Contribute</translate> | Creative Commons = <translate><!--T:7--> Creative Commons</translate> | Facebook = <translate><!--T:15--> Facebook</translate> | Feedback = {{int:specialblockfeedback/{{CURRENTCONTENTLANGUAGE}}}} | Frequently asked questions = <translate><!--T:21--> Frequently asked questions</translate> | Hello = {{int:hello/{{CURRENTCONTENTLANGUAGE}}}} | Home = <translate><!--T:1--> Home</translate> | Instagram = <translate><!--T:16--> Instagram</translate> | Leave Feedback = {{int:specialinvestigate-feedback/{{CURRENTCONTENTLANGUAGE}}}} | LinkedIn = <translate><!--T:17--> LinkedIn</translate> | Plan = <translate><!--T:22--> Plan</translate> | MediaWiki = {{int:project-localized-name-mediawikiwiki/{{CURRENTCONTENTLANGUAGE}}}} | Meta-Wiki = {{int:project-localized-name-metawiki/{{CURRENTCONTENTLANGUAGE}}}} | Projects = <translate><!--T:23--> Projects</translate> | References = <translate><!--T:24--> References</translate> | Research = <translate><!--T:25--> Research</translate> | Resources = <translate><!--T:3--> Resources</translate> | See also = <translate><!--T:26--> See also</translate> | Start = <translate><!--T:27--> Start</translate> | Thank you. = {{int:thank-you/{{CURRENTCONTENTLANGUAGE}}}} | Twitter = <translate><!--T:18--> Twitter</translate> | Wikibooks = <translate><!--T:8--> Wikibooks</translate> | Wikidata = {{int:project-localized-name-wikidatawiki/{{CURRENTCONTENTLANGUAGE}}}} | Wikimedia = <translate><!--T:4--> Wikimedia</translate> | Wikimedia Commons = {{int:project-localized-name-commonswiki/{{CURRENTCONTENTLANGUAGE}}}} | Wikimedia Foundation = <translate><!--T:5--> Wikimedia Foundation</translate> | Wikimedia Incubator = {{int:project-localized-name-incubatorwiki/{{CURRENTCONTENTLANGUAGE}}}} | Wikinews = <translate><!--T:9--> Wikinews</translate> | Wikiquote = <translate><!--T:10--> Wikiquote</translate> | Wikisource = <translate><!--T:11--> Wikisource</translate> | Wikispecies = {{int:project-localized-name-specieswiki/{{CURRENTCONTENTLANGUAGE}}}} | Wikitech = {{int:project-localized-name-labswiki/{{CURRENTCONTENTLANGUAGE}}}} | Wikiversity = <translate><!--T:12--> Wikiversity</translate> | Wikivoyage = <translate><!--T:13--> Wikivoyage</translate> | Wiktionary = <translate><!--T:14--> Wiktionary</translate> <includeonly> }} </includeonly><noinclude> {{doc}} </noinclude> msnx580pvp9z1z5cv7qs2sw0n5y559p 10078 10077 2022-09-24T21:38:37Z meta>GVarnum-WMF 0 spacing fix 10078 wikitext text/x-wiki <noinclude> {{draft}} <languages /> </noinclude> <includeonly> {{#switch: {{{1|}}} </includeonly> | Commons = <translate><!--T:6--> Commons</translate> | Connect = <translate><!--T:19--> Connect</translate> | Contribute = <translate><!--T:20--> Contribute</translate> | Creative Commons = <translate><!--T:7--> Creative Commons</translate> | Facebook = <translate><!--T:15--> Facebook</translate> | Feedback = {{int:specialblockfeedback/{{CURRENTCONTENTLANGUAGE}}}} | Frequently asked questions = <translate><!--T:21--> Frequently asked questions</translate> | Hello = {{int:hello/{{CURRENTCONTENTLANGUAGE}}}} | Home = <translate><!--T:1--> Home</translate> | Instagram = <translate><!--T:16--> Instagram</translate> | Leave Feedback = {{int:specialinvestigate-feedback/{{CURRENTCONTENTLANGUAGE}}}} | LinkedIn = <translate><!--T:17--> LinkedIn</translate> | Plan = <translate><!--T:22--> Plan</translate> | MediaWiki = {{int:project-localized-name-mediawikiwiki/{{CURRENTCONTENTLANGUAGE}}}} | Meta-Wiki = {{int:project-localized-name-metawiki/{{CURRENTCONTENTLANGUAGE}}}} | Projects = <translate><!--T:23--> Projects</translate> | References = <translate><!--T:24--> References</translate> | Research = <translate><!--T:25--> Research</translate> | Resources = <translate><!--T:3--> Resources</translate> | See also = <translate><!--T:26--> See also</translate> | Start = <translate><!--T:27--> Start</translate> | Thank you. = {{int:thank-you/{{CURRENTCONTENTLANGUAGE}}}} | Twitter = <translate><!--T:18--> Twitter</translate> | Wikibooks = <translate><!--T:8--> Wikibooks</translate> | Wikidata = {{int:project-localized-name-wikidatawiki/{{CURRENTCONTENTLANGUAGE}}}} | Wikimedia = <translate><!--T:4--> Wikimedia</translate> | Wikimedia Commons = {{int:project-localized-name-commonswiki/{{CURRENTCONTENTLANGUAGE}}}} | Wikimedia Foundation = <translate><!--T:5--> Wikimedia Foundation</translate> | Wikimedia Incubator = {{int:project-localized-name-incubatorwiki/{{CURRENTCONTENTLANGUAGE}}}} | Wikinews = <translate><!--T:9--> Wikinews</translate> | Wikiquote = <translate><!--T:10--> Wikiquote</translate> | Wikisource = <translate><!--T:11--> Wikisource</translate> | Wikispecies = {{int:project-localized-name-specieswiki/{{CURRENTCONTENTLANGUAGE}}}} | Wikitech = {{int:project-localized-name-labswiki/{{CURRENTCONTENTLANGUAGE}}}} | Wikiversity = <translate><!--T:12--> Wikiversity</translate> | Wikivoyage = <translate><!--T:13--> Wikivoyage</translate> | Wiktionary = <translate><!--T:14--> Wiktionary</translate> <includeonly> }} </includeonly><noinclude> {{doc}} </noinclude> emadejqooud078dgp66ac3enup72x7o 10079 10078 2022-09-24T21:39:45Z meta>GVarnum-WMF 0 <noinclude><br /></noinclude> 10079 wikitext text/x-wiki <noinclude> {{draft}} <languages /> </noinclude> <includeonly> {{#switch: {{{1|}}} </includeonly> | Commons = <translate><!--T:6--> Commons</translate><noinclude><br /></noinclude> | Connect = <translate><!--T:19--> Connect</translate><noinclude><br /></noinclude> | Contribute = <translate><!--T:20--> Contribute</translate><noinclude><br /></noinclude> | Creative Commons = <translate><!--T:7--> Creative Commons</translate><noinclude><br /></noinclude> | Facebook = <translate><!--T:15--> Facebook</translate><noinclude><br /></noinclude> | Feedback = {{int:specialblockfeedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Frequently asked questions = <translate><!--T:21--> Frequently asked questions</translate><noinclude><br /></noinclude> | Hello = {{int:hello/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Home = <translate><!--T:1--> Home</translate><noinclude><br /></noinclude> | Instagram = <translate><!--T:16--> Instagram</translate><noinclude><br /></noinclude> | Leave Feedback = {{int:specialinvestigate-feedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | LinkedIn = <translate><!--T:17--> LinkedIn</translate><noinclude><br /></noinclude> | Plan = <translate><!--T:22--> Plan</translate><noinclude><br /></noinclude> | MediaWiki = {{int:project-localized-name-mediawikiwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Meta-Wiki = {{int:project-localized-name-metawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Projects = <translate><!--T:23--> Projects</translate><noinclude><br /></noinclude> | References = <translate><!--T:24--> References</translate><noinclude><br /></noinclude> | Research = <translate><!--T:25--> Research</translate><noinclude><br /></noinclude> | Resources = <translate><!--T:3--> Resources</translate><noinclude><br /></noinclude> | See also = <translate><!--T:26--> See also</translate><noinclude><br /></noinclude> | Start = <translate><!--T:27--> Start</translate><noinclude><br /></noinclude> | Thank you. = {{int:thank-you/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Twitter = <translate><!--T:18--> Twitter</translate><noinclude><br /></noinclude> | Wikibooks = <translate><!--T:8--> Wikibooks</translate><noinclude><br /></noinclude> | Wikidata = {{int:project-localized-name-wikidatawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia = <translate><!--T:4--> Wikimedia</translate><noinclude><br /></noinclude> | Wikimedia Commons = {{int:project-localized-name-commonswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia Foundation = <translate><!--T:5--> Wikimedia Foundation</translate><noinclude><br /></noinclude> | Wikimedia Incubator = {{int:project-localized-name-incubatorwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikinews = <translate><!--T:9--> Wikinews</translate><noinclude><br /></noinclude> | Wikiquote = <translate><!--T:10--> Wikiquote</translate><noinclude><br /></noinclude> | Wikisource = <translate><!--T:11--> Wikisource</translate><noinclude><br /></noinclude> | Wikispecies = {{int:project-localized-name-specieswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikitech = {{int:project-localized-name-labswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikiversity = <translate><!--T:12--> Wikiversity</translate><noinclude><br /></noinclude> | Wikivoyage = <translate><!--T:13--> Wikivoyage</translate><noinclude><br /></noinclude> | Wiktionary = <translate><!--T:14--> Wiktionary</translate><noinclude><br /></noinclude> <includeonly> }} </includeonly><noinclude> {{doc}} </noinclude> epgvbrf8q833zktizeg0u0f9xg4sx19 10080 10079 2022-09-24T21:40:31Z meta>GVarnum-WMF 0 <noinclude> == Available strings == </noinclude> 10080 wikitext text/x-wiki <noinclude> {{draft}} <languages /> </noinclude> <includeonly> {{#switch: {{{1|}}} </includeonly><noinclude> == Available strings == </noinclude> | Commons = <translate><!--T:6--> Commons</translate><noinclude><br /></noinclude> | Connect = <translate><!--T:19--> Connect</translate><noinclude><br /></noinclude> | Contribute = <translate><!--T:20--> Contribute</translate><noinclude><br /></noinclude> | Creative Commons = <translate><!--T:7--> Creative Commons</translate><noinclude><br /></noinclude> | Facebook = <translate><!--T:15--> Facebook</translate><noinclude><br /></noinclude> | Feedback = {{int:specialblockfeedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Frequently asked questions = <translate><!--T:21--> Frequently asked questions</translate><noinclude><br /></noinclude> | Hello = {{int:hello/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Home = <translate><!--T:1--> Home</translate><noinclude><br /></noinclude> | Instagram = <translate><!--T:16--> Instagram</translate><noinclude><br /></noinclude> | Leave Feedback = {{int:specialinvestigate-feedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | LinkedIn = <translate><!--T:17--> LinkedIn</translate><noinclude><br /></noinclude> | Plan = <translate><!--T:22--> Plan</translate><noinclude><br /></noinclude> | MediaWiki = {{int:project-localized-name-mediawikiwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Meta-Wiki = {{int:project-localized-name-metawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Projects = <translate><!--T:23--> Projects</translate><noinclude><br /></noinclude> | References = <translate><!--T:24--> References</translate><noinclude><br /></noinclude> | Research = <translate><!--T:25--> Research</translate><noinclude><br /></noinclude> | Resources = <translate><!--T:3--> Resources</translate><noinclude><br /></noinclude> | See also = <translate><!--T:26--> See also</translate><noinclude><br /></noinclude> | Start = <translate><!--T:27--> Start</translate><noinclude><br /></noinclude> | Thank you. = {{int:thank-you/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Twitter = <translate><!--T:18--> Twitter</translate><noinclude><br /></noinclude> | Wikibooks = <translate><!--T:8--> Wikibooks</translate><noinclude><br /></noinclude> | Wikidata = {{int:project-localized-name-wikidatawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia = <translate><!--T:4--> Wikimedia</translate><noinclude><br /></noinclude> | Wikimedia Commons = {{int:project-localized-name-commonswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia Foundation = <translate><!--T:5--> Wikimedia Foundation</translate><noinclude><br /></noinclude> | Wikimedia Incubator = {{int:project-localized-name-incubatorwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikinews = <translate><!--T:9--> Wikinews</translate><noinclude><br /></noinclude> | Wikiquote = <translate><!--T:10--> Wikiquote</translate><noinclude><br /></noinclude> | Wikisource = <translate><!--T:11--> Wikisource</translate><noinclude><br /></noinclude> | Wikispecies = {{int:project-localized-name-specieswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikitech = {{int:project-localized-name-labswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikiversity = <translate><!--T:12--> Wikiversity</translate><noinclude><br /></noinclude> | Wikivoyage = <translate><!--T:13--> Wikivoyage</translate><noinclude><br /></noinclude> | Wiktionary = <translate><!--T:14--> Wiktionary</translate><noinclude><br /></noinclude> <includeonly> }} </includeonly><noinclude> {{doc}} </noinclude> aklowrbq4t2wmtgirn25et2u4iw55h9 10081 10080 2022-09-24T21:41:11Z meta>GVarnum-WMF 0 header fix 10081 wikitext text/x-wiki <noinclude> {{draft}} <languages /> </noinclude> <includeonly> {{#switch: {{{1|}}} </includeonly><noinclude><translate> == Available strings == </translate></noinclude> | Commons = <translate><!--T:6--> Commons</translate><noinclude><br /></noinclude> | Connect = <translate><!--T:19--> Connect</translate><noinclude><br /></noinclude> | Contribute = <translate><!--T:20--> Contribute</translate><noinclude><br /></noinclude> | Creative Commons = <translate><!--T:7--> Creative Commons</translate><noinclude><br /></noinclude> | Facebook = <translate><!--T:15--> Facebook</translate><noinclude><br /></noinclude> | Feedback = {{int:specialblockfeedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Frequently asked questions = <translate><!--T:21--> Frequently asked questions</translate><noinclude><br /></noinclude> | Hello = {{int:hello/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Home = <translate><!--T:1--> Home</translate><noinclude><br /></noinclude> | Instagram = <translate><!--T:16--> Instagram</translate><noinclude><br /></noinclude> | Leave Feedback = {{int:specialinvestigate-feedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | LinkedIn = <translate><!--T:17--> LinkedIn</translate><noinclude><br /></noinclude> | Plan = <translate><!--T:22--> Plan</translate><noinclude><br /></noinclude> | MediaWiki = {{int:project-localized-name-mediawikiwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Meta-Wiki = {{int:project-localized-name-metawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Projects = <translate><!--T:23--> Projects</translate><noinclude><br /></noinclude> | References = <translate><!--T:24--> References</translate><noinclude><br /></noinclude> | Research = <translate><!--T:25--> Research</translate><noinclude><br /></noinclude> | Resources = <translate><!--T:3--> Resources</translate><noinclude><br /></noinclude> | See also = <translate><!--T:26--> See also</translate><noinclude><br /></noinclude> | Start = <translate><!--T:27--> Start</translate><noinclude><br /></noinclude> | Thank you. = {{int:thank-you/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Twitter = <translate><!--T:18--> Twitter</translate><noinclude><br /></noinclude> | Wikibooks = <translate><!--T:8--> Wikibooks</translate><noinclude><br /></noinclude> | Wikidata = {{int:project-localized-name-wikidatawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia = <translate><!--T:4--> Wikimedia</translate><noinclude><br /></noinclude> | Wikimedia Commons = {{int:project-localized-name-commonswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia Foundation = <translate><!--T:5--> Wikimedia Foundation</translate><noinclude><br /></noinclude> | Wikimedia Incubator = {{int:project-localized-name-incubatorwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikinews = <translate><!--T:9--> Wikinews</translate><noinclude><br /></noinclude> | Wikiquote = <translate><!--T:10--> Wikiquote</translate><noinclude><br /></noinclude> | Wikisource = <translate><!--T:11--> Wikisource</translate><noinclude><br /></noinclude> | Wikispecies = {{int:project-localized-name-specieswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikitech = {{int:project-localized-name-labswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikiversity = <translate><!--T:12--> Wikiversity</translate><noinclude><br /></noinclude> | Wikivoyage = <translate><!--T:13--> Wikivoyage</translate><noinclude><br /></noinclude> | Wiktionary = <translate><!--T:14--> Wiktionary</translate><noinclude><br /></noinclude> <includeonly> }} </includeonly><noinclude> {{doc}} </noinclude> n8izn6eswpsrooos7072f173ov817df 10082 10081 2022-09-24T21:41:24Z meta>GVarnum-WMF 0 Marked this version for translation 10082 wikitext text/x-wiki <noinclude> {{draft}} <languages /> </noinclude> <includeonly> {{#switch: {{{1|}}} </includeonly><noinclude><translate> == Available strings == <!--T:28--> </translate></noinclude> | Commons = <translate><!--T:6--> Commons</translate><noinclude><br /></noinclude> | Connect = <translate><!--T:19--> Connect</translate><noinclude><br /></noinclude> | Contribute = <translate><!--T:20--> Contribute</translate><noinclude><br /></noinclude> | Creative Commons = <translate><!--T:7--> Creative Commons</translate><noinclude><br /></noinclude> | Facebook = <translate><!--T:15--> Facebook</translate><noinclude><br /></noinclude> | Feedback = {{int:specialblockfeedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Frequently asked questions = <translate><!--T:21--> Frequently asked questions</translate><noinclude><br /></noinclude> | Hello = {{int:hello/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Home = <translate><!--T:1--> Home</translate><noinclude><br /></noinclude> | Instagram = <translate><!--T:16--> Instagram</translate><noinclude><br /></noinclude> | Leave Feedback = {{int:specialinvestigate-feedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | LinkedIn = <translate><!--T:17--> LinkedIn</translate><noinclude><br /></noinclude> | Plan = <translate><!--T:22--> Plan</translate><noinclude><br /></noinclude> | MediaWiki = {{int:project-localized-name-mediawikiwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Meta-Wiki = {{int:project-localized-name-metawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Projects = <translate><!--T:23--> Projects</translate><noinclude><br /></noinclude> | References = <translate><!--T:24--> References</translate><noinclude><br /></noinclude> | Research = <translate><!--T:25--> Research</translate><noinclude><br /></noinclude> | Resources = <translate><!--T:3--> Resources</translate><noinclude><br /></noinclude> | See also = <translate><!--T:26--> See also</translate><noinclude><br /></noinclude> | Start = <translate><!--T:27--> Start</translate><noinclude><br /></noinclude> | Thank you. = {{int:thank-you/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Twitter = <translate><!--T:18--> Twitter</translate><noinclude><br /></noinclude> | Wikibooks = <translate><!--T:8--> Wikibooks</translate><noinclude><br /></noinclude> | Wikidata = {{int:project-localized-name-wikidatawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia = <translate><!--T:4--> Wikimedia</translate><noinclude><br /></noinclude> | Wikimedia Commons = {{int:project-localized-name-commonswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia Foundation = <translate><!--T:5--> Wikimedia Foundation</translate><noinclude><br /></noinclude> | Wikimedia Incubator = {{int:project-localized-name-incubatorwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikinews = <translate><!--T:9--> Wikinews</translate><noinclude><br /></noinclude> | Wikiquote = <translate><!--T:10--> Wikiquote</translate><noinclude><br /></noinclude> | Wikisource = <translate><!--T:11--> Wikisource</translate><noinclude><br /></noinclude> | Wikispecies = {{int:project-localized-name-specieswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikitech = {{int:project-localized-name-labswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikiversity = <translate><!--T:12--> Wikiversity</translate><noinclude><br /></noinclude> | Wikivoyage = <translate><!--T:13--> Wikivoyage</translate><noinclude><br /></noinclude> | Wiktionary = <translate><!--T:14--> Wiktionary</translate><noinclude><br /></noinclude> <includeonly> }} </includeonly><noinclude> {{doc}} </noinclude> pm5ujktm262fjzv1i590gs2yzsyf727 10083 10082 2022-09-24T21:42:21Z meta>GVarnum-WMF 0 formatting 10083 wikitext text/x-wiki <noinclude> {{draft}}__NOTOC__ <languages /><translate> == Available strings == <!--T:28--> </translate> </noinclude> <includeonly> {{#switch: {{{1|}}} </includeonly> | Commons = <translate><!--T:6--> Commons</translate><noinclude><br /></noinclude> | Connect = <translate><!--T:19--> Connect</translate><noinclude><br /></noinclude> | Contribute = <translate><!--T:20--> Contribute</translate><noinclude><br /></noinclude> | Creative Commons = <translate><!--T:7--> Creative Commons</translate><noinclude><br /></noinclude> | Facebook = <translate><!--T:15--> Facebook</translate><noinclude><br /></noinclude> | Feedback = {{int:specialblockfeedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Frequently asked questions = <translate><!--T:21--> Frequently asked questions</translate><noinclude><br /></noinclude> | Hello = {{int:hello/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Home = <translate><!--T:1--> Home</translate><noinclude><br /></noinclude> | Instagram = <translate><!--T:16--> Instagram</translate><noinclude><br /></noinclude> | Leave Feedback = {{int:specialinvestigate-feedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | LinkedIn = <translate><!--T:17--> LinkedIn</translate><noinclude><br /></noinclude> | Plan = <translate><!--T:22--> Plan</translate><noinclude><br /></noinclude> | MediaWiki = {{int:project-localized-name-mediawikiwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Meta-Wiki = {{int:project-localized-name-metawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Projects = <translate><!--T:23--> Projects</translate><noinclude><br /></noinclude> | References = <translate><!--T:24--> References</translate><noinclude><br /></noinclude> | Research = <translate><!--T:25--> Research</translate><noinclude><br /></noinclude> | Resources = <translate><!--T:3--> Resources</translate><noinclude><br /></noinclude> | See also = <translate><!--T:26--> See also</translate><noinclude><br /></noinclude> | Start = <translate><!--T:27--> Start</translate><noinclude><br /></noinclude> | Thank you. = {{int:thank-you/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Twitter = <translate><!--T:18--> Twitter</translate><noinclude><br /></noinclude> | Wikibooks = <translate><!--T:8--> Wikibooks</translate><noinclude><br /></noinclude> | Wikidata = {{int:project-localized-name-wikidatawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia = <translate><!--T:4--> Wikimedia</translate><noinclude><br /></noinclude> | Wikimedia Commons = {{int:project-localized-name-commonswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia Foundation = <translate><!--T:5--> Wikimedia Foundation</translate><noinclude><br /></noinclude> | Wikimedia Incubator = {{int:project-localized-name-incubatorwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikinews = <translate><!--T:9--> Wikinews</translate><noinclude><br /></noinclude> | Wikiquote = <translate><!--T:10--> Wikiquote</translate><noinclude><br /></noinclude> | Wikisource = <translate><!--T:11--> Wikisource</translate><noinclude><br /></noinclude> | Wikispecies = {{int:project-localized-name-specieswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikitech = {{int:project-localized-name-labswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikiversity = <translate><!--T:12--> Wikiversity</translate><noinclude><br /></noinclude> | Wikivoyage = <translate><!--T:13--> Wikivoyage</translate><noinclude><br /></noinclude> | Wiktionary = <translate><!--T:14--> Wiktionary</translate><noinclude><br /></noinclude> <includeonly> }} </includeonly><noinclude> {{doc}} </noinclude> r3d0hnv2vva8uyeridjdjwsgua3386a 10084 10083 2022-09-24T21:42:44Z meta>GVarnum-WMF 0 format fix 10084 wikitext text/x-wiki <noinclude> {{draft}}__NOTOC__ <languages /><translate> == Available strings == <!--T:28--> </translate> </noinclude> <includeonly> {{#switch: {{{1|}}} </includeonly> | Commons = <translate><!--T:6--> Commons</translate><noinclude><br /></noinclude> | Connect = <translate><!--T:19--> Connect</translate><noinclude><br /></noinclude> | Contribute = <translate><!--T:20--> Contribute</translate><noinclude><br /></noinclude> | Creative Commons = <translate><!--T:7--> Creative Commons</translate><noinclude><br /></noinclude> | Facebook = <translate><!--T:15--> Facebook</translate><noinclude><br /></noinclude> | Feedback = {{int:specialblockfeedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Frequently asked questions = <translate><!--T:21--> Frequently asked questions</translate><noinclude><br /></noinclude> | Hello = {{int:hello/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Home = <translate><!--T:1--> Home</translate><noinclude><br /></noinclude> | Instagram = <translate><!--T:16--> Instagram</translate><noinclude><br /></noinclude> | Leave Feedback = {{int:specialinvestigate-feedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | LinkedIn = <translate><!--T:17--> LinkedIn</translate><noinclude><br /></noinclude> | Plan = <translate><!--T:22--> Plan</translate><noinclude><br /></noinclude> | MediaWiki = {{int:project-localized-name-mediawikiwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Meta-Wiki = {{int:project-localized-name-metawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Projects = <translate><!--T:23--> Projects</translate><noinclude><br /></noinclude> | References = <translate><!--T:24--> References</translate><noinclude><br /></noinclude> | Research = <translate><!--T:25--> Research</translate><noinclude><br /></noinclude> | Resources = <translate><!--T:3--> Resources</translate><noinclude><br /></noinclude> | See also = <translate><!--T:26--> See also</translate><noinclude><br /></noinclude> | Start = <translate><!--T:27--> Start</translate><noinclude><br /></noinclude> | Thank you. = {{int:thank-you/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Twitter = <translate><!--T:18--> Twitter</translate><noinclude><br /></noinclude> | Wikibooks = <translate><!--T:8--> Wikibooks</translate><noinclude><br /></noinclude> | Wikidata = {{int:project-localized-name-wikidatawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia = <translate><!--T:4--> Wikimedia</translate><noinclude><br /></noinclude> | Wikimedia Commons = {{int:project-localized-name-commonswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia Foundation = <translate><!--T:5--> Wikimedia Foundation</translate><noinclude><br /></noinclude> | Wikimedia Incubator = {{int:project-localized-name-incubatorwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikinews = <translate><!--T:9--> Wikinews</translate><noinclude><br /></noinclude> | Wikiquote = <translate><!--T:10--> Wikiquote</translate><noinclude><br /></noinclude> | Wikisource = <translate><!--T:11--> Wikisource</translate><noinclude><br /></noinclude> | Wikispecies = {{int:project-localized-name-specieswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikitech = {{int:project-localized-name-labswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikiversity = <translate><!--T:12--> Wikiversity</translate><noinclude><br /></noinclude> | Wikivoyage = <translate><!--T:13--> Wikivoyage</translate><noinclude><br /></noinclude> | Wiktionary = <translate><!--T:14--> Wiktionary</translate><noinclude><br /></noinclude> <includeonly> }} </includeonly><noinclude> {{doc}} </noinclude> ttxympq2rd7ogm6vq5kls6aekurj5e2 10085 10084 2022-09-24T21:44:16Z meta>GVarnum-WMF 0 spacing 10085 wikitext text/x-wiki <noinclude> {{draft}}__NOTOC__ <languages /><translate> == Available strings == <!--T:28--> </translate> </noinclude> <includeonly> {{#switch: {{{1|}}} </includeonly> | Commons = <translate><!--T:6--> Commons</translate><noinclude><br /></noinclude> | Connect = <translate><!--T:19--> Connect</translate><noinclude><br /></noinclude> | Contribute = <translate><!--T:20--> Contribute</translate><noinclude><br /></noinclude> | Creative Commons = <translate><!--T:7--> Creative Commons</translate><noinclude><br /></noinclude> | Facebook = <translate><!--T:15--> Facebook</translate><noinclude><br /></noinclude> | Feedback = {{int:specialblockfeedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Frequently asked questions = <translate><!--T:21--> Frequently asked questions</translate><noinclude><br /></noinclude> | Hello = {{int:hello/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Home = <translate><!--T:1--> Home</translate><noinclude><br /></noinclude> | Instagram = <translate><!--T:16--> Instagram</translate><noinclude><br /></noinclude> | Leave Feedback = {{int:specialinvestigate-feedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | LinkedIn = <translate><!--T:17--> LinkedIn</translate><noinclude><br /></noinclude> | Plan = <translate><!--T:22--> Plan</translate><noinclude><br /></noinclude> | MediaWiki = {{int:project-localized-name-mediawikiwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Meta-Wiki = {{int:project-localized-name-metawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Projects = <translate><!--T:23--> Projects</translate><noinclude><br /></noinclude> | References = <translate><!--T:24--> References</translate><noinclude><br /></noinclude> | Research = <translate><!--T:25--> Research</translate><noinclude><br /></noinclude> | Resources = <translate><!--T:3--> Resources</translate><noinclude><br /></noinclude> | See also = <translate><!--T:26--> See also</translate><noinclude><br /></noinclude> | Start = <translate><!--T:27--> Start</translate><noinclude><br /></noinclude> | Thank you. = {{int:thank-you/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Twitter = <translate><!--T:18--> Twitter</translate><noinclude><br /></noinclude> | Wikibooks = <translate><!--T:8--> Wikibooks</translate><noinclude><br /></noinclude> | Wikidata = {{int:project-localized-name-wikidatawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia = <translate><!--T:4--> Wikimedia</translate><noinclude><br /></noinclude> | Wikimedia Commons = {{int:project-localized-name-commonswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia Foundation = <translate><!--T:5--> Wikimedia Foundation</translate><noinclude><br /></noinclude> | Wikimedia Incubator = {{int:project-localized-name-incubatorwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikinews = <translate><!--T:9--> Wikinews</translate><noinclude><br /></noinclude> | Wikiquote = <translate><!--T:10--> Wikiquote</translate><noinclude><br /></noinclude> | Wikisource = <translate><!--T:11--> Wikisource</translate><noinclude><br /></noinclude> | Wikispecies = {{int:project-localized-name-specieswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikitech = {{int:project-localized-name-labswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikiversity = <translate><!--T:12--> Wikiversity</translate><noinclude><br /></noinclude> | Wikivoyage = <translate><!--T:13--> Wikivoyage</translate><noinclude><br /></noinclude> | Wiktionary = <translate><!--T:14--> Wiktionary</translate><noinclude><br /></noinclude> |<includeonly> }}</includeonly><noinclude> {{doc}} </noinclude> cl6sriqnx0mvlta37kyu265niplbwqt 10086 10085 2022-09-24T21:46:47Z meta>GVarnum-WMF 0 test 10086 wikitext text/x-wiki <noinclude> {{draft}}__NOTOC__ <languages /><translate> == Available strings == <!--T:28--> </translate> </noinclude> <includeonly> {{#switch: {{{1|}}} </includeonly> | Commons = <translate><!--T:6--> Commons</translate><noinclude><br /></noinclude> | Connect = <translate><!--T:19--> Connect</translate><noinclude><br /></noinclude> | Contribute = <translate><!--T:20--> Contribute</translate><noinclude><br /></noinclude> | Creative Commons = <translate><!--T:7--> Creative Commons</translate><noinclude><br /></noinclude> | Facebook = <translate><!--T:15--> Facebook</translate><noinclude><br /></noinclude> | Feedback = {{int:specialblockfeedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Frequently asked questions = <translate><!--T:21--> Frequently asked questions</translate><noinclude><br /></noinclude> | Hello = {{int:hello/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | | Home = <translate><!--T:1--> Home</translate><noinclude><br /></noinclude> | Instagram = <translate><!--T:16--> Instagram</translate><noinclude><br /></noinclude> | Leave Feedback = {{int:specialinvestigate-feedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | LinkedIn = <translate><!--T:17--> LinkedIn</translate><noinclude><br /></noinclude> | Plan = <translate><!--T:22--> Plan</translate><noinclude><br /></noinclude> | MediaWiki = {{int:project-localized-name-mediawikiwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Meta-Wiki = {{int:project-localized-name-metawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Projects = <translate><!--T:23--> Projects</translate><noinclude><br /></noinclude> | References = <translate><!--T:24--> References</translate><noinclude><br /></noinclude> | Research = <translate><!--T:25--> Research</translate><noinclude><br /></noinclude> | Resources = <translate><!--T:3--> Resources</translate><noinclude><br /></noinclude> | See also = <translate><!--T:26--> See also</translate><noinclude><br /></noinclude> | Start = <translate><!--T:27--> Start</translate><noinclude><br /></noinclude> | Thank you. = {{int:thank-you/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Twitter = <translate><!--T:18--> Twitter</translate><noinclude><br /></noinclude> | Wikibooks = <translate><!--T:8--> Wikibooks</translate><noinclude><br /></noinclude> | Wikidata = {{int:project-localized-name-wikidatawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia = <translate><!--T:4--> Wikimedia</translate><noinclude><br /></noinclude> | Wikimedia Commons = {{int:project-localized-name-commonswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia Foundation = <translate><!--T:5--> Wikimedia Foundation</translate><noinclude><br /></noinclude> | Wikimedia Incubator = {{int:project-localized-name-incubatorwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikinews = <translate><!--T:9--> Wikinews</translate><noinclude><br /></noinclude> | Wikiquote = <translate><!--T:10--> Wikiquote</translate><noinclude><br /></noinclude> | Wikisource = <translate><!--T:11--> Wikisource</translate><noinclude><br /></noinclude> | Wikispecies = {{int:project-localized-name-specieswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikitech = {{int:project-localized-name-labswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikiversity = <translate><!--T:12--> Wikiversity</translate><noinclude><br /></noinclude> | Wikivoyage = <translate><!--T:13--> Wikivoyage</translate><noinclude><br /></noinclude> | Wiktionary = <translate><!--T:14--> Wiktionary</translate><noinclude><br /></noinclude> |<includeonly> }}</includeonly><noinclude> {{doc}} </noinclude> 8r30w65vxpn62h8qxwfnqnfo11ix9qn 10087 10086 2022-09-24T21:47:23Z meta>GVarnum-WMF 0 10087 wikitext text/x-wiki <noinclude> {{draft}}__NOTOC__ <languages /><translate> == Available strings == <!--T:28--> </translate> </noinclude> <includeonly> {{#switch: {{{1|}}} </includeonly> | Commons = <translate><!--T:6--> Commons</translate><noinclude><br /></noinclude> | Connect = <translate><!--T:19--> Connect</translate><noinclude><br /></noinclude> | Contribute = <translate><!--T:20--> Contribute</translate><noinclude><br /></noinclude> | Creative Commons = <translate><!--T:7--> Creative Commons</translate><noinclude><br /></noinclude> | Facebook = <translate><!--T:15--> Facebook</translate><noinclude><br /></noinclude> | Feedback = {{int:specialblockfeedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Frequently asked questions = <translate><!--T:21--> Frequently asked questions</translate><noinclude><br /></noinclude> | Hello = {{int:hello/{{CURRENTCONTENTLANGUAGE}}}} |<noinclude><br /></noinclude> | Home = <translate><!--T:1--> Home</translate><noinclude><br /></noinclude> | Instagram = <translate><!--T:16--> Instagram</translate><noinclude><br /></noinclude> | Leave Feedback = {{int:specialinvestigate-feedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | LinkedIn = <translate><!--T:17--> LinkedIn</translate><noinclude><br /></noinclude> | Plan = <translate><!--T:22--> Plan</translate><noinclude><br /></noinclude> | MediaWiki = {{int:project-localized-name-mediawikiwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Meta-Wiki = {{int:project-localized-name-metawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Projects = <translate><!--T:23--> Projects</translate><noinclude><br /></noinclude> | References = <translate><!--T:24--> References</translate><noinclude><br /></noinclude> | Research = <translate><!--T:25--> Research</translate><noinclude><br /></noinclude> | Resources = <translate><!--T:3--> Resources</translate><noinclude><br /></noinclude> | See also = <translate><!--T:26--> See also</translate><noinclude><br /></noinclude> | Start = <translate><!--T:27--> Start</translate><noinclude><br /></noinclude> | Thank you. = {{int:thank-you/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Twitter = <translate><!--T:18--> Twitter</translate><noinclude><br /></noinclude> | Wikibooks = <translate><!--T:8--> Wikibooks</translate><noinclude><br /></noinclude> | Wikidata = {{int:project-localized-name-wikidatawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia = <translate><!--T:4--> Wikimedia</translate><noinclude><br /></noinclude> | Wikimedia Commons = {{int:project-localized-name-commonswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia Foundation = <translate><!--T:5--> Wikimedia Foundation</translate><noinclude><br /></noinclude> | Wikimedia Incubator = {{int:project-localized-name-incubatorwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikinews = <translate><!--T:9--> Wikinews</translate><noinclude><br /></noinclude> | Wikiquote = <translate><!--T:10--> Wikiquote</translate><noinclude><br /></noinclude> | Wikisource = <translate><!--T:11--> Wikisource</translate><noinclude><br /></noinclude> | Wikispecies = {{int:project-localized-name-specieswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikitech = {{int:project-localized-name-labswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikiversity = <translate><!--T:12--> Wikiversity</translate><noinclude><br /></noinclude> | Wikivoyage = <translate><!--T:13--> Wikivoyage</translate><noinclude><br /></noinclude> | Wiktionary = <translate><!--T:14--> Wiktionary</translate><noinclude><br /></noinclude> |<includeonly> }}</includeonly><noinclude> {{doc}} </noinclude> dz82y94d1vbr89z757vs8nchqn2lcsm 10088 10087 2022-09-24T21:48:12Z meta>GVarnum-WMF 0 test 10088 wikitext text/x-wiki <noinclude> {{draft}}__NOTOC__ <languages /><translate> == Available strings == <!--T:28--> </translate> </noinclude> <includeonly> {{#switch: {{{1|}}} | </includeonly> | Commons = <translate><!--T:6--> Commons</translate><noinclude><br /></noinclude> | Connect = <translate><!--T:19--> Connect</translate><noinclude><br /></noinclude> | Contribute = <translate><!--T:20--> Contribute</translate><noinclude><br /></noinclude> | Creative Commons = <translate><!--T:7--> Creative Commons</translate><noinclude><br /></noinclude> | Facebook = <translate><!--T:15--> Facebook</translate><noinclude><br /></noinclude> | Feedback = {{int:specialblockfeedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Frequently asked questions = <translate><!--T:21--> Frequently asked questions</translate><noinclude><br /></noinclude> | Hello = {{int:hello/{{CURRENTCONTENTLANGUAGE}}}} |<noinclude><br /></noinclude> | Home = <translate><!--T:1--> Home</translate><noinclude><br /></noinclude> | Instagram = <translate><!--T:16--> Instagram</translate><noinclude><br /></noinclude> | Leave Feedback = {{int:specialinvestigate-feedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | LinkedIn = <translate><!--T:17--> LinkedIn</translate><noinclude><br /></noinclude> | Plan = <translate><!--T:22--> Plan</translate><noinclude><br /></noinclude> | MediaWiki = {{int:project-localized-name-mediawikiwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Meta-Wiki = {{int:project-localized-name-metawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Projects = <translate><!--T:23--> Projects</translate><noinclude><br /></noinclude> | References = <translate><!--T:24--> References</translate><noinclude><br /></noinclude> | Research = <translate><!--T:25--> Research</translate><noinclude><br /></noinclude> | Resources = <translate><!--T:3--> Resources</translate><noinclude><br /></noinclude> | See also = <translate><!--T:26--> See also</translate><noinclude><br /></noinclude> | Start = <translate><!--T:27--> Start</translate><noinclude><br /></noinclude> | Thank you. = {{int:thank-you/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Twitter = <translate><!--T:18--> Twitter</translate><noinclude><br /></noinclude> | Wikibooks = <translate><!--T:8--> Wikibooks</translate><noinclude><br /></noinclude> | Wikidata = {{int:project-localized-name-wikidatawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia = <translate><!--T:4--> Wikimedia</translate><noinclude><br /></noinclude> | Wikimedia Commons = {{int:project-localized-name-commonswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia Foundation = <translate><!--T:5--> Wikimedia Foundation</translate><noinclude><br /></noinclude> | Wikimedia Incubator = {{int:project-localized-name-incubatorwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikinews = <translate><!--T:9--> Wikinews</translate><noinclude><br /></noinclude> | Wikiquote = <translate><!--T:10--> Wikiquote</translate><noinclude><br /></noinclude> | Wikisource = <translate><!--T:11--> Wikisource</translate><noinclude><br /></noinclude> | Wikispecies = {{int:project-localized-name-specieswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikitech = {{int:project-localized-name-labswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikiversity = <translate><!--T:12--> Wikiversity</translate><noinclude><br /></noinclude> | Wikivoyage = <translate><!--T:13--> Wikivoyage</translate><noinclude><br /></noinclude> | Wiktionary = <translate><!--T:14--> Wiktionary</translate><noinclude><br /></noinclude> |<includeonly> }}</includeonly><noinclude> {{doc}} </noinclude> dl48n5mebgwvdcsm54mg745n2quf8m4 10089 10088 2022-09-24T21:49:18Z meta>GVarnum-WMF 0 formatting 10089 wikitext text/x-wiki <noinclude> {{draft}}__NOTOC__ <languages /><translate> == Available strings == <!--T:28--> </translate></noinclude><includeonly> {{#switch: {{{1|}}} | </includeonly> | Commons = <translate><!--T:6--> Commons</translate><noinclude><br /></noinclude> | Connect = <translate><!--T:19--> Connect</translate><noinclude><br /></noinclude> | Contribute = <translate><!--T:20--> Contribute</translate><noinclude><br /></noinclude> | Creative Commons = <translate><!--T:7--> Creative Commons</translate><noinclude><br /></noinclude> | Facebook = <translate><!--T:15--> Facebook</translate><noinclude><br /></noinclude> | Feedback = {{int:specialblockfeedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Frequently asked questions = <translate><!--T:21--> Frequently asked questions</translate><noinclude><br /></noinclude> | Hello = {{int:hello/{{CURRENTCONTENTLANGUAGE}}}} |<noinclude><br /></noinclude> | Home = <translate><!--T:1--> Home</translate><noinclude><br /></noinclude> | Instagram = <translate><!--T:16--> Instagram</translate><noinclude><br /></noinclude> | Leave Feedback = {{int:specialinvestigate-feedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | LinkedIn = <translate><!--T:17--> LinkedIn</translate><noinclude><br /></noinclude> | Plan = <translate><!--T:22--> Plan</translate><noinclude><br /></noinclude> | MediaWiki = {{int:project-localized-name-mediawikiwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Meta-Wiki = {{int:project-localized-name-metawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Projects = <translate><!--T:23--> Projects</translate><noinclude><br /></noinclude> | References = <translate><!--T:24--> References</translate><noinclude><br /></noinclude> | Research = <translate><!--T:25--> Research</translate><noinclude><br /></noinclude> | Resources = <translate><!--T:3--> Resources</translate><noinclude><br /></noinclude> | See also = <translate><!--T:26--> See also</translate><noinclude><br /></noinclude> | Start = <translate><!--T:27--> Start</translate><noinclude><br /></noinclude> | Thank you. = {{int:thank-you/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Twitter = <translate><!--T:18--> Twitter</translate><noinclude><br /></noinclude> | Wikibooks = <translate><!--T:8--> Wikibooks</translate><noinclude><br /></noinclude> | Wikidata = {{int:project-localized-name-wikidatawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia = <translate><!--T:4--> Wikimedia</translate><noinclude><br /></noinclude> | Wikimedia Commons = {{int:project-localized-name-commonswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia Foundation = <translate><!--T:5--> Wikimedia Foundation</translate><noinclude><br /></noinclude> | Wikimedia Incubator = {{int:project-localized-name-incubatorwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikinews = <translate><!--T:9--> Wikinews</translate><noinclude><br /></noinclude> | Wikiquote = <translate><!--T:10--> Wikiquote</translate><noinclude><br /></noinclude> | Wikisource = <translate><!--T:11--> Wikisource</translate><noinclude><br /></noinclude> | Wikispecies = {{int:project-localized-name-specieswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikitech = {{int:project-localized-name-labswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikiversity = <translate><!--T:12--> Wikiversity</translate><noinclude><br /></noinclude> | Wikivoyage = <translate><!--T:13--> Wikivoyage</translate><noinclude><br /></noinclude> | Wiktionary = <translate><!--T:14--> Wiktionary</translate><noinclude><br /></noinclude> |<includeonly> }}</includeonly><noinclude> {{doc}} </noinclude> gblrmb03mlb8uv8mgzpwn3uv1ss6f4u 10090 10089 2022-09-24T21:50:35Z meta>GVarnum-WMF 0 undo some testing 10090 wikitext text/x-wiki <noinclude> {{draft}}__NOTOC__ <languages /><translate> == Available strings == <!--T:28--> </translate></noinclude><includeonly> {{#switch: {{{1|}}} </includeonly> | Commons = <translate><!--T:6--> Commons</translate><noinclude><br /></noinclude> | Connect = <translate><!--T:19--> Connect</translate><noinclude><br /></noinclude> | Contribute = <translate><!--T:20--> Contribute</translate><noinclude><br /></noinclude> | Creative Commons = <translate><!--T:7--> Creative Commons</translate><noinclude><br /></noinclude> | Facebook = <translate><!--T:15--> Facebook</translate><noinclude><br /></noinclude> | Feedback = {{int:specialblockfeedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Frequently asked questions = <translate><!--T:21--> Frequently asked questions</translate><noinclude><br /></noinclude> | Hello = {{int:hello/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Home = <translate><!--T:1--> Home</translate><noinclude><br /></noinclude> | Instagram = <translate><!--T:16--> Instagram</translate><noinclude><br /></noinclude> | Leave Feedback = {{int:specialinvestigate-feedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | LinkedIn = <translate><!--T:17--> LinkedIn</translate><noinclude><br /></noinclude> | Plan = <translate><!--T:22--> Plan</translate><noinclude><br /></noinclude> | MediaWiki = {{int:project-localized-name-mediawikiwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Meta-Wiki = {{int:project-localized-name-metawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Projects = <translate><!--T:23--> Projects</translate><noinclude><br /></noinclude> | References = <translate><!--T:24--> References</translate><noinclude><br /></noinclude> | Research = <translate><!--T:25--> Research</translate><noinclude><br /></noinclude> | Resources = <translate><!--T:3--> Resources</translate><noinclude><br /></noinclude> | See also = <translate><!--T:26--> See also</translate><noinclude><br /></noinclude> | Start = <translate><!--T:27--> Start</translate><noinclude><br /></noinclude> | Thank you. = {{int:thank-you/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Twitter = <translate><!--T:18--> Twitter</translate><noinclude><br /></noinclude> | Wikibooks = <translate><!--T:8--> Wikibooks</translate><noinclude><br /></noinclude> | Wikidata = {{int:project-localized-name-wikidatawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia = <translate><!--T:4--> Wikimedia</translate><noinclude><br /></noinclude> | Wikimedia Commons = {{int:project-localized-name-commonswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia Foundation = <translate><!--T:5--> Wikimedia Foundation</translate><noinclude><br /></noinclude> | Wikimedia Incubator = {{int:project-localized-name-incubatorwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikinews = <translate><!--T:9--> Wikinews</translate><noinclude><br /></noinclude> | Wikiquote = <translate><!--T:10--> Wikiquote</translate><noinclude><br /></noinclude> | Wikisource = <translate><!--T:11--> Wikisource</translate><noinclude><br /></noinclude> | Wikispecies = {{int:project-localized-name-specieswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikitech = {{int:project-localized-name-labswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikiversity = <translate><!--T:12--> Wikiversity</translate><noinclude><br /></noinclude> | Wikivoyage = <translate><!--T:13--> Wikivoyage</translate><noinclude><br /></noinclude> | Wiktionary = <translate><!--T:14--> Wiktionary</translate><noinclude><br /></noinclude> |<includeonly> }}</includeonly><noinclude> {{doc}} </noinclude> 5gkznci3uknhcm540d61eflqkuxsco5 10091 10090 2022-09-24T21:55:18Z meta>GVarnum-WMF 0 Talk to us 10091 wikitext text/x-wiki <noinclude> {{draft}}__NOTOC__ <languages /><translate> == Available strings == <!--T:28--> </translate></noinclude><includeonly> {{#switch: {{{1|}}} </includeonly> | Commons = <translate><!--T:6--> Commons</translate><noinclude><br /></noinclude> | Connect = <translate><!--T:19--> Connect</translate><noinclude><br /></noinclude> | Contribute = <translate><!--T:20--> Contribute</translate><noinclude><br /></noinclude> | Creative Commons = <translate><!--T:7--> Creative Commons</translate><noinclude><br /></noinclude> | Facebook = <translate><!--T:15--> Facebook</translate><noinclude><br /></noinclude> | Feedback = {{int:specialblockfeedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Frequently asked questions = <translate><!--T:21--> Frequently asked questions</translate><noinclude><br /></noinclude> | Hello = {{int:hello/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Home = <translate><!--T:1--> Home</translate><noinclude><br /></noinclude> | Instagram = <translate><!--T:16--> Instagram</translate><noinclude><br /></noinclude> | Leave Feedback = {{int:specialinvestigate-feedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | LinkedIn = <translate><!--T:17--> LinkedIn</translate><noinclude><br /></noinclude> | Plan = <translate><!--T:22--> Plan</translate><noinclude><br /></noinclude> | MediaWiki = {{int:project-localized-name-mediawikiwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Meta-Wiki = {{int:project-localized-name-metawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Projects = <translate><!--T:23--> Projects</translate><noinclude><br /></noinclude> | References = <translate><!--T:24--> References</translate><noinclude><br /></noinclude> | Research = <translate><!--T:25--> Research</translate><noinclude><br /></noinclude> | Resources = <translate><!--T:3--> Resources</translate><noinclude><br /></noinclude> | See also = <translate><!--T:26--> See also</translate><noinclude><br /></noinclude> | Start = <translate><!--T:27--> Start</translate><noinclude><br /></noinclude> | Talk to us = <translate>Talk to us</translate><noinclude><br /></noinclude> | Thank you. = {{int:thank-you/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Twitter = <translate><!--T:18--> Twitter</translate><noinclude><br /></noinclude> | Wikibooks = <translate><!--T:8--> Wikibooks</translate><noinclude><br /></noinclude> | Wikidata = {{int:project-localized-name-wikidatawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia = <translate><!--T:4--> Wikimedia</translate><noinclude><br /></noinclude> | Wikimedia Commons = {{int:project-localized-name-commonswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia Foundation = <translate><!--T:5--> Wikimedia Foundation</translate><noinclude><br /></noinclude> | Wikimedia Incubator = {{int:project-localized-name-incubatorwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikinews = <translate><!--T:9--> Wikinews</translate><noinclude><br /></noinclude> | Wikiquote = <translate><!--T:10--> Wikiquote</translate><noinclude><br /></noinclude> | Wikisource = <translate><!--T:11--> Wikisource</translate><noinclude><br /></noinclude> | Wikispecies = {{int:project-localized-name-specieswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikitech = {{int:project-localized-name-labswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikiversity = <translate><!--T:12--> Wikiversity</translate><noinclude><br /></noinclude> | Wikivoyage = <translate><!--T:13--> Wikivoyage</translate><noinclude><br /></noinclude> | Wiktionary = <translate><!--T:14--> Wiktionary</translate><noinclude><br /></noinclude> |<includeonly> }}</includeonly><noinclude> {{doc}} </noinclude> gyixuqolk7mqgkx1u9ljorewjzm0260 10092 10091 2022-09-24T21:55:24Z meta>GVarnum-WMF 0 Marked this version for translation 10092 wikitext text/x-wiki <noinclude> {{draft}}__NOTOC__ <languages /><translate> == Available strings == <!--T:28--> </translate></noinclude><includeonly> {{#switch: {{{1|}}} </includeonly> | Commons = <translate><!--T:6--> Commons</translate><noinclude><br /></noinclude> | Connect = <translate><!--T:19--> Connect</translate><noinclude><br /></noinclude> | Contribute = <translate><!--T:20--> Contribute</translate><noinclude><br /></noinclude> | Creative Commons = <translate><!--T:7--> Creative Commons</translate><noinclude><br /></noinclude> | Facebook = <translate><!--T:15--> Facebook</translate><noinclude><br /></noinclude> | Feedback = {{int:specialblockfeedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Frequently asked questions = <translate><!--T:21--> Frequently asked questions</translate><noinclude><br /></noinclude> | Hello = {{int:hello/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Home = <translate><!--T:1--> Home</translate><noinclude><br /></noinclude> | Instagram = <translate><!--T:16--> Instagram</translate><noinclude><br /></noinclude> | Leave Feedback = {{int:specialinvestigate-feedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | LinkedIn = <translate><!--T:17--> LinkedIn</translate><noinclude><br /></noinclude> | Plan = <translate><!--T:22--> Plan</translate><noinclude><br /></noinclude> | MediaWiki = {{int:project-localized-name-mediawikiwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Meta-Wiki = {{int:project-localized-name-metawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Projects = <translate><!--T:23--> Projects</translate><noinclude><br /></noinclude> | References = <translate><!--T:24--> References</translate><noinclude><br /></noinclude> | Research = <translate><!--T:25--> Research</translate><noinclude><br /></noinclude> | Resources = <translate><!--T:3--> Resources</translate><noinclude><br /></noinclude> | See also = <translate><!--T:26--> See also</translate><noinclude><br /></noinclude> | Start = <translate><!--T:27--> Start</translate><noinclude><br /></noinclude> | Talk to us = <translate><!--T:29--> Talk to us</translate><noinclude><br /></noinclude> | Thank you. = {{int:thank-you/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Twitter = <translate><!--T:18--> Twitter</translate><noinclude><br /></noinclude> | Wikibooks = <translate><!--T:8--> Wikibooks</translate><noinclude><br /></noinclude> | Wikidata = {{int:project-localized-name-wikidatawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia = <translate><!--T:4--> Wikimedia</translate><noinclude><br /></noinclude> | Wikimedia Commons = {{int:project-localized-name-commonswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia Foundation = <translate><!--T:5--> Wikimedia Foundation</translate><noinclude><br /></noinclude> | Wikimedia Incubator = {{int:project-localized-name-incubatorwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikinews = <translate><!--T:9--> Wikinews</translate><noinclude><br /></noinclude> | Wikiquote = <translate><!--T:10--> Wikiquote</translate><noinclude><br /></noinclude> | Wikisource = <translate><!--T:11--> Wikisource</translate><noinclude><br /></noinclude> | Wikispecies = {{int:project-localized-name-specieswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikitech = {{int:project-localized-name-labswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikiversity = <translate><!--T:12--> Wikiversity</translate><noinclude><br /></noinclude> | Wikivoyage = <translate><!--T:13--> Wikivoyage</translate><noinclude><br /></noinclude> | Wiktionary = <translate><!--T:14--> Wiktionary</translate><noinclude><br /></noinclude> |<includeonly> }}</includeonly><noinclude> {{doc}} </noinclude> c5zjc1k54nlg509i4u3fevnqi7gvsye 10093 10092 2022-09-26T02:49:38Z meta>GVarnum-WMF 0 additional terms from Common messages / Category:Term missing from Int string template for no term 10093 wikitext text/x-wiki <noinclude> {{draft}}__NOTOC__ <languages /><translate> == Available strings == <!--T:28--> </translate></noinclude><includeonly> {{#switch: {{{1|}}} </includeonly> | Closed = <translate>Closed</translate><noinclude><br /></noinclude> | Commons = <translate><!--T:6--> Commons</translate><noinclude><br /></noinclude> | Connect = <translate><!--T:19--> Connect</translate><noinclude><br /></noinclude> | Contribute = <translate><!--T:20--> Contribute</translate><noinclude><br /></noinclude> | Creative Commons = <translate><!--T:7--> Creative Commons</translate><noinclude><br /></noinclude> | Done = {{int:Upload-dialog-button-done/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Facebook = <translate><!--T:15--> Facebook</translate><noinclude><br /></noinclude> | Feedback = {{int:specialblockfeedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Frequently asked questions = <translate><!--T:21--> Frequently asked questions</translate><noinclude><br /></noinclude> | Hello = {{int:hello/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Home = <translate><!--T:1--> Home</translate><noinclude><br /></noinclude> | Instagram = <translate><!--T:16--> Instagram</translate><noinclude><br /></noinclude> | Leave Feedback = {{int:specialinvestigate-feedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | LinkedIn = <translate><!--T:17--> LinkedIn</translate><noinclude><br /></noinclude> | Open = <translate>Open</translate><noinclude><br /></noinclude> | Plan = <translate><!--T:22--> Plan</translate><noinclude><br /></noinclude> | MediaWiki = {{int:project-localized-name-mediawikiwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Meta-Wiki = {{int:project-localized-name-metawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Ongoing = <translate>Ongoing</translate><noinclude><br /></noinclude> | Projects = <translate><!--T:23--> Projects</translate><noinclude><br /></noinclude> | References = <translate><!--T:24--> References</translate><noinclude><br /></noinclude> | Research = <translate><!--T:25--> Research</translate><noinclude><br /></noinclude> | Resources = <translate><!--T:3--> Resources</translate><noinclude><br /></noinclude> | See also = <translate><!--T:26--> See also</translate><noinclude><br /></noinclude> | Start = <translate><!--T:27--> Start</translate><noinclude><br /></noinclude> | Status = <translate>Status</translate><noinclude><br /></noinclude> | Talk to us = <translate><!--T:29--> Talk to us</translate><noinclude><br /></noinclude> | Thank you. = {{int:thank-you/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Twitter = <translate><!--T:18--> Twitter</translate><noinclude><br /></noinclude> | Upcoming = <translate>Upcoming</translate><noinclude><br /></noinclude> | Wikibooks = <translate><!--T:8--> Wikibooks</translate><noinclude><br /></noinclude> | Wikidata = {{int:project-localized-name-wikidatawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia = <translate><!--T:4--> Wikimedia</translate><noinclude><br /></noinclude> | Wikimedia Commons = {{int:project-localized-name-commonswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia Foundation = <translate><!--T:5--> Wikimedia Foundation</translate><noinclude><br /></noinclude> | Wikimedia Incubator = {{int:project-localized-name-incubatorwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikinews = <translate><!--T:9--> Wikinews</translate><noinclude><br /></noinclude> | Wikiquote = <translate><!--T:10--> Wikiquote</translate><noinclude><br /></noinclude> | Wikisource = <translate><!--T:11--> Wikisource</translate><noinclude><br /></noinclude> | Wikispecies = {{int:project-localized-name-specieswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikitech = {{int:project-localized-name-labswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikiversity = <translate><!--T:12--> Wikiversity</translate><noinclude><br /></noinclude> | Wikivoyage = <translate><!--T:13--> Wikivoyage</translate><noinclude><br /></noinclude> | Wiktionary = <translate><!--T:14--> Wiktionary</translate><noinclude><br /></noinclude> | [[Category:Term missing from Int string template]]<includeonly> }}</includeonly><noinclude> {{doc}} </noinclude> khx762pcv53z8la2mvkbum6a0cabdl1 10094 10093 2022-09-26T02:49:49Z meta>GVarnum-WMF 0 Marked this version for translation 10094 wikitext text/x-wiki <noinclude> {{draft}}__NOTOC__ <languages /><translate> == Available strings == <!--T:28--> </translate></noinclude><includeonly> {{#switch: {{{1|}}} </includeonly> | Closed = <translate><!--T:30--> Closed</translate><noinclude><br /></noinclude> | Commons = <translate><!--T:6--> Commons</translate><noinclude><br /></noinclude> | Connect = <translate><!--T:19--> Connect</translate><noinclude><br /></noinclude> | Contribute = <translate><!--T:20--> Contribute</translate><noinclude><br /></noinclude> | Creative Commons = <translate><!--T:7--> Creative Commons</translate><noinclude><br /></noinclude> | Done = {{int:Upload-dialog-button-done/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Facebook = <translate><!--T:15--> Facebook</translate><noinclude><br /></noinclude> | Feedback = {{int:specialblockfeedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Frequently asked questions = <translate><!--T:21--> Frequently asked questions</translate><noinclude><br /></noinclude> | Hello = {{int:hello/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Home = <translate><!--T:1--> Home</translate><noinclude><br /></noinclude> | Instagram = <translate><!--T:16--> Instagram</translate><noinclude><br /></noinclude> | Leave Feedback = {{int:specialinvestigate-feedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | LinkedIn = <translate><!--T:17--> LinkedIn</translate><noinclude><br /></noinclude> | Open = <translate><!--T:31--> Open</translate><noinclude><br /></noinclude> | Plan = <translate><!--T:22--> Plan</translate><noinclude><br /></noinclude> | MediaWiki = {{int:project-localized-name-mediawikiwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Meta-Wiki = {{int:project-localized-name-metawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Ongoing = <translate><!--T:32--> Ongoing</translate><noinclude><br /></noinclude> | Projects = <translate><!--T:23--> Projects</translate><noinclude><br /></noinclude> | References = <translate><!--T:24--> References</translate><noinclude><br /></noinclude> | Research = <translate><!--T:25--> Research</translate><noinclude><br /></noinclude> | Resources = <translate><!--T:3--> Resources</translate><noinclude><br /></noinclude> | See also = <translate><!--T:26--> See also</translate><noinclude><br /></noinclude> | Start = <translate><!--T:27--> Start</translate><noinclude><br /></noinclude> | Status = <translate><!--T:33--> Status</translate><noinclude><br /></noinclude> | Talk to us = <translate><!--T:29--> Talk to us</translate><noinclude><br /></noinclude> | Thank you. = {{int:thank-you/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Twitter = <translate><!--T:18--> Twitter</translate><noinclude><br /></noinclude> | Upcoming = <translate><!--T:34--> Upcoming</translate><noinclude><br /></noinclude> | Wikibooks = <translate><!--T:8--> Wikibooks</translate><noinclude><br /></noinclude> | Wikidata = {{int:project-localized-name-wikidatawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia = <translate><!--T:4--> Wikimedia</translate><noinclude><br /></noinclude> | Wikimedia Commons = {{int:project-localized-name-commonswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia Foundation = <translate><!--T:5--> Wikimedia Foundation</translate><noinclude><br /></noinclude> | Wikimedia Incubator = {{int:project-localized-name-incubatorwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikinews = <translate><!--T:9--> Wikinews</translate><noinclude><br /></noinclude> | Wikiquote = <translate><!--T:10--> Wikiquote</translate><noinclude><br /></noinclude> | Wikisource = <translate><!--T:11--> Wikisource</translate><noinclude><br /></noinclude> | Wikispecies = {{int:project-localized-name-specieswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikitech = {{int:project-localized-name-labswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikiversity = <translate><!--T:12--> Wikiversity</translate><noinclude><br /></noinclude> | Wikivoyage = <translate><!--T:13--> Wikivoyage</translate><noinclude><br /></noinclude> | Wiktionary = <translate><!--T:14--> Wiktionary</translate><noinclude><br /></noinclude> | [[Category:Term missing from Int string template]]<includeonly> }}</includeonly><noinclude> {{doc}} </noinclude> lqxl6c5uhjcpcr710z5i407esre3gup 10095 10094 2022-09-26T02:54:04Z meta>GVarnum-WMF 0 formatting 10095 wikitext text/x-wiki <noinclude> {{draft}}__NOTOC__ <languages /><translate> == Available strings == <!--T:28--> </translate></noinclude><includeonly> {{#switch: {{{1|}}} </includeonly> | Closed = <translate><!--T:30--> Closed</translate><noinclude><br /></noinclude> | Commons = <translate><!--T:6--> Commons</translate><noinclude><br /></noinclude> | Connect = <translate><!--T:19--> Connect</translate><noinclude><br /></noinclude> | Contribute = <translate><!--T:20--> Contribute</translate><noinclude><br /></noinclude> | Creative Commons = <translate><!--T:7--> Creative Commons</translate><noinclude><br /></noinclude> | Done = {{int:Upload-dialog-button-done/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Facebook = <translate><!--T:15--> Facebook</translate><noinclude><br /></noinclude> | Feedback = {{int:specialblockfeedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Frequently asked questions = <translate><!--T:21--> Frequently asked questions</translate><noinclude><br /></noinclude> | Hello = {{int:hello/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Home = <translate><!--T:1--> Home</translate><noinclude><br /></noinclude> | Instagram = <translate><!--T:16--> Instagram</translate><noinclude><br /></noinclude> | Leave Feedback = {{int:specialinvestigate-feedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | LinkedIn = <translate><!--T:17--> LinkedIn</translate><noinclude><br /></noinclude> | Open = <translate><!--T:31--> Open</translate><noinclude><br /></noinclude> | Plan = <translate><!--T:22--> Plan</translate><noinclude><br /></noinclude> | MediaWiki = {{int:project-localized-name-mediawikiwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Meta-Wiki = {{int:project-localized-name-metawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Ongoing = <translate><!--T:32--> Ongoing</translate><noinclude><br /></noinclude> | Projects = <translate><!--T:23--> Projects</translate><noinclude><br /></noinclude> | References = <translate><!--T:24--> References</translate><noinclude><br /></noinclude> | Research = <translate><!--T:25--> Research</translate><noinclude><br /></noinclude> | Resources = <translate><!--T:3--> Resources</translate><noinclude><br /></noinclude> | See also = <translate><!--T:26--> See also</translate><noinclude><br /></noinclude> | Start = <translate><!--T:27--> Start</translate><noinclude><br /></noinclude> | Status = <translate><!--T:33--> Status</translate><noinclude><br /></noinclude> | Talk to us = <translate><!--T:29--> Talk to us</translate><noinclude><br /></noinclude> | Thank you. = {{int:thank-you/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Twitter = <translate><!--T:18--> Twitter</translate><noinclude><br /></noinclude> | Upcoming = <translate><!--T:34--> Upcoming</translate><noinclude><br /></noinclude> | Wikibooks = <translate><!--T:8--> Wikibooks</translate><noinclude><br /></noinclude> | Wikidata = {{int:project-localized-name-wikidatawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia = <translate><!--T:4--> Wikimedia</translate><noinclude><br /></noinclude> | Wikimedia Commons = {{int:project-localized-name-commonswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia Foundation = <translate><!--T:5--> Wikimedia Foundation</translate><noinclude><br /></noinclude> | Wikimedia Incubator = {{int:project-localized-name-incubatorwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikinews = <translate><!--T:9--> Wikinews</translate><noinclude><br /></noinclude> | Wikiquote = <translate><!--T:10--> Wikiquote</translate><noinclude><br /></noinclude> | Wikisource = <translate><!--T:11--> Wikisource</translate><noinclude><br /></noinclude> | Wikispecies = {{int:project-localized-name-specieswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikitech = {{int:project-localized-name-labswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikiversity = <translate><!--T:12--> Wikiversity</translate><noinclude><br /></noinclude> | Wikivoyage = <translate><!--T:13--> Wikivoyage</translate><noinclude><br /></noinclude> | Wiktionary = <translate><!--T:14--> Wiktionary</translate><noinclude><br /></noinclude> | <includeonly>[[Category:String missing from Int string template]] }}</includeonly><noinclude> {{doc}} </noinclude> 4x396ntp4t76wiepishmv8kk55zi33s 10096 10095 2022-09-26T02:58:36Z meta>GVarnum-WMF 0 Pages with a string missing from Int string template cat name fix 10096 wikitext text/x-wiki <noinclude> {{draft}}__NOTOC__ <languages /><translate> == Available strings == <!--T:28--> </translate></noinclude><includeonly> {{#switch: {{{1|}}} </includeonly> | Closed = <translate><!--T:30--> Closed</translate><noinclude><br /></noinclude> | Commons = <translate><!--T:6--> Commons</translate><noinclude><br /></noinclude> | Connect = <translate><!--T:19--> Connect</translate><noinclude><br /></noinclude> | Contribute = <translate><!--T:20--> Contribute</translate><noinclude><br /></noinclude> | Creative Commons = <translate><!--T:7--> Creative Commons</translate><noinclude><br /></noinclude> | Done = {{int:Upload-dialog-button-done/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Facebook = <translate><!--T:15--> Facebook</translate><noinclude><br /></noinclude> | Feedback = {{int:specialblockfeedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Frequently asked questions = <translate><!--T:21--> Frequently asked questions</translate><noinclude><br /></noinclude> | Hello = {{int:hello/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Home = <translate><!--T:1--> Home</translate><noinclude><br /></noinclude> | Instagram = <translate><!--T:16--> Instagram</translate><noinclude><br /></noinclude> | Leave Feedback = {{int:specialinvestigate-feedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | LinkedIn = <translate><!--T:17--> LinkedIn</translate><noinclude><br /></noinclude> | Open = <translate><!--T:31--> Open</translate><noinclude><br /></noinclude> | Plan = <translate><!--T:22--> Plan</translate><noinclude><br /></noinclude> | MediaWiki = {{int:project-localized-name-mediawikiwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Meta-Wiki = {{int:project-localized-name-metawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Ongoing = <translate><!--T:32--> Ongoing</translate><noinclude><br /></noinclude> | Projects = <translate><!--T:23--> Projects</translate><noinclude><br /></noinclude> | References = <translate><!--T:24--> References</translate><noinclude><br /></noinclude> | Research = <translate><!--T:25--> Research</translate><noinclude><br /></noinclude> | Resources = <translate><!--T:3--> Resources</translate><noinclude><br /></noinclude> | See also = <translate><!--T:26--> See also</translate><noinclude><br /></noinclude> | Start = <translate><!--T:27--> Start</translate><noinclude><br /></noinclude> | Status = <translate><!--T:33--> Status</translate><noinclude><br /></noinclude> | Talk to us = <translate><!--T:29--> Talk to us</translate><noinclude><br /></noinclude> | Thank you. = {{int:thank-you/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Twitter = <translate><!--T:18--> Twitter</translate><noinclude><br /></noinclude> | Upcoming = <translate><!--T:34--> Upcoming</translate><noinclude><br /></noinclude> | Wikibooks = <translate><!--T:8--> Wikibooks</translate><noinclude><br /></noinclude> | Wikidata = {{int:project-localized-name-wikidatawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia = <translate><!--T:4--> Wikimedia</translate><noinclude><br /></noinclude> | Wikimedia Commons = {{int:project-localized-name-commonswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia Foundation = <translate><!--T:5--> Wikimedia Foundation</translate><noinclude><br /></noinclude> | Wikimedia Incubator = {{int:project-localized-name-incubatorwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikinews = <translate><!--T:9--> Wikinews</translate><noinclude><br /></noinclude> | Wikiquote = <translate><!--T:10--> Wikiquote</translate><noinclude><br /></noinclude> | Wikisource = <translate><!--T:11--> Wikisource</translate><noinclude><br /></noinclude> | Wikispecies = {{int:project-localized-name-specieswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikitech = {{int:project-localized-name-labswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikiversity = <translate><!--T:12--> Wikiversity</translate><noinclude><br /></noinclude> | Wikivoyage = <translate><!--T:13--> Wikivoyage</translate><noinclude><br /></noinclude> | Wiktionary = <translate><!--T:14--> Wiktionary</translate><noinclude><br /></noinclude> | <includeonly>[[Category:Pages with a string missing from Int string template{{#translation:}}]] }}</includeonly><noinclude> {{doc}} </noinclude> 2e3my7evhatkq2t70acoq9k2reddzu0 10097 10096 2022-09-26T15:37:59Z meta>GVarnum-WMF 0 removing entries already in [[Template:Name]] 10097 wikitext text/x-wiki <noinclude> {{draft}}__NOTOC__ <languages /><translate> == Available strings == <!--T:28--> </translate></noinclude><includeonly> {{#switch: {{{1|}}} </includeonly> | Closed = <translate><!--T:30--> Closed</translate><noinclude><br /></noinclude> | Commons = <translate><!--T:6--> Commons</translate><noinclude><br /></noinclude> | Connect = <translate><!--T:19--> Connect</translate><noinclude><br /></noinclude> | Contribute = <translate><!--T:20--> Contribute</translate><noinclude><br /></noinclude> | Creative Commons = <translate><!--T:7--> Creative Commons</translate><noinclude><br /></noinclude> | Done = {{int:Upload-dialog-button-done/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Feedback = {{int:specialblockfeedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Frequently asked questions = <translate><!--T:21--> Frequently asked questions</translate><noinclude><br /></noinclude> | Hello = {{int:hello/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Home = <translate><!--T:1--> Home</translate><noinclude><br /></noinclude> | Leave Feedback = {{int:specialinvestigate-feedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Open = <translate><!--T:31--> Open</translate><noinclude><br /></noinclude> | Plan = <translate><!--T:22--> Plan</translate><noinclude><br /></noinclude> | MediaWiki = {{int:project-localized-name-mediawikiwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Meta-Wiki = {{int:project-localized-name-metawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Ongoing = <translate><!--T:32--> Ongoing</translate><noinclude><br /></noinclude> | Projects = <translate><!--T:23--> Projects</translate><noinclude><br /></noinclude> | References = <translate><!--T:24--> References</translate><noinclude><br /></noinclude> | Research = <translate><!--T:25--> Research</translate><noinclude><br /></noinclude> | Resources = <translate><!--T:3--> Resources</translate><noinclude><br /></noinclude> | See also = <translate><!--T:26--> See also</translate><noinclude><br /></noinclude> | Start = <translate><!--T:27--> Start</translate><noinclude><br /></noinclude> | Status = <translate><!--T:33--> Status</translate><noinclude><br /></noinclude> | Talk to us = <translate><!--T:29--> Talk to us</translate><noinclude><br /></noinclude> | Thank you. = {{int:thank-you/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Upcoming = <translate><!--T:34--> Upcoming</translate><noinclude><br /></noinclude> | Wikibooks = <translate><!--T:8--> Wikibooks</translate><noinclude><br /></noinclude> | Wikidata = {{int:project-localized-name-wikidatawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia = <translate><!--T:4--> Wikimedia</translate><noinclude><br /></noinclude> | Wikimedia Commons = {{int:project-localized-name-commonswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia Foundation = <translate><!--T:5--> Wikimedia Foundation</translate><noinclude><br /></noinclude> | Wikimedia Incubator = {{int:project-localized-name-incubatorwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikinews = <translate><!--T:9--> Wikinews</translate><noinclude><br /></noinclude> | Wikiquote = <translate><!--T:10--> Wikiquote</translate><noinclude><br /></noinclude> | Wikisource = <translate><!--T:11--> Wikisource</translate><noinclude><br /></noinclude> | Wikispecies = {{int:project-localized-name-specieswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikitech = {{int:project-localized-name-labswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikiversity = <translate><!--T:12--> Wikiversity</translate><noinclude><br /></noinclude> | Wikivoyage = <translate><!--T:13--> Wikivoyage</translate><noinclude><br /></noinclude> | Wiktionary = <translate><!--T:14--> Wiktionary</translate><noinclude><br /></noinclude> | <includeonly>[[Category:Pages with a string missing from Int string template{{#translation:}}]] }}</includeonly><noinclude> {{doc}} </noinclude> cezdk7qyb5keh9h70kecmssm1tyhl9j 10098 10097 2022-09-26T16:35:41Z meta>GVarnum-WMF 0 entries from wikibase - test use of [[Template:Int]] 10098 wikitext text/x-wiki <noinclude> {{draft}}__NOTOC__ <languages /><translate> == Available strings == <!--T:28--> </translate></noinclude><includeonly> {{#switch: {{{1|}}} </includeonly> | Closed = <translate><!--T:30--> Closed</translate><noinclude><br /></noinclude> | Commons = {{int:wikibase-sitelinks-sitename-commonswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Connect = <translate><!--T:19--> Connect</translate><noinclude><br /></noinclude> | Contribute = <translate><!--T:20--> Contribute</translate><noinclude><br /></noinclude> | Creative Commons = <translate><!--T:7--> Creative Commons</translate><noinclude><br /></noinclude> | Done = {{int:Upload-dialog-button-done/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Feedback = {{int:specialblockfeedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Frequently asked questions = <translate><!--T:21--> Frequently asked questions</translate><noinclude><br /></noinclude> | Hello = {{int:hello/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Home = <translate><!--T:1--> Home</translate><noinclude><br /></noinclude> | Leave Feedback = {{int:specialinvestigate-feedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | No = {{int:research-incentive-answer-negative/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Open = <translate><!--T:31--> Open</translate><noinclude><br /></noinclude> | Plan = <translate><!--T:22--> Plan</translate><noinclude><br /></noinclude> | MediaWiki = {{int:project-localized-name-mediawikiwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Meta-Wiki = {{int:project-localized-name-metawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Ongoing = <translate><!--T:32--> Ongoing</translate><noinclude><br /></noinclude> | Projects = <translate><!--T:23--> Projects</translate><noinclude><br /></noinclude> | References = <translate><!--T:24--> References</translate><noinclude><br /></noinclude> | Research = <translate><!--T:25--> Research</translate><noinclude><br /></noinclude> | Resources = <translate><!--T:3--> Resources</translate><noinclude><br /></noinclude> | See also = <translate><!--T:26--> See also</translate><noinclude><br /></noinclude> | Start = <translate><!--T:27--> Start</translate><noinclude><br /></noinclude> | Statistics = {{int|wikimedia-statslink}}<noinclude><br /></noinclude> | Status = <translate><!--T:33--> Status</translate><noinclude><br /></noinclude> | Talk to us = <translate><!--T:29--> Talk to us</translate><noinclude><br /></noinclude> | Thank you. = {{int:thank-you/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Thank you! = {{int:research-incentive-confirm-msg/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Upcoming = <translate><!--T:34--> Upcoming</translate><noinclude><br /></noinclude> | Wikibooks = {{int|wikibase-sitelinks-wikibooks}}<noinclude><br /></noinclude> | Wikidata = {{int:project-localized-name-wikidatawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia = <translate><!--T:4--> Wikimedia</translate><noinclude><br /></noinclude> | Wikimedia Commons = {{int:project-localized-name-commonswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia Foundation = <translate><!--T:5--> Wikimedia Foundation</translate><noinclude><br /></noinclude> | Wikimedia Foundation, Inc. = {{int:wikibase-page-schema-publisher-name/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia Incubator = {{int:project-localized-name-incubatorwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikinews = {{int|wikibase-sitelinks-wikinews}}<noinclude><br /></noinclude> | Wikiquote = {{int|wikibase-sitelinks-wikiquote}}<noinclude><br /></noinclude> | Wikisource = {{int|wikibase-sitelinks-wikisource}}<noinclude><br /></noinclude> | Wikispecies = {{int:project-localized-name-specieswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikitech = {{int:project-localized-name-labswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikiversity = {{int|wikibase-sitelinks-wikiversity}}<noinclude><br /></noinclude> | Wikivoyage = {{int|wikibase-sitelinks-wikivoyage}}<noinclude><br /></noinclude> | Wiktionary = {{int|wikibase-sitelinks-wiktionary}}<noinclude><br /></noinclude> | Yes = {{int:research-incentive-answer-positive/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | <includeonly>[[Category:Pages with a string missing from Int string template{{#translation:}}]] }}</includeonly><noinclude> {{doc}} </noinclude> cndmqhaykaw70l8ej6tdhtdngup05st 10099 10098 2022-09-26T16:37:51Z meta>GVarnum-WMF 0 taking out of draft 10099 wikitext text/x-wiki <noinclude>__NOTOC__ <languages /><translate> == Available strings == <!--T:28--> </translate></noinclude><includeonly> {{#switch: {{{1|}}} </includeonly> | Closed = <translate><!--T:30--> Closed</translate><noinclude><br /></noinclude> | Commons = {{int:wikibase-sitelinks-sitename-commonswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Connect = <translate><!--T:19--> Connect</translate><noinclude><br /></noinclude> | Contribute = <translate><!--T:20--> Contribute</translate><noinclude><br /></noinclude> | Creative Commons = <translate><!--T:7--> Creative Commons</translate><noinclude><br /></noinclude> | Done = {{int:Upload-dialog-button-done/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Feedback = {{int:specialblockfeedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Frequently asked questions = <translate><!--T:21--> Frequently asked questions</translate><noinclude><br /></noinclude> | Hello = {{int:hello/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Home = <translate><!--T:1--> Home</translate><noinclude><br /></noinclude> | Leave Feedback = {{int:specialinvestigate-feedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | No = {{int:research-incentive-answer-negative/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Open = <translate><!--T:31--> Open</translate><noinclude><br /></noinclude> | Plan = <translate><!--T:22--> Plan</translate><noinclude><br /></noinclude> | MediaWiki = {{int:project-localized-name-mediawikiwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Meta-Wiki = {{int:project-localized-name-metawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Ongoing = <translate><!--T:32--> Ongoing</translate><noinclude><br /></noinclude> | Projects = <translate><!--T:23--> Projects</translate><noinclude><br /></noinclude> | References = <translate><!--T:24--> References</translate><noinclude><br /></noinclude> | Research = <translate><!--T:25--> Research</translate><noinclude><br /></noinclude> | Resources = <translate><!--T:3--> Resources</translate><noinclude><br /></noinclude> | See also = <translate><!--T:26--> See also</translate><noinclude><br /></noinclude> | Start = <translate><!--T:27--> Start</translate><noinclude><br /></noinclude> | Statistics = {{int|wikimedia-statslink}}<noinclude><br /></noinclude> | Status = <translate><!--T:33--> Status</translate><noinclude><br /></noinclude> | Talk to us = <translate><!--T:29--> Talk to us</translate><noinclude><br /></noinclude> | Thank you. = {{int:thank-you/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Thank you! = {{int:research-incentive-confirm-msg/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Upcoming = <translate><!--T:34--> Upcoming</translate><noinclude><br /></noinclude> | Wikibooks = {{int|wikibase-sitelinks-wikibooks}}<noinclude><br /></noinclude> | Wikidata = {{int:project-localized-name-wikidatawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia = <translate><!--T:4--> Wikimedia</translate><noinclude><br /></noinclude> | Wikimedia Commons = {{int:project-localized-name-commonswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia Foundation = <translate><!--T:5--> Wikimedia Foundation</translate><noinclude><br /></noinclude> | Wikimedia Foundation, Inc. = {{int:wikibase-page-schema-publisher-name/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia Incubator = {{int:project-localized-name-incubatorwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikinews = {{int|wikibase-sitelinks-wikinews}}<noinclude><br /></noinclude> | Wikiquote = {{int|wikibase-sitelinks-wikiquote}}<noinclude><br /></noinclude> | Wikisource = {{int|wikibase-sitelinks-wikisource}}<noinclude><br /></noinclude> | Wikispecies = {{int:project-localized-name-specieswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikitech = {{int:project-localized-name-labswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikiversity = {{int|wikibase-sitelinks-wikiversity}}<noinclude><br /></noinclude> | Wikivoyage = {{int|wikibase-sitelinks-wikivoyage}}<noinclude><br /></noinclude> | Wiktionary = {{int|wikibase-sitelinks-wiktionary}}<noinclude><br /></noinclude> | Yes = {{int:research-incentive-answer-positive/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | <includeonly>[[Category:Pages with a string missing from Int string template{{#translation:}}]] }}</includeonly><noinclude> {{doc}} </noinclude> 42pdbwgecphtom6ttcieumwj8n2rwmq 10100 10099 2022-09-26T16:47:55Z meta>GVarnum-WMF 0 {{Help translate/Common messages}} 10100 wikitext text/x-wiki <noinclude>__NOTOC__ <languages /> {{Help translate/Common messages}}<translate> == Available strings == <!--T:28--> </translate></noinclude><includeonly> {{#switch: {{{1|}}} </includeonly> | Closed = <translate><!--T:30--> Closed</translate><noinclude><br /></noinclude> | Commons = {{int:wikibase-sitelinks-sitename-commonswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Connect = <translate><!--T:19--> Connect</translate><noinclude><br /></noinclude> | Contribute = <translate><!--T:20--> Contribute</translate><noinclude><br /></noinclude> | Creative Commons = <translate><!--T:7--> Creative Commons</translate><noinclude><br /></noinclude> | Done = {{int:Upload-dialog-button-done/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Feedback = {{int:specialblockfeedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Frequently asked questions = <translate><!--T:21--> Frequently asked questions</translate><noinclude><br /></noinclude> | Hello = {{int:hello/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Home = <translate><!--T:1--> Home</translate><noinclude><br /></noinclude> | Leave Feedback = {{int:specialinvestigate-feedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | No = {{int:research-incentive-answer-negative/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Open = <translate><!--T:31--> Open</translate><noinclude><br /></noinclude> | Plan = <translate><!--T:22--> Plan</translate><noinclude><br /></noinclude> | MediaWiki = {{int:project-localized-name-mediawikiwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Meta-Wiki = {{int:project-localized-name-metawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Ongoing = <translate><!--T:32--> Ongoing</translate><noinclude><br /></noinclude> | Projects = <translate><!--T:23--> Projects</translate><noinclude><br /></noinclude> | References = <translate><!--T:24--> References</translate><noinclude><br /></noinclude> | Research = <translate><!--T:25--> Research</translate><noinclude><br /></noinclude> | Resources = <translate><!--T:3--> Resources</translate><noinclude><br /></noinclude> | See also = <translate><!--T:26--> See also</translate><noinclude><br /></noinclude> | Start = <translate><!--T:27--> Start</translate><noinclude><br /></noinclude> | Statistics = {{int|wikimedia-statslink}}<noinclude><br /></noinclude> | Status = <translate><!--T:33--> Status</translate><noinclude><br /></noinclude> | Talk to us = <translate><!--T:29--> Talk to us</translate><noinclude><br /></noinclude> | Thank you. = {{int:thank-you/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Thank you! = {{int:research-incentive-confirm-msg/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Upcoming = <translate><!--T:34--> Upcoming</translate><noinclude><br /></noinclude> | Wikibooks = {{int|wikibase-sitelinks-wikibooks}}<noinclude><br /></noinclude> | Wikidata = {{int:project-localized-name-wikidatawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia = <translate><!--T:4--> Wikimedia</translate><noinclude><br /></noinclude> | Wikimedia Commons = {{int:project-localized-name-commonswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia Foundation = <translate><!--T:5--> Wikimedia Foundation</translate><noinclude><br /></noinclude> | Wikimedia Foundation, Inc. = {{int:wikibase-page-schema-publisher-name/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia Incubator = {{int:project-localized-name-incubatorwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikinews = {{int|wikibase-sitelinks-wikinews}}<noinclude><br /></noinclude> | Wikiquote = {{int|wikibase-sitelinks-wikiquote}}<noinclude><br /></noinclude> | Wikisource = {{int|wikibase-sitelinks-wikisource}}<noinclude><br /></noinclude> | Wikispecies = {{int:project-localized-name-specieswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikitech = {{int:project-localized-name-labswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikiversity = {{int|wikibase-sitelinks-wikiversity}}<noinclude><br /></noinclude> | Wikivoyage = {{int|wikibase-sitelinks-wikivoyage}}<noinclude><br /></noinclude> | Wiktionary = {{int|wikibase-sitelinks-wiktionary}}<noinclude><br /></noinclude> | Yes = {{int:research-incentive-answer-positive/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | <includeonly>[[Category:Pages with a string missing from Int string template{{#translation:}}]] }}</includeonly><noinclude> {{doc}} </noinclude> e5r5xx7kfw9vguyom4oofl5jtz9gzwk 10101 10100 2022-09-26T17:33:27Z meta>GVarnum-WMF 0 | #default 10101 wikitext text/x-wiki <noinclude>__NOTOC__ <languages /> {{Help translate/Common messages}}<translate> == Available strings == <!--T:28--> </translate></noinclude><includeonly> {{#switch: {{{1|}}} </includeonly> | Closed = <translate><!--T:30--> Closed</translate><noinclude><br /></noinclude> | Commons = {{int:wikibase-sitelinks-sitename-commonswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Connect = <translate><!--T:19--> Connect</translate><noinclude><br /></noinclude> | Contribute = <translate><!--T:20--> Contribute</translate><noinclude><br /></noinclude> | Creative Commons = <translate><!--T:7--> Creative Commons</translate><noinclude><br /></noinclude> | Done = {{int:Upload-dialog-button-done/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Feedback = {{int:specialblockfeedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Frequently asked questions = <translate><!--T:21--> Frequently asked questions</translate><noinclude><br /></noinclude> | Hello = {{int:hello/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Home = <translate><!--T:1--> Home</translate><noinclude><br /></noinclude> | Leave Feedback = {{int:specialinvestigate-feedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | No = {{int:research-incentive-answer-negative/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Open = <translate><!--T:31--> Open</translate><noinclude><br /></noinclude> | Plan = <translate><!--T:22--> Plan</translate><noinclude><br /></noinclude> | MediaWiki = {{int:project-localized-name-mediawikiwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Meta-Wiki = {{int:project-localized-name-metawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Ongoing = <translate><!--T:32--> Ongoing</translate><noinclude><br /></noinclude> | Projects = <translate><!--T:23--> Projects</translate><noinclude><br /></noinclude> | References = <translate><!--T:24--> References</translate><noinclude><br /></noinclude> | Research = <translate><!--T:25--> Research</translate><noinclude><br /></noinclude> | Resources = <translate><!--T:3--> Resources</translate><noinclude><br /></noinclude> | See also = <translate><!--T:26--> See also</translate><noinclude><br /></noinclude> | Start = <translate><!--T:27--> Start</translate><noinclude><br /></noinclude> | Statistics = {{int|wikimedia-statslink}}<noinclude><br /></noinclude> | Status = <translate><!--T:33--> Status</translate><noinclude><br /></noinclude> | Talk to us = <translate><!--T:29--> Talk to us</translate><noinclude><br /></noinclude> | Thank you. = {{int:thank-you/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Thank you! = {{int:research-incentive-confirm-msg/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Upcoming = <translate><!--T:34--> Upcoming</translate><noinclude><br /></noinclude> | Wikibooks = {{int|wikibase-sitelinks-wikibooks}}<noinclude><br /></noinclude> | Wikidata = {{int:project-localized-name-wikidatawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia = <translate><!--T:4--> Wikimedia</translate><noinclude><br /></noinclude> | Wikimedia Commons = {{int:project-localized-name-commonswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia Foundation = <translate><!--T:5--> Wikimedia Foundation</translate><noinclude><br /></noinclude> | Wikimedia Foundation, Inc. = {{int:wikibase-page-schema-publisher-name/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia Incubator = {{int:project-localized-name-incubatorwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikinews = {{int|wikibase-sitelinks-wikinews}}<noinclude><br /></noinclude> | Wikiquote = {{int|wikibase-sitelinks-wikiquote}}<noinclude><br /></noinclude> | Wikisource = {{int|wikibase-sitelinks-wikisource}}<noinclude><br /></noinclude> | Wikispecies = {{int:project-localized-name-specieswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikitech = {{int:project-localized-name-labswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikiversity = {{int|wikibase-sitelinks-wikiversity}}<noinclude><br /></noinclude> | Wikivoyage = {{int|wikibase-sitelinks-wikivoyage}}<noinclude><br /></noinclude> | Wiktionary = {{int|wikibase-sitelinks-wiktionary}}<noinclude><br /></noinclude> | Yes = {{int:research-incentive-answer-positive/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | #default = <includeonly>{{{1|}}}[[Category:Pages with a string missing from Int string template{{#translation:}}]] }}</includeonly><noinclude> {{doc}} </noinclude> 4ec7hfkb6l9ybdblfzp6hh1voxminn3 10102 10101 2022-09-26T17:33:58Z meta>GVarnum-WMF 0 formatting tweak 10102 wikitext text/x-wiki <noinclude>__NOTOC__ <languages /> {{Help translate/Common messages}}<translate> == Available strings == <!--T:28--> </translate></noinclude><includeonly> {{#switch: {{{1|}}} </includeonly> | Closed = <translate><!--T:30--> Closed</translate><noinclude><br /></noinclude> | Commons = {{int:wikibase-sitelinks-sitename-commonswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Connect = <translate><!--T:19--> Connect</translate><noinclude><br /></noinclude> | Contribute = <translate><!--T:20--> Contribute</translate><noinclude><br /></noinclude> | Creative Commons = <translate><!--T:7--> Creative Commons</translate><noinclude><br /></noinclude> | Done = {{int:Upload-dialog-button-done/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Feedback = {{int:specialblockfeedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Frequently asked questions = <translate><!--T:21--> Frequently asked questions</translate><noinclude><br /></noinclude> | Hello = {{int:hello/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Home = <translate><!--T:1--> Home</translate><noinclude><br /></noinclude> | Leave Feedback = {{int:specialinvestigate-feedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | No = {{int:research-incentive-answer-negative/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Open = <translate><!--T:31--> Open</translate><noinclude><br /></noinclude> | Plan = <translate><!--T:22--> Plan</translate><noinclude><br /></noinclude> | MediaWiki = {{int:project-localized-name-mediawikiwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Meta-Wiki = {{int:project-localized-name-metawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Ongoing = <translate><!--T:32--> Ongoing</translate><noinclude><br /></noinclude> | Projects = <translate><!--T:23--> Projects</translate><noinclude><br /></noinclude> | References = <translate><!--T:24--> References</translate><noinclude><br /></noinclude> | Research = <translate><!--T:25--> Research</translate><noinclude><br /></noinclude> | Resources = <translate><!--T:3--> Resources</translate><noinclude><br /></noinclude> | See also = <translate><!--T:26--> See also</translate><noinclude><br /></noinclude> | Start = <translate><!--T:27--> Start</translate><noinclude><br /></noinclude> | Statistics = {{int|wikimedia-statslink}}<noinclude><br /></noinclude> | Status = <translate><!--T:33--> Status</translate><noinclude><br /></noinclude> | Talk to us = <translate><!--T:29--> Talk to us</translate><noinclude><br /></noinclude> | Thank you. = {{int:thank-you/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Thank you! = {{int:research-incentive-confirm-msg/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Upcoming = <translate><!--T:34--> Upcoming</translate><noinclude><br /></noinclude> | Wikibooks = {{int|wikibase-sitelinks-wikibooks}}<noinclude><br /></noinclude> | Wikidata = {{int:project-localized-name-wikidatawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia = <translate><!--T:4--> Wikimedia</translate><noinclude><br /></noinclude> | Wikimedia Commons = {{int:project-localized-name-commonswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia Foundation = <translate><!--T:5--> Wikimedia Foundation</translate><noinclude><br /></noinclude> | Wikimedia Foundation, Inc. = {{int:wikibase-page-schema-publisher-name/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia Incubator = {{int:project-localized-name-incubatorwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikinews = {{int|wikibase-sitelinks-wikinews}}<noinclude><br /></noinclude> | Wikiquote = {{int|wikibase-sitelinks-wikiquote}}<noinclude><br /></noinclude> | Wikisource = {{int|wikibase-sitelinks-wikisource}}<noinclude><br /></noinclude> | Wikispecies = {{int:project-localized-name-specieswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikitech = {{int:project-localized-name-labswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikiversity = {{int|wikibase-sitelinks-wikiversity}}<noinclude><br /></noinclude> | Wikivoyage = {{int|wikibase-sitelinks-wikivoyage}}<noinclude><br /></noinclude> | Wiktionary = {{int|wikibase-sitelinks-wiktionary}}<noinclude><br /></noinclude> | Yes = {{int:research-incentive-answer-positive/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | #default = {{{1}}}<includeonly>[[Category:Pages with a string missing from Int string template{{#translation:}}]] }}</includeonly><noinclude> {{doc}} </noinclude> lv3tsvepq9vl5gccvarejmmdtoy0c3x 10103 10102 2022-09-26T18:27:25Z meta>GVarnum-WMF 0 Moved Creative Commons to [[Template:Name]] 10103 wikitext text/x-wiki <noinclude>__NOTOC__ <languages /> {{Help translate/Common messages}}<translate> == Available strings == <!--T:28--> </translate></noinclude><includeonly> {{#switch: {{{1|}}} </includeonly> | Closed = <translate><!--T:30--> Closed</translate><noinclude><br /></noinclude> | Commons = {{int:wikibase-sitelinks-sitename-commonswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Connect = <translate><!--T:19--> Connect</translate><noinclude><br /></noinclude> | Contribute = <translate><!--T:20--> Contribute</translate><noinclude><br /></noinclude> | Done = {{int:Upload-dialog-button-done/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Feedback = {{int:specialblockfeedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Frequently asked questions = <translate><!--T:21--> Frequently asked questions</translate><noinclude><br /></noinclude> | Hello = {{int:hello/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Home = <translate><!--T:1--> Home</translate><noinclude><br /></noinclude> | Leave Feedback = {{int:specialinvestigate-feedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | No = {{int:research-incentive-answer-negative/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Open = <translate><!--T:31--> Open</translate><noinclude><br /></noinclude> | Plan = <translate><!--T:22--> Plan</translate><noinclude><br /></noinclude> | MediaWiki = {{int:project-localized-name-mediawikiwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Meta-Wiki = {{int:project-localized-name-metawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Ongoing = <translate><!--T:32--> Ongoing</translate><noinclude><br /></noinclude> | Projects = <translate><!--T:23--> Projects</translate><noinclude><br /></noinclude> | References = <translate><!--T:24--> References</translate><noinclude><br /></noinclude> | Research = <translate><!--T:25--> Research</translate><noinclude><br /></noinclude> | Resources = <translate><!--T:3--> Resources</translate><noinclude><br /></noinclude> | See also = <translate><!--T:26--> See also</translate><noinclude><br /></noinclude> | Start = <translate><!--T:27--> Start</translate><noinclude><br /></noinclude> | Statistics = {{int|wikimedia-statslink}}<noinclude><br /></noinclude> | Status = <translate><!--T:33--> Status</translate><noinclude><br /></noinclude> | Talk to us = <translate><!--T:29--> Talk to us</translate><noinclude><br /></noinclude> | Thank you. = {{int:thank-you/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Thank you! = {{int:research-incentive-confirm-msg/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Upcoming = <translate><!--T:34--> Upcoming</translate><noinclude><br /></noinclude> | Wikibooks = {{int|wikibase-sitelinks-wikibooks}}<noinclude><br /></noinclude> | Wikidata = {{int:project-localized-name-wikidatawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia = <translate><!--T:4--> Wikimedia</translate><noinclude><br /></noinclude> | Wikimedia Commons = {{int:project-localized-name-commonswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia Foundation = <translate><!--T:5--> Wikimedia Foundation</translate><noinclude><br /></noinclude> | Wikimedia Foundation, Inc. = {{int:wikibase-page-schema-publisher-name/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia Incubator = {{int:project-localized-name-incubatorwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikinews = {{int|wikibase-sitelinks-wikinews}}<noinclude><br /></noinclude> | Wikiquote = {{int|wikibase-sitelinks-wikiquote}}<noinclude><br /></noinclude> | Wikisource = {{int|wikibase-sitelinks-wikisource}}<noinclude><br /></noinclude> | Wikispecies = {{int:project-localized-name-specieswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikitech = {{int:project-localized-name-labswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikiversity = {{int|wikibase-sitelinks-wikiversity}}<noinclude><br /></noinclude> | Wikivoyage = {{int|wikibase-sitelinks-wikivoyage}}<noinclude><br /></noinclude> | Wiktionary = {{int|wikibase-sitelinks-wiktionary}}<noinclude><br /></noinclude> | Yes = {{int:research-incentive-answer-positive/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | #default = {{{1}}}<includeonly>[[Category:Pages with a string missing from Int string template{{#translation:}}]] }}</includeonly><noinclude> {{doc}} </noinclude> kruq43m9bzhqsom6gpz49917p1h00w1 10104 10103 2022-09-26T18:31:21Z meta>GVarnum-WMF 0 change support category setup 10104 wikitext text/x-wiki <noinclude>__NOTOC__ <languages /> {{Help translate/Common messages}}<translate> == Available strings == <!--T:28--> </translate></noinclude><includeonly> {{#switch: {{{1|}}} </includeonly> | Closed = <translate><!--T:30--> Closed</translate><noinclude><br /></noinclude> | Commons = {{int:wikibase-sitelinks-sitename-commonswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Connect = <translate><!--T:19--> Connect</translate><noinclude><br /></noinclude> | Contribute = <translate><!--T:20--> Contribute</translate><noinclude><br /></noinclude> | Done = {{int:Upload-dialog-button-done/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Feedback = {{int:specialblockfeedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Frequently asked questions = <translate><!--T:21--> Frequently asked questions</translate><noinclude><br /></noinclude> | Hello = {{int:hello/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Home = <translate><!--T:1--> Home</translate><noinclude><br /></noinclude> | Leave Feedback = {{int:specialinvestigate-feedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | No = {{int:research-incentive-answer-negative/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Open = <translate><!--T:31--> Open</translate><noinclude><br /></noinclude> | Plan = <translate><!--T:22--> Plan</translate><noinclude><br /></noinclude> | MediaWiki = {{int:project-localized-name-mediawikiwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Meta-Wiki = {{int:project-localized-name-metawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Ongoing = <translate><!--T:32--> Ongoing</translate><noinclude><br /></noinclude> | Projects = <translate><!--T:23--> Projects</translate><noinclude><br /></noinclude> | References = <translate><!--T:24--> References</translate><noinclude><br /></noinclude> | Research = <translate><!--T:25--> Research</translate><noinclude><br /></noinclude> | Resources = <translate><!--T:3--> Resources</translate><noinclude><br /></noinclude> | See also = <translate><!--T:26--> See also</translate><noinclude><br /></noinclude> | Start = <translate><!--T:27--> Start</translate><noinclude><br /></noinclude> | Statistics = {{int|wikimedia-statslink}}<noinclude><br /></noinclude> | Status = <translate><!--T:33--> Status</translate><noinclude><br /></noinclude> | Talk to us = <translate><!--T:29--> Talk to us</translate><noinclude><br /></noinclude> | Thank you. = {{int:thank-you/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Thank you! = {{int:research-incentive-confirm-msg/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Upcoming = <translate><!--T:34--> Upcoming</translate><noinclude><br /></noinclude> | Wikibooks = {{int|wikibase-sitelinks-wikibooks}}<noinclude><br /></noinclude> | Wikidata = {{int:project-localized-name-wikidatawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia = <translate><!--T:4--> Wikimedia</translate><noinclude><br /></noinclude> | Wikimedia Commons = {{int:project-localized-name-commonswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia Foundation = <translate><!--T:5--> Wikimedia Foundation</translate><noinclude><br /></noinclude> | Wikimedia Foundation, Inc. = {{int:wikibase-page-schema-publisher-name/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia Incubator = {{int:project-localized-name-incubatorwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikinews = {{int|wikibase-sitelinks-wikinews}}<noinclude><br /></noinclude> | Wikiquote = {{int|wikibase-sitelinks-wikiquote}}<noinclude><br /></noinclude> | Wikisource = {{int|wikibase-sitelinks-wikisource}}<noinclude><br /></noinclude> | Wikispecies = {{int:project-localized-name-specieswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikitech = {{int:project-localized-name-labswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikiversity = {{int|wikibase-sitelinks-wikiversity}}<noinclude><br /></noinclude> | Wikivoyage = {{int|wikibase-sitelinks-wikivoyage}}<noinclude><br /></noinclude> | Wiktionary = {{int|wikibase-sitelinks-wiktionary}}<noinclude><br /></noinclude> | Yes = {{int:research-incentive-answer-positive/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | #default = {{{1<includeonly>|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]</includeonly>}}}<includeonly>[[Category:Pages with missing string in Template:Int string{{#translation:}}]] }}</includeonly><noinclude> {{doc}} </noinclude> rg2svdp1v4mfqunc02qznd0ez70w1au 10105 10104 2022-09-26T18:33:50Z meta>GVarnum-WMF 0 fix cat setup 10105 wikitext text/x-wiki <noinclude>__NOTOC__ <languages /> {{Help translate/Common messages}}<translate> == Available strings == <!--T:28--> </translate></noinclude><includeonly> {{#switch: {{{1|}}} </includeonly> | Closed = <translate><!--T:30--> Closed</translate><noinclude><br /></noinclude> | Commons = {{int:wikibase-sitelinks-sitename-commonswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Connect = <translate><!--T:19--> Connect</translate><noinclude><br /></noinclude> | Contribute = <translate><!--T:20--> Contribute</translate><noinclude><br /></noinclude> | Done = {{int:Upload-dialog-button-done/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Feedback = {{int:specialblockfeedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Frequently asked questions = <translate><!--T:21--> Frequently asked questions</translate><noinclude><br /></noinclude> | Hello = {{int:hello/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Home = <translate><!--T:1--> Home</translate><noinclude><br /></noinclude> | Leave Feedback = {{int:specialinvestigate-feedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | No = {{int:research-incentive-answer-negative/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Open = <translate><!--T:31--> Open</translate><noinclude><br /></noinclude> | Plan = <translate><!--T:22--> Plan</translate><noinclude><br /></noinclude> | MediaWiki = {{int:project-localized-name-mediawikiwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Meta-Wiki = {{int:project-localized-name-metawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Ongoing = <translate><!--T:32--> Ongoing</translate><noinclude><br /></noinclude> | Projects = <translate><!--T:23--> Projects</translate><noinclude><br /></noinclude> | References = <translate><!--T:24--> References</translate><noinclude><br /></noinclude> | Research = <translate><!--T:25--> Research</translate><noinclude><br /></noinclude> | Resources = <translate><!--T:3--> Resources</translate><noinclude><br /></noinclude> | See also = <translate><!--T:26--> See also</translate><noinclude><br /></noinclude> | Start = <translate><!--T:27--> Start</translate><noinclude><br /></noinclude> | Statistics = {{int|wikimedia-statslink}}<noinclude><br /></noinclude> | Status = <translate><!--T:33--> Status</translate><noinclude><br /></noinclude> | Talk to us = <translate><!--T:29--> Talk to us</translate><noinclude><br /></noinclude> | Thank you. = {{int:thank-you/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Thank you! = {{int:research-incentive-confirm-msg/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Upcoming = <translate><!--T:34--> Upcoming</translate><noinclude><br /></noinclude> | Wikibooks = {{int|wikibase-sitelinks-wikibooks}}<noinclude><br /></noinclude> | Wikidata = {{int:project-localized-name-wikidatawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia = <translate><!--T:4--> Wikimedia</translate><noinclude><br /></noinclude> | Wikimedia Commons = {{int:project-localized-name-commonswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia Foundation = <translate><!--T:5--> Wikimedia Foundation</translate><noinclude><br /></noinclude> | Wikimedia Foundation, Inc. = {{int:wikibase-page-schema-publisher-name/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia Incubator = {{int:project-localized-name-incubatorwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikinews = {{int|wikibase-sitelinks-wikinews}}<noinclude><br /></noinclude> | Wikiquote = {{int|wikibase-sitelinks-wikiquote}}<noinclude><br /></noinclude> | Wikisource = {{int|wikibase-sitelinks-wikisource}}<noinclude><br /></noinclude> | Wikispecies = {{int:project-localized-name-specieswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikitech = {{int:project-localized-name-labswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikiversity = {{int|wikibase-sitelinks-wikiversity}}<noinclude><br /></noinclude> | Wikivoyage = {{int|wikibase-sitelinks-wikivoyage}}<noinclude><br /></noinclude> | Wiktionary = {{int|wikibase-sitelinks-wiktionary}}<noinclude><br /></noinclude> | Yes = {{int:research-incentive-answer-positive/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | #default = {{{1<includeonly>|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]</includeonly>}}}<includeonly>[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]] }}</includeonly><noinclude> {{doc}} </noinclude> 660qhfnmpkzhgwjb0s4lqje4t425ftq 10106 10105 2022-09-26T18:41:44Z meta>GVarnum-WMF 0 change/fix support cat setup 10106 wikitext text/x-wiki <noinclude>__NOTOC__ <languages /> {{Help translate/Common messages}}<translate> == Available strings == <!--T:28--> </translate></noinclude><includeonly> {{#switch: {{{1|}}} </includeonly> | Closed = <translate><!--T:30--> Closed</translate><noinclude><br /></noinclude> | Commons = {{int:wikibase-sitelinks-sitename-commonswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Connect = <translate><!--T:19--> Connect</translate><noinclude><br /></noinclude> | Contribute = <translate><!--T:20--> Contribute</translate><noinclude><br /></noinclude> | Done = {{int:Upload-dialog-button-done/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Feedback = {{int:specialblockfeedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Frequently asked questions = <translate><!--T:21--> Frequently asked questions</translate><noinclude><br /></noinclude> | Hello = {{int:hello/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Home = <translate><!--T:1--> Home</translate><noinclude><br /></noinclude> | Leave Feedback = {{int:specialinvestigate-feedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | No = {{int:research-incentive-answer-negative/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Open = <translate><!--T:31--> Open</translate><noinclude><br /></noinclude> | Plan = <translate><!--T:22--> Plan</translate><noinclude><br /></noinclude> | MediaWiki = {{int:project-localized-name-mediawikiwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Meta-Wiki = {{int:project-localized-name-metawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Ongoing = <translate><!--T:32--> Ongoing</translate><noinclude><br /></noinclude> | Projects = <translate><!--T:23--> Projects</translate><noinclude><br /></noinclude> | References = <translate><!--T:24--> References</translate><noinclude><br /></noinclude> | Research = <translate><!--T:25--> Research</translate><noinclude><br /></noinclude> | Resources = <translate><!--T:3--> Resources</translate><noinclude><br /></noinclude> | See also = <translate><!--T:26--> See also</translate><noinclude><br /></noinclude> | Start = <translate><!--T:27--> Start</translate><noinclude><br /></noinclude> | Statistics = {{int|wikimedia-statslink}}<noinclude><br /></noinclude> | Status = <translate><!--T:33--> Status</translate><noinclude><br /></noinclude> | Talk to us = <translate><!--T:29--> Talk to us</translate><noinclude><br /></noinclude> | Thank you. = {{int:thank-you/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Thank you! = {{int:research-incentive-confirm-msg/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Upcoming = <translate><!--T:34--> Upcoming</translate><noinclude><br /></noinclude> | Wikibooks = {{int|wikibase-sitelinks-wikibooks}}<noinclude><br /></noinclude> | Wikidata = {{int:project-localized-name-wikidatawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia = <translate><!--T:4--> Wikimedia</translate><noinclude><br /></noinclude> | Wikimedia Commons = {{int:project-localized-name-commonswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia Foundation = <translate><!--T:5--> Wikimedia Foundation</translate><noinclude><br /></noinclude> | Wikimedia Foundation, Inc. = {{int:wikibase-page-schema-publisher-name/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia Incubator = {{int:project-localized-name-incubatorwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikinews = {{int|wikibase-sitelinks-wikinews}}<noinclude><br /></noinclude> | Wikiquote = {{int|wikibase-sitelinks-wikiquote}}<noinclude><br /></noinclude> | Wikisource = {{int|wikibase-sitelinks-wikisource}}<noinclude><br /></noinclude> | Wikispecies = {{int:project-localized-name-specieswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikitech = {{int:project-localized-name-labswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikiversity = {{int|wikibase-sitelinks-wikiversity}}<noinclude><br /></noinclude> | Wikivoyage = {{int|wikibase-sitelinks-wikivoyage}}<noinclude><br /></noinclude> | Wiktionary = {{int|wikibase-sitelinks-wiktionary}}<noinclude><br /></noinclude> | Yes = {{int:research-incentive-answer-positive/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | #default = {{{1}}}<includeonly>{{#if:{{{1}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}} }}</includeonly><noinclude> {{doc}} </noinclude> c1zpzorvgggsfwzimbstg5ncsius18t 10107 10106 2022-09-26T18:44:44Z meta>GVarnum-WMF 0 {{{1<includeonly>|</includeonly>}}} 10107 wikitext text/x-wiki <noinclude>__NOTOC__ <languages /> {{Help translate/Common messages}}<translate> == Available strings == <!--T:28--> </translate></noinclude><includeonly> {{#switch: {{{1|}}} </includeonly> | Closed = <translate><!--T:30--> Closed</translate><noinclude><br /></noinclude> | Commons = {{int:wikibase-sitelinks-sitename-commonswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Connect = <translate><!--T:19--> Connect</translate><noinclude><br /></noinclude> | Contribute = <translate><!--T:20--> Contribute</translate><noinclude><br /></noinclude> | Done = {{int:Upload-dialog-button-done/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Feedback = {{int:specialblockfeedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Frequently asked questions = <translate><!--T:21--> Frequently asked questions</translate><noinclude><br /></noinclude> | Hello = {{int:hello/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Home = <translate><!--T:1--> Home</translate><noinclude><br /></noinclude> | Leave Feedback = {{int:specialinvestigate-feedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | No = {{int:research-incentive-answer-negative/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Open = <translate><!--T:31--> Open</translate><noinclude><br /></noinclude> | Plan = <translate><!--T:22--> Plan</translate><noinclude><br /></noinclude> | MediaWiki = {{int:project-localized-name-mediawikiwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Meta-Wiki = {{int:project-localized-name-metawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Ongoing = <translate><!--T:32--> Ongoing</translate><noinclude><br /></noinclude> | Projects = <translate><!--T:23--> Projects</translate><noinclude><br /></noinclude> | References = <translate><!--T:24--> References</translate><noinclude><br /></noinclude> | Research = <translate><!--T:25--> Research</translate><noinclude><br /></noinclude> | Resources = <translate><!--T:3--> Resources</translate><noinclude><br /></noinclude> | See also = <translate><!--T:26--> See also</translate><noinclude><br /></noinclude> | Start = <translate><!--T:27--> Start</translate><noinclude><br /></noinclude> | Statistics = {{int|wikimedia-statslink}}<noinclude><br /></noinclude> | Status = <translate><!--T:33--> Status</translate><noinclude><br /></noinclude> | Talk to us = <translate><!--T:29--> Talk to us</translate><noinclude><br /></noinclude> | Thank you. = {{int:thank-you/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Thank you! = {{int:research-incentive-confirm-msg/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Upcoming = <translate><!--T:34--> Upcoming</translate><noinclude><br /></noinclude> | Wikibooks = {{int|wikibase-sitelinks-wikibooks}}<noinclude><br /></noinclude> | Wikidata = {{int:project-localized-name-wikidatawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia = <translate><!--T:4--> Wikimedia</translate><noinclude><br /></noinclude> | Wikimedia Commons = {{int:project-localized-name-commonswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia Foundation = <translate><!--T:5--> Wikimedia Foundation</translate><noinclude><br /></noinclude> | Wikimedia Foundation, Inc. = {{int:wikibase-page-schema-publisher-name/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia Incubator = {{int:project-localized-name-incubatorwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikinews = {{int|wikibase-sitelinks-wikinews}}<noinclude><br /></noinclude> | Wikiquote = {{int|wikibase-sitelinks-wikiquote}}<noinclude><br /></noinclude> | Wikisource = {{int|wikibase-sitelinks-wikisource}}<noinclude><br /></noinclude> | Wikispecies = {{int:project-localized-name-specieswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikitech = {{int:project-localized-name-labswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikiversity = {{int|wikibase-sitelinks-wikiversity}}<noinclude><br /></noinclude> | Wikivoyage = {{int|wikibase-sitelinks-wikivoyage}}<noinclude><br /></noinclude> | Wiktionary = {{int|wikibase-sitelinks-wiktionary}}<noinclude><br /></noinclude> | Yes = {{int:research-incentive-answer-positive/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | #default = {{{1<includeonly>|</includeonly>}}}<includeonly>{{#if:{{{1}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}} }}</includeonly><noinclude> {{doc}} </noinclude> syyby36upm3cnnpxqkk537pm3823phw 10108 10107 2022-09-26T18:45:51Z meta>GVarnum-WMF 0 #if fix 10108 wikitext text/x-wiki <noinclude>__NOTOC__ <languages /> {{Help translate/Common messages}}<translate> == Available strings == <!--T:28--> </translate></noinclude><includeonly> {{#switch: {{{1|}}} </includeonly> | Closed = <translate><!--T:30--> Closed</translate><noinclude><br /></noinclude> | Commons = {{int:wikibase-sitelinks-sitename-commonswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Connect = <translate><!--T:19--> Connect</translate><noinclude><br /></noinclude> | Contribute = <translate><!--T:20--> Contribute</translate><noinclude><br /></noinclude> | Done = {{int:Upload-dialog-button-done/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Feedback = {{int:specialblockfeedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Frequently asked questions = <translate><!--T:21--> Frequently asked questions</translate><noinclude><br /></noinclude> | Hello = {{int:hello/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Home = <translate><!--T:1--> Home</translate><noinclude><br /></noinclude> | Leave Feedback = {{int:specialinvestigate-feedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | No = {{int:research-incentive-answer-negative/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Open = <translate><!--T:31--> Open</translate><noinclude><br /></noinclude> | Plan = <translate><!--T:22--> Plan</translate><noinclude><br /></noinclude> | MediaWiki = {{int:project-localized-name-mediawikiwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Meta-Wiki = {{int:project-localized-name-metawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Ongoing = <translate><!--T:32--> Ongoing</translate><noinclude><br /></noinclude> | Projects = <translate><!--T:23--> Projects</translate><noinclude><br /></noinclude> | References = <translate><!--T:24--> References</translate><noinclude><br /></noinclude> | Research = <translate><!--T:25--> Research</translate><noinclude><br /></noinclude> | Resources = <translate><!--T:3--> Resources</translate><noinclude><br /></noinclude> | See also = <translate><!--T:26--> See also</translate><noinclude><br /></noinclude> | Start = <translate><!--T:27--> Start</translate><noinclude><br /></noinclude> | Statistics = {{int|wikimedia-statslink}}<noinclude><br /></noinclude> | Status = <translate><!--T:33--> Status</translate><noinclude><br /></noinclude> | Talk to us = <translate><!--T:29--> Talk to us</translate><noinclude><br /></noinclude> | Thank you. = {{int:thank-you/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Thank you! = {{int:research-incentive-confirm-msg/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Upcoming = <translate><!--T:34--> Upcoming</translate><noinclude><br /></noinclude> | Wikibooks = {{int|wikibase-sitelinks-wikibooks}}<noinclude><br /></noinclude> | Wikidata = {{int:project-localized-name-wikidatawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia = <translate><!--T:4--> Wikimedia</translate><noinclude><br /></noinclude> | Wikimedia Commons = {{int:project-localized-name-commonswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia Foundation = <translate><!--T:5--> Wikimedia Foundation</translate><noinclude><br /></noinclude> | Wikimedia Foundation, Inc. = {{int:wikibase-page-schema-publisher-name/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia Incubator = {{int:project-localized-name-incubatorwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikinews = {{int|wikibase-sitelinks-wikinews}}<noinclude><br /></noinclude> | Wikiquote = {{int|wikibase-sitelinks-wikiquote}}<noinclude><br /></noinclude> | Wikisource = {{int|wikibase-sitelinks-wikisource}}<noinclude><br /></noinclude> | Wikispecies = {{int:project-localized-name-specieswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikitech = {{int:project-localized-name-labswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikiversity = {{int|wikibase-sitelinks-wikiversity}}<noinclude><br /></noinclude> | Wikivoyage = {{int|wikibase-sitelinks-wikivoyage}}<noinclude><br /></noinclude> | Wiktionary = {{int|wikibase-sitelinks-wiktionary}}<noinclude><br /></noinclude> | Yes = {{int:research-incentive-answer-positive/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | #default = {{{1<includeonly>|</includeonly>}}}<includeonly>{{#if:{{{1|}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}} }}</includeonly><noinclude> {{doc}} </noinclude> 8aj4u642ju0y2pni5khih7ccw07zvdv 10109 10108 2022-09-26T20:09:48Z meta>Pols12 0 {{CURRENTCONTENTLANGUAGE}}→{{PAGELANGUAGE}} 10109 wikitext text/x-wiki <noinclude>__NOTOC__ <languages /> {{Help translate/Common messages}}<translate> == Available strings == <!--T:28--> </translate></noinclude><includeonly> {{#switch: {{{1|}}} </includeonly> | Closed = <translate><!--T:30--> Closed</translate><noinclude><br /></noinclude> | Commons = {{int:wikibase-sitelinks-sitename-commonswiki/{{PAGELANGUAGE}}}}<noinclude><br /></noinclude> | Connect = <translate><!--T:19--> Connect</translate><noinclude><br /></noinclude> | Contribute = <translate><!--T:20--> Contribute</translate><noinclude><br /></noinclude> | Done = {{int:Upload-dialog-button-done/{{PAGELANGUAGE}}}}<noinclude><br /></noinclude> | Feedback = {{int:specialblockfeedback/{{PAGELANGUAGE}}}}<noinclude><br /></noinclude> | Frequently asked questions = <translate><!--T:21--> Frequently asked questions</translate><noinclude><br /></noinclude> | Hello = {{int:hello/{{PAGELANGUAGE}}}}<noinclude><br /></noinclude> | Home = <translate><!--T:1--> Home</translate><noinclude><br /></noinclude> | Leave Feedback = {{int:specialinvestigate-feedback/{{PAGELANGUAGE}}}}<noinclude><br /></noinclude> | No = {{int:research-incentive-answer-negative/{{PAGELANGUAGE}}}}<noinclude><br /></noinclude> | Open = <translate><!--T:31--> Open</translate><noinclude><br /></noinclude> | Plan = <translate><!--T:22--> Plan</translate><noinclude><br /></noinclude> | MediaWiki = {{int:project-localized-name-mediawikiwiki/{{PAGELANGUAGE}}}}<noinclude><br /></noinclude> | Meta-Wiki = {{int:project-localized-name-metawiki/{{PAGELANGUAGE}}}}<noinclude><br /></noinclude> | Ongoing = <translate><!--T:32--> Ongoing</translate><noinclude><br /></noinclude> | Projects = <translate><!--T:23--> Projects</translate><noinclude><br /></noinclude> | References = <translate><!--T:24--> References</translate><noinclude><br /></noinclude> | Research = <translate><!--T:25--> Research</translate><noinclude><br /></noinclude> | Resources = <translate><!--T:3--> Resources</translate><noinclude><br /></noinclude> | See also = <translate><!--T:26--> See also</translate><noinclude><br /></noinclude> | Start = <translate><!--T:27--> Start</translate><noinclude><br /></noinclude> | Statistics = {{int|wikimedia-statslink}}<noinclude><br /></noinclude> | Status = <translate><!--T:33--> Status</translate><noinclude><br /></noinclude> | Talk to us = <translate><!--T:29--> Talk to us</translate><noinclude><br /></noinclude> | Thank you. = {{int:thank-you/{{PAGELANGUAGE}}}}<noinclude><br /></noinclude> | Thank you! = {{int:research-incentive-confirm-msg/{{PAGELANGUAGE}}}}<noinclude><br /></noinclude> | Upcoming = <translate><!--T:34--> Upcoming</translate><noinclude><br /></noinclude> | Wikibooks = {{int|wikibase-sitelinks-wikibooks}}<noinclude><br /></noinclude> | Wikidata = {{int:project-localized-name-wikidatawiki/{{PAGELANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia = <translate><!--T:4--> Wikimedia</translate><noinclude><br /></noinclude> | Wikimedia Commons = {{int:project-localized-name-commonswiki/{{PAGELANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia Foundation = <translate><!--T:5--> Wikimedia Foundation</translate><noinclude><br /></noinclude> | Wikimedia Foundation, Inc. = {{int:wikibase-page-schema-publisher-name/{{PAGELANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia Incubator = {{int:project-localized-name-incubatorwiki/{{PAGELANGUAGE}}}}<noinclude><br /></noinclude> | Wikinews = {{int|wikibase-sitelinks-wikinews}}<noinclude><br /></noinclude> | Wikiquote = {{int|wikibase-sitelinks-wikiquote}}<noinclude><br /></noinclude> | Wikisource = {{int|wikibase-sitelinks-wikisource}}<noinclude><br /></noinclude> | Wikispecies = {{int:project-localized-name-specieswiki/{{PAGELANGUAGE}}}}<noinclude><br /></noinclude> | Wikitech = {{int:project-localized-name-labswiki/{{PAGELANGUAGE}}}}<noinclude><br /></noinclude> | Wikiversity = {{int|wikibase-sitelinks-wikiversity}}<noinclude><br /></noinclude> | Wikivoyage = {{int|wikibase-sitelinks-wikivoyage}}<noinclude><br /></noinclude> | Wiktionary = {{int|wikibase-sitelinks-wiktionary}}<noinclude><br /></noinclude> | Yes = {{int:research-incentive-answer-positive/{{PAGELANGUAGE}}}}<noinclude><br /></noinclude> | #default = {{{1<includeonly>|</includeonly>}}}<includeonly>{{#if:{{{1|}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}} }}</includeonly><noinclude> {{doc}} </noinclude> l906u72ilh9zyzlrtu5dhmxi6natgjv 10110 10109 2022-09-26T20:58:17Z meta>GVarnum-WMF 0 switch some int: to {{int}} and others to {{label}} 10110 wikitext text/x-wiki <noinclude>__NOTOC__ <languages /> {{Help translate/Common messages}}<translate> == Available strings == <!--T:28--> </translate></noinclude><includeonly> {{#switch: {{{1|}}} </includeonly> | Closed = <translate><!--T:30--> Closed</translate><noinclude><br /></noinclude> | Commons = {{int|wikibase-sitelinks-sitename-commonswiki}}<noinclude><br /></noinclude> | Connect = <translate><!--T:19--> Connect</translate><noinclude><br /></noinclude> | Contribute = <translate><!--T:20--> Contribute</translate><noinclude><br /></noinclude> | Done = {{int|Upload-dialog-button-done}}<noinclude><br /></noinclude> | Feedback = {{int|specialblockfeedback}}<noinclude><br /></noinclude> | Frequently asked questions = <translate><!--T:21--> Frequently asked questions</translate><noinclude><br /></noinclude> | Hello = {{int|hello}}<noinclude><br /></noinclude> | Home = <translate><!--T:1--> Home</translate><noinclude><br /></noinclude> | Leave Feedback = {{int|specialinvestigate-feedback}}<noinclude><br /></noinclude> | No = {{int|research-incentive-answer-negative}}<noinclude><br /></noinclude> | Open = <translate><!--T:31--> Open</translate><noinclude><br /></noinclude> | Plan = <translate><!--T:22--> Plan</translate><noinclude><br /></noinclude> | MediaWiki = {{label|Q83}}<noinclude><br /></noinclude> | Meta-Wiki = {{int|project-localized-name-metawiki}}<noinclude><br /></noinclude> | Ongoing = <translate><!--T:32--> Ongoing</translate><noinclude><br /></noinclude> | Projects = <translate><!--T:23--> Projects</translate><noinclude><br /></noinclude> | References = <translate><!--T:24--> References</translate><noinclude><br /></noinclude> | Research = <translate><!--T:25--> Research</translate><noinclude><br /></noinclude> | Resources = <translate><!--T:3--> Resources</translate><noinclude><br /></noinclude> | See also = <translate><!--T:26--> See also</translate><noinclude><br /></noinclude> | Start = <translate><!--T:27--> Start</translate><noinclude><br /></noinclude> | Statistics = {{int|wikimedia-statslink}}<noinclude><br /></noinclude> | Status = <translate><!--T:33--> Status</translate><noinclude><br /></noinclude> | Talk to us = <translate><!--T:29--> Talk to us</translate><noinclude><br /></noinclude> | Thank you. = {{int|thank-you}}<noinclude><br /></noinclude> | Thank you! = {{int|research-incentive-confirm-msg}}<noinclude><br /></noinclude> | Upcoming = <translate><!--T:34--> Upcoming</translate><noinclude><br /></noinclude> | Wikibooks = {{label|Q367}}<noinclude><br /></noinclude> | Wikidata = {{label|Q2013}}<noinclude><br /></noinclude> | Wikimedia = <translate><!--T:4--> Wikimedia</translate><noinclude><br /></noinclude> | Wikimedia Commons = {{int|project-localized-name-commonswiki}}<noinclude><br /></noinclude> | Wikimedia Foundation = {{label|Q180}}<noinclude><br /></noinclude> | Wikimedia Foundation, Inc. = {{int|wikibase-page-schema-publisher-name}}<noinclude><br /></noinclude> | Wikimedia Incubator = {{label|Q846672}}<noinclude><br /></noinclude> | Wikinews = {{label|Q964}}<noinclude><br /></noinclude> | Wikiquote = {{label|Q369}}<noinclude><br /></noinclude> | Wikisource = {{label|Q263}}<noinclude><br /></noinclude> | Wikispecies = {{label|Q13679}}<noinclude><br /></noinclude> | Wikitech = {{label|Q104819161}}<noinclude><br /></noinclude> | Wikiversity = {{label|Q370}}<noinclude><br /></noinclude> | Wikivoyage = {{label|Q373}}<noinclude><br /></noinclude> | Wiktionary = {{label|Q151}}<noinclude><br /></noinclude> | Yes = {{int:research-incentive-answer-positive/{{PAGELANGUAGE}}}}<noinclude><br /></noinclude> | #default = {{{1<includeonly>|</includeonly>}}}<includeonly>{{#if:{{{1|}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}} }}</includeonly><noinclude> {{doc}} </noinclude> mdu656k1vksd8f03pdpljnodo08uen3 10111 10110 2022-09-26T20:59:07Z meta>GVarnum-WMF 0 lingering int: 10111 wikitext text/x-wiki <noinclude>__NOTOC__ <languages /> {{Help translate/Common messages}}<translate> == Available strings == <!--T:28--> </translate></noinclude><includeonly> {{#switch: {{{1|}}} </includeonly> | Closed = <translate><!--T:30--> Closed</translate><noinclude><br /></noinclude> | Commons = {{int|wikibase-sitelinks-sitename-commonswiki}}<noinclude><br /></noinclude> | Connect = <translate><!--T:19--> Connect</translate><noinclude><br /></noinclude> | Contribute = <translate><!--T:20--> Contribute</translate><noinclude><br /></noinclude> | Done = {{int|Upload-dialog-button-done}}<noinclude><br /></noinclude> | Feedback = {{int|specialblockfeedback}}<noinclude><br /></noinclude> | Frequently asked questions = <translate><!--T:21--> Frequently asked questions</translate><noinclude><br /></noinclude> | Hello = {{int|hello}}<noinclude><br /></noinclude> | Home = <translate><!--T:1--> Home</translate><noinclude><br /></noinclude> | Leave Feedback = {{int|specialinvestigate-feedback}}<noinclude><br /></noinclude> | No = {{int|research-incentive-answer-negative}}<noinclude><br /></noinclude> | Open = <translate><!--T:31--> Open</translate><noinclude><br /></noinclude> | Plan = <translate><!--T:22--> Plan</translate><noinclude><br /></noinclude> | MediaWiki = {{label|Q83}}<noinclude><br /></noinclude> | Meta-Wiki = {{int|project-localized-name-metawiki}}<noinclude><br /></noinclude> | Ongoing = <translate><!--T:32--> Ongoing</translate><noinclude><br /></noinclude> | Projects = <translate><!--T:23--> Projects</translate><noinclude><br /></noinclude> | References = <translate><!--T:24--> References</translate><noinclude><br /></noinclude> | Research = <translate><!--T:25--> Research</translate><noinclude><br /></noinclude> | Resources = <translate><!--T:3--> Resources</translate><noinclude><br /></noinclude> | See also = <translate><!--T:26--> See also</translate><noinclude><br /></noinclude> | Start = <translate><!--T:27--> Start</translate><noinclude><br /></noinclude> | Statistics = {{int|wikimedia-statslink}}<noinclude><br /></noinclude> | Status = <translate><!--T:33--> Status</translate><noinclude><br /></noinclude> | Talk to us = <translate><!--T:29--> Talk to us</translate><noinclude><br /></noinclude> | Thank you. = {{int|thank-you}}<noinclude><br /></noinclude> | Thank you! = {{int|research-incentive-confirm-msg}}<noinclude><br /></noinclude> | Upcoming = <translate><!--T:34--> Upcoming</translate><noinclude><br /></noinclude> | Wikibooks = {{label|Q367}}<noinclude><br /></noinclude> | Wikidata = {{label|Q2013}}<noinclude><br /></noinclude> | Wikimedia = <translate><!--T:4--> Wikimedia</translate><noinclude><br /></noinclude> | Wikimedia Commons = {{int|project-localized-name-commonswiki}}<noinclude><br /></noinclude> | Wikimedia Foundation = {{label|Q180}}<noinclude><br /></noinclude> | Wikimedia Foundation, Inc. = {{int|wikibase-page-schema-publisher-name}}<noinclude><br /></noinclude> | Wikimedia Incubator = {{label|Q846672}}<noinclude><br /></noinclude> | Wikinews = {{label|Q964}}<noinclude><br /></noinclude> | Wikiquote = {{label|Q369}}<noinclude><br /></noinclude> | Wikisource = {{label|Q263}}<noinclude><br /></noinclude> | Wikispecies = {{label|Q13679}}<noinclude><br /></noinclude> | Wikitech = {{label|Q104819161}}<noinclude><br /></noinclude> | Wikiversity = {{label|Q370}}<noinclude><br /></noinclude> | Wikivoyage = {{label|Q373}}<noinclude><br /></noinclude> | Wiktionary = {{label|Q151}}<noinclude><br /></noinclude> | Yes = {{int|research-incentive-answer-positive}}<noinclude><br /></noinclude> | #default = {{{1<includeonly>|</includeonly>}}}<includeonly>{{#if:{{{1|}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}} }}</includeonly><noinclude> {{doc}} </noinclude> 6pxu6uv7it5wip6u9tubf0n00v77vzi 10112 10111 2022-09-26T21:33:38Z meta>GVarnum-WMF 0 -contextually complex words to translate and apply consistently 10112 wikitext text/x-wiki <noinclude>__NOTOC__ <languages /> {{Help translate/Common messages}}<translate> == Available strings == <!--T:28--> </translate></noinclude><includeonly> {{#switch: {{{1|}}} </includeonly> | Closed = <translate><!--T:30--> Closed</translate><noinclude><br /></noinclude> | Commons = {{int|wikibase-sitelinks-sitename-commonswiki}}<noinclude><br /></noinclude> | Connect = <translate><!--T:19--> Connect</translate><noinclude><br /></noinclude> | Contribute = <translate><!--T:20--> Contribute</translate><noinclude><br /></noinclude> | Done = {{int|Upload-dialog-button-done}}<noinclude><br /></noinclude> | Feedback = {{int|specialblockfeedback}}<noinclude><br /></noinclude> | Frequently asked questions = <translate><!--T:21--> Frequently asked questions</translate><noinclude><br /></noinclude> | Hello = {{int|hello}}<noinclude><br /></noinclude> | Home = <translate><!--T:1--> Home</translate><noinclude><br /></noinclude> | Leave Feedback = {{int|specialinvestigate-feedback}}<noinclude><br /></noinclude> | Open = <translate><!--T:31--> Open</translate><noinclude><br /></noinclude> | Plan = <translate><!--T:22--> Plan</translate><noinclude><br /></noinclude> | MediaWiki = {{label|Q83}}<noinclude><br /></noinclude> | Meta-Wiki = {{int|project-localized-name-metawiki}}<noinclude><br /></noinclude> | Ongoing = <translate><!--T:32--> Ongoing</translate><noinclude><br /></noinclude> | Projects = <translate><!--T:23--> Projects</translate><noinclude><br /></noinclude> | References = <translate><!--T:24--> References</translate><noinclude><br /></noinclude> | Research = <translate><!--T:25--> Research</translate><noinclude><br /></noinclude> | Resources = <translate><!--T:3--> Resources</translate><noinclude><br /></noinclude> | See also = <translate><!--T:26--> See also</translate><noinclude><br /></noinclude> | Start = <translate><!--T:27--> Start</translate><noinclude><br /></noinclude> | Statistics = {{int|wikimedia-statslink}}<noinclude><br /></noinclude> | Status = <translate><!--T:33--> Status</translate><noinclude><br /></noinclude> | Talk to us = <translate><!--T:29--> Talk to us</translate><noinclude><br /></noinclude> | Thank you. = {{int|thank-you}}<noinclude><br /></noinclude> | Thank you! = {{int|research-incentive-confirm-msg}}<noinclude><br /></noinclude> | Upcoming = <translate><!--T:34--> Upcoming</translate><noinclude><br /></noinclude> | Wikibooks = {{label|Q367}}<noinclude><br /></noinclude> | Wikidata = {{label|Q2013}}<noinclude><br /></noinclude> | Wikimedia = <translate><!--T:4--> Wikimedia</translate><noinclude><br /></noinclude> | Wikimedia Commons = {{int|project-localized-name-commonswiki}}<noinclude><br /></noinclude> | Wikimedia Foundation = {{label|Q180}}<noinclude><br /></noinclude> | Wikimedia Foundation, Inc. = {{int|wikibase-page-schema-publisher-name}}<noinclude><br /></noinclude> | Wikimedia Incubator = {{label|Q846672}}<noinclude><br /></noinclude> | Wikinews = {{label|Q964}}<noinclude><br /></noinclude> | Wikiquote = {{label|Q369}}<noinclude><br /></noinclude> | Wikisource = {{label|Q263}}<noinclude><br /></noinclude> | Wikispecies = {{label|Q13679}}<noinclude><br /></noinclude> | Wikitech = {{label|Q104819161}}<noinclude><br /></noinclude> | Wikiversity = {{label|Q370}}<noinclude><br /></noinclude> | Wikivoyage = {{label|Q373}}<noinclude><br /></noinclude> | Wiktionary = {{label|Q151}}<noinclude><br /></noinclude> | #default = {{{1<includeonly>|</includeonly>}}}<includeonly>{{#if:{{{1|}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}} }}</includeonly><noinclude> {{doc}} </noinclude> 5g05ogokarbegx2l9v4egquypfp5n8x 10113 10112 2022-09-26T21:42:38Z meta>GVarnum-WMF 0 added sections 10113 wikitext text/x-wiki <noinclude>__NOTOC__ <languages /> {{Help translate/Common messages}}<translate> == Available strings == <!--T:28--> </translate></noinclude><includeonly> {{#switch: {{{1|}}} </includeonly><noinclude><translate> === Naming related === </translate></noinclude> | Commons = {{int|wikibase-sitelinks-sitename-commonswiki}}<noinclude><br /></noinclude> | MediaWiki = {{label|Q83}}<noinclude><br /></noinclude> | Meta-Wiki |Meta = {{int|project-localized-name-metawiki}}<noinclude><br /></noinclude> | Wikibooks = {{label|Q367}}<noinclude><br /></noinclude> | Wikidata = {{label|Q2013}}<noinclude><br /></noinclude> | Wikimedia = <translate><!--T:4--> Wikimedia</translate><noinclude><br /></noinclude> | Wikimedia Commons = {{int|project-localized-name-commonswiki}}<noinclude><br /></noinclude> | Wikimedia Foundation = {{label|Q180}}<noinclude><br /></noinclude> | Wikimedia Foundation, Inc. = {{int|wikibase-page-schema-publisher-name}}<noinclude><br /></noinclude> | Wikimedia Incubator = {{label|Q846672}}<noinclude><br /></noinclude> | Wikinews = {{label|Q964}}<noinclude><br /></noinclude> | Wikiquote = {{label|Q369}}<noinclude><br /></noinclude> | Wikisource = {{label|Q263}}<noinclude><br /></noinclude> | Wikispecies = {{label|Q13679}}<noinclude><br /></noinclude> | Wikitech = {{label|Q104819161}}<noinclude><br /></noinclude> | Wikiversity = {{label|Q370}}<noinclude><br /></noinclude> | Wikivoyage = {{label|Q373}}<noinclude><br /></noinclude> | Wiktionary = {{label|Q151}}<noinclude><br /></noinclude> <noinclude><translate> === Navigation related === </translate></noinclude> | Connect = <translate><!--T:19--> Connect</translate><noinclude><br /></noinclude> | Contribute = <translate><!--T:20--> Contribute</translate><noinclude><br /></noinclude> | Feedback = {{int|specialblockfeedback}}<noinclude><br /></noinclude> | Frequently asked questions = <translate><!--T:21--> Frequently asked questions</translate><noinclude><br /></noinclude> | Home = <translate><!--T:1--> Home</translate><noinclude><br /></noinclude> | Leave Feedback = {{int|specialinvestigate-feedback}}<noinclude><br /></noinclude> | Projects = <translate><!--T:23--> Projects</translate><noinclude><br /></noinclude> | References = <translate><!--T:24--> References</translate><noinclude><br /></noinclude> | Research = <translate><!--T:25--> Research</translate><noinclude><br /></noinclude> | Resources = <translate><!--T:3--> Resources</translate><noinclude><br /></noinclude> | See also = <translate><!--T:26--> See also</translate><noinclude><br /></noinclude> | Start = <translate><!--T:27--> Start</translate><noinclude><br /></noinclude> | Statistics = {{int|wikimedia-statslink}}<noinclude><br /></noinclude> <noinclude><translate> === Timeline related === </translate></noinclude> | Closed = <translate><!--T:30--> Closed</translate><noinclude><br /></noinclude> | Done = {{int|Upload-dialog-button-done}}<noinclude><br /></noinclude> | Open = <translate><!--T:31--> Open</translate><noinclude><br /></noinclude> | Plan = <translate><!--T:22--> Plan</translate><noinclude><br /></noinclude> | Ongoing = <translate><!--T:32--> Ongoing</translate><noinclude><br /></noinclude> | Status = <translate><!--T:33--> Status</translate><noinclude><br /></noinclude> | Talk to us = <translate><!--T:29--> Talk to us</translate><noinclude><br /></noinclude> | Upcoming = <translate><!--T:34--> Upcoming</translate><noinclude><br /></noinclude> | #default = {{{1<includeonly>|</includeonly>}}}<includeonly>{{#if:{{{1|}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}} }}</includeonly><noinclude> {{doc}} </noinclude> i90cye0do5nmsrkgj4hxxbqsb2qbg3j 10114 10113 2022-09-26T21:42:50Z meta>GVarnum-WMF 0 Marked this version for translation 10114 wikitext text/x-wiki <noinclude>__NOTOC__ <languages /> {{Help translate/Common messages}}<translate> == Available strings == <!--T:28--> </translate></noinclude><includeonly> {{#switch: {{{1|}}} </includeonly><noinclude><translate> === Naming related === <!--T:35--> </translate></noinclude> | Commons = {{int|wikibase-sitelinks-sitename-commonswiki}}<noinclude><br /></noinclude> | MediaWiki = {{label|Q83}}<noinclude><br /></noinclude> | Meta-Wiki |Meta = {{int|project-localized-name-metawiki}}<noinclude><br /></noinclude> | Wikibooks = {{label|Q367}}<noinclude><br /></noinclude> | Wikidata = {{label|Q2013}}<noinclude><br /></noinclude> | Wikimedia = <translate><!--T:4--> Wikimedia</translate><noinclude><br /></noinclude> | Wikimedia Commons = {{int|project-localized-name-commonswiki}}<noinclude><br /></noinclude> | Wikimedia Foundation = {{label|Q180}}<noinclude><br /></noinclude> | Wikimedia Foundation, Inc. = {{int|wikibase-page-schema-publisher-name}}<noinclude><br /></noinclude> | Wikimedia Incubator = {{label|Q846672}}<noinclude><br /></noinclude> | Wikinews = {{label|Q964}}<noinclude><br /></noinclude> | Wikiquote = {{label|Q369}}<noinclude><br /></noinclude> | Wikisource = {{label|Q263}}<noinclude><br /></noinclude> | Wikispecies = {{label|Q13679}}<noinclude><br /></noinclude> | Wikitech = {{label|Q104819161}}<noinclude><br /></noinclude> | Wikiversity = {{label|Q370}}<noinclude><br /></noinclude> | Wikivoyage = {{label|Q373}}<noinclude><br /></noinclude> | Wiktionary = {{label|Q151}}<noinclude><br /></noinclude> <noinclude><translate> === Navigation related === <!--T:36--> </translate></noinclude> | Connect = <translate><!--T:19--> Connect</translate><noinclude><br /></noinclude> | Contribute = <translate><!--T:20--> Contribute</translate><noinclude><br /></noinclude> | Feedback = {{int|specialblockfeedback}}<noinclude><br /></noinclude> | Frequently asked questions = <translate><!--T:21--> Frequently asked questions</translate><noinclude><br /></noinclude> | Home = <translate><!--T:1--> Home</translate><noinclude><br /></noinclude> | Leave Feedback = {{int|specialinvestigate-feedback}}<noinclude><br /></noinclude> | Projects = <translate><!--T:23--> Projects</translate><noinclude><br /></noinclude> | References = <translate><!--T:24--> References</translate><noinclude><br /></noinclude> | Research = <translate><!--T:25--> Research</translate><noinclude><br /></noinclude> | Resources = <translate><!--T:3--> Resources</translate><noinclude><br /></noinclude> | See also = <translate><!--T:26--> See also</translate><noinclude><br /></noinclude> | Start = <translate><!--T:27--> Start</translate><noinclude><br /></noinclude> | Statistics = {{int|wikimedia-statslink}}<noinclude><br /></noinclude> <noinclude><translate> === Timeline related === <!--T:37--> </translate></noinclude> | Closed = <translate><!--T:30--> Closed</translate><noinclude><br /></noinclude> | Done = {{int|Upload-dialog-button-done}}<noinclude><br /></noinclude> | Open = <translate><!--T:31--> Open</translate><noinclude><br /></noinclude> | Plan = <translate><!--T:22--> Plan</translate><noinclude><br /></noinclude> | Ongoing = <translate><!--T:32--> Ongoing</translate><noinclude><br /></noinclude> | Status = <translate><!--T:33--> Status</translate><noinclude><br /></noinclude> | Talk to us = <translate><!--T:29--> Talk to us</translate><noinclude><br /></noinclude> | Upcoming = <translate><!--T:34--> Upcoming</translate><noinclude><br /></noinclude> | #default = {{{1<includeonly>|</includeonly>}}}<includeonly>{{#if:{{{1|}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}} }}</includeonly><noinclude> {{doc}} </noinclude> tk0k33mvpwe0j0fwnz4b8e26o901ksp 10115 10114 2022-09-26T21:46:50Z meta>GVarnum-WMF 0 merged in [[Template:Name]] 10115 wikitext text/x-wiki <noinclude>__NOTOC__ <languages /> {{Help translate/Common messages}}<translate> == Available strings == <!--T:28--> </translate></noinclude><includeonly> {{#switch: {{{1|}}} </includeonly><noinclude><translate> === Naming related === <!--T:35--> </translate></noinclude> | Commons = {{int|wikibase-sitelinks-sitename-commonswiki}}<noinclude><br /></noinclude> | Creative Commons |cc = {{label|Q43449}}<noinclude><br /></noinclude> | Etherpad |pad = {{label|Q998543}}<noinclude><br /></noinclude> | Eventbrite |evtb = {{label|Q5416738}}<noinclude><br /></noinclude> | Facebook |fb = {{label|Q355}}<noinclude><br /></noinclude> | Google Forms |gforms = {{label|Q47014869}}<noinclude><br /></noinclude> | Google Meet |gmeet = {{label|Q56669074}}<noinclude><br /></noinclude> | Identi.ca |Identica |ica = {{label|Q56669074}}<noinclude><br /></noinclude> | Instagram |insta = {{label|Q209330}}<noinclude><br /></noinclude> | LimeSurvey |limesurvey = {{label|Q1514978}}<noinclude><br /></noinclude> | MediaWiki = {{label|Q83}}<noinclude><br /></noinclude> | Meta-Wiki |Meta = {{int|project-localized-name-metawiki}}<noinclude><br /></noinclude> | Qualtrics |qual = {{label|Q7268803}}<noinclude><br /></noinclude> | QuickSurveys |qsurveys = <translate nowrap>QuickSurveys</translate><noinclude><br /></noinclude> | Quora |quo = {{label|Q51711}}<noinclude><br /></noinclude> | Skype |skype = {{label|Q40984}}<noinclude><br /></noinclude> | SurveyMonkey |surveymonkey = {{label|Q162852}}<noinclude><br /></noinclude> | Twitter |tw = {{label|Q918}}<noinclude><br /></noinclude> | Wikibooks = {{label|Q367}}<noinclude><br /></noinclude> | Wikidata = {{label|Q2013}}<noinclude><br /></noinclude> | Wikimedia = <translate><!--T:4--> Wikimedia</translate><noinclude><br /></noinclude> | Wikimedia Commons = {{int|project-localized-name-commonswiki}}<noinclude><br /></noinclude> | Wikimedia Foundation = {{label|Q180}}<noinclude><br /></noinclude> | Wikimedia Foundation, Inc. = {{int|wikibase-page-schema-publisher-name}}<noinclude><br /></noinclude> | Wikimedia Incubator = {{label|Q846672}}<noinclude><br /></noinclude> | Wikinews = {{label|Q964}}<noinclude><br /></noinclude> | Wikiquote = {{label|Q369}}<noinclude><br /></noinclude> | Wikisource = {{label|Q263}}<noinclude><br /></noinclude> | Wikispecies = {{label|Q13679}}<noinclude><br /></noinclude> | Wikitech = {{label|Q104819161}}<noinclude><br /></noinclude> | Wikiversity = {{label|Q370}}<noinclude><br /></noinclude> | Wikivoyage = {{label|Q373}}<noinclude><br /></noinclude> | Wiktionary = {{label|Q151}}<noinclude><br /></noinclude> | YouTube | Youtube |yt = {{label|Q866}}<noinclude><br /></noinclude> | Zoom |zoom = {{label|Q94979732}}<noinclude><br /></noinclude> <noinclude><translate> === Navigation related === <!--T:36--> </translate></noinclude> | Connect = <translate><!--T:19--> Connect</translate><noinclude><br /></noinclude> | Contribute = <translate><!--T:20--> Contribute</translate><noinclude><br /></noinclude> | Feedback = {{int|specialblockfeedback}}<noinclude><br /></noinclude> | Frequently asked questions = <translate><!--T:21--> Frequently asked questions</translate><noinclude><br /></noinclude> | Home = <translate><!--T:1--> Home</translate><noinclude><br /></noinclude> | Leave Feedback = {{int|specialinvestigate-feedback}}<noinclude><br /></noinclude> | Projects = <translate><!--T:23--> Projects</translate><noinclude><br /></noinclude> | References = <translate><!--T:24--> References</translate><noinclude><br /></noinclude> | Research = <translate><!--T:25--> Research</translate><noinclude><br /></noinclude> | Resources = <translate><!--T:3--> Resources</translate><noinclude><br /></noinclude> | See also = <translate><!--T:26--> See also</translate><noinclude><br /></noinclude> | Start = <translate><!--T:27--> Start</translate><noinclude><br /></noinclude> | Statistics = {{int|wikimedia-statslink}}<noinclude><br /></noinclude> <noinclude><translate> === Timeline related === <!--T:37--> </translate></noinclude> | Closed = <translate><!--T:30--> Closed</translate><noinclude><br /></noinclude> | Done = {{int|Upload-dialog-button-done}}<noinclude><br /></noinclude> | Open = <translate><!--T:31--> Open</translate><noinclude><br /></noinclude> | Plan = <translate><!--T:22--> Plan</translate><noinclude><br /></noinclude> | Ongoing = <translate><!--T:32--> Ongoing</translate><noinclude><br /></noinclude> | Status = <translate><!--T:33--> Status</translate><noinclude><br /></noinclude> | Talk to us = <translate><!--T:29--> Talk to us</translate><noinclude><br /></noinclude> | Upcoming = <translate><!--T:34--> Upcoming</translate><noinclude><br /></noinclude> | #default = {{{1<includeonly>|</includeonly>}}}<includeonly>{{#if:{{{1|}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}} }}</includeonly><noinclude> {{doc}} </noinclude> kvdzudy96snjpx64tkzbr1t992xkvav 10116 10115 2022-09-26T21:47:09Z meta>GVarnum-WMF 0 Marked this version for translation 10116 wikitext text/x-wiki <noinclude>__NOTOC__ <languages /> {{Help translate/Common messages}}<translate> == Available strings == <!--T:28--> </translate></noinclude><includeonly> {{#switch: {{{1|}}} </includeonly><noinclude><translate> === Naming related === <!--T:35--> </translate></noinclude> | Commons = {{int|wikibase-sitelinks-sitename-commonswiki}}<noinclude><br /></noinclude> | Creative Commons |cc = {{label|Q43449}}<noinclude><br /></noinclude> | Etherpad |pad = {{label|Q998543}}<noinclude><br /></noinclude> | Eventbrite |evtb = {{label|Q5416738}}<noinclude><br /></noinclude> | Facebook |fb = {{label|Q355}}<noinclude><br /></noinclude> | Google Forms |gforms = {{label|Q47014869}}<noinclude><br /></noinclude> | Google Meet |gmeet = {{label|Q56669074}}<noinclude><br /></noinclude> | Identi.ca |Identica |ica = {{label|Q56669074}}<noinclude><br /></noinclude> | Instagram |insta = {{label|Q209330}}<noinclude><br /></noinclude> | LimeSurvey |limesurvey = {{label|Q1514978}}<noinclude><br /></noinclude> | MediaWiki = {{label|Q83}}<noinclude><br /></noinclude> | Meta-Wiki |Meta = {{int|project-localized-name-metawiki}}<noinclude><br /></noinclude> | Qualtrics |qual = {{label|Q7268803}}<noinclude><br /></noinclude> | QuickSurveys |qsurveys = <translate nowrap><!--T:38--> QuickSurveys</translate><noinclude><br /></noinclude> | Quora |quo = {{label|Q51711}}<noinclude><br /></noinclude> | Skype |skype = {{label|Q40984}}<noinclude><br /></noinclude> | SurveyMonkey |surveymonkey = {{label|Q162852}}<noinclude><br /></noinclude> | Twitter |tw = {{label|Q918}}<noinclude><br /></noinclude> | Wikibooks = {{label|Q367}}<noinclude><br /></noinclude> | Wikidata = {{label|Q2013}}<noinclude><br /></noinclude> | Wikimedia = <translate><!--T:4--> Wikimedia</translate><noinclude><br /></noinclude> | Wikimedia Commons = {{int|project-localized-name-commonswiki}}<noinclude><br /></noinclude> | Wikimedia Foundation = {{label|Q180}}<noinclude><br /></noinclude> | Wikimedia Foundation, Inc. = {{int|wikibase-page-schema-publisher-name}}<noinclude><br /></noinclude> | Wikimedia Incubator = {{label|Q846672}}<noinclude><br /></noinclude> | Wikinews = {{label|Q964}}<noinclude><br /></noinclude> | Wikiquote = {{label|Q369}}<noinclude><br /></noinclude> | Wikisource = {{label|Q263}}<noinclude><br /></noinclude> | Wikispecies = {{label|Q13679}}<noinclude><br /></noinclude> | Wikitech = {{label|Q104819161}}<noinclude><br /></noinclude> | Wikiversity = {{label|Q370}}<noinclude><br /></noinclude> | Wikivoyage = {{label|Q373}}<noinclude><br /></noinclude> | Wiktionary = {{label|Q151}}<noinclude><br /></noinclude> | YouTube | Youtube |yt = {{label|Q866}}<noinclude><br /></noinclude> | Zoom |zoom = {{label|Q94979732}}<noinclude><br /></noinclude> <noinclude><translate> === Navigation related === <!--T:36--> </translate></noinclude> | Connect = <translate><!--T:19--> Connect</translate><noinclude><br /></noinclude> | Contribute = <translate><!--T:20--> Contribute</translate><noinclude><br /></noinclude> | Feedback = {{int|specialblockfeedback}}<noinclude><br /></noinclude> | Frequently asked questions = <translate><!--T:21--> Frequently asked questions</translate><noinclude><br /></noinclude> | Home = <translate><!--T:1--> Home</translate><noinclude><br /></noinclude> | Leave Feedback = {{int|specialinvestigate-feedback}}<noinclude><br /></noinclude> | Projects = <translate><!--T:23--> Projects</translate><noinclude><br /></noinclude> | References = <translate><!--T:24--> References</translate><noinclude><br /></noinclude> | Research = <translate><!--T:25--> Research</translate><noinclude><br /></noinclude> | Resources = <translate><!--T:3--> Resources</translate><noinclude><br /></noinclude> | See also = <translate><!--T:26--> See also</translate><noinclude><br /></noinclude> | Start = <translate><!--T:27--> Start</translate><noinclude><br /></noinclude> | Statistics = {{int|wikimedia-statslink}}<noinclude><br /></noinclude> <noinclude><translate> === Timeline related === <!--T:37--> </translate></noinclude> | Closed = <translate><!--T:30--> Closed</translate><noinclude><br /></noinclude> | Done = {{int|Upload-dialog-button-done}}<noinclude><br /></noinclude> | Open = <translate><!--T:31--> Open</translate><noinclude><br /></noinclude> | Plan = <translate><!--T:22--> Plan</translate><noinclude><br /></noinclude> | Ongoing = <translate><!--T:32--> Ongoing</translate><noinclude><br /></noinclude> | Status = <translate><!--T:33--> Status</translate><noinclude><br /></noinclude> | Talk to us = <translate><!--T:29--> Talk to us</translate><noinclude><br /></noinclude> | Upcoming = <translate><!--T:34--> Upcoming</translate><noinclude><br /></noinclude> | #default = {{{1<includeonly>|</includeonly>}}}<includeonly>{{#if:{{{1|}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}} }}</includeonly><noinclude> {{doc}} </noinclude> mdx3qmm3jolyq5zu265hrabpyo5bnmh 10117 10116 2022-09-26T22:29:06Z meta>GVarnum-WMF 0 label fix 10117 wikitext text/x-wiki <noinclude>__NOTOC__ <languages /> {{Help translate/Common messages}}<translate> == Available strings == <!--T:28--> </translate></noinclude><includeonly> {{#switch: {{{1|}}} </includeonly><noinclude><translate> === Naming related === <!--T:35--> </translate></noinclude> | Commons = {{int|wikibase-sitelinks-sitename-commonswiki}}<noinclude><br /></noinclude> | Creative Commons |cc = {{label|Q43449}}<noinclude><br /></noinclude> | Etherpad |pad = {{label|Q998543}}<noinclude><br /></noinclude> | Eventbrite |evtb = {{label|Q5416738}}<noinclude><br /></noinclude> | Facebook |fb = {{label|Q355}}<noinclude><br /></noinclude> | Google Forms |gforms = {{label|Q47014869}}<noinclude><br /></noinclude> | Google Meet |gmeet = {{label|Q56669074}}<noinclude><br /></noinclude> | Identi.ca |Identica |ica = {{label|Q28773}}<noinclude><br /></noinclude> | Instagram |insta = {{label|Q209330}}<noinclude><br /></noinclude> | LimeSurvey |limesurvey = {{label|Q1514978}}<noinclude><br /></noinclude> | MediaWiki = {{label|Q83}}<noinclude><br /></noinclude> | Meta-Wiki |Meta = {{int|project-localized-name-metawiki}}<noinclude><br /></noinclude> | Qualtrics |qual = {{label|Q7268803}}<noinclude><br /></noinclude> | QuickSurveys |qsurveys = <translate nowrap><!--T:38--> QuickSurveys</translate><noinclude><br /></noinclude> | Quora |quo = {{label|Q51711}}<noinclude><br /></noinclude> | Skype |skype = {{label|Q40984}}<noinclude><br /></noinclude> | SurveyMonkey |surveymonkey = {{label|Q162852}}<noinclude><br /></noinclude> | Twitter |tw = {{label|Q918}}<noinclude><br /></noinclude> | Wikibooks = {{label|Q367}}<noinclude><br /></noinclude> | Wikidata = {{label|Q2013}}<noinclude><br /></noinclude> | Wikimedia = <translate><!--T:4--> Wikimedia</translate><noinclude><br /></noinclude> | Wikimedia Commons = {{int|project-localized-name-commonswiki}}<noinclude><br /></noinclude> | Wikimedia Foundation = {{label|Q180}}<noinclude><br /></noinclude> | Wikimedia Foundation, Inc. = {{int|wikibase-page-schema-publisher-name}}<noinclude><br /></noinclude> | Wikimedia Incubator = {{label|Q846672}}<noinclude><br /></noinclude> | Wikinews = {{label|Q964}}<noinclude><br /></noinclude> | Wikiquote = {{label|Q369}}<noinclude><br /></noinclude> | Wikisource = {{label|Q263}}<noinclude><br /></noinclude> | Wikispecies = {{label|Q13679}}<noinclude><br /></noinclude> | Wikitech = {{label|Q104819161}}<noinclude><br /></noinclude> | Wikiversity = {{label|Q370}}<noinclude><br /></noinclude> | Wikivoyage = {{label|Q373}}<noinclude><br /></noinclude> | Wiktionary = {{label|Q151}}<noinclude><br /></noinclude> | YouTube | Youtube |yt = {{label|Q866}}<noinclude><br /></noinclude> | Zoom |zoom = {{label|Q94979732}}<noinclude><br /></noinclude> <noinclude><translate> === Navigation related === <!--T:36--> </translate></noinclude> | Connect = <translate><!--T:19--> Connect</translate><noinclude><br /></noinclude> | Contribute = <translate><!--T:20--> Contribute</translate><noinclude><br /></noinclude> | Feedback = {{int|specialblockfeedback}}<noinclude><br /></noinclude> | Frequently asked questions = <translate><!--T:21--> Frequently asked questions</translate><noinclude><br /></noinclude> | Home = <translate><!--T:1--> Home</translate><noinclude><br /></noinclude> | Leave Feedback = {{int|specialinvestigate-feedback}}<noinclude><br /></noinclude> | Projects = <translate><!--T:23--> Projects</translate><noinclude><br /></noinclude> | References = <translate><!--T:24--> References</translate><noinclude><br /></noinclude> | Research = <translate><!--T:25--> Research</translate><noinclude><br /></noinclude> | Resources = <translate><!--T:3--> Resources</translate><noinclude><br /></noinclude> | See also = <translate><!--T:26--> See also</translate><noinclude><br /></noinclude> | Start = <translate><!--T:27--> Start</translate><noinclude><br /></noinclude> | Statistics = {{int|wikimedia-statslink}}<noinclude><br /></noinclude> <noinclude><translate> === Timeline related === <!--T:37--> </translate></noinclude> | Closed = <translate><!--T:30--> Closed</translate><noinclude><br /></noinclude> | Done = {{int|Upload-dialog-button-done}}<noinclude><br /></noinclude> | Open = <translate><!--T:31--> Open</translate><noinclude><br /></noinclude> | Plan = <translate><!--T:22--> Plan</translate><noinclude><br /></noinclude> | Ongoing = <translate><!--T:32--> Ongoing</translate><noinclude><br /></noinclude> | Status = <translate><!--T:33--> Status</translate><noinclude><br /></noinclude> | Talk to us = <translate><!--T:29--> Talk to us</translate><noinclude><br /></noinclude> | Upcoming = <translate><!--T:34--> Upcoming</translate><noinclude><br /></noinclude> | #default = {{{1<includeonly>|</includeonly>}}}<includeonly>{{#if:{{{1|}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}} }}</includeonly><noinclude> {{doc}} </noinclude> bh8sw61qrq5vsbridc6adibq3fyznvl 10118 10117 2022-09-26T22:49:29Z meta>GVarnum-WMF 0 formatting tweak 10118 wikitext text/x-wiki <noinclude>__NOTOC__ <languages /> {{Help translate/Common messages}}<translate> == Available strings == <!--T:28--> </translate></noinclude><includeonly> {{#switch: {{{1|}}} </includeonly><noinclude><translate> === Naming related === <!--T:35--> </translate></noinclude> | Commons = {{int|wikibase-sitelinks-sitename-commonswiki}}<noinclude><br /></noinclude> | Creative Commons |cc = {{label|Q43449}}<noinclude><br /></noinclude> | Etherpad |pad = {{label|Q998543}}<noinclude><br /></noinclude> | Eventbrite |evtb = {{label|Q5416738}}<noinclude><br /></noinclude> | Facebook |fb = {{label|Q355}}<noinclude><br /></noinclude> | Google Forms |gforms = {{label|Q47014869}}<noinclude><br /></noinclude> | Google Meet |gmeet = {{label|Q56669074}}<noinclude><br /></noinclude> | Identi.ca |Identica |ica = {{label|Q28773}}<noinclude><br /></noinclude> | Instagram |insta = {{label|Q209330}}<noinclude><br /></noinclude> | LimeSurvey |limesurvey = {{label|Q1514978}}<noinclude><br /></noinclude> | MediaWiki = {{label|Q83}}<noinclude><br /></noinclude> | Meta-Wiki |Meta = {{int|project-localized-name-metawiki}}<noinclude><br /></noinclude> | Qualtrics |qual = {{label|Q7268803}}<noinclude><br /></noinclude> | QuickSurveys |qsurveys = <translate nowrap><!--T:38--> QuickSurveys</translate><noinclude><br /></noinclude> | Quora |quo = {{label|Q51711}}<noinclude><br /></noinclude> | Skype |skype = {{label|Q40984}}<noinclude><br /></noinclude> | SurveyMonkey |surveymonkey = {{label|Q162852}}<noinclude><br /></noinclude> | Twitter |tw = {{label|Q918}}<noinclude><br /></noinclude> | Wikibooks = {{label|Q367}}<noinclude><br /></noinclude> | Wikidata = {{label|Q2013}}<noinclude><br /></noinclude> | Wikimedia = <translate><!--T:4--> Wikimedia</translate><noinclude><br /></noinclude> | Wikimedia Commons = {{int|project-localized-name-commonswiki}}<noinclude><br /></noinclude> | Wikimedia Foundation = {{label|Q180}}<noinclude><br /></noinclude> | Wikimedia Foundation, Inc. = {{int|wikibase-page-schema-publisher-name}}<noinclude><br /></noinclude> | Wikimedia Incubator = {{label|Q846672}}<noinclude><br /></noinclude> | Wikinews = {{label|Q964}}<noinclude><br /></noinclude> | Wikiquote = {{label|Q369}}<noinclude><br /></noinclude> | Wikisource = {{label|Q263}}<noinclude><br /></noinclude> | Wikispecies = {{label|Q13679}}<noinclude><br /></noinclude> | Wikitech = {{label|Q104819161}}<noinclude><br /></noinclude> | Wikiversity = {{label|Q370}}<noinclude><br /></noinclude> | Wikivoyage = {{label|Q373}}<noinclude><br /></noinclude> | Wiktionary = {{label|Q151}}<noinclude><br /></noinclude> | YouTube | Youtube |yt = {{label|Q866}}<noinclude><br /></noinclude> | Zoom |zoom = {{label|Q94979732}}<noinclude><br /><translate> === Navigation related === <!--T:36--> </translate></noinclude> | Connect = <translate><!--T:19--> Connect</translate><noinclude><br /></noinclude> | Contribute = <translate><!--T:20--> Contribute</translate><noinclude><br /></noinclude> | Feedback = {{int|specialblockfeedback}}<noinclude><br /></noinclude> | Frequently asked questions = <translate><!--T:21--> Frequently asked questions</translate><noinclude><br /></noinclude> | Home = <translate><!--T:1--> Home</translate><noinclude><br /></noinclude> | Leave Feedback = {{int|specialinvestigate-feedback}}<noinclude><br /></noinclude> | Projects = <translate><!--T:23--> Projects</translate><noinclude><br /></noinclude> | References = <translate><!--T:24--> References</translate><noinclude><br /></noinclude> | Research = <translate><!--T:25--> Research</translate><noinclude><br /></noinclude> | Resources = <translate><!--T:3--> Resources</translate><noinclude><br /></noinclude> | See also = <translate><!--T:26--> See also</translate><noinclude><br /></noinclude> | Start = <translate><!--T:27--> Start</translate><noinclude><br /></noinclude> | Statistics = {{int|wikimedia-statslink}}<noinclude><br /><translate> === Timeline related === <!--T:37--> </translate></noinclude> | Closed = <translate><!--T:30--> Closed</translate><noinclude><br /></noinclude> | Done = {{int|Upload-dialog-button-done}}<noinclude><br /></noinclude> | Open = <translate><!--T:31--> Open</translate><noinclude><br /></noinclude> | Plan = <translate><!--T:22--> Plan</translate><noinclude><br /></noinclude> | Ongoing = <translate><!--T:32--> Ongoing</translate><noinclude><br /></noinclude> | Status = <translate><!--T:33--> Status</translate><noinclude><br /></noinclude> | Talk to us = <translate><!--T:29--> Talk to us</translate><noinclude><br /></noinclude> | Upcoming = <translate><!--T:34--> Upcoming</translate><noinclude><br /></noinclude> | #default = {{{1<includeonly>|</includeonly>}}}<includeonly>{{#if:{{{1|}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}} }}</includeonly><noinclude> {{doc}} </noinclude> jmbxxslrvy94bupaoiowavwga22nijq 10119 10118 2022-09-26T22:52:22Z meta>GVarnum-WMF 0 <translate nowrap> 10119 wikitext text/x-wiki <noinclude>__NOTOC__ <languages /> {{Help translate/Common messages}}<translate nowrap> == Available strings == <!--T:28--> </translate></noinclude><includeonly> {{#switch: {{{1|}}} </includeonly><noinclude><translate nowrap> === Naming related === <!--T:35--> </translate></noinclude> | Commons = {{int|wikibase-sitelinks-sitename-commonswiki}}<noinclude><br /></noinclude> | Creative Commons |cc = {{label|Q43449}}<noinclude><br /></noinclude> | Etherpad |pad = {{label|Q998543}}<noinclude><br /></noinclude> | Eventbrite |evtb = {{label|Q5416738}}<noinclude><br /></noinclude> | Facebook |fb = {{label|Q355}}<noinclude><br /></noinclude> | Google Forms |gforms = {{label|Q47014869}}<noinclude><br /></noinclude> | Google Meet |gmeet = {{label|Q56669074}}<noinclude><br /></noinclude> | Identi.ca |Identica |ica = {{label|Q28773}}<noinclude><br /></noinclude> | Instagram |insta = {{label|Q209330}}<noinclude><br /></noinclude> | LimeSurvey |limesurvey = {{label|Q1514978}}<noinclude><br /></noinclude> | MediaWiki = {{label|Q83}}<noinclude><br /></noinclude> | Meta-Wiki |Meta = {{int|project-localized-name-metawiki}}<noinclude><br /></noinclude> | Qualtrics |qual = {{label|Q7268803}}<noinclude><br /></noinclude> | QuickSurveys |qsurveys = <translate nowrap><!--T:38--> QuickSurveys</translate><noinclude><br /></noinclude> | Quora |quo = {{label|Q51711}}<noinclude><br /></noinclude> | Skype |skype = {{label|Q40984}}<noinclude><br /></noinclude> | SurveyMonkey |surveymonkey = {{label|Q162852}}<noinclude><br /></noinclude> | Twitter |tw = {{label|Q918}}<noinclude><br /></noinclude> | Wikibooks = {{label|Q367}}<noinclude><br /></noinclude> | Wikidata = {{label|Q2013}}<noinclude><br /></noinclude> | Wikimedia = <translate nowrap><!--T:4--> Wikimedia</translate><noinclude><br /></noinclude> | Wikimedia Commons = {{int|project-localized-name-commonswiki}}<noinclude><br /></noinclude> | Wikimedia Foundation = {{label|Q180}}<noinclude><br /></noinclude> | Wikimedia Foundation, Inc. = {{int|wikibase-page-schema-publisher-name}}<noinclude><br /></noinclude> | Wikimedia Incubator = {{label|Q846672}}<noinclude><br /></noinclude> | Wikinews = {{label|Q964}}<noinclude><br /></noinclude> | Wikiquote = {{label|Q369}}<noinclude><br /></noinclude> | Wikisource = {{label|Q263}}<noinclude><br /></noinclude> | Wikispecies = {{label|Q13679}}<noinclude><br /></noinclude> | Wikitech = {{label|Q104819161}}<noinclude><br /></noinclude> | Wikiversity = {{label|Q370}}<noinclude><br /></noinclude> | Wikivoyage = {{label|Q373}}<noinclude><br /></noinclude> | Wiktionary = {{label|Q151}}<noinclude><br /></noinclude> | YouTube | Youtube |yt = {{label|Q866}}<noinclude><br /></noinclude> | Zoom |zoom = {{label|Q94979732}}<noinclude><br /><translate nowrap> === Navigation related === <!--T:36--> </translate></noinclude> | Connect = <translate nowrap><!--T:19--> Connect</translate><noinclude><br /></noinclude> | Contribute = <translate nowrap><!--T:20--> Contribute</translate><noinclude><br /></noinclude> | Feedback = {{int|specialblockfeedback}}<noinclude><br /></noinclude> | Frequently asked questions = <translate nowrap><!--T:21--> Frequently asked questions</translate><noinclude><br /></noinclude> | Home = <translate nowrap><!--T:1--> Home</translate><noinclude><br /></noinclude> | Leave Feedback = {{int|specialinvestigate-feedback}}<noinclude><br /></noinclude> | Projects = <translate nowrap><!--T:23--> Projects</translate><noinclude><br /></noinclude> | References = <translate nowrap><!--T:24--> References</translate><noinclude><br /></noinclude> | Research = <translate nowrap><!--T:25--> Research</translate><noinclude><br /></noinclude> | Resources = <translate nowrap><!--T:3--> Resources</translate><noinclude><br /></noinclude> | See also = <translate nowrap><!--T:26--> See also</translate><noinclude><br /></noinclude> | Start = <translate nowrap><!--T:27--> Start</translate><noinclude><br /></noinclude> | Statistics = {{int|wikimedia-statslink}}<noinclude><br /><translate nowrap> === Timeline related === <!--T:37--> </translate></noinclude> | Closed = <translate nowrap><!--T:30--> Closed</translate><noinclude><br /></noinclude> | Done = {{int|Upload-dialog-button-done}}<noinclude><br /></noinclude> | Open = <translate nowrap><!--T:31--> Open</translate><noinclude><br /></noinclude> | Plan = <translate nowrap><!--T:22--> Plan</translate><noinclude><br /></noinclude> | Ongoing = <translate nowrap><!--T:32--> Ongoing</translate><noinclude><br /></noinclude> | Status = <translate nowrap><!--T:33--> Status</translate><noinclude><br /></noinclude> | Talk to us = <translate nowrap><!--T:29--> Talk to us</translate><noinclude><br /></noinclude> | Upcoming = <translate nowrap><!--T:34--> Upcoming</translate><noinclude><br /></noinclude> | #default = {{{1<includeonly>|</includeonly>}}}<includeonly>{{#if:{{{1|}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}} }}</includeonly><noinclude> {{doc}} </noinclude> islzdqq3obozxo13hii29ihcybxu4wn 10120 10119 2022-09-26T22:54:38Z meta>GVarnum-WMF 0 spacing tweaks 10120 wikitext text/x-wiki <noinclude>__NOTOC__ <languages /> {{Help translate/Common messages}}<translate nowrap> == Available strings == <!--T:28--></translate></noinclude><includeonly> {{#switch: {{{1|}}}</includeonly><noinclude><translate nowrap> === Naming related === <!--T:35--></translate></noinclude> | Commons = {{int|wikibase-sitelinks-sitename-commonswiki}}<noinclude><br /></noinclude> | Creative Commons |cc = {{label|Q43449}}<noinclude><br /></noinclude> | Etherpad |pad = {{label|Q998543}}<noinclude><br /></noinclude> | Eventbrite |evtb = {{label|Q5416738}}<noinclude><br /></noinclude> | Facebook |fb = {{label|Q355}}<noinclude><br /></noinclude> | Google Forms |gforms = {{label|Q47014869}}<noinclude><br /></noinclude> | Google Meet |gmeet = {{label|Q56669074}}<noinclude><br /></noinclude> | Identi.ca |Identica |ica = {{label|Q28773}}<noinclude><br /></noinclude> | Instagram |insta = {{label|Q209330}}<noinclude><br /></noinclude> | LimeSurvey |limesurvey = {{label|Q1514978}}<noinclude><br /></noinclude> | MediaWiki = {{label|Q83}}<noinclude><br /></noinclude> | Meta-Wiki |Meta = {{int|project-localized-name-metawiki}}<noinclude><br /></noinclude> | Qualtrics |qual = {{label|Q7268803}}<noinclude><br /></noinclude> | QuickSurveys |qsurveys = <translate nowrap><!--T:38--> QuickSurveys</translate><noinclude><br /></noinclude> | Quora |quo = {{label|Q51711}}<noinclude><br /></noinclude> | Skype |skype = {{label|Q40984}}<noinclude><br /></noinclude> | SurveyMonkey |surveymonkey = {{label|Q162852}}<noinclude><br /></noinclude> | Twitter |tw = {{label|Q918}}<noinclude><br /></noinclude> | Wikibooks = {{label|Q367}}<noinclude><br /></noinclude> | Wikidata = {{label|Q2013}}<noinclude><br /></noinclude> | Wikimedia = <translate nowrap><!--T:4--> Wikimedia</translate><noinclude><br /></noinclude> | Wikimedia Commons = {{int|project-localized-name-commonswiki}}<noinclude><br /></noinclude> | Wikimedia Foundation = {{label|Q180}}<noinclude><br /></noinclude> | Wikimedia Foundation, Inc. = {{int|wikibase-page-schema-publisher-name}}<noinclude><br /></noinclude> | Wikimedia Incubator = {{label|Q846672}}<noinclude><br /></noinclude> | Wikinews = {{label|Q964}}<noinclude><br /></noinclude> | Wikiquote = {{label|Q369}}<noinclude><br /></noinclude> | Wikisource = {{label|Q263}}<noinclude><br /></noinclude> | Wikispecies = {{label|Q13679}}<noinclude><br /></noinclude> | Wikitech = {{label|Q104819161}}<noinclude><br /></noinclude> | Wikiversity = {{label|Q370}}<noinclude><br /></noinclude> | Wikivoyage = {{label|Q373}}<noinclude><br /></noinclude> | Wiktionary = {{label|Q151}}<noinclude><br /></noinclude> | YouTube | Youtube |yt = {{label|Q866}}<noinclude><br /></noinclude> | Zoom |zoom = {{label|Q94979732}}<noinclude><br /><translate nowrap> === Navigation related === <!--T:36--></translate></noinclude> | Connect = <translate nowrap><!--T:19--> Connect</translate><noinclude><br /></noinclude> | Contribute = <translate nowrap><!--T:20--> Contribute</translate><noinclude><br /></noinclude> | Feedback = {{int|specialblockfeedback}}<noinclude><br /></noinclude> | Frequently asked questions = <translate nowrap><!--T:21--> Frequently asked questions</translate><noinclude><br /></noinclude> | Home = <translate nowrap><!--T:1--> Home</translate><noinclude><br /></noinclude> | Leave Feedback = {{int|specialinvestigate-feedback}}<noinclude><br /></noinclude> | Projects = <translate nowrap><!--T:23--> Projects</translate><noinclude><br /></noinclude> | References = <translate nowrap><!--T:24--> References</translate><noinclude><br /></noinclude> | Research = <translate nowrap><!--T:25--> Research</translate><noinclude><br /></noinclude> | Resources = <translate nowrap><!--T:3--> Resources</translate><noinclude><br /></noinclude> | See also = <translate nowrap><!--T:26--> See also</translate><noinclude><br /></noinclude> | Start = <translate nowrap><!--T:27--> Start</translate><noinclude><br /></noinclude> | Statistics = {{int|wikimedia-statslink}}<noinclude><br /><translate nowrap> === Timeline related === <!--T:37--></translate></noinclude> | Closed = <translate nowrap><!--T:30--> Closed</translate><noinclude><br /></noinclude> | Done = {{int|Upload-dialog-button-done}}<noinclude><br /></noinclude> | Open = <translate nowrap><!--T:31--> Open</translate><noinclude><br /></noinclude> | Plan = <translate nowrap><!--T:22--> Plan</translate><noinclude><br /></noinclude> | Ongoing = <translate nowrap><!--T:32--> Ongoing</translate><noinclude><br /></noinclude> | Status = <translate nowrap><!--T:33--> Status</translate><noinclude><br /></noinclude> | Talk to us = <translate nowrap><!--T:29--> Talk to us</translate><noinclude><br /></noinclude> | Upcoming = <translate nowrap><!--T:34--> Upcoming</translate><noinclude><br /></noinclude> | #default = {{{1<includeonly>|</includeonly>}}}<includeonly>{{#if:{{{1|}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}} }}</includeonly><noinclude> {{doc}}</noinclude> i8bd8kn5p4lmd7xflj62bwtwybu0o7f 10121 10120 2022-09-26T22:56:38Z meta>GVarnum-WMF 0 spacing test 10121 wikitext text/x-wiki <noinclude>__NOTOC__ <languages /> {{Help translate/Common messages}}<translate nowrap> == Available strings == <!--T:28--></translate></noinclude><includeonly> {{#switch: {{{1|}}}</includeonly><noinclude><translate nowrap> === Naming related === <!--T:35--></translate> </noinclude>| Commons = {{int|wikibase-sitelinks-sitename-commonswiki}}<noinclude><br /></noinclude> | Creative Commons |cc = {{label|Q43449}}<noinclude><br /></noinclude> | Etherpad |pad = {{label|Q998543}}<noinclude><br /></noinclude> | Eventbrite |evtb = {{label|Q5416738}}<noinclude><br /></noinclude> | Facebook |fb = {{label|Q355}}<noinclude><br /></noinclude> | Google Forms |gforms = {{label|Q47014869}}<noinclude><br /></noinclude> | Google Meet |gmeet = {{label|Q56669074}}<noinclude><br /></noinclude> | Identi.ca |Identica |ica = {{label|Q28773}}<noinclude><br /></noinclude> | Instagram |insta = {{label|Q209330}}<noinclude><br /></noinclude> | LimeSurvey |limesurvey = {{label|Q1514978}}<noinclude><br /></noinclude> | MediaWiki = {{label|Q83}}<noinclude><br /></noinclude> | Meta-Wiki |Meta = {{int|project-localized-name-metawiki}}<noinclude><br /></noinclude> | Qualtrics |qual = {{label|Q7268803}}<noinclude><br /></noinclude> | QuickSurveys |qsurveys = <translate nowrap><!--T:38--> QuickSurveys</translate><noinclude><br /></noinclude> | Quora |quo = {{label|Q51711}}<noinclude><br /></noinclude> | Skype |skype = {{label|Q40984}}<noinclude><br /></noinclude> | SurveyMonkey |surveymonkey = {{label|Q162852}}<noinclude><br /></noinclude> | Twitter |tw = {{label|Q918}}<noinclude><br /></noinclude> | Wikibooks = {{label|Q367}}<noinclude><br /></noinclude> | Wikidata = {{label|Q2013}}<noinclude><br /></noinclude> | Wikimedia = <translate nowrap><!--T:4--> Wikimedia</translate><noinclude><br /></noinclude> | Wikimedia Commons = {{int|project-localized-name-commonswiki}}<noinclude><br /></noinclude> | Wikimedia Foundation = {{label|Q180}}<noinclude><br /></noinclude> | Wikimedia Foundation, Inc. = {{int|wikibase-page-schema-publisher-name}}<noinclude><br /></noinclude> | Wikimedia Incubator = {{label|Q846672}}<noinclude><br /></noinclude> | Wikinews = {{label|Q964}}<noinclude><br /></noinclude> | Wikiquote = {{label|Q369}}<noinclude><br /></noinclude> | Wikisource = {{label|Q263}}<noinclude><br /></noinclude> | Wikispecies = {{label|Q13679}}<noinclude><br /></noinclude> | Wikitech = {{label|Q104819161}}<noinclude><br /></noinclude> | Wikiversity = {{label|Q370}}<noinclude><br /></noinclude> | Wikivoyage = {{label|Q373}}<noinclude><br /></noinclude> | Wiktionary = {{label|Q151}}<noinclude><br /></noinclude> | YouTube | Youtube |yt = {{label|Q866}}<noinclude><br /></noinclude> | Zoom |zoom = {{label|Q94979732}}<noinclude><br /><translate nowrap> === Navigation related === <!--T:36--></translate> </noinclude>| Connect = <translate nowrap><!--T:19--> Connect</translate><noinclude><br /></noinclude> | Contribute = <translate nowrap><!--T:20--> Contribute</translate><noinclude><br /></noinclude> | Feedback = {{int|specialblockfeedback}}<noinclude><br /></noinclude> | Frequently asked questions = <translate nowrap><!--T:21--> Frequently asked questions</translate><noinclude><br /></noinclude> | Home = <translate nowrap><!--T:1--> Home</translate><noinclude><br /></noinclude> | Leave Feedback = {{int|specialinvestigate-feedback}}<noinclude><br /></noinclude> | Projects = <translate nowrap><!--T:23--> Projects</translate><noinclude><br /></noinclude> | References = <translate nowrap><!--T:24--> References</translate><noinclude><br /></noinclude> | Research = <translate nowrap><!--T:25--> Research</translate><noinclude><br /></noinclude> | Resources = <translate nowrap><!--T:3--> Resources</translate><noinclude><br /></noinclude> | See also = <translate nowrap><!--T:26--> See also</translate><noinclude><br /></noinclude> | Start = <translate nowrap><!--T:27--> Start</translate><noinclude><br /></noinclude> | Statistics = {{int|wikimedia-statslink}}<noinclude><br /><translate nowrap> === Timeline related === <!--T:37--></translate> </noinclude>| Closed = <translate nowrap><!--T:30--> Closed</translate><noinclude><br /></noinclude> | Done = {{int|Upload-dialog-button-done}}<noinclude><br /></noinclude> | Open = <translate nowrap><!--T:31--> Open</translate><noinclude><br /></noinclude> | Plan = <translate nowrap><!--T:22--> Plan</translate><noinclude><br /></noinclude> | Ongoing = <translate nowrap><!--T:32--> Ongoing</translate><noinclude><br /></noinclude> | Status = <translate nowrap><!--T:33--> Status</translate><noinclude><br /></noinclude> | Talk to us = <translate nowrap><!--T:29--> Talk to us</translate><noinclude><br /></noinclude> | Upcoming = <translate nowrap><!--T:34--> Upcoming</translate><noinclude><br /></noinclude> | #default = {{{1<includeonly>|</includeonly>}}}<includeonly>{{#if:{{{1|}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}} }}</includeonly><noinclude> {{doc}}</noinclude> izgpo1uk4erp6yw3ecqnk8440n7o5m7 10122 10121 2022-09-26T22:59:30Z meta>GVarnum-WMF 0 remover headers 10122 wikitext text/x-wiki <noinclude>__NOTOC__ <languages /> {{Help translate/Common messages}}<translate nowrap> == Available strings == <!--T:28--></translate></noinclude><includeonly> {{#switch: {{{1|}}}</includeonly> | Commons = {{int|wikibase-sitelinks-sitename-commonswiki}}<noinclude><br /></noinclude> | Creative Commons |cc = {{label|Q43449}}<noinclude><br /></noinclude> | Etherpad |pad = {{label|Q998543}}<noinclude><br /></noinclude> | Eventbrite |evtb = {{label|Q5416738}}<noinclude><br /></noinclude> | Facebook |fb = {{label|Q355}}<noinclude><br /></noinclude> | Google Forms |gforms = {{label|Q47014869}}<noinclude><br /></noinclude> | Google Meet |gmeet = {{label|Q56669074}}<noinclude><br /></noinclude> | Identi.ca |Identica |ica = {{label|Q28773}}<noinclude><br /></noinclude> | Instagram |insta = {{label|Q209330}}<noinclude><br /></noinclude> | LimeSurvey |limesurvey = {{label|Q1514978}}<noinclude><br /></noinclude> | MediaWiki = {{label|Q83}}<noinclude><br /></noinclude> | Meta-Wiki |Meta = {{int|project-localized-name-metawiki}}<noinclude><br /></noinclude> | Qualtrics |qual = {{label|Q7268803}}<noinclude><br /></noinclude> | QuickSurveys |qsurveys = <translate nowrap><!--T:38--> QuickSurveys</translate><noinclude><br /></noinclude> | Quora |quo = {{label|Q51711}}<noinclude><br /></noinclude> | Skype |skype = {{label|Q40984}}<noinclude><br /></noinclude> | SurveyMonkey |surveymonkey = {{label|Q162852}}<noinclude><br /></noinclude> | Twitter |tw = {{label|Q918}}<noinclude><br /></noinclude> | Wikibooks = {{label|Q367}}<noinclude><br /></noinclude> | Wikidata = {{label|Q2013}}<noinclude><br /></noinclude> | Wikimedia = <translate nowrap><!--T:4--> Wikimedia</translate><noinclude><br /></noinclude> | Wikimedia Commons = {{int|project-localized-name-commonswiki}}<noinclude><br /></noinclude> | Wikimedia Foundation = {{label|Q180}}<noinclude><br /></noinclude> | Wikimedia Foundation, Inc. = {{int|wikibase-page-schema-publisher-name}}<noinclude><br /></noinclude> | Wikimedia Incubator = {{label|Q846672}}<noinclude><br /></noinclude> | Wikinews = {{label|Q964}}<noinclude><br /></noinclude> | Wikiquote = {{label|Q369}}<noinclude><br /></noinclude> | Wikisource = {{label|Q263}}<noinclude><br /></noinclude> | Wikispecies = {{label|Q13679}}<noinclude><br /></noinclude> | Wikitech = {{label|Q104819161}}<noinclude><br /></noinclude> | Wikiversity = {{label|Q370}}<noinclude><br /></noinclude> | Wikivoyage = {{label|Q373}}<noinclude><br /></noinclude> | Wiktionary = {{label|Q151}}<noinclude><br /></noinclude> | YouTube | Youtube |yt = {{label|Q866}}<noinclude><br /></noinclude> | Zoom |zoom = {{label|Q94979732}}<noinclude><br /></noinclude> | Connect = <translate nowrap><!--T:19--> Connect</translate><noinclude><br /></noinclude> | Contribute = <translate nowrap><!--T:20--> Contribute</translate><noinclude><br /></noinclude> | Feedback = {{int|specialblockfeedback}}<noinclude><br /></noinclude> | Frequently asked questions = <translate nowrap><!--T:21--> Frequently asked questions</translate><noinclude><br /></noinclude> | Home = <translate nowrap><!--T:1--> Home</translate><noinclude><br /></noinclude> | Leave Feedback = {{int|specialinvestigate-feedback}}<noinclude><br /></noinclude> | Projects = <translate nowrap><!--T:23--> Projects</translate><noinclude><br /></noinclude> | References = <translate nowrap><!--T:24--> References</translate><noinclude><br /></noinclude> | Research = <translate nowrap><!--T:25--> Research</translate><noinclude><br /></noinclude> | Resources = <translate nowrap><!--T:3--> Resources</translate><noinclude><br /></noinclude> | See also = <translate nowrap><!--T:26--> See also</translate><noinclude><br /></noinclude> | Start = <translate nowrap><!--T:27--> Start</translate><noinclude><br /></noinclude> | Statistics = {{int|wikimedia-statslink}}<noinclude><br /></noinclude> | Closed = <translate nowrap><!--T:30--> Closed</translate><noinclude><br /></noinclude> | Done = {{int|Upload-dialog-button-done}}<noinclude><br /></noinclude> | Open = <translate nowrap><!--T:31--> Open</translate><noinclude><br /></noinclude> | Plan = <translate nowrap><!--T:22--> Plan</translate><noinclude><br /></noinclude> | Ongoing = <translate nowrap><!--T:32--> Ongoing</translate><noinclude><br /></noinclude> | Status = <translate nowrap><!--T:33--> Status</translate><noinclude><br /></noinclude> | Talk to us = <translate nowrap><!--T:29--> Talk to us</translate><noinclude><br /></noinclude> | Upcoming = <translate nowrap><!--T:34--> Upcoming</translate><noinclude><br /></noinclude> | #default = {{{1<includeonly>|</includeonly>}}}<includeonly>{{#if:{{{1|}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}} }}</includeonly><noinclude> {{doc}}</noinclude> ti4i2gyvke06v3g9utrkunhcfa0tn06 10123 10122 2022-09-26T23:01:12Z meta>GVarnum-WMF 0 code cleanup 10123 wikitext text/x-wiki <noinclude>__NOTOC__ <languages /> {{Help translate/Common messages}}<translate> == Available strings == <!--T:28--></translate></noinclude><includeonly> {{#switch: {{{1|}}}</includeonly> | Commons = {{int|wikibase-sitelinks-sitename-commonswiki}}<noinclude><br /></noinclude> | Creative Commons |cc = {{label|Q43449}}<noinclude><br /></noinclude> | Etherpad |pad = {{label|Q998543}}<noinclude><br /></noinclude> | Eventbrite |evtb = {{label|Q5416738}}<noinclude><br /></noinclude> | Facebook |fb = {{label|Q355}}<noinclude><br /></noinclude> | Google Forms |gforms = {{label|Q47014869}}<noinclude><br /></noinclude> | Google Meet |gmeet = {{label|Q56669074}}<noinclude><br /></noinclude> | Identi.ca |Identica |ica = {{label|Q28773}}<noinclude><br /></noinclude> | Instagram |insta = {{label|Q209330}}<noinclude><br /></noinclude> | LimeSurvey |limesurvey = {{label|Q1514978}}<noinclude><br /></noinclude> | MediaWiki = {{label|Q83}}<noinclude><br /></noinclude> | Meta-Wiki |Meta = {{int|project-localized-name-metawiki}}<noinclude><br /></noinclude> | Qualtrics |qual = {{label|Q7268803}}<noinclude><br /></noinclude> | QuickSurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate><noinclude><br /></noinclude> | Quora |quo = {{label|Q51711}}<noinclude><br /></noinclude> | Skype |skype = {{label|Q40984}}<noinclude><br /></noinclude> | SurveyMonkey |surveymonkey = {{label|Q162852}}<noinclude><br /></noinclude> | Twitter |tw = {{label|Q918}}<noinclude><br /></noinclude> | Wikibooks = {{label|Q367}}<noinclude><br /></noinclude> | Wikidata = {{label|Q2013}}<noinclude><br /></noinclude> | Wikimedia = <translate><!--T:4--> Wikimedia</translate><noinclude><br /></noinclude> | Wikimedia Commons = {{int|project-localized-name-commonswiki}}<noinclude><br /></noinclude> | Wikimedia Foundation = {{label|Q180}}<noinclude><br /></noinclude> | Wikimedia Foundation, Inc. = {{int|wikibase-page-schema-publisher-name}}<noinclude><br /></noinclude> | Wikimedia Incubator = {{label|Q846672}}<noinclude><br /></noinclude> | Wikinews = {{label|Q964}}<noinclude><br /></noinclude> | Wikiquote = {{label|Q369}}<noinclude><br /></noinclude> | Wikisource = {{label|Q263}}<noinclude><br /></noinclude> | Wikispecies = {{label|Q13679}}<noinclude><br /></noinclude> | Wikitech = {{label|Q104819161}}<noinclude><br /></noinclude> | Wikiversity = {{label|Q370}}<noinclude><br /></noinclude> | Wikivoyage = {{label|Q373}}<noinclude><br /></noinclude> | Wiktionary = {{label|Q151}}<noinclude><br /></noinclude> | YouTube | Youtube |yt = {{label|Q866}}<noinclude><br /></noinclude> | Zoom |zoom = {{label|Q94979732}}<noinclude><br /></noinclude> | Connect = <translate><!--T:19--> Connect</translate><noinclude><br /></noinclude> | Contribute = <translate><!--T:20--> Contribute</translate><noinclude><br /></noinclude> | Feedback = {{int|specialblockfeedback}}<noinclude><br /></noinclude> | Frequently asked questions = <translate><!--T:21--> Frequently asked questions</translate><noinclude><br /></noinclude> | Home = <translate><!--T:1--> Home</translate><noinclude><br /></noinclude> | Leave Feedback = {{int|specialinvestigate-feedback}}<noinclude><br /></noinclude> | Projects = <translate><!--T:23--> Projects</translate><noinclude><br /></noinclude> | References = <translate><!--T:24--> References</translate><noinclude><br /></noinclude> | Research = <translate><!--T:25--> Research</translate><noinclude><br /></noinclude> | Resources = <translate><!--T:3--> Resources</translate><noinclude><br /></noinclude> | See also = <translate><!--T:26--> See also</translate><noinclude><br /></noinclude> | Start = <translate><!--T:27--> Start</translate><noinclude><br /></noinclude> | Statistics = {{int|wikimedia-statslink}}<noinclude><br /></noinclude> | Closed = <translate><!--T:30--> Closed</translate><noinclude><br /></noinclude> | Done = {{int|Upload-dialog-button-done}}<noinclude><br /></noinclude> | Open = <translate><!--T:31--> Open</translate><noinclude><br /></noinclude> | Plan = <translate><!--T:22--> Plan</translate><noinclude><br /></noinclude> | Ongoing = <translate><!--T:32--> Ongoing</translate><noinclude><br /></noinclude> | Status = <translate><!--T:33--> Status</translate><noinclude><br /></noinclude> | Talk to us = <translate><!--T:29--> Talk to us</translate><noinclude><br /></noinclude> | Upcoming = <translate><!--T:34--> Upcoming</translate><noinclude><br /></noinclude> | #default = {{{1<includeonly>|</includeonly>}}}<includeonly>{{#if:{{{1|}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}} }}</includeonly><noinclude> {{doc}}</noinclude> 7ei1qh46ni2tbycyzi507f9tq2kr015 10124 10123 2022-09-26T23:02:57Z meta>GVarnum-WMF 0 testing fix 10124 wikitext text/x-wiki <noinclude>__NOTOC__ <languages /> {{Help translate/Common messages}}<translate> == Available strings == <!--T:28--></translate></noinclude><includeonly> {{#switch: {{{1|}}}</includeonly> | Commons = {{int|wikibase-sitelinks-sitename-commonswiki}}<noinclude><br /></noinclude> | Creative Commons |cc = {{label|Q43449}}<noinclude><br /></noinclude> | Etherpad |pad = {{label|Q998543}}<noinclude><br /></noinclude> | Eventbrite |evtb = {{label|Q5416738}}<noinclude><br /></noinclude> | Facebook |fb = {{label|Q355}}<noinclude><br /></noinclude> | Google Forms |gforms = {{label|Q47014869}}<noinclude><br /></noinclude> | Google Meet |gmeet = {{label|Q56669074}}<noinclude><br /></noinclude> | Identi.ca |Identica |ica = {{label|Q28773}}<noinclude><br /></noinclude> | Instagram |insta = {{label|Q209330}}<noinclude><br /></noinclude> | LimeSurvey |limesurvey = {{label|Q1514978}}<noinclude><br /></noinclude> | MediaWiki = {{label|Q83}}<noinclude><br /></noinclude> | Meta-Wiki |Meta = {{int|project-localized-name-metawiki}}<noinclude><br /></noinclude> | Qualtrics |qual = {{label|Q7268803}}<noinclude><br /></noinclude> | QuickSurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate><noinclude><br /></noinclude> | Quora |quo = {{label|Q51711}}<noinclude><br /></noinclude> | Skype |skype = {{label|Q40984}}<noinclude><br /></noinclude> | SurveyMonkey |surveymonkey = {{label|Q162852}}<noinclude><br /></noinclude> | Twitter |tw = {{label|Q918}}<noinclude><br /></noinclude> | Wikibooks = {{label|Q367}}<noinclude><br /></noinclude> | Wikidata = {{label|Q2013}}<noinclude><br /></noinclude> | Wikimedia = <translate><!--T:4--> Wikimedia</translate><noinclude><br /></noinclude> | Wikimedia Commons = {{int|project-localized-name-commonswiki}}<noinclude><br /></noinclude> | Wikimedia Foundation = {{label|Q180}}<noinclude><br /></noinclude> | Wikimedia Foundation, Inc. = {{int|wikibase-page-schema-publisher-name}}<noinclude><br /></noinclude> | Wikimedia Incubator = {{label|Q846672}}<noinclude><br /></noinclude> | Wikinews = {{label|Q964}}<noinclude><br /></noinclude> | Wikiquote = {{label|Q369}}<noinclude><br /></noinclude> | Wikisource = {{label|Q263}}<noinclude><br /></noinclude> | Wikispecies = {{label|Q13679}}<noinclude><br /></noinclude> | Wikitech = {{label|Q104819161}}<noinclude><br /></noinclude> | Wikiversity = {{label|Q370}}<noinclude><br /></noinclude> | Wikivoyage = {{label|Q373}}<noinclude><br /></noinclude> | Wiktionary = {{label|Q151}}<noinclude><br /></noinclude> | YouTube | Youtube |yt = {{label|Q866}}<noinclude><br /></noinclude> | Zoom |zoom = {{label|Q94979732}}<noinclude><br /></noinclude> | Connect = <translate><!--T:19--> Connect</translate><noinclude><br /></noinclude> | Contribute = <translate><!--T:20--> Contribute</translate><noinclude><br /></noinclude> | Feedback = {{int|specialblockfeedback}}<noinclude><br /></noinclude> | Frequently asked questions = <translate><!--T:21--> Frequently asked questions</translate><noinclude><br /></noinclude> | Home = <translate><!--T:1--> Home</translate><noinclude><br /></noinclude> | Leave Feedback = {{int|specialinvestigate-feedback}}<noinclude><br /></noinclude> | Projects = <translate><!--T:23--> Projects</translate><noinclude><br /></noinclude> | References = <translate><!--T:24--> References</translate><noinclude><br /></noinclude> | Research = <translate><!--T:25--> Research</translate><noinclude><br /></noinclude> | Resources = <translate><!--T:3--> Resources</translate><noinclude><br /></noinclude> | See also = <translate><!--T:26--> See also</translate><noinclude><br /></noinclude> | Start = <translate><!--T:27--> Start</translate><noinclude><br /></noinclude> | Statistics = {{int|wikimedia-statslink}}<noinclude><br /></noinclude> | Closed = <translate><!--T:30--> Closed</translate><noinclude><br /></noinclude> | Done = {{int|Upload-dialog-button-done}}<noinclude><br /></noinclude> | Open = <translate><!--T:31--> Open</translate><noinclude><br /></noinclude> | Plan = <translate><!--T:22--> Plan</translate><noinclude><br /></noinclude> | Ongoing = <translate><!--T:32--> Ongoing</translate><noinclude><br /></noinclude> | Status = <translate><!--T:33--> Status</translate><noinclude><br /></noinclude> | Talk to us = <translate><!--T:29--> Talk to us</translate><noinclude><br /></noinclude> | Upcoming = <translate><!--T:34--> Upcoming</translate><noinclude><br /></noinclude> }}</includeonly><noinclude> {{doc}}</noinclude> s4mbpb827mk3o85d9htulsugfymzvj6 10125 10124 2022-09-26T23:04:58Z meta>GVarnum-WMF 0 fix test 10125 wikitext text/x-wiki <noinclude>__NOTOC__ <languages /> {{Help translate/Common messages}} {{doc}}</noinclude> {{#switch: {{{1|}}} | Commons = {{int|wikibase-sitelinks-sitename-commonswiki}}<noinclude><br /></noinclude> | Creative Commons |cc = {{label|Q43449}}<noinclude><br /></noinclude> | Etherpad |pad = {{label|Q998543}}<noinclude><br /></noinclude> | Eventbrite |evtb = {{label|Q5416738}}<noinclude><br /></noinclude> | Facebook |fb = {{label|Q355}}<noinclude><br /></noinclude> | Google Forms |gforms = {{label|Q47014869}}<noinclude><br /></noinclude> | Google Meet |gmeet = {{label|Q56669074}}<noinclude><br /></noinclude> | Identi.ca |Identica |ica = {{label|Q28773}}<noinclude><br /></noinclude> | Instagram |insta = {{label|Q209330}}<noinclude><br /></noinclude> | LimeSurvey |limesurvey = {{label|Q1514978}}<noinclude><br /></noinclude> | MediaWiki = {{label|Q83}}<noinclude><br /></noinclude> | Meta-Wiki |Meta = {{int|project-localized-name-metawiki}}<noinclude><br /></noinclude> | Qualtrics |qual = {{label|Q7268803}}<noinclude><br /></noinclude> | QuickSurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate><noinclude><br /></noinclude> | Quora |quo = {{label|Q51711}}<noinclude><br /></noinclude> | Skype |skype = {{label|Q40984}}<noinclude><br /></noinclude> | SurveyMonkey |surveymonkey = {{label|Q162852}}<noinclude><br /></noinclude> | Twitter |tw = {{label|Q918}}<noinclude><br /></noinclude> | Wikibooks = {{label|Q367}}<noinclude><br /></noinclude> | Wikidata = {{label|Q2013}}<noinclude><br /></noinclude> | Wikimedia = <translate><!--T:4--> Wikimedia</translate><noinclude><br /></noinclude> | Wikimedia Commons = {{int|project-localized-name-commonswiki}}<noinclude><br /></noinclude> | Wikimedia Foundation = {{label|Q180}}<noinclude><br /></noinclude> | Wikimedia Foundation, Inc. = {{int|wikibase-page-schema-publisher-name}}<noinclude><br /></noinclude> | Wikimedia Incubator = {{label|Q846672}}<noinclude><br /></noinclude> | Wikinews = {{label|Q964}}<noinclude><br /></noinclude> | Wikiquote = {{label|Q369}}<noinclude><br /></noinclude> | Wikisource = {{label|Q263}}<noinclude><br /></noinclude> | Wikispecies = {{label|Q13679}}<noinclude><br /></noinclude> | Wikitech = {{label|Q104819161}}<noinclude><br /></noinclude> | Wikiversity = {{label|Q370}}<noinclude><br /></noinclude> | Wikivoyage = {{label|Q373}}<noinclude><br /></noinclude> | Wiktionary = {{label|Q151}}<noinclude><br /></noinclude> | YouTube | Youtube |yt = {{label|Q866}}<noinclude><br /></noinclude> | Zoom |zoom = {{label|Q94979732}}<noinclude><br /></noinclude> | Connect = <translate><!--T:19--> Connect</translate><noinclude><br /></noinclude> | Contribute = <translate><!--T:20--> Contribute</translate><noinclude><br /></noinclude> | Feedback = {{int|specialblockfeedback}}<noinclude><br /></noinclude> | Frequently asked questions = <translate><!--T:21--> Frequently asked questions</translate><noinclude><br /></noinclude> | Home = <translate><!--T:1--> Home</translate><noinclude><br /></noinclude> | Leave Feedback = {{int|specialinvestigate-feedback}}<noinclude><br /></noinclude> | Projects = <translate><!--T:23--> Projects</translate><noinclude><br /></noinclude> | References = <translate><!--T:24--> References</translate><noinclude><br /></noinclude> | Research = <translate><!--T:25--> Research</translate><noinclude><br /></noinclude> | Resources = <translate><!--T:3--> Resources</translate><noinclude><br /></noinclude> | See also = <translate><!--T:26--> See also</translate><noinclude><br /></noinclude> | Start = <translate><!--T:27--> Start</translate><noinclude><br /></noinclude> | Statistics = {{int|wikimedia-statslink}}<noinclude><br /></noinclude> | Closed = <translate><!--T:30--> Closed</translate><noinclude><br /></noinclude> | Done = {{int|Upload-dialog-button-done}}<noinclude><br /></noinclude> | Open = <translate><!--T:31--> Open</translate><noinclude><br /></noinclude> | Plan = <translate><!--T:22--> Plan</translate><noinclude><br /></noinclude> | Ongoing = <translate><!--T:32--> Ongoing</translate><noinclude><br /></noinclude> | Status = <translate><!--T:33--> Status</translate><noinclude><br /></noinclude> | Talk to us = <translate><!--T:29--> Talk to us</translate><noinclude><br /></noinclude> | Upcoming = <translate><!--T:34--> Upcoming</translate><noinclude><br /></noinclude> |}} dhjg12t1tqt633qpcwy74s8fisahgte 10126 10125 2022-09-26T23:06:56Z meta>GVarnum-WMF 0 code cleanup 10126 wikitext text/x-wiki <noinclude>__NOTOC__ <languages /> {{Help translate/Common messages}} {{doc}}</noinclude> {{#switch: {{{1|}}} | Commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | Creative Commons |cc = {{label|Q43449}} | Etherpad |pad = {{label|Q998543}} | Eventbrite |evtb = {{label|Q5416738}} | Facebook |fb = {{label|Q355}} | Google Forms |gforms = {{label|Q47014869}} | Google Meet |gmeet = {{label|Q56669074}} | Identi.ca |Identica |ica = {{label|Q28773}} | Instagram |insta = {{label|Q209330}} | LimeSurvey |limesurvey = {{label|Q1514978}} | MediaWiki = {{label|Q83}} | Meta-Wiki |Meta = {{int|project-localized-name-metawiki}} | Qualtrics |qual = {{label|Q7268803}} | QuickSurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | Quora |quo = {{label|Q51711}} | Skype |skype = {{label|Q40984}} | SurveyMonkey |surveymonkey = {{label|Q162852}} | Twitter |tw = {{label|Q918}} | Wikibooks = {{label|Q367}} | Wikidata = {{label|Q2013}} | Wikimedia = <translate><!--T:4--> Wikimedia</translate> | Wikimedia Commons = {{int|project-localized-name-commonswiki}} | Wikimedia Foundation = {{label|Q180}} | Wikimedia Foundation, Inc. = {{int|wikibase-page-schema-publisher-name}} | Wikimedia Incubator = {{label|Q846672}} | Wikinews = {{label|Q964}} | Wikiquote = {{label|Q369}} | Wikisource = {{label|Q263}} | Wikispecies = {{label|Q13679}} | Wikitech = {{label|Q104819161}} | Wikiversity = {{label|Q370}} | Wikivoyage = {{label|Q373}} | Wiktionary = {{label|Q151}} | YouTube | Youtube |yt = {{label|Q866}} | Zoom |zoom = {{label|Q94979732}} | Connect = <translate><!--T:19--> Connect</translate> | Contribute = <translate><!--T:20--> Contribute</translate> | Feedback = {{int|specialblockfeedback}} | Frequently asked questions = <translate><!--T:21--> Frequently asked questions</translate> | Home = <translate><!--T:1--> Home</translate> | Leave Feedback = {{int|specialinvestigate-feedback}} | Projects = <translate><!--T:23--> Projects</translate> | References = <translate><!--T:24--> References</translate> | Research = <translate><!--T:25--> Research</translate> | Resources = <translate><!--T:3--> Resources</translate> | See also = <translate><!--T:26--> See also</translate> | Start = <translate><!--T:27--> Start</translate> | Statistics = {{int|wikimedia-statslink}} | Closed = <translate><!--T:30--> Closed</translate> | Done = {{int|Upload-dialog-button-done}} | Open = <translate><!--T:31--> Open</translate> | Plan = <translate><!--T:22--> Plan</translate> | Ongoing = <translate><!--T:32--> Ongoing</translate> | Status = <translate><!--T:33--> Status</translate> | Talk to us = <translate><!--T:29--> Talk to us</translate> | Upcoming = <translate><!--T:34--> Upcoming</translate> |}} 23k0zxnzyqpg47k9uqk0e18ubqogyhx 10127 10126 2022-09-26T23:07:55Z meta>GVarnum-WMF 0 spacing 10127 wikitext text/x-wiki <noinclude>__NOTOC__<languages /> {{Help translate/Common messages}} {{doc}}</noinclude>{{#switch: {{{1|}}} | Commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | Creative Commons |cc = {{label|Q43449}} | Etherpad |pad = {{label|Q998543}} | Eventbrite |evtb = {{label|Q5416738}} | Facebook |fb = {{label|Q355}} | Google Forms |gforms = {{label|Q47014869}} | Google Meet |gmeet = {{label|Q56669074}} | Identi.ca |Identica |ica = {{label|Q28773}} | Instagram |insta = {{label|Q209330}} | LimeSurvey |limesurvey = {{label|Q1514978}} | MediaWiki = {{label|Q83}} | Meta-Wiki |Meta = {{int|project-localized-name-metawiki}} | Qualtrics |qual = {{label|Q7268803}} | QuickSurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | Quora |quo = {{label|Q51711}} | Skype |skype = {{label|Q40984}} | SurveyMonkey |surveymonkey = {{label|Q162852}} | Twitter |tw = {{label|Q918}} | Wikibooks = {{label|Q367}} | Wikidata = {{label|Q2013}} | Wikimedia = <translate><!--T:4--> Wikimedia</translate> | Wikimedia Commons = {{int|project-localized-name-commonswiki}} | Wikimedia Foundation = {{label|Q180}} | Wikimedia Foundation, Inc. = {{int|wikibase-page-schema-publisher-name}} | Wikimedia Incubator = {{label|Q846672}} | Wikinews = {{label|Q964}} | Wikiquote = {{label|Q369}} | Wikisource = {{label|Q263}} | Wikispecies = {{label|Q13679}} | Wikitech = {{label|Q104819161}} | Wikiversity = {{label|Q370}} | Wikivoyage = {{label|Q373}} | Wiktionary = {{label|Q151}} | YouTube | Youtube |yt = {{label|Q866}} | Zoom |zoom = {{label|Q94979732}} | Connect = <translate><!--T:19--> Connect</translate> | Contribute = <translate><!--T:20--> Contribute</translate> | Feedback = {{int|specialblockfeedback}} | Frequently asked questions = <translate><!--T:21--> Frequently asked questions</translate> | Home = <translate><!--T:1--> Home</translate> | Leave Feedback = {{int|specialinvestigate-feedback}} | Projects = <translate><!--T:23--> Projects</translate> | References = <translate><!--T:24--> References</translate> | Research = <translate><!--T:25--> Research</translate> | Resources = <translate><!--T:3--> Resources</translate> | See also = <translate><!--T:26--> See also</translate> | Start = <translate><!--T:27--> Start</translate> | Statistics = {{int|wikimedia-statslink}} | Closed = <translate><!--T:30--> Closed</translate> | Done = {{int|Upload-dialog-button-done}} | Open = <translate><!--T:31--> Open</translate> | Plan = <translate><!--T:22--> Plan</translate> | Ongoing = <translate><!--T:32--> Ongoing</translate> | Status = <translate><!--T:33--> Status</translate> | Talk to us = <translate><!--T:29--> Talk to us</translate> | Upcoming = <translate><!--T:34--> Upcoming</translate> |}} la1mxe7ekf9esq1xxolsn3v5qzc6iho 10128 10127 2022-09-26T23:12:05Z meta>GVarnum-WMF 0 alphabetize strings 10128 wikitext text/x-wiki <noinclude>__NOTOC__<languages /> {{Help translate/Common messages}} {{doc}}</noinclude>{{#switch: {{{1|}}} | Closed = <translate><!--T:30--> Closed</translate> | Done = {{int|Upload-dialog-button-done}} | Commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | Connect = <translate><!--T:19--> Connect</translate> | Contribute = <translate><!--T:20--> Contribute</translate> | Creative Commons |cc = {{label|Q43449}} | Etherpad |pad = {{label|Q998543}} | Eventbrite |evtb = {{label|Q5416738}} | Facebook |fb = {{label|Q355}} | Feedback = {{int|specialblockfeedback}} | Frequently asked questions = <translate><!--T:21--> Frequently asked questions</translate> | Google Forms |gforms = {{label|Q47014869}} | Google Meet |gmeet = {{label|Q56669074}} | Home = <translate><!--T:1--> Home</translate> | Identi.ca |Identica |ica = {{label|Q28773}} | Instagram |insta = {{label|Q209330}} | Leave Feedback = {{int|specialinvestigate-feedback}} | LimeSurvey |limesurvey = {{label|Q1514978}} | MediaWiki = {{label|Q83}} | Meta-Wiki |Meta = {{int|project-localized-name-metawiki}} | Ongoing = <translate><!--T:32--> Ongoing</translate> | Open = <translate><!--T:31--> Open</translate> | Plan = <translate><!--T:22--> Plan</translate> | Projects = <translate><!--T:23--> Projects</translate> | References = <translate><!--T:24--> References</translate> | Research = <translate><!--T:25--> Research</translate> | Resources = <translate><!--T:3--> Resources</translate> | Qualtrics |qual = {{label|Q7268803}} | QuickSurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | Quora |quo = {{label|Q51711}} | See also = <translate><!--T:26--> See also</translate> | Skype |skype = {{label|Q40984}} | Start = <translate><!--T:27--> Start</translate> | Statistics = {{int|wikimedia-statslink}} | Status = <translate><!--T:33--> Status</translate> | SurveyMonkey |surveymonkey = {{label|Q162852}} | Talk to us = <translate><!--T:29--> Talk to us</translate> | Upcoming = <translate><!--T:34--> Upcoming</translate> | Twitter |tw = {{label|Q918}} | Wikibooks = {{label|Q367}} | Wikidata = {{label|Q2013}} | Wikimedia = <translate><!--T:4--> Wikimedia</translate> | Wikimedia Commons = {{int|project-localized-name-commonswiki}} | Wikimedia Foundation = {{label|Q180}} | Wikimedia Foundation, Inc. = {{int|wikibase-page-schema-publisher-name}} | Wikimedia Incubator = {{label|Q846672}} | Wikinews = {{label|Q964}} | Wikiquote = {{label|Q369}} | Wikisource = {{label|Q263}} | Wikispecies = {{label|Q13679}} | Wikitech = {{label|Q104819161}} | Wikiversity = {{label|Q370}} | Wikivoyage = {{label|Q373}} | Wiktionary = {{label|Q151}} | YouTube | Youtube |yt = {{label|Q866}} | Zoom |zoom = {{label|Q94979732}} | #default = {{{1<includeonly>|</includeonly>}}}{{#if:{{{1|}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}} |}} rwxdkju2v6223x2h8ryvz8qfpqcxub9 10129 10128 2022-09-26T23:12:37Z meta>GVarnum-WMF 0 cleanup 10129 wikitext text/x-wiki <noinclude>__NOTOC__<languages /> {{Help translate/Common messages}} {{doc}}</noinclude>{{#switch: {{{1|}}} | Closed = <translate><!--T:30--> Closed</translate> | Done = {{int|Upload-dialog-button-done}} | Commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | Connect = <translate><!--T:19--> Connect</translate> | Contribute = <translate><!--T:20--> Contribute</translate> | Creative Commons |cc = {{label|Q43449}} | Etherpad |pad = {{label|Q998543}} | Eventbrite |evtb = {{label|Q5416738}} | Facebook |fb = {{label|Q355}} | Feedback = {{int|specialblockfeedback}} | Frequently asked questions = <translate><!--T:21--> Frequently asked questions</translate> | Google Forms |gforms = {{label|Q47014869}} | Google Meet |gmeet = {{label|Q56669074}} | Home = <translate><!--T:1--> Home</translate> | Identi.ca |Identica |ica = {{label|Q28773}} | Instagram |insta = {{label|Q209330}} | Leave Feedback = {{int|specialinvestigate-feedback}} | LimeSurvey |limesurvey = {{label|Q1514978}} | MediaWiki = {{label|Q83}} | Meta-Wiki |Meta = {{int|project-localized-name-metawiki}} | Ongoing = <translate><!--T:32--> Ongoing</translate> | Open = <translate><!--T:31--> Open</translate> | Plan = <translate><!--T:22--> Plan</translate> | Projects = <translate><!--T:23--> Projects</translate> | References = <translate><!--T:24--> References</translate> | Research = <translate><!--T:25--> Research</translate> | Resources = <translate><!--T:3--> Resources</translate> | Qualtrics |qual = {{label|Q7268803}} | QuickSurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | Quora |quo = {{label|Q51711}} | See also = <translate><!--T:26--> See also</translate> | Skype |skype = {{label|Q40984}} | Start = <translate><!--T:27--> Start</translate> | Statistics = {{int|wikimedia-statslink}} | Status = <translate><!--T:33--> Status</translate> | SurveyMonkey |surveymonkey = {{label|Q162852}} | Talk to us = <translate><!--T:29--> Talk to us</translate> | Upcoming = <translate><!--T:34--> Upcoming</translate> | Twitter |tw = {{label|Q918}} | Wikibooks = {{label|Q367}} | Wikidata = {{label|Q2013}} | Wikimedia = <translate><!--T:4--> Wikimedia</translate> | Wikimedia Commons = {{int|project-localized-name-commonswiki}} | Wikimedia Foundation = {{label|Q180}} | Wikimedia Foundation, Inc. = {{int|wikibase-page-schema-publisher-name}} | Wikimedia Incubator = {{label|Q846672}} | Wikinews = {{label|Q964}} | Wikiquote = {{label|Q369}} | Wikisource = {{label|Q263}} | Wikispecies = {{label|Q13679}} | Wikitech = {{label|Q104819161}} | Wikiversity = {{label|Q370}} | Wikivoyage = {{label|Q373}} | Wiktionary = {{label|Q151}} | YouTube | Youtube |yt = {{label|Q866}} | Zoom |zoom = {{label|Q94979732}} | {{{1|}}}{{#if:{{{1|}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}} |}} 0tfe7cjsa4gn0o3bptyiah1bfqgy5ib 10130 10129 2022-09-26T23:29:06Z meta>GVarnum-WMF 0 remove __NOTOC__ 10130 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{doc}}</noinclude>{{#switch: {{{1|}}} | Closed = <translate><!--T:30--> Closed</translate> | Done = {{int|Upload-dialog-button-done}} | Commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | Connect = <translate><!--T:19--> Connect</translate> | Contribute = <translate><!--T:20--> Contribute</translate> | Creative Commons |cc = {{label|Q43449}} | Etherpad |pad = {{label|Q998543}} | Eventbrite |evtb = {{label|Q5416738}} | Facebook |fb = {{label|Q355}} | Feedback = {{int|specialblockfeedback}} | Frequently asked questions = <translate><!--T:21--> Frequently asked questions</translate> | Google Forms |gforms = {{label|Q47014869}} | Google Meet |gmeet = {{label|Q56669074}} | Home = <translate><!--T:1--> Home</translate> | Identi.ca |Identica |ica = {{label|Q28773}} | Instagram |insta = {{label|Q209330}} | Leave Feedback = {{int|specialinvestigate-feedback}} | LimeSurvey |limesurvey = {{label|Q1514978}} | MediaWiki = {{label|Q83}} | Meta-Wiki |Meta = {{int|project-localized-name-metawiki}} | Ongoing = <translate><!--T:32--> Ongoing</translate> | Open = <translate><!--T:31--> Open</translate> | Plan = <translate><!--T:22--> Plan</translate> | Projects = <translate><!--T:23--> Projects</translate> | References = <translate><!--T:24--> References</translate> | Research = <translate><!--T:25--> Research</translate> | Resources = <translate><!--T:3--> Resources</translate> | Qualtrics |qual = {{label|Q7268803}} | QuickSurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | Quora |quo = {{label|Q51711}} | See also = <translate><!--T:26--> See also</translate> | Skype |skype = {{label|Q40984}} | Start = <translate><!--T:27--> Start</translate> | Statistics = {{int|wikimedia-statslink}} | Status = <translate><!--T:33--> Status</translate> | SurveyMonkey |surveymonkey = {{label|Q162852}} | Talk to us = <translate><!--T:29--> Talk to us</translate> | Upcoming = <translate><!--T:34--> Upcoming</translate> | Twitter |tw = {{label|Q918}} | Wikibooks = {{label|Q367}} | Wikidata = {{label|Q2013}} | Wikimedia = <translate><!--T:4--> Wikimedia</translate> | Wikimedia Commons = {{int|project-localized-name-commonswiki}} | Wikimedia Foundation = {{label|Q180}} | Wikimedia Foundation, Inc. = {{int|wikibase-page-schema-publisher-name}} | Wikimedia Incubator = {{label|Q846672}} | Wikinews = {{label|Q964}} | Wikiquote = {{label|Q369}} | Wikisource = {{label|Q263}} | Wikispecies = {{label|Q13679}} | Wikitech = {{label|Q104819161}} | Wikiversity = {{label|Q370}} | Wikivoyage = {{label|Q373}} | Wiktionary = {{label|Q151}} | YouTube | Youtube |yt = {{label|Q866}} | Zoom |zoom = {{label|Q94979732}} | {{{1|}}}{{#if:{{{1|}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}} |}} 45cqdoy26liahmurektjnrz9gblmz33 10131 10130 2022-10-12T14:25:52Z meta>GVarnum-WMF 0 additional aliases 10131 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{doc}}</noinclude>{{#switch: {{{1|}}} | Closed = <translate><!--T:30--> Closed</translate> | Done = {{int|Upload-dialog-button-done}} | Commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | Connect = <translate><!--T:19--> Connect</translate> | Contribute = <translate><!--T:20--> Contribute</translate> | Creative Commons |cc = {{label|Q43449}} | Etherpad |pad = {{label|Q998543}} | Eventbrite |evtb = {{label|Q5416738}} | Facebook |fb = {{label|Q355}} | Feedback = {{int|specialblockfeedback}} | Frequently asked questions |faq = <translate><!--T:21--> Frequently asked questions</translate> | Google Forms |gforms = {{label|Q47014869}} | Google Meet |gmeet = {{label|Q56669074}} | Home = <translate><!--T:1--> Home</translate> | Identi.ca |Identica |ica = {{label|Q28773}} | Instagram |insta = {{label|Q209330}} | Leave Feedback = {{int|specialinvestigate-feedback}} | LimeSurvey |limesurvey = {{label|Q1514978}} | MediaWiki |mw = {{label|Q83}} | Meta-Wiki |Meta = {{int|project-localized-name-metawiki}} | Ongoing = <translate><!--T:32--> Ongoing</translate> | Open = <translate><!--T:31--> Open</translate> | Plan = <translate><!--T:22--> Plan</translate> | Projects = <translate><!--T:23--> Projects</translate> | References = <translate><!--T:24--> References</translate> | Research = <translate><!--T:25--> Research</translate> | Resources = <translate><!--T:3--> Resources</translate> | Qualtrics |qual = {{label|Q7268803}} | QuickSurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | Quora |quo = {{label|Q51711}} | See also = <translate><!--T:26--> See also</translate> | Skype |skype = {{label|Q40984}} | Start = <translate><!--T:27--> Start</translate> | Statistics = {{int|wikimedia-statslink}} | Status = <translate><!--T:33--> Status</translate> | SurveyMonkey |surveymonkey = {{label|Q162852}} | Talk to us = <translate><!--T:29--> Talk to us</translate> | Upcoming = <translate><!--T:34--> Upcoming</translate> | Twitter |tw = {{label|Q918}} | Wikibooks = {{label|Q367}} | Wikidata = {{label|Q2013}} | Wikimedia = <translate><!--T:4--> Wikimedia</translate> | Wikimedia Commons = {{int|project-localized-name-commonswiki}} | Wikimedia Foundation = {{label|Q180}} | Wikimedia Foundation, Inc. = {{int|wikibase-page-schema-publisher-name}} | Wikimedia Incubator = {{label|Q846672}} | Wikinews = {{label|Q964}} | Wikiquote = {{label|Q369}} | Wikisource = {{label|Q263}} | Wikispecies = {{label|Q13679}} | Wikitech = {{label|Q104819161}} | Wikiversity = {{label|Q370}} | Wikivoyage = {{label|Q373}} | Wiktionary = {{label|Q151}} | YouTube | Youtube |yt = {{label|Q866}} | Zoom |zoom = {{label|Q94979732}} | {{{1|}}}{{#if:{{{1|}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}} |}} catm4pku76hkrcv2upnmrgqr8tiiet9 10132 10131 2022-10-12T14:29:43Z meta>GVarnum-WMF 0 int fix 10132 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{doc}}</noinclude>{{#switch: {{{1|}}} | Closed = <translate><!--T:30--> Closed</translate> | Done = {{int|Upload-dialog-button-done}} | Commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | Connect = <translate><!--T:19--> Connect</translate> | Contribute = <translate><!--T:20--> Contribute</translate> | Creative Commons |cc = {{label|Q43449}} | Etherpad |pad = {{label|Q998543}} | Eventbrite |evtb = {{label|Q5416738}} | Facebook |fb = {{label|Q355}} | Feedback = {{int|specialblockfeedback}} | Frequently asked questions |faq = <translate><!--T:21--> Frequently asked questions</translate> | Google Forms |gforms = {{label|Q47014869}} | Google Meet |gmeet = {{label|Q56669074}} | Home = <translate><!--T:1--> Home</translate> | Identi.ca |Identica |ica = {{label|Q28773}} | Instagram |insta = {{label|Q209330}} | Leave Feedback = {{int|specialinvestigate-feedback}} | LimeSurvey |limesurvey = {{label|Q1514978}} | MediaWiki |mw = {{label|Q83}} | Meta-Wiki |Meta = {{int|project-localized-name-metawiki}} | Ongoing = <translate><!--T:32--> Ongoing</translate> | Open = <translate><!--T:31--> Open</translate> | Plan = <translate><!--T:22--> Plan</translate> | Projects = <translate><!--T:23--> Projects</translate> | References = <translate><!--T:24--> References</translate> | Research = <translate><!--T:25--> Research</translate> | Resources = <translate><!--T:3--> Resources</translate> | Qualtrics |qual = {{label|Q7268803}} | QuickSurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | Quora |quo = {{label|Q51711}} | See also = <translate><!--T:26--> See also</translate> | Skype |skype = {{label|Q40984}} | Start = <translate><!--T:27--> Start</translate> | Statistics = {{int|wikimedia-statslink}} | Status = <translate><!--T:33--> Status</translate> | SurveyMonkey |surveymonkey = {{label|Q162852}} | Talk to us = <translate><!--T:29--> Talk to us</translate> | Upcoming = <translate><!--T:34--> Upcoming</translate> | Twitter |tw = {{label|Q918}} | Wikibooks = {{label|Q367}} | Wikidata = {{label|Q2013}} | Wikimedia = <translate><!--T:4--> Wikimedia</translate> | Wikimedia Commons = {{int|project-localized-name-commonswiki}} | Wikimedia Foundation = {{label|Q180}} | Wikimedia Foundation, Inc. = {{int|Wmf-wikibase-page-schema-publisher-name}} | Wikimedia Incubator = {{label|Q846672}} | Wikinews = {{label|Q964}} | Wikiquote = {{label|Q369}} | Wikisource = {{label|Q263}} | Wikispecies = {{label|Q13679}} | Wikitech = {{label|Q104819161}} | Wikiversity = {{label|Q370}} | Wikivoyage = {{label|Q373}} | Wiktionary = {{label|Q151}} | YouTube | Youtube |yt = {{label|Q866}} | Zoom |zoom = {{label|Q94979732}} | {{{1|}}}{{#if:{{{1|}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}} |}} pkbhhqidav92ond4yhx4iedd7nhuxfi 10133 10132 2022-10-12T14:30:47Z meta>GVarnum-WMF 0 fix 10133 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{doc}}</noinclude>{{#switch: {{{1|}}} | Closed = <translate><!--T:30--> Closed</translate> | Done = {{int|Upload-dialog-button-done}} | Commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | Connect = <translate><!--T:19--> Connect</translate> | Contribute = <translate><!--T:20--> Contribute</translate> | Creative Commons |cc = {{label|Q43449}} | Etherpad |pad = {{label|Q998543}} | Eventbrite |evtb = {{label|Q5416738}} | Facebook |fb = {{label|Q355}} | Feedback = {{int|specialblockfeedback}} | Frequently asked questions |faq = <translate><!--T:21--> Frequently asked questions</translate> | Google Forms |gforms = {{label|Q47014869}} | Google Meet |gmeet = {{label|Q56669074}} | Home = <translate><!--T:1--> Home</translate> | Identi.ca |Identica |ica = {{label|Q28773}} | Instagram |insta = {{label|Q209330}} | Leave Feedback = {{int|specialinvestigate-feedback}} | LimeSurvey |limesurvey = {{label|Q1514978}} | MediaWiki |mw = {{label|Q83}} | Meta-Wiki |Meta = {{int|project-localized-name-metawiki}} | Ongoing = <translate><!--T:32--> Ongoing</translate> | Open = <translate><!--T:31--> Open</translate> | Plan = <translate><!--T:22--> Plan</translate> | Projects = <translate><!--T:23--> Projects</translate> | References = <translate><!--T:24--> References</translate> | Research = <translate><!--T:25--> Research</translate> | Resources = <translate><!--T:3--> Resources</translate> | Qualtrics |qual = {{label|Q7268803}} | QuickSurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | Quora |quo = {{label|Q51711}} | See also = <translate><!--T:26--> See also</translate> | Skype |skype = {{label|Q40984}} | Start = <translate><!--T:27--> Start</translate> | Statistics = {{int|wikimedia-statslink}} | Status = <translate><!--T:33--> Status</translate> | SurveyMonkey |surveymonkey = {{label|Q162852}} | Talk to us = <translate><!--T:29--> Talk to us</translate> | Upcoming = <translate><!--T:34--> Upcoming</translate> | Twitter |tw = {{label|Q918}} | Wikibooks = {{label|Q367}} | Wikidata = {{label|Q2013}} | Wikimedia = <translate><!--T:4--> Wikimedia</translate> | Wikimedia Commons = {{int|project-localized-name-commonswiki}} | Wikimedia Foundation = {{label|Q180}} | Wikimedia Foundation, Inc. = {{int|wmf-wikibase-page-schema-publisher-name}} | Wikimedia Incubator = {{label|Q846672}} | Wikinews = {{label|Q964}} | Wikiquote = {{label|Q369}} | Wikisource = {{label|Q263}} | Wikispecies = {{label|Q13679}} | Wikitech = {{label|Q104819161}} | Wikiversity = {{label|Q370}} | Wikivoyage = {{label|Q373}} | Wiktionary = {{label|Q151}} | YouTube | Youtube |yt = {{label|Q866}} | Zoom |zoom = {{label|Q94979732}} | {{{1|}}}{{#if:{{{1|}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}} |}} fpzdpdgb4paof2t5g3tud1nik1otp4u 10134 10133 2022-10-12T14:44:23Z meta>GVarnum-WMF 0 lc: 10134 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{doc}}</noinclude>{{#switch: {{lc:{{{1|}}}}} | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = <translate><!--T:20--> Contribute</translate> | creative commons |cc = {{label|Q43449}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | facebook = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = <translate><!--T:21--> Frequently asked questions</translate> | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | home = <translate><!--T:1--> Home</translate> | identi.ca |identica |ica = {{label|Q28773}} | instagram |insta = {{label|Q209330}} | leave feedback = {{int|specialinvestigate-feedback}} | limesurvey = {{label|Q1514978}} | mediawiki |mw = {{label|Q83}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | plan = <translate><!--T:22--> Plan</translate> | projects = <translate><!--T:23--> Projects</translate> | references = <translate><!--T:24--> References</translate> | research = <translate><!--T:25--> Research</translate> | resources = <translate><!--T:3--> Resources</translate> | qualtrics |qual = {{label|Q7268803}} | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{label|Q51711}} | see also = <translate><!--T:26--> See also</translate> | skype = {{label|Q40984}} | start = <translate><!--T:27--> Start</translate> | statistics = {{int|wikimedia-statslink}} | status = <translate><!--T:33--> Status</translate> | surveymonkey = {{label|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | upcoming = <translate><!--T:34--> Upcoming</translate> | twitter |tw = {{label|Q918}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = <translate><!--T:4--> Wikimedia</translate> | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation = {{label|Q180}} | wikimedia foundation, inc. = {{int|wmf-wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary = {{label|Q151}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | {{{1|}}}{{#if:{{{1|}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}} |}} ibwanykso09e36mq9xi5b6g6wj6krew 10135 10134 2022-10-12T14:50:36Z meta>GVarnum-WMF 0 | #default = 10135 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{doc}}</noinclude>{{#switch: {{lc:{{{1|}}}}} | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = <translate><!--T:20--> Contribute</translate> | creative commons |cc = {{label|Q43449}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | facebook = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = <translate><!--T:21--> Frequently asked questions</translate> | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | home = <translate><!--T:1--> Home</translate> | identi.ca |identica |ica = {{label|Q28773}} | instagram |insta = {{label|Q209330}} | leave feedback = {{int|specialinvestigate-feedback}} | limesurvey = {{label|Q1514978}} | mediawiki |mw = {{label|Q83}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | plan = <translate><!--T:22--> Plan</translate> | projects = <translate><!--T:23--> Projects</translate> | references = <translate><!--T:24--> References</translate> | research = <translate><!--T:25--> Research</translate> | resources = <translate><!--T:3--> Resources</translate> | qualtrics |qual = {{label|Q7268803}} | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{label|Q51711}} | see also = <translate><!--T:26--> See also</translate> | skype = {{label|Q40984}} | start = <translate><!--T:27--> Start</translate> | statistics = {{int|wikimedia-statslink}} | status = <translate><!--T:33--> Status</translate> | surveymonkey = {{label|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | upcoming = <translate><!--T:34--> Upcoming</translate> | twitter |tw = {{label|Q918}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = <translate><!--T:4--> Wikimedia</translate> | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation = {{label|Q180}} | wikimedia foundation, inc. = {{int|wmf-wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary = {{label|Q151}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | #default = {{{1|}}}{{#if:{{{1|}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}} |}} cnc760a7zlj254puhw0xzx3p6yi33vp 10136 10135 2022-10-12T14:57:20Z meta>GVarnum-WMF 0 additional aliases 10136 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{doc}}</noinclude>{{#switch: {{lc:{{{1|}}}}} | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = <translate><!--T:20--> Contribute</translate> | creative commons |cc = {{label|Q43449}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | facebook = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = <translate><!--T:21--> Frequently asked questions</translate> | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | home = <translate><!--T:1--> Home</translate> | identi.ca |identica |ica = {{label|Q28773}} | instagram |insta = {{label|Q209330}} | leave feedback = {{int|specialinvestigate-feedback}} | limesurvey = {{label|Q1514978}} | mediawiki |mw = {{label|Q83}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | plan = <translate><!--T:22--> Plan</translate> | projects = <translate><!--T:23--> Projects</translate> | references = <translate><!--T:24--> References</translate> | research = <translate><!--T:25--> Research</translate> | resources = <translate><!--T:3--> Resources</translate> | qualtrics |qual = {{label|Q7268803}} | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{label|Q51711}} | see also = <translate><!--T:26--> See also</translate> | skype = {{label|Q40984}} | start = <translate><!--T:27--> Start</translate> | statistics = {{int|wikimedia-statslink}} | status = <translate><!--T:33--> Status</translate> | surveymonkey = {{label|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | upcoming = <translate><!--T:34--> Upcoming</translate> | twitter |tw = {{label|Q918}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = <translate><!--T:4--> Wikimedia</translate> | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wmf-wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | #default = {{{1|}}}{{#if:{{{1|}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}} |}} gbru97jck0iapz5mli7pouwe8pkx2uu 10137 10136 2022-10-12T14:58:56Z meta>GVarnum-WMF 0 int fix 10137 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{doc}}</noinclude>{{#switch: {{lc:{{{1|}}}}} | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = <translate><!--T:20--> Contribute</translate> | creative commons |cc = {{label|Q43449}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | facebook = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = <translate><!--T:21--> Frequently asked questions</translate> | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | home = <translate><!--T:1--> Home</translate> | identi.ca |identica |ica = {{label|Q28773}} | instagram |insta = {{label|Q209330}} | leave feedback = {{int|specialinvestigate-feedback}} | limesurvey = {{label|Q1514978}} | mediawiki |mw = {{label|Q83}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | plan = <translate><!--T:22--> Plan</translate> | projects = <translate><!--T:23--> Projects</translate> | references = <translate><!--T:24--> References</translate> | research = <translate><!--T:25--> Research</translate> | resources = <translate><!--T:3--> Resources</translate> | qualtrics |qual = {{label|Q7268803}} | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{label|Q51711}} | see also = <translate><!--T:26--> See also</translate> | skype = {{label|Q40984}} | start = <translate><!--T:27--> Start</translate> | statistics = {{int|wikimedia-statslink}} | status = <translate><!--T:33--> Status</translate> | surveymonkey = {{label|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | upcoming = <translate><!--T:34--> Upcoming</translate> | twitter |tw = {{label|Q918}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = <translate><!--T:4--> Wikimedia</translate> | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | #default = {{{1|}}}{{#if:{{{1|}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}} |}} llxtr34rsrqvuftnjxo6pltgqcdb32v 10138 10137 2022-10-12T15:00:44Z meta>GVarnum-WMF 0 test 10138 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{doc}}</noinclude>{{#switch: {{{1|}}} | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = <translate><!--T:20--> Contribute</translate> | creative commons |cc = {{label|Q43449}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | facebook = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = <translate><!--T:21--> Frequently asked questions</translate> | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | home = <translate><!--T:1--> Home</translate> | identi.ca |identica |ica = {{label|Q28773}} | instagram |insta = {{label|Q209330}} | leave feedback = {{int|specialinvestigate-feedback}} | limesurvey = {{label|Q1514978}} | mediawiki |mw = {{label|Q83}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | plan = <translate><!--T:22--> Plan</translate> | projects = <translate><!--T:23--> Projects</translate> | references = <translate><!--T:24--> References</translate> | research = <translate><!--T:25--> Research</translate> | resources = <translate><!--T:3--> Resources</translate> | qualtrics |qual = {{label|Q7268803}} | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{label|Q51711}} | see also = <translate><!--T:26--> See also</translate> | skype = {{label|Q40984}} | start = <translate><!--T:27--> Start</translate> | statistics = {{int|wikimedia-statslink}} | status = <translate><!--T:33--> Status</translate> | surveymonkey = {{label|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | upcoming = <translate><!--T:34--> Upcoming</translate> | twitter |tw = {{label|Q918}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = <translate><!--T:4--> Wikimedia</translate> | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | #default = {{{1|}}}{{#if:{{{1|}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}} |}} 56dhd73pwvasjr64qhecf0y71utuk7a 10139 10138 2022-10-12T15:01:50Z meta>GVarnum-WMF 0 fix2 10139 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{doc}}</noinclude>{{#switch: {{{1|}}} | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = <translate><!--T:20--> Contribute</translate> | creative commons |cc = {{label|Q43449}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | facebook = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = <translate><!--T:21--> Frequently asked questions</translate> | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | home = <translate><!--T:1--> Home</translate> | identi.ca |identica |ica = {{label|Q28773}} | instagram |insta = {{label|Q209330}} | leave feedback = {{int|specialinvestigate-feedback}} | limesurvey = {{label|Q1514978}} | mediawiki |mw = {{label|Q83}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | plan = <translate><!--T:22--> Plan</translate> | projects = <translate><!--T:23--> Projects</translate> | references = <translate><!--T:24--> References</translate> | research = <translate><!--T:25--> Research</translate> | resources = <translate><!--T:3--> Resources</translate> | qualtrics |qual = {{label|Q7268803}} | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{label|Q51711}} | see also = <translate><!--T:26--> See also</translate> | skype = {{label|Q40984}} | start = <translate><!--T:27--> Start</translate> | statistics = {{int|wikimedia-statslink}} | status = <translate><!--T:33--> Status</translate> | surveymonkey = {{label|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | upcoming = <translate><!--T:34--> Upcoming</translate> | twitter |tw = {{label|Q918}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = <translate><!--T:4--> Wikimedia</translate> | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | #default = {{{1|}}} |}} 4sbdhynpf2k10zz0omtscosa1i3m191 10140 10139 2022-10-12T15:02:10Z meta>GVarnum-WMF 0 hot fix 10140 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{doc}}</noinclude>{{#switch: {{{1|}}} | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = <translate><!--T:20--> Contribute</translate> | creative commons |cc = {{label|Q43449}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | facebook = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = <translate><!--T:21--> Frequently asked questions</translate> | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | home = <translate><!--T:1--> Home</translate> | identi.ca |identica |ica = {{label|Q28773}} | instagram |insta = {{label|Q209330}} | leave feedback = {{int|specialinvestigate-feedback}} | limesurvey = {{label|Q1514978}} | mediawiki |mw = {{label|Q83}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | plan = <translate><!--T:22--> Plan</translate> | projects = <translate><!--T:23--> Projects</translate> | references = <translate><!--T:24--> References</translate> | research = <translate><!--T:25--> Research</translate> | resources = <translate><!--T:3--> Resources</translate> | qualtrics |qual = {{label|Q7268803}} | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{label|Q51711}} | see also = <translate><!--T:26--> See also</translate> | skype = {{label|Q40984}} | start = <translate><!--T:27--> Start</translate> | statistics = {{int|wikimedia-statslink}} | status = <translate><!--T:33--> Status</translate> | surveymonkey = {{label|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | upcoming = <translate><!--T:34--> Upcoming</translate> | twitter |tw = {{label|Q918}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = <translate><!--T:4--> Wikimedia</translate> | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | #default = {{{1|}}}{{#if:{{{1|}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}} }} 229k9gmhfx8tjzys9t85pir1jvx4xtk 10141 10140 2022-10-12T15:04:24Z meta>GVarnum-WMF 0 return lc: 10141 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{doc}}</noinclude>{{#switch: {{lc:{{{1|}}}}} | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = <translate><!--T:20--> Contribute</translate> | creative commons |cc = {{label|Q43449}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | facebook = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = <translate><!--T:21--> Frequently asked questions</translate> | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | home = <translate><!--T:1--> Home</translate> | identi.ca |identica |ica = {{label|Q28773}} | instagram |insta = {{label|Q209330}} | leave feedback = {{int|specialinvestigate-feedback}} | limesurvey = {{label|Q1514978}} | mediawiki |mw = {{label|Q83}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | plan = <translate><!--T:22--> Plan</translate> | projects = <translate><!--T:23--> Projects</translate> | references = <translate><!--T:24--> References</translate> | research = <translate><!--T:25--> Research</translate> | resources = <translate><!--T:3--> Resources</translate> | qualtrics |qual = {{label|Q7268803}} | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{label|Q51711}} | see also = <translate><!--T:26--> See also</translate> | skype = {{label|Q40984}} | start = <translate><!--T:27--> Start</translate> | statistics = {{int|wikimedia-statslink}} | status = <translate><!--T:33--> Status</translate> | surveymonkey = {{label|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | upcoming = <translate><!--T:34--> Upcoming</translate> | twitter |tw = {{label|Q918}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = <translate><!--T:4--> Wikimedia</translate> | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | #default = {{{1|}}}{{#if:{{{1|}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}} }} tr95o5zwv2lecxa02l71xbydamseurk 10142 10141 2022-10-12T15:08:29Z meta>GVarnum-WMF 0 {{{1|{{{string|}}}}}} 10142 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{doc}}</noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = <translate><!--T:20--> Contribute</translate> | creative commons |cc = {{label|Q43449}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | facebook = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = <translate><!--T:21--> Frequently asked questions</translate> | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | home = <translate><!--T:1--> Home</translate> | identi.ca |identica |ica = {{label|Q28773}} | instagram |insta = {{label|Q209330}} | leave feedback = {{int|specialinvestigate-feedback}} | limesurvey = {{label|Q1514978}} | mediawiki |mw = {{label|Q83}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | plan = <translate><!--T:22--> Plan</translate> | projects = <translate><!--T:23--> Projects</translate> | references = <translate><!--T:24--> References</translate> | research = <translate><!--T:25--> Research</translate> | resources = <translate><!--T:3--> Resources</translate> | qualtrics |qual = {{label|Q7268803}} | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{label|Q51711}} | see also = <translate><!--T:26--> See also</translate> | skype = {{label|Q40984}} | start = <translate><!--T:27--> Start</translate> | statistics = {{int|wikimedia-statslink}} | status = <translate><!--T:33--> Status</translate> | surveymonkey = {{label|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | upcoming = <translate><!--T:34--> Upcoming</translate> | twitter |tw = {{label|Q918}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = <translate><!--T:4--> Wikimedia</translate> | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | #default = {{{1|}}}{{#if:{{{1|}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}} }} q2pn0kinsnfpdz00biaoh1cyhpk6icn 10143 10142 2022-10-12T15:10:11Z meta>GVarnum-WMF 0 {{{1|{{{string|}}}}}} 10143 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{doc}}</noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = <translate><!--T:20--> Contribute</translate> | creative commons |cc = {{label|Q43449}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | facebook = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = <translate><!--T:21--> Frequently asked questions</translate> | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | home = <translate><!--T:1--> Home</translate> | identi.ca |identica |ica = {{label|Q28773}} | instagram |insta = {{label|Q209330}} | leave feedback = {{int|specialinvestigate-feedback}} | limesurvey = {{label|Q1514978}} | mediawiki |mw = {{label|Q83}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | plan = <translate><!--T:22--> Plan</translate> | projects = <translate><!--T:23--> Projects</translate> | references = <translate><!--T:24--> References</translate> | research = <translate><!--T:25--> Research</translate> | resources = <translate><!--T:3--> Resources</translate> | qualtrics |qual = {{label|Q7268803}} | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{label|Q51711}} | see also = <translate><!--T:26--> See also</translate> | skype = {{label|Q40984}} | start = <translate><!--T:27--> Start</translate> | statistics = {{int|wikimedia-statslink}} | status = <translate><!--T:33--> Status</translate> | surveymonkey = {{label|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | upcoming = <translate><!--T:34--> Upcoming</translate> | twitter |tw = {{label|Q918}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = <translate><!--T:4--> Wikimedia</translate> | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | #default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}} }} j2vgclu6skrtkrp4ue6zl5edcl1avso 10144 10143 2022-10-12T15:11:45Z meta>GVarnum-WMF 0 doc|content={{Int string/doc}} 10144 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{doc|content={{Int string/doc}}}}</noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = <translate><!--T:20--> Contribute</translate> | creative commons |cc = {{label|Q43449}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | facebook = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = <translate><!--T:21--> Frequently asked questions</translate> | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | home = <translate><!--T:1--> Home</translate> | identi.ca |identica |ica = {{label|Q28773}} | instagram |insta = {{label|Q209330}} | leave feedback = {{int|specialinvestigate-feedback}} | limesurvey = {{label|Q1514978}} | mediawiki |mw = {{label|Q83}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | plan = <translate><!--T:22--> Plan</translate> | projects = <translate><!--T:23--> Projects</translate> | references = <translate><!--T:24--> References</translate> | research = <translate><!--T:25--> Research</translate> | resources = <translate><!--T:3--> Resources</translate> | qualtrics |qual = {{label|Q7268803}} | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{label|Q51711}} | see also = <translate><!--T:26--> See also</translate> | skype = {{label|Q40984}} | start = <translate><!--T:27--> Start</translate> | statistics = {{int|wikimedia-statslink}} | status = <translate><!--T:33--> Status</translate> | surveymonkey = {{label|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | upcoming = <translate><!--T:34--> Upcoming</translate> | twitter |tw = {{label|Q918}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = <translate><!--T:4--> Wikimedia</translate> | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | #default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}} }} s0huf39er0zq4n8qib37fblsa76dr6v 10145 10144 2022-10-12T15:19:21Z meta>GVarnum-WMF 0 {{PAGELANGUAGE}} 10145 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{doc|content={{Int string/doc/{{PAGELANGUAGE}}}}}}</noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = <translate><!--T:20--> Contribute</translate> | creative commons |cc = {{label|Q43449}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | facebook = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = <translate><!--T:21--> Frequently asked questions</translate> | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | home = <translate><!--T:1--> Home</translate> | identi.ca |identica |ica = {{label|Q28773}} | instagram |insta = {{label|Q209330}} | leave feedback = {{int|specialinvestigate-feedback}} | limesurvey = {{label|Q1514978}} | mediawiki |mw = {{label|Q83}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | plan = <translate><!--T:22--> Plan</translate> | projects = <translate><!--T:23--> Projects</translate> | references = <translate><!--T:24--> References</translate> | research = <translate><!--T:25--> Research</translate> | resources = <translate><!--T:3--> Resources</translate> | qualtrics |qual = {{label|Q7268803}} | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{label|Q51711}} | see also = <translate><!--T:26--> See also</translate> | skype = {{label|Q40984}} | start = <translate><!--T:27--> Start</translate> | statistics = {{int|wikimedia-statslink}} | status = <translate><!--T:33--> Status</translate> | surveymonkey = {{label|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | upcoming = <translate><!--T:34--> Upcoming</translate> | twitter |tw = {{label|Q918}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = <translate><!--T:4--> Wikimedia</translate> | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | #default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}} }} oca922axh1gy0zqxpt6gmatqumn22l5 10146 10145 2022-10-12T16:40:42Z meta>GVarnum-WMF 0 LinkedIn 10146 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{doc|content={{Int string/doc/{{PAGELANGUAGE}}}}}}</noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = <translate><!--T:20--> Contribute</translate> | creative commons |cc = {{label|Q43449}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | facebook = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = <translate><!--T:21--> Frequently asked questions</translate> | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | home = <translate><!--T:1--> Home</translate> | identi.ca |identica |ica = {{label|Q28773}} | instagram |insta = {{label|Q209330}} | leave feedback = {{int|specialinvestigate-feedback}} | limesurvey = {{label|Q1514978}} | linkedin = {{label|Q213660}} | mediawiki |mw = {{label|Q83}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | plan = <translate><!--T:22--> Plan</translate> | projects = <translate><!--T:23--> Projects</translate> | references = <translate><!--T:24--> References</translate> | research = <translate><!--T:25--> Research</translate> | resources = <translate><!--T:3--> Resources</translate> | qualtrics |qual = {{label|Q7268803}} | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{label|Q51711}} | see also = <translate><!--T:26--> See also</translate> | skype = {{label|Q40984}} | start = <translate><!--T:27--> Start</translate> | statistics = {{int|wikimedia-statslink}} | status = <translate><!--T:33--> Status</translate> | surveymonkey = {{label|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | upcoming = <translate><!--T:34--> Upcoming</translate> | twitter |tw = {{label|Q918}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = <translate><!--T:4--> Wikimedia</translate> | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | #default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}} }} mgwi99d7fya3q4ewtp8kysbvrbc4ha8 10147 10146 2022-10-12T16:59:31Z meta>GVarnum-WMF 0 {{TNTN|Int string/doc}} 10147 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|{{TNTN|Int string/doc}}}}</noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = <translate><!--T:20--> Contribute</translate> | creative commons |cc = {{label|Q43449}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | facebook = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = <translate><!--T:21--> Frequently asked questions</translate> | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | home = <translate><!--T:1--> Home</translate> | identi.ca |identica |ica = {{label|Q28773}} | instagram |insta = {{label|Q209330}} | leave feedback = {{int|specialinvestigate-feedback}} | limesurvey = {{label|Q1514978}} | linkedin = {{label|Q213660}} | mediawiki |mw = {{label|Q83}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | plan = <translate><!--T:22--> Plan</translate> | projects = <translate><!--T:23--> Projects</translate> | references = <translate><!--T:24--> References</translate> | research = <translate><!--T:25--> Research</translate> | resources = <translate><!--T:3--> Resources</translate> | qualtrics |qual = {{label|Q7268803}} | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{label|Q51711}} | see also = <translate><!--T:26--> See also</translate> | skype = {{label|Q40984}} | start = <translate><!--T:27--> Start</translate> | statistics = {{int|wikimedia-statslink}} | status = <translate><!--T:33--> Status</translate> | surveymonkey = {{label|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | upcoming = <translate><!--T:34--> Upcoming</translate> | twitter |tw = {{label|Q918}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = <translate><!--T:4--> Wikimedia</translate> | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | #default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}} }} smwp0ublljqmcl2kt44r0vj3jll3cdn 10148 10147 2022-10-12T17:22:27Z meta>GVarnum-WMF 0 <includeonly> 10148 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|{{TNTN|Int string/doc}}}}</noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = <translate><!--T:20--> Contribute</translate> | creative commons |cc = {{label|Q43449}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | facebook = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = <translate><!--T:21--> Frequently asked questions</translate> | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | home = <translate><!--T:1--> Home</translate> | identi.ca |identica |ica = {{label|Q28773}} | instagram |insta = {{label|Q209330}} | leave feedback = {{int|specialinvestigate-feedback}} | limesurvey = {{label|Q1514978}} | linkedin = {{label|Q213660}} | mediawiki |mw = {{label|Q83}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | plan = <translate><!--T:22--> Plan</translate> | projects = <translate><!--T:23--> Projects</translate> | references = <translate><!--T:24--> References</translate> | research = <translate><!--T:25--> Research</translate> | resources = <translate><!--T:3--> Resources</translate> | qualtrics |qual = {{label|Q7268803}} | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{label|Q51711}} | see also = <translate><!--T:26--> See also</translate> | skype = {{label|Q40984}} | start = <translate><!--T:27--> Start</translate> | statistics = {{int|wikimedia-statslink}} | status = <translate><!--T:33--> Status</translate> | surveymonkey = {{label|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | upcoming = <translate><!--T:34--> Upcoming</translate> | twitter |tw = {{label|Q918}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = <translate><!--T:4--> Wikimedia</translate> | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} fm6qzk0wkn8l7zgmst5efnv7c8pjfiv 10149 10148 2022-10-13T17:29:33Z meta>GVarnum-WMF 0 table headers 10149 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|{{TNTN|Int string/doc}}}}</noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = <translate><!--T:20--> Contribute</translate> | creative commons |cc = {{label|Q43449}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | facebook = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = <translate><!--T:21--> Frequently asked questions</translate> | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | home = <translate><!--T:1--> Home</translate> | identi.ca |identica |ica = {{label|Q28773}} | instagram |insta = {{label|Q209330}} | leave feedback = {{int|specialinvestigate-feedback}} | limesurvey = {{label|Q1514978}} | linkedin = {{label|Q213660}} | mediawiki |mw = {{label|Q83}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | name = {{int|allmessagesname}} | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | photo = <translate>Photo</translate> | plan = <translate><!--T:22--> Plan</translate> | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = <translate><!--T:23--> Projects</translate> | references = <translate><!--T:24--> References</translate> | research = <translate><!--T:25--> Research</translate> | resources = <translate><!--T:3--> Resources</translate> | qualtrics |qual = {{label|Q7268803}} | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{label|Q51711}} | see also = <translate><!--T:26--> See also</translate> | skype = {{label|Q40984}} | start = <translate><!--T:27--> Start</translate> | statistics = {{int|wikimedia-statslink}} | status = <translate><!--T:33--> Status</translate> | surveymonkey = {{label|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | upcoming = <translate><!--T:34--> Upcoming</translate> | twitter |tw = {{label|Q918}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = <translate><!--T:4--> Wikimedia</translate> | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} h0jr16proixek9ebp9mkw9gwac9n5a8 10150 10149 2022-10-13T17:29:43Z meta>GVarnum-WMF 0 Marked this version for translation 10150 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|{{TNTN|Int string/doc}}}}</noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = <translate><!--T:20--> Contribute</translate> | creative commons |cc = {{label|Q43449}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | facebook = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = <translate><!--T:21--> Frequently asked questions</translate> | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | home = <translate><!--T:1--> Home</translate> | identi.ca |identica |ica = {{label|Q28773}} | instagram |insta = {{label|Q209330}} | leave feedback = {{int|specialinvestigate-feedback}} | limesurvey = {{label|Q1514978}} | linkedin = {{label|Q213660}} | mediawiki |mw = {{label|Q83}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | name = {{int|allmessagesname}} | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | photo = <translate><!--T:39--> Photo</translate> | plan = <translate><!--T:22--> Plan</translate> | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = <translate><!--T:23--> Projects</translate> | references = <translate><!--T:24--> References</translate> | research = <translate><!--T:25--> Research</translate> | resources = <translate><!--T:3--> Resources</translate> | qualtrics |qual = {{label|Q7268803}} | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{label|Q51711}} | see also = <translate><!--T:26--> See also</translate> | skype = {{label|Q40984}} | start = <translate><!--T:27--> Start</translate> | statistics = {{int|wikimedia-statslink}} | status = <translate><!--T:33--> Status</translate> | surveymonkey = {{label|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | upcoming = <translate><!--T:34--> Upcoming</translate> | twitter |tw = {{label|Q918}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = <translate><!--T:4--> Wikimedia</translate> | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} f3btiwd65awgffqoeedjlnx1c3w1mam 10151 10150 2022-10-13T21:33:39Z meta>GVarnum-WMF 0 fb alias for Facebook 10151 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|{{TNTN|Int string/doc}}}}</noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = <translate><!--T:20--> Contribute</translate> | creative commons |cc = {{label|Q43449}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | facebook |fb = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = <translate><!--T:21--> Frequently asked questions</translate> | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | home = <translate><!--T:1--> Home</translate> | identi.ca |identica |ica = {{label|Q28773}} | instagram |insta = {{label|Q209330}} | leave feedback = {{int|specialinvestigate-feedback}} | limesurvey = {{label|Q1514978}} | linkedin = {{label|Q213660}} | mediawiki |mw = {{label|Q83}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | name = {{int|allmessagesname}} | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | photo = <translate><!--T:39--> Photo</translate> | plan = <translate><!--T:22--> Plan</translate> | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = <translate><!--T:23--> Projects</translate> | references = <translate><!--T:24--> References</translate> | research = <translate><!--T:25--> Research</translate> | resources = <translate><!--T:3--> Resources</translate> | qualtrics |qual = {{label|Q7268803}} | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{label|Q51711}} | see also = <translate><!--T:26--> See also</translate> | skype = {{label|Q40984}} | start = <translate><!--T:27--> Start</translate> | statistics = {{int|wikimedia-statslink}} | status = <translate><!--T:33--> Status</translate> | surveymonkey = {{label|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | upcoming = <translate><!--T:34--> Upcoming</translate> | twitter |tw = {{label|Q918}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = <translate><!--T:4--> Wikimedia</translate> | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} m52jcphvn62c27qry4ktxwcjpp5pzm8 10152 10151 2022-10-29T08:12:36Z meta>GVarnum-WMF 0 +navigation 10152 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|{{TNTN|Int string/doc}}}}</noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{label|Q1376568}}}} | background = <translate>Background</translate> | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = <translate><!--T:20--> Contribute</translate> | creative commons |cc = {{label|Q43449}} | discussion = {{int|talk}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | events = <translate>Events</translate> | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = <translate><!--T:21--> Frequently asked questions</translate> | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{label|Q28773}} | instagram |insta = {{label|Q209330}} | leave feedback = {{int|specialinvestigate-feedback}} | limesurvey = {{label|Q1514978}} | linkedin = {{label|Q213660}} | main page | main | home = {{int|mainpage-description}} | mediawiki |mw = {{label|Q83}} | membership = <translate>Membership</translate> | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | notes = {{int|wm-license-artwork-notes}} | objectives = <translate>Objectives</translate> | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | overview = <translate>Overview</translate> | participate = <translate>Participate</translate> | photo = <translate><!--T:39--> Photo</translate> | plan = <translate><!--T:22--> Plan</translate> | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = <translate><!--T:23--> Projects</translate> | references = <translate><!--T:24--> References</translate> | reports = <translate>Reports</translate> | research = <translate><!--T:25--> Research</translate> | resources = <translate><!--T:3--> Resources</translate> | qualtrics |qual = {{label|Q7268803}} | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{label|Q51711}} | scope = <translate>Scope</translate> | see also = <translate><!--T:26--> See also</translate> | skype = {{label|Q40984}} | social media = {{ucfirst:{{label|Q202833}}}} | start = <translate><!--T:27--> Start</translate> | staff = <translate>Staff</translate> | statistics = {{int|wikimedia-statslink}} | status = <translate><!--T:33--> Status</translate> | summary = {{int|Filedesc}} | surveymonkey = {{label|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | upcoming = <translate><!--T:34--> Upcoming</translate> | updates = <translate>Updates</translate> | twitter |tw = {{label|Q918}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = <translate><!--T:4--> Wikimedia</translate> | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} 02gl12gx2njlkbkz3za827mbcasl73i 10153 10152 2022-10-29T08:12:56Z meta>GVarnum-WMF 0 Marked this version for translation 10153 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|{{TNTN|Int string/doc}}}}</noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{label|Q1376568}}}} | background = <translate><!--T:40--> Background</translate> | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = <translate><!--T:20--> Contribute</translate> | creative commons |cc = {{label|Q43449}} | discussion = {{int|talk}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | events = <translate><!--T:41--> Events</translate> | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = <translate><!--T:21--> Frequently asked questions</translate> | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{label|Q28773}} | instagram |insta = {{label|Q209330}} | leave feedback = {{int|specialinvestigate-feedback}} | limesurvey = {{label|Q1514978}} | linkedin = {{label|Q213660}} | main page | main | home = {{int|mainpage-description}} | mediawiki |mw = {{label|Q83}} | membership = <translate><!--T:42--> Membership</translate> | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | notes = {{int|wm-license-artwork-notes}} | objectives = <translate><!--T:43--> Objectives</translate> | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | overview = <translate><!--T:44--> Overview</translate> | participate = <translate><!--T:45--> Participate</translate> | photo = <translate><!--T:39--> Photo</translate> | plan = <translate><!--T:22--> Plan</translate> | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = <translate><!--T:23--> Projects</translate> | references = <translate><!--T:24--> References</translate> | reports = <translate><!--T:46--> Reports</translate> | research = <translate><!--T:25--> Research</translate> | resources = <translate><!--T:3--> Resources</translate> | qualtrics |qual = {{label|Q7268803}} | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{label|Q51711}} | scope = <translate><!--T:47--> Scope</translate> | see also = <translate><!--T:26--> See also</translate> | skype = {{label|Q40984}} | social media = {{ucfirst:{{label|Q202833}}}} | start = <translate><!--T:27--> Start</translate> | staff = <translate><!--T:48--> Staff</translate> | statistics = {{int|wikimedia-statslink}} | status = <translate><!--T:33--> Status</translate> | summary = {{int|Filedesc}} | surveymonkey = {{label|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | upcoming = <translate><!--T:34--> Upcoming</translate> | updates = <translate><!--T:49--> Updates</translate> | twitter |tw = {{label|Q918}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = <translate><!--T:4--> Wikimedia</translate> | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} a0hli9iu2vrzt7ub8qkgpgfblbfhjo8 10154 10153 2022-10-29T08:20:18Z meta>GVarnum-WMF 0 +table headers 10154 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|{{TNTN|Int string/doc}}}}</noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{label|Q1376568}}}} | background = <translate><!--T:40--> Background</translate> | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = <translate><!--T:20--> Contribute</translate> | creative commons |cc = {{label|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | events = <translate><!--T:41--> Events</translate> | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = <translate><!--T:21--> Frequently asked questions</translate> | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{label|Q28773}} | instagram |insta = {{label|Q209330}} | leave feedback = {{int|specialinvestigate-feedback}} | limesurvey = {{label|Q1514978}} | linkedin = {{label|Q213660}} | main page | main | home = {{int|mainpage-description}} | mediawiki |mw = {{label|Q83}} | membership = <translate><!--T:42--> Membership</translate> | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | notes = {{int|wm-license-artwork-notes}} | objectives = <translate><!--T:43--> Objectives</translate> | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | overview = <translate><!--T:44--> Overview</translate> | participate = <translate><!--T:45--> Participate</translate> | photo = <translate><!--T:39--> Photo</translate> | plan = <translate><!--T:22--> Plan</translate> | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = <translate><!--T:23--> Projects</translate> | references = <translate><!--T:24--> References</translate> | reports = <translate><!--T:46--> Reports</translate> | research = <translate><!--T:25--> Research</translate> | resources = <translate><!--T:3--> Resources</translate> | qualtrics |qual = {{label|Q7268803}} | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{label|Q51711}} | scope = <translate><!--T:47--> Scope</translate> | see also = <translate><!--T:26--> See also</translate> | skype = {{label|Q40984}} | social media = {{ucfirst:{{label|Q202833}}}} | start = <translate><!--T:27--> Start</translate> | staff = <translate><!--T:48--> Staff</translate> | statistics = {{int|wikimedia-statslink}} | status = <translate><!--T:33--> Status</translate> | summary = {{int|Filedesc}} | surveymonkey = {{label|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | type = {{int|math-wikibase-formula-type}} | upcoming = <translate><!--T:34--> Upcoming</translate> | updates = <translate><!--T:49--> Updates</translate> | twitter |tw = {{label|Q918}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = <translate><!--T:4--> Wikimedia</translate> | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} lr4516fmpar94wuswiu52oky4z85yt0 10155 10154 2022-10-29T08:50:16Z meta>GVarnum-WMF 0 int entries 10155 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|{{TNTN|Int string/doc}}}}</noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{label|Q1376568}}}} | background = <translate><!--T:40--> Background</translate> | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = {{int|contribute}} | creative commons |cc = {{label|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | events = <translate><!--T:41--> Events</translate> | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = <translate><!--T:21--> Frequently asked questions</translate> | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{label|Q28773}} | instagram |insta = {{label|Q209330}} | leave feedback = {{int|specialinvestigate-feedback}} | limesurvey = {{label|Q1514978}} | linkedin = {{label|Q213660}} | main page | main | home = {{int|mainpage-description}} | mediawiki |mw = {{label|Q83}} | membership = <translate><!--T:42--> Membership</translate> | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | notes = {{int|wm-license-artwork-notes}} | objectives = <translate><!--T:43--> Objectives</translate> | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | overview = <translate><!--T:44--> Overview</translate> | participate = <translate><!--T:45--> Participate</translate> | photo = <translate><!--T:39--> Photo</translate> | plan = <translate><!--T:22--> Plan</translate> | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = <translate><!--T:23--> Projects</translate> | references = <translate><!--T:24--> References</translate> | reports = <translate><!--T:46--> Reports</translate> | research = <translate><!--T:25--> Research</translate> | resources = <translate><!--T:3--> Resources</translate> | qualtrics |qual = {{label|Q7268803}} | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{label|Q51711}} | scope = <translate><!--T:47--> Scope</translate> | see also = <translate><!--T:26--> See also</translate> | skype = {{label|Q40984}} | social media = {{ucfirst:{{label|Q202833}}}} | start = <translate><!--T:27--> Start</translate> | staff = <translate><!--T:48--> Staff</translate> | statistics = {{int|wikimedia-statslink}} | status = <translate><!--T:33--> Status</translate> | summary = {{int|Filedesc}} | surveymonkey = {{label|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | type = {{int|math-wikibase-formula-type}} | upcoming = <translate><!--T:34--> Upcoming</translate> | updates = <translate><!--T:49--> Updates</translate> | twitter |tw = {{label|Q918}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = <translate><!--T:4--> Wikimedia</translate> | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} ro313psksjcrj0dkgjqdqpir8r7t9n7 10156 10155 2022-10-29T08:54:07Z meta>GVarnum-WMF 0 translate to int 10156 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|{{TNTN|Int string/doc}}}}</noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{label|Q1376568}}}} | background = <translate><!--T:40--> Background</translate> | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = {{int|contribute}} | creative commons |cc = {{label|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | events = <translate><!--T:41--> Events</translate> | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{label|Q28773}} | instagram |insta = {{label|Q209330}} | leave feedback = {{int|specialinvestigate-feedback}} | limesurvey = {{label|Q1514978}} | linkedin = {{label|Q213660}} | main page | main | home = {{int|mainpage-description}} | mediawiki |mw = {{label|Q83}} | membership = <translate><!--T:42--> Membership</translate> | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | notes = {{int|wm-license-artwork-notes}} | objectives = <translate><!--T:43--> Objectives</translate> | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | overview = <translate><!--T:44--> Overview</translate> | participate = <translate><!--T:45--> Participate</translate> | photo = <translate><!--T:39--> Photo</translate> | plan = <translate><!--T:22--> Plan</translate> | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = <translate><!--T:23--> Projects</translate> | references = <translate><!--T:24--> References</translate> | reports = <translate><!--T:46--> Reports</translate> | research = <translate><!--T:25--> Research</translate> | resources = <translate><!--T:3--> Resources</translate> | qualtrics |qual = {{label|Q7268803}} | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{label|Q51711}} | scope = <translate><!--T:47--> Scope</translate> | see also = <translate><!--T:26--> See also</translate> | skype = {{label|Q40984}} | social media = {{ucfirst:{{label|Q202833}}}} | start = <translate><!--T:27--> Start</translate> | staff = <translate><!--T:48--> Staff</translate> | statistics = {{int|wikimedia-statslink}} | status = <translate><!--T:33--> Status</translate> | summary = {{int|Filedesc}} | surveymonkey = {{label|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | type = {{int|math-wikibase-formula-type}} | upcoming = <translate><!--T:34--> Upcoming</translate> | updates = <translate><!--T:49--> Updates</translate> | twitter |tw = {{label|Q918}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = <translate><!--T:4--> Wikimedia</translate> | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} giifk8vh1rqq2qxyxhe6o6pnitxs1um 10157 10156 2022-10-29T08:57:05Z meta>GVarnum-WMF 0 translate to label 10157 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|{{TNTN|Int string/doc}}}}</noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{label|Q1376568}}}} | background = <translate><!--T:40--> Background</translate> | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = {{int|contribute}} | creative commons |cc = {{label|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | events = <translate><!--T:41--> Events</translate> | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{label|Q28773}} | instagram |insta = {{label|Q209330}} | leave feedback = {{int|specialinvestigate-feedback}} | limesurvey = {{label|Q1514978}} | linkedin = {{label|Q213660}} | main page | main | home = {{int|mainpage-description}} | mediawiki |mw = {{label|Q83}} | membership = {{ucfirst:{{label|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | notes = {{int|wm-license-artwork-notes}} | objectives = <translate><!--T:43--> Objectives</translate> | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | overview = <translate><!--T:44--> Overview</translate> | participate = <translate><!--T:45--> Participate</translate> | photo = <translate><!--T:39--> Photo</translate> | plan = <translate><!--T:22--> Plan</translate> | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = <translate><!--T:23--> Projects</translate> | references = <translate><!--T:24--> References</translate> | reports = <translate><!--T:46--> Reports</translate> | research = <translate><!--T:25--> Research</translate> | resources = <translate><!--T:3--> Resources</translate> | qualtrics |qual = {{label|Q7268803}} | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{label|Q51711}} | scope = <translate><!--T:47--> Scope</translate> | see also = <translate><!--T:26--> See also</translate> | skype = {{label|Q40984}} | social media = {{ucfirst:{{label|Q202833}}}} | start = <translate><!--T:27--> Start</translate> | staff = <translate><!--T:48--> Staff</translate> | statistics = {{int|wikimedia-statslink}} | status = <translate><!--T:33--> Status</translate> | summary = {{int|Filedesc}} | surveymonkey = {{label|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | type = {{int|math-wikibase-formula-type}} | upcoming = <translate><!--T:34--> Upcoming</translate> | updates = <translate><!--T:49--> Updates</translate> | twitter |tw = {{label|Q918}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = <translate><!--T:4--> Wikimedia</translate> | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} 48vvid1iqbl0ywtadjf2a5vr8bfpico 10158 10157 2022-10-29T09:08:55Z meta>GVarnum-WMF 0 photo -> image 10158 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|{{TNTN|Int string/doc}}}}</noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{label|Q1376568}}}} | background = <translate><!--T:40--> Background</translate> | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = {{int|contribute}} | creative commons |cc = {{label|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | events = <translate><!--T:41--> Events</translate> | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{label|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{label|Q209330}} | leave feedback = {{int|specialinvestigate-feedback}} | limesurvey = {{label|Q1514978}} | linkedin = {{label|Q213660}} | main page | main | home = {{int|mainpage-description}} | mediawiki |mw = {{label|Q83}} | membership = {{ucfirst:{{label|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | notes = {{int|wm-license-artwork-notes}} | objectives = <translate><!--T:43--> Objectives</translate> | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | overview = <translate><!--T:44--> Overview</translate> | participate = <translate><!--T:45--> Participate</translate> | plan = <translate><!--T:22--> Plan</translate> | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = <translate><!--T:23--> Projects</translate> | references = <translate><!--T:24--> References</translate> | reports = <translate><!--T:46--> Reports</translate> | research = <translate><!--T:25--> Research</translate> | resources = <translate><!--T:3--> Resources</translate> | qualtrics |qual = {{label|Q7268803}} | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{label|Q51711}} | scope = <translate><!--T:47--> Scope</translate> | see also = <translate><!--T:26--> See also</translate> | skype = {{label|Q40984}} | social media = {{ucfirst:{{label|Q202833}}}} | start = <translate><!--T:27--> Start</translate> | staff = <translate><!--T:48--> Staff</translate> | statistics = {{int|wikimedia-statslink}} | status = <translate><!--T:33--> Status</translate> | summary = {{int|Filedesc}} | surveymonkey = {{label|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | type = {{int|math-wikibase-formula-type}} | upcoming = <translate><!--T:34--> Upcoming</translate> | updates = <translate><!--T:49--> Updates</translate> | twitter |tw = {{label|Q918}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = <translate><!--T:4--> Wikimedia</translate> | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} 4ramq9hqp41u8l989ciidpw2a8rkplr 10159 10158 2022-10-29T09:11:58Z meta>GVarnum-WMF 0 translate to label 10159 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|{{TNTN|Int string/doc}}}}</noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{label|Q1376568}}}} | background = <translate><!--T:40--> Background</translate> | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = {{int|contribute}} | creative commons |cc = {{label|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | events = <translate><!--T:41--> Events</translate> | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{label|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{label|Q209330}} | leave feedback = {{int|specialinvestigate-feedback}} | limesurvey = {{label|Q1514978}} | linkedin = {{label|Q213660}} | main page | main | home = {{int|mainpage-description}} | mediawiki |mw = {{label|Q83}} | membership = {{ucfirst:{{label|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | notes = {{int|wm-license-artwork-notes}} | objectives = <translate><!--T:43--> Objectives</translate> | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | overview = <translate><!--T:44--> Overview</translate> | participate = <translate><!--T:45--> Participate</translate> | plan = {{label|Q1371819}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = <translate><!--T:23--> Projects</translate> | references = <translate><!--T:24--> References</translate> | reports = <translate><!--T:46--> Reports</translate> | research = <translate><!--T:25--> Research</translate> | resources = <translate><!--T:3--> Resources</translate> | qualtrics |qual = {{label|Q7268803}} | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{label|Q51711}} | scope = <translate><!--T:47--> Scope</translate> | see also = <translate><!--T:26--> See also</translate> | skype = {{label|Q40984}} | social media = {{ucfirst:{{label|Q202833}}}} | start = <translate><!--T:27--> Start</translate> | staff = <translate><!--T:48--> Staff</translate> | statistics = {{int|wikimedia-statslink}} | status = <translate><!--T:33--> Status</translate> | summary = {{int|Filedesc}} | surveymonkey = {{label|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | type = {{int|math-wikibase-formula-type}} | upcoming = <translate><!--T:34--> Upcoming</translate> | updates = <translate><!--T:49--> Updates</translate> | twitter |tw = {{label|Q918}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = <translate><!--T:4--> Wikimedia</translate> | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} cfsohx3b7791b2cljwwa3bdbvy5l6ro 10160 10159 2022-10-29T09:12:35Z meta>GVarnum-WMF 0 {{ucfirst:}} fix 10160 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|{{TNTN|Int string/doc}}}}</noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{label|Q1376568}}}} | background = <translate><!--T:40--> Background</translate> | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = {{int|contribute}} | creative commons |cc = {{label|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | events = <translate><!--T:41--> Events</translate> | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{label|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{label|Q209330}} | leave feedback = {{int|specialinvestigate-feedback}} | limesurvey = {{label|Q1514978}} | linkedin = {{label|Q213660}} | main page | main | home = {{int|mainpage-description}} | mediawiki |mw = {{label|Q83}} | membership = {{ucfirst:{{label|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | notes = {{int|wm-license-artwork-notes}} | objectives = <translate><!--T:43--> Objectives</translate> | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | overview = <translate><!--T:44--> Overview</translate> | participate = <translate><!--T:45--> Participate</translate> | plan = {{ucfirst:{{label|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = <translate><!--T:23--> Projects</translate> | references = <translate><!--T:24--> References</translate> | reports = <translate><!--T:46--> Reports</translate> | research = <translate><!--T:25--> Research</translate> | resources = <translate><!--T:3--> Resources</translate> | qualtrics |qual = {{label|Q7268803}} | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{label|Q51711}} | scope = <translate><!--T:47--> Scope</translate> | see also = <translate><!--T:26--> See also</translate> | skype = {{label|Q40984}} | social media = {{ucfirst:{{label|Q202833}}}} | start = <translate><!--T:27--> Start</translate> | staff = <translate><!--T:48--> Staff</translate> | statistics = {{int|wikimedia-statslink}} | status = <translate><!--T:33--> Status</translate> | summary = {{int|Filedesc}} | surveymonkey = {{label|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | type = {{int|math-wikibase-formula-type}} | upcoming = <translate><!--T:34--> Upcoming</translate> | updates = <translate><!--T:49--> Updates</translate> | twitter |tw = {{label|Q918}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = <translate><!--T:4--> Wikimedia</translate> | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} swuqfm84lb15j458l8n7b6rc3awslcl 10161 10160 2022-10-29T09:16:22Z meta>GVarnum-WMF 0 translate to int 10161 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|{{TNTN|Int string/doc}}}}</noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{label|Q1376568}}}} | background = <translate><!--T:40--> Background</translate> | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = {{int|contribute}} | creative commons |cc = {{label|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | events = <translate><!--T:41--> Events</translate> | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{label|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{label|Q209330}} | leave feedback = {{int|specialinvestigate-feedback}} | limesurvey = {{label|Q1514978}} | linkedin = {{label|Q213660}} | main page | main | home = {{int|mainpage-description}} | mediawiki |mw = {{label|Q83}} | membership = {{ucfirst:{{label|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | notes = {{int|wm-license-artwork-notes}} | objectives = <translate><!--T:43--> Objectives</translate> | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | overview = <translate><!--T:44--> Overview</translate> | participate = <translate><!--T:45--> Participate</translate> | plan = {{ucfirst:{{label|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | references = <translate><!--T:24--> References</translate> | reports = <translate><!--T:46--> Reports</translate> | research = <translate><!--T:25--> Research</translate> | resources = <translate><!--T:3--> Resources</translate> | qualtrics |qual = {{label|Q7268803}} | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{label|Q51711}} | scope = <translate><!--T:47--> Scope</translate> | see also = <translate><!--T:26--> See also</translate> | skype = {{label|Q40984}} | social media = {{ucfirst:{{label|Q202833}}}} | start = <translate><!--T:27--> Start</translate> | staff = <translate><!--T:48--> Staff</translate> | statistics = {{int|wikimedia-statslink}} | status = <translate><!--T:33--> Status</translate> | summary = {{int|Filedesc}} | surveymonkey = {{label|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | type = {{int|math-wikibase-formula-type}} | upcoming = <translate><!--T:34--> Upcoming</translate> | updates = <translate><!--T:49--> Updates</translate> | twitter |tw = {{label|Q918}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = <translate><!--T:4--> Wikimedia</translate> | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} 73z2okqv0rtrngjkjwx240806xqwc5y 10162 10161 2022-10-29T09:19:33Z meta>GVarnum-WMF 0 translate to int 10162 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|{{TNTN|Int string/doc}}}}</noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{label|Q1376568}}}} | background = <translate><!--T:40--> Background</translate> | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = {{int|contribute}} | creative commons |cc = {{label|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | events = <translate><!--T:41--> Events</translate> | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{label|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{label|Q209330}} | leave feedback = {{int|specialinvestigate-feedback}} | limesurvey = {{label|Q1514978}} | linkedin = {{label|Q213660}} | main page | main | home = {{int|mainpage-description}} | mediawiki |mw = {{label|Q83}} | membership = {{ucfirst:{{label|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | notes = {{int|wm-license-artwork-notes}} | objectives = <translate><!--T:43--> Objectives</translate> | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | overview = <translate><!--T:44--> Overview</translate> | participate = <translate><!--T:45--> Participate</translate> | plan = {{ucfirst:{{label|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | references = {{int|wm-license-artwork-references}} | reports = <translate><!--T:46--> Reports</translate> | research = <translate><!--T:25--> Research</translate> | resources = <translate><!--T:3--> Resources</translate> | qualtrics |qual = {{label|Q7268803}} | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{label|Q51711}} | scope = <translate><!--T:47--> Scope</translate> | see also = <translate><!--T:26--> See also</translate> | skype = {{label|Q40984}} | social media = {{ucfirst:{{label|Q202833}}}} | start = <translate><!--T:27--> Start</translate> | staff = <translate><!--T:48--> Staff</translate> | statistics = {{int|wikimedia-statslink}} | status = <translate><!--T:33--> Status</translate> | summary = {{int|Filedesc}} | surveymonkey = {{label|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | type = {{int|math-wikibase-formula-type}} | upcoming = <translate><!--T:34--> Upcoming</translate> | updates = <translate><!--T:49--> Updates</translate> | twitter |tw = {{label|Q918}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = <translate><!--T:4--> Wikimedia</translate> | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} fzxqyzr1nr13o7sj6e5dk06t88v8dr8 10163 10162 2022-10-29T09:24:35Z meta>GVarnum-WMF 0 translate to label 10163 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|{{TNTN|Int string/doc}}}}</noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{label|Q1376568}}}} | background = <translate><!--T:40--> Background</translate> | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = {{int|contribute}} | creative commons |cc = {{label|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | events = <translate><!--T:41--> Events</translate> | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{label|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{label|Q209330}} | leave feedback = {{int|specialinvestigate-feedback}} | limesurvey = {{label|Q1514978}} | linkedin = {{label|Q213660}} | main page | main | home = {{int|mainpage-description}} | mediawiki |mw = {{label|Q83}} | membership = {{ucfirst:{{label|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | notes = {{int|wm-license-artwork-notes}} | objectives = <translate><!--T:43--> Objectives</translate> | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | overview = <translate><!--T:44--> Overview</translate> | participate = <translate><!--T:45--> Participate</translate> | plan = {{ucfirst:{{label|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | references = {{int|wm-license-artwork-references}} | reports = <translate><!--T:46--> Reports</translate> | research = {{ucfirst:{{label|Q42240}}}} | resources = <translate><!--T:3--> Resources</translate> | qualtrics |qual = {{label|Q7268803}} | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{label|Q51711}} | scope = <translate><!--T:47--> Scope</translate> | see also = <translate><!--T:26--> See also</translate> | skype = {{label|Q40984}} | social media = {{ucfirst:{{label|Q202833}}}} | start = <translate><!--T:27--> Start</translate> | staff = <translate><!--T:48--> Staff</translate> | statistics = {{int|wikimedia-statslink}} | status = <translate><!--T:33--> Status</translate> | summary = {{int|Filedesc}} | surveymonkey = {{label|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | type = {{int|math-wikibase-formula-type}} | upcoming = <translate><!--T:34--> Upcoming</translate> | updates = <translate><!--T:49--> Updates</translate> | twitter |tw = {{label|Q918}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = <translate><!--T:4--> Wikimedia</translate> | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} 9evfrvkd93gr8w6hx8akqjesul461dc 10164 10163 2022-10-29T09:26:11Z meta>GVarnum-WMF 0 translate to int 10164 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|{{TNTN|Int string/doc}}}}</noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{label|Q1376568}}}} | background = <translate><!--T:40--> Background</translate> | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = {{int|contribute}} | creative commons |cc = {{label|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | events = <translate><!--T:41--> Events</translate> | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{label|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{label|Q209330}} | leave feedback = {{int|specialinvestigate-feedback}} | limesurvey = {{label|Q1514978}} | linkedin = {{label|Q213660}} | main page | main | home = {{int|mainpage-description}} | mediawiki |mw = {{label|Q83}} | membership = {{ucfirst:{{label|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | notes = {{int|wm-license-artwork-notes}} | objectives = <translate><!--T:43--> Objectives</translate> | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | overview = <translate><!--T:44--> Overview</translate> | participate = <translate><!--T:45--> Participate</translate> | plan = {{ucfirst:{{label|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | references = {{int|wm-license-artwork-references}} | reports = <translate><!--T:46--> Reports</translate> | research = {{ucfirst:{{label|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | qualtrics |qual = {{label|Q7268803}} | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{label|Q51711}} | scope = <translate><!--T:47--> Scope</translate> | see also = <translate><!--T:26--> See also</translate> | skype = {{label|Q40984}} | social media = {{ucfirst:{{label|Q202833}}}} | start = <translate><!--T:27--> Start</translate> | staff = <translate><!--T:48--> Staff</translate> | statistics = {{int|wikimedia-statslink}} | status = <translate><!--T:33--> Status</translate> | summary = {{int|Filedesc}} | surveymonkey = {{label|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | type = {{int|math-wikibase-formula-type}} | upcoming = <translate><!--T:34--> Upcoming</translate> | updates = <translate><!--T:49--> Updates</translate> | twitter |tw = {{label|Q918}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = <translate><!--T:4--> Wikimedia</translate> | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} 6c8xueq3352l1avhvli8phsyvcukwsn 10165 10164 2022-10-29T09:39:45Z meta>GVarnum-WMF 0 translate to int 10165 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|{{TNTN|Int string/doc}}}}</noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{label|Q1376568}}}} | background = <translate><!--T:40--> Background</translate> | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = {{int|contribute}} | creative commons |cc = {{label|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | events = <translate><!--T:41--> Events</translate> | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{label|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{label|Q209330}} | leave feedback = {{int|specialinvestigate-feedback}} | limesurvey = {{label|Q1514978}} | linkedin = {{label|Q213660}} | main page | main | home = {{int|mainpage-description}} | mediawiki |mw = {{label|Q83}} | membership = {{ucfirst:{{label|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | notes = {{int|wm-license-artwork-notes}} | objectives = <translate><!--T:43--> Objectives</translate> | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | overview = <translate><!--T:44--> Overview</translate> | participate = <translate><!--T:45--> Participate</translate> | plan = {{ucfirst:{{label|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | references = {{int|wm-license-artwork-references}} | reports = <translate><!--T:46--> Reports</translate> | research = {{ucfirst:{{label|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | qualtrics |qual = {{label|Q7268803}} | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{label|Q51711}} | scope = <translate><!--T:47--> Scope</translate> | see also = <translate><!--T:26--> See also</translate> | skype = {{label|Q40984}} | social media = {{ucfirst:{{label|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = <translate><!--T:48--> Staff</translate> | statistics = {{int|wikimedia-statslink}} | status = <translate><!--T:33--> Status</translate> | summary = {{int|Filedesc}} | surveymonkey = {{label|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | type = {{int|math-wikibase-formula-type}} | upcoming = <translate><!--T:34--> Upcoming</translate> | updates = <translate><!--T:49--> Updates</translate> | twitter |tw = {{label|Q918}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = <translate><!--T:4--> Wikimedia</translate> | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} 0osi4k79cz5wftbdserc51ss85rhse9 10166 10165 2022-10-29T09:43:44Z meta>GVarnum-WMF 0 translate to int 10166 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|{{TNTN|Int string/doc}}}}</noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{label|Q1376568}}}} | background = <translate><!--T:40--> Background</translate> | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = {{int|contribute}} | creative commons |cc = {{label|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | events = <translate><!--T:41--> Events</translate> | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{label|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{label|Q209330}} | leave feedback = {{int|specialinvestigate-feedback}} | limesurvey = {{label|Q1514978}} | linkedin = {{label|Q213660}} | main page | main | home = {{int|mainpage-description}} | mediawiki |mw = {{label|Q83}} | membership = {{ucfirst:{{label|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | notes = {{int|wm-license-artwork-notes}} | objectives = <translate><!--T:43--> Objectives</translate> | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | overview = <translate><!--T:44--> Overview</translate> | participate = <translate><!--T:45--> Participate</translate> | plan = {{ucfirst:{{label|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | references = {{int|wm-license-artwork-references}} | reports = <translate><!--T:46--> Reports</translate> | research = {{ucfirst:{{label|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | qualtrics |qual = {{label|Q7268803}} | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{label|Q51711}} | scope = <translate><!--T:47--> Scope</translate> | see also = <translate><!--T:26--> See also</translate> | skype = {{label|Q40984}} | social media = {{ucfirst:{{label|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = <translate><!--T:48--> Staff</translate> | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|Filedesc}} | surveymonkey = {{label|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | type = {{int|math-wikibase-formula-type}} | upcoming = <translate><!--T:34--> Upcoming</translate> | updates = <translate><!--T:49--> Updates</translate> | twitter |tw = {{label|Q918}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = <translate><!--T:4--> Wikimedia</translate> | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} d025dxj3gkrjy36p9zkftza52f9qpc6 10167 10166 2022-10-29T09:48:16Z meta>GVarnum-WMF 0 translate to label 10167 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|{{TNTN|Int string/doc}}}}</noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{label|Q1376568}}}} | background = <translate><!--T:40--> Background</translate> | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = {{int|contribute}} | creative commons |cc = {{label|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | events = <translate><!--T:41--> Events</translate> | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{label|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{label|Q209330}} | leave feedback = {{int|specialinvestigate-feedback}} | limesurvey = {{label|Q1514978}} | linkedin = {{label|Q213660}} | main page | main | home = {{int|mainpage-description}} | mediawiki |mw = {{label|Q83}} | membership = {{ucfirst:{{label|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | notes = {{int|wm-license-artwork-notes}} | objectives = <translate><!--T:43--> Objectives</translate> | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | overview = <translate><!--T:44--> Overview</translate> | participate = <translate><!--T:45--> Participate</translate> | plan = {{ucfirst:{{label|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | references = {{int|wm-license-artwork-references}} | reports = <translate><!--T:46--> Reports</translate> | research = {{ucfirst:{{label|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | qualtrics |qual = {{label|Q7268803}} | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{label|Q51711}} | scope = <translate><!--T:47--> Scope</translate> | see also = <translate><!--T:26--> See also</translate> | skype = {{label|Q40984}} | social media = {{ucfirst:{{label|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = <translate><!--T:48--> Staff</translate> | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|Filedesc}} | surveymonkey = {{label|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{label|Q57248993}}}} | updates = <translate><!--T:49--> Updates</translate> | twitter |tw = {{label|Q918}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = <translate><!--T:4--> Wikimedia</translate> | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} os111tk3n6qd1ldf7jrxo7h0bn79351 10168 10167 2022-10-29T09:52:13Z meta>GVarnum-WMF 0 translate to int 10168 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|{{TNTN|Int string/doc}}}}</noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{label|Q1376568}}}} | background = <translate><!--T:40--> Background</translate> | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = {{int|contribute}} | creative commons |cc = {{label|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | events = <translate><!--T:41--> Events</translate> | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{label|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{label|Q209330}} | leave feedback = {{int|specialinvestigate-feedback}} | limesurvey = {{label|Q1514978}} | linkedin = {{label|Q213660}} | main page | main | home = {{int|mainpage-description}} | mediawiki |mw = {{label|Q83}} | membership = {{ucfirst:{{label|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | notes = {{int|wm-license-artwork-notes}} | objectives = <translate><!--T:43--> Objectives</translate> | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | overview = <translate><!--T:44--> Overview</translate> | participate = <translate><!--T:45--> Participate</translate> | plan = {{ucfirst:{{label|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | references = {{int|wm-license-artwork-references}} | reports = <translate><!--T:46--> Reports</translate> | research = {{ucfirst:{{label|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | qualtrics |qual = {{label|Q7268803}} | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{label|Q51711}} | scope = <translate><!--T:47--> Scope</translate> | see also = <translate><!--T:26--> See also</translate> | skype = {{label|Q40984}} | social media = {{ucfirst:{{label|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = <translate><!--T:48--> Staff</translate> | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|Filedesc}} | surveymonkey = {{label|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{label|Q57248993}}}} | updates = <translate><!--T:49--> Updates</translate> | twitter |tw = {{label|Q918}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} ozsv04ur0ovc8hb4y6xx3trj2i2jxxv 10169 10168 2022-10-29T09:56:56Z meta>GVarnum-WMF 0 cap fix 10169 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|{{TNTN|Int string/doc}}}}</noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{label|Q1376568}}}} | background = <translate><!--T:40--> Background</translate> | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = {{int|contribute}} | creative commons |cc = {{label|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | events = <translate><!--T:41--> Events</translate> | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{label|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{label|Q209330}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | limesurvey = {{label|Q1514978}} | linkedin = {{label|Q213660}} | main page | main | home = {{int|mainpage-description}} | mediawiki |mw = {{label|Q83}} | membership = {{ucfirst:{{label|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | notes = {{int|wm-license-artwork-notes}} | objectives = <translate><!--T:43--> Objectives</translate> | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | overview = <translate><!--T:44--> Overview</translate> | participate = <translate><!--T:45--> Participate</translate> | plan = {{ucfirst:{{label|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | references = {{int|wm-license-artwork-references}} | reports = <translate><!--T:46--> Reports</translate> | research = {{ucfirst:{{label|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | qualtrics |qual = {{label|Q7268803}} | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{label|Q51711}} | scope = <translate><!--T:47--> Scope</translate> | see also = <translate><!--T:26--> See also</translate> | skype = {{label|Q40984}} | social media = {{ucfirst:{{label|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = <translate><!--T:48--> Staff</translate> | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|Filedesc}} | surveymonkey = {{label|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{label|Q57248993}}}} | updates = <translate><!--T:49--> Updates</translate> | twitter |tw = {{label|Q918}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} 4bx64mjl8fwcti1jt508obx7j8td32r 10170 10169 2022-10-29T09:59:10Z meta>GVarnum-WMF 0 formatting fix 10170 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|{{TNTN|Int string/doc}}}}</noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{label|Q1376568}}}} | background = <translate><!--T:40--> Background</translate> | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = {{int|contribute}} | creative commons |cc = {{label|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | events = <translate><!--T:41--> Events</translate> | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{label|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{label|Q209330}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | limesurvey = {{label|Q1514978}} | linkedin = {{label|Q213660}} | main page | main | home = {{int|mainpage-description}} | mediawiki |mw = {{label|Q83}} | membership = {{ucfirst:{{label|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | notes = {{int|wm-license-artwork-notes}} | objectives = <translate><!--T:43--> Objectives</translate> | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | overview = <translate><!--T:44--> Overview</translate> | participate = <translate><!--T:45--> Participate</translate> | plan = {{ucfirst:{{label|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | references = {{int|wm-license-artwork-references}} | reports = <translate><!--T:46--> Reports</translate> | research = {{ucfirst:{{label|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | qualtrics |qual = {{label|Q7268803}} | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{label|Q51711}} | scope = <translate><!--T:47--> Scope</translate> | see also = <translate><!--T:26--> See also</translate> | skype = {{label|Q40984}} | social media = {{ucfirst:{{label|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = <translate><!--T:48--> Staff</translate> | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{label|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{label|Q57248993}}}} | updates = <translate><!--T:49--> Updates</translate> | twitter |tw = {{label|Q918}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} bmslp9obd71t402t3pr5qqhq07c8lk5 10171 10170 2022-11-03T12:19:55Z meta>GVarnum-WMF 0 additional names 10171 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|{{TNTN|Int string/doc}}}}</noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{label|Q1376568}}}} | background = <translate><!--T:40--> Background</translate> | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = {{int|contribute}} | creative commons |cc = {{label|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{label|Q22907849}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | events = <translate><!--T:41--> Events</translate> | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{label|Q95}} | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{label|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{label|Q209330}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | limesurvey = {{label|Q1514978}} | linkedin = {{label|Q213660}} | main page | main | home = {{int|mainpage-description}} | mediawiki |mw = {{label|Q83}} | membership = {{ucfirst:{{label|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | notes = {{int|wm-license-artwork-notes}} | objectives = <translate><!--T:43--> Objectives</translate> | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | overview = <translate><!--T:44--> Overview</translate> | participate = <translate><!--T:45--> Participate</translate> | plan = {{ucfirst:{{label|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | reddit = {{label|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = <translate><!--T:46--> Reports</translate> | research = {{ucfirst:{{label|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | qualtrics |qual = {{label|Q7268803}} | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{label|Q51711}} | scope = <translate><!--T:47--> Scope</translate> | see also = <translate><!--T:26--> See also</translate> | skype = {{label|Q40984}} | social media = {{ucfirst:{{label|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = <translate><!--T:48--> Staff</translate> | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{label|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | telegram = {{label|Q15616276}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{label|Q57248993}}}} | updates = <translate><!--T:49--> Updates</translate> | twitter |tw = {{label|Q918}} | whatsapp = {{label|Q1049511}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} fc3qx8vdrs5t3h8rkj7q0y8w87haul1 10172 10171 2022-11-04T20:17:55Z meta>GVarnum-WMF 0 more names 10172 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|{{TNTN|Int string/doc}}}}</noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{label|Q1376568}}}} | background = <translate><!--T:40--> Background</translate> | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = {{int|contribute}} | creative commons |cc = {{label|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{label|Q22907849}} | encarta |msn encarta = {{label|Q231136}} | encylopedia britannica online |encyclopædia britannica online |britannica = {{label|Q5375741}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | events = <translate><!--T:41--> Events</translate> | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{label|Q95}} | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{label|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{label|Q209330}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | limesurvey = {{label|Q1514978}} | linkedin = {{label|Q213660}} | main page | main | home = {{int|mainpage-description}} | mediawiki |mw = {{label|Q83}} | membership = {{ucfirst:{{label|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | notes = {{int|wm-license-artwork-notes}} | objectives = <translate><!--T:43--> Objectives</translate> | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | overview = <translate><!--T:44--> Overview</translate> | participate = <translate><!--T:45--> Participate</translate> | plan = {{ucfirst:{{label|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | reddit = {{label|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = <translate><!--T:46--> Reports</translate> | research = {{ucfirst:{{label|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | qualtrics |qual = {{label|Q7268803}} | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{label|Q51711}} | scope = <translate><!--T:47--> Scope</translate> | see also = <translate><!--T:26--> See also</translate> | skype = {{label|Q40984}} | social media = {{ucfirst:{{label|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = <translate><!--T:48--> Staff</translate> | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{label|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | telegram = {{label|Q15616276}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{label|Q57248993}}}} | updates = <translate><!--T:49--> Updates</translate> | twitter |tw = {{label|Q918}} | whatsapp = {{label|Q1049511}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} aiasbwv8sonbg4og0fiof8h6f3wk8zx 10173 10172 2022-11-04T20:50:10Z meta>GVarnum-WMF 0 typo 10173 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|{{TNTN|Int string/doc}}}}</noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{label|Q1376568}}}} | background = <translate><!--T:40--> Background</translate> | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = {{int|contribute}} | creative commons |cc = {{label|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{label|Q22907849}} | encarta |msn encarta = {{label|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{label|Q5375741}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | events = <translate><!--T:41--> Events</translate> | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{label|Q95}} | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{label|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{label|Q209330}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | limesurvey = {{label|Q1514978}} | linkedin = {{label|Q213660}} | main page | main | home = {{int|mainpage-description}} | mediawiki |mw = {{label|Q83}} | membership = {{ucfirst:{{label|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | notes = {{int|wm-license-artwork-notes}} | objectives = <translate><!--T:43--> Objectives</translate> | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | overview = <translate><!--T:44--> Overview</translate> | participate = <translate><!--T:45--> Participate</translate> | plan = {{ucfirst:{{label|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | reddit = {{label|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = <translate><!--T:46--> Reports</translate> | research = {{ucfirst:{{label|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | qualtrics |qual = {{label|Q7268803}} | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{label|Q51711}} | scope = <translate><!--T:47--> Scope</translate> | see also = <translate><!--T:26--> See also</translate> | skype = {{label|Q40984}} | social media = {{ucfirst:{{label|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = <translate><!--T:48--> Staff</translate> | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{label|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | telegram = {{label|Q15616276}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{label|Q57248993}}}} | updates = <translate><!--T:49--> Updates</translate> | twitter |tw = {{label|Q918}} | whatsapp = {{label|Q1049511}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} 7tedl6zxzl5tgz05gl4mxfw5w84xrti 10174 10173 2022-11-04T20:56:13Z meta>GVarnum-WMF 0 +yahoo 10174 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|{{TNTN|Int string/doc}}}}</noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{label|Q1376568}}}} | background = <translate><!--T:40--> Background</translate> | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = {{int|contribute}} | creative commons |cc = {{label|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{label|Q22907849}} | encarta |msn encarta = {{label|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{label|Q5375741}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | events = <translate><!--T:41--> Events</translate> | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{label|Q95}} | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{label|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{label|Q209330}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | limesurvey = {{label|Q1514978}} | linkedin = {{label|Q213660}} | main page | main | home = {{int|mainpage-description}} | mediawiki |mw = {{label|Q83}} | membership = {{ucfirst:{{label|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | notes = {{int|wm-license-artwork-notes}} | objectives = <translate><!--T:43--> Objectives</translate> | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | overview = <translate><!--T:44--> Overview</translate> | participate = <translate><!--T:45--> Participate</translate> | plan = {{ucfirst:{{label|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | reddit = {{label|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = <translate><!--T:46--> Reports</translate> | research = {{ucfirst:{{label|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | qualtrics |qual = {{label|Q7268803}} | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{label|Q51711}} | scope = <translate><!--T:47--> Scope</translate> | see also = <translate><!--T:26--> See also</translate> | skype = {{label|Q40984}} | social media = {{ucfirst:{{label|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = <translate><!--T:48--> Staff</translate> | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{label|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | telegram = {{label|Q15616276}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{label|Q57248993}}}} | updates = <translate><!--T:49--> Updates</translate> | twitter |tw = {{label|Q918}} | whatsapp = {{label|Q1049511}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | yahoo |yahoo! = {{label|Q37093}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} aehgwd5afcaekb5aetryfgeou4curs7 10175 10174 2022-11-04T21:03:46Z meta>GVarnum-WMF 0 +headers 10175 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|{{TNTN|Int string/doc}}}}</noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{label|Q1376568}}}} | background = <translate><!--T:40--> Background</translate> | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = {{int|contribute}} | creative commons |cc = {{label|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{label|Q22907849}} | encarta |msn encarta = {{label|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{label|Q5375741}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | events = <translate><!--T:41--> Events</translate> | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{label|Q95}} | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{label|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{label|Q209330}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{label|Q1514978}} | linkedin = {{label|Q213660}} | main page | main | home = {{int|mainpage-description}} | mediawiki |mw = {{label|Q83}} | membership = {{ucfirst:{{label|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | notes = {{int|wm-license-artwork-notes}} | objectives = <translate><!--T:43--> Objectives</translate> | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | overview = <translate><!--T:44--> Overview</translate> | participate = <translate><!--T:45--> Participate</translate> | plan = {{ucfirst:{{label|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | reddit = {{label|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = <translate><!--T:46--> Reports</translate> | research = {{ucfirst:{{label|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | qualtrics |qual = {{label|Q7268803}} | questions |questions? = <translate>Questions?</translate> | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{label|Q51711}} | scope = <translate><!--T:47--> Scope</translate> | see also = <translate><!--T:26--> See also</translate> | skype = {{label|Q40984}} | social media = {{ucfirst:{{label|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = <translate><!--T:48--> Staff</translate> | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{label|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | telegram = {{label|Q15616276}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{label|Q57248993}}}} | updates = <translate><!--T:49--> Updates</translate> | twitter |tw = {{label|Q918}} | whatsapp = {{label|Q1049511}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | yahoo |yahoo! = {{label|Q37093}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} 1texmhl351tihkivovj55boonjt53q4 10176 10175 2022-11-04T21:03:53Z meta>GVarnum-WMF 0 Marked this version for translation 10176 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|{{TNTN|Int string/doc}}}}</noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{label|Q1376568}}}} | background = <translate><!--T:40--> Background</translate> | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = {{int|contribute}} | creative commons |cc = {{label|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{label|Q22907849}} | encarta |msn encarta = {{label|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{label|Q5375741}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | events = <translate><!--T:41--> Events</translate> | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{label|Q95}} | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{label|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{label|Q209330}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{label|Q1514978}} | linkedin = {{label|Q213660}} | main page | main | home = {{int|mainpage-description}} | mediawiki |mw = {{label|Q83}} | membership = {{ucfirst:{{label|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | notes = {{int|wm-license-artwork-notes}} | objectives = <translate><!--T:43--> Objectives</translate> | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | overview = <translate><!--T:44--> Overview</translate> | participate = <translate><!--T:45--> Participate</translate> | plan = {{ucfirst:{{label|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | reddit = {{label|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = <translate><!--T:46--> Reports</translate> | research = {{ucfirst:{{label|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | qualtrics |qual = {{label|Q7268803}} | questions |questions? = <translate><!--T:50--> Questions?</translate> | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{label|Q51711}} | scope = <translate><!--T:47--> Scope</translate> | see also = <translate><!--T:26--> See also</translate> | skype = {{label|Q40984}} | social media = {{ucfirst:{{label|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = <translate><!--T:48--> Staff</translate> | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{label|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | telegram = {{label|Q15616276}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{label|Q57248993}}}} | updates = <translate><!--T:49--> Updates</translate> | twitter |tw = {{label|Q918}} | whatsapp = {{label|Q1049511}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | yahoo |yahoo! = {{label|Q37093}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} gt7z0zasiob1gbftbxh1fcd17oraejg 10177 10176 2022-11-04T21:16:20Z meta>GVarnum-WMF 0 +Wikipedia 10177 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|{{TNTN|Int string/doc}}}}</noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{label|Q1376568}}}} | background = <translate><!--T:40--> Background</translate> | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = {{int|contribute}} | creative commons |cc = {{label|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{label|Q22907849}} | encarta |msn encarta = {{label|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{label|Q5375741}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | events = <translate><!--T:41--> Events</translate> | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{label|Q95}} | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{label|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{label|Q209330}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{label|Q1514978}} | linkedin = {{label|Q213660}} | main page | main | home = {{int|mainpage-description}} | mediawiki |mw = {{label|Q83}} | membership = {{ucfirst:{{label|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | notes = {{int|wm-license-artwork-notes}} | objectives = <translate><!--T:43--> Objectives</translate> | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | overview = <translate><!--T:44--> Overview</translate> | participate = <translate><!--T:45--> Participate</translate> | plan = {{ucfirst:{{label|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | reddit = {{label|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = <translate><!--T:46--> Reports</translate> | research = {{ucfirst:{{label|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | qualtrics |qual = {{label|Q7268803}} | questions |questions? = <translate><!--T:50--> Questions?</translate> | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{label|Q51711}} | scope = <translate><!--T:47--> Scope</translate> | see also = <translate><!--T:26--> See also</translate> | skype = {{label|Q40984}} | social media = {{ucfirst:{{label|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = <translate><!--T:48--> Staff</translate> | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{label|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | telegram = {{label|Q15616276}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{label|Q57248993}}}} | updates = <translate><!--T:49--> Updates</translate> | twitter |tw = {{label|Q918}} | whatsapp = {{label|Q1049511}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikipedia = {{label|Q52}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | yahoo |yahoo! = {{label|Q37093}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} f1zupc9s8rhdhq5iyv82nfjp6s5ex69 10178 10177 2022-11-09T09:11:13Z meta>GVarnum-WMF 0 +Other 10178 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|{{TNTN|Int string/doc}}}}</noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{label|Q1376568}}}} | background = <translate><!--T:40--> Background</translate> | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = {{int|contribute}} | creative commons |cc = {{label|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{label|Q22907849}} | encarta |msn encarta = {{label|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{label|Q5375741}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | events = <translate><!--T:41--> Events</translate> | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{label|Q95}} | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{label|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{label|Q209330}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{label|Q1514978}} | linkedin = {{label|Q213660}} | main page | main | home = {{int|mainpage-description}} | mediawiki |mw = {{label|Q83}} | membership = {{ucfirst:{{label|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | notes = {{int|wm-license-artwork-notes}} | objectives = <translate><!--T:43--> Objectives</translate> | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | other = {{int|visualeditor-shortcuts-other}} | overview = <translate><!--T:44--> Overview</translate> | participate = <translate><!--T:45--> Participate</translate> | plan = {{ucfirst:{{label|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | reddit = {{label|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = <translate><!--T:46--> Reports</translate> | research = {{ucfirst:{{label|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | qualtrics |qual = {{label|Q7268803}} | questions |questions? = <translate><!--T:50--> Questions?</translate> | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{label|Q51711}} | scope = <translate><!--T:47--> Scope</translate> | see also = <translate><!--T:26--> See also</translate> | skype = {{label|Q40984}} | social media = {{ucfirst:{{label|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = <translate><!--T:48--> Staff</translate> | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{label|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | telegram = {{label|Q15616276}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{label|Q57248993}}}} | updates = <translate><!--T:49--> Updates</translate> | twitter |tw = {{label|Q918}} | whatsapp = {{label|Q1049511}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikipedia = {{label|Q52}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | yahoo |yahoo! = {{label|Q37093}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} kekfpteq7imbbvlpzrj48yn4h8l69oj 10179 10178 2022-11-09T09:22:27Z meta>GVarnum-WMF 0 +total 10179 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|{{TNTN|Int string/doc}}}}</noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{label|Q1376568}}}} | background = <translate><!--T:40--> Background</translate> | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = {{int|contribute}} | creative commons |cc = {{label|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{label|Q22907849}} | encarta |msn encarta = {{label|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{label|Q5375741}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | events = <translate><!--T:41--> Events</translate> | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{label|Q95}} | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{label|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{label|Q209330}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{label|Q1514978}} | linkedin = {{label|Q213660}} | main page | main | home = {{int|mainpage-description}} | mediawiki |mw = {{label|Q83}} | membership = {{ucfirst:{{label|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | notes = {{int|wm-license-artwork-notes}} | objectives = <translate><!--T:43--> Objectives</translate> | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | other = {{int|visualeditor-shortcuts-other}} | overview = <translate><!--T:44--> Overview</translate> | participate = <translate><!--T:45--> Participate</translate> | plan = {{ucfirst:{{label|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | reddit = {{label|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = <translate><!--T:46--> Reports</translate> | research = {{ucfirst:{{label|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | qualtrics |qual = {{label|Q7268803}} | questions |questions? = <translate><!--T:50--> Questions?</translate> | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{label|Q51711}} | scope = <translate><!--T:47--> Scope</translate> | see also = <translate><!--T:26--> See also</translate> | skype = {{label|Q40984}} | social media = {{ucfirst:{{label|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = <translate><!--T:48--> Staff</translate> | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{label|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | telegram = {{label|Q15616276}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{label|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{label|Q57248993}}}} | updates = <translate><!--T:49--> Updates</translate> | whatsapp = {{label|Q1049511}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikipedia = {{label|Q52}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | yahoo |yahoo! = {{label|Q37093}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} l9yfabom6zc153of15wj0xn0253vi6h 10180 10179 2022-11-09T09:29:25Z meta>GVarnum-WMF 0 +average 10180 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|{{TNTN|Int string/doc}}}}</noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{label|Q1376568}}}} | average = {{int|Exif-meteringmode-1}} | background = <translate><!--T:40--> Background</translate> | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = {{int|contribute}} | creative commons |cc = {{label|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{label|Q22907849}} | encarta |msn encarta = {{label|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{label|Q5375741}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | events = <translate><!--T:41--> Events</translate> | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{label|Q95}} | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{label|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{label|Q209330}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{label|Q1514978}} | linkedin = {{label|Q213660}} | main page | main | home = {{int|mainpage-description}} | mediawiki |mw = {{label|Q83}} | membership = {{ucfirst:{{label|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | notes = {{int|wm-license-artwork-notes}} | objectives = <translate><!--T:43--> Objectives</translate> | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | other = {{int|visualeditor-shortcuts-other}} | overview = <translate><!--T:44--> Overview</translate> | participate = <translate><!--T:45--> Participate</translate> | plan = {{ucfirst:{{label|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | reddit = {{label|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = <translate><!--T:46--> Reports</translate> | research = {{ucfirst:{{label|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | qualtrics |qual = {{label|Q7268803}} | questions |questions? = <translate><!--T:50--> Questions?</translate> | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{label|Q51711}} | scope = <translate><!--T:47--> Scope</translate> | see also = <translate><!--T:26--> See also</translate> | skype = {{label|Q40984}} | social media = {{ucfirst:{{label|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = <translate><!--T:48--> Staff</translate> | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{label|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | telegram = {{label|Q15616276}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{label|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{label|Q57248993}}}} | updates = <translate><!--T:49--> Updates</translate> | whatsapp = {{label|Q1049511}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikipedia = {{label|Q52}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | yahoo |yahoo! = {{label|Q37093}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} kf4edsv6p3s2tizhpsb7cgkrjb8xex1 10181 10180 2023-01-14T18:37:08Z meta>Pols12 0 {{[[Template:LabelT|LabelT]]}} (uses page language instead of interface language). −useless {{TNTN}} in {{doc}} call 10181 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | average = {{int|Exif-meteringmode-1}} | background = <translate><!--T:40--> Background</translate> | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{labelT|Q22907849}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = <translate><!--T:41--> Events</translate> | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | mediawiki |mw = {{labelT|Q83}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | notes = {{int|wm-license-artwork-notes}} | objectives = <translate><!--T:43--> Objectives</translate> | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | other = {{int|visualeditor-shortcuts-other}} | overview = <translate><!--T:44--> Overview</translate> | participate = <translate><!--T:45--> Participate</translate> | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = <translate><!--T:46--> Reports</translate> | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = <translate><!--T:50--> Questions?</translate> | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{labelT|Q51711}} | scope = <translate><!--T:47--> Scope</translate> | see also = <translate><!--T:26--> See also</translate> | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = <translate><!--T:48--> Staff</translate> | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | telegram = {{labelT|Q15616276}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = <translate><!--T:49--> Updates</translate> | whatsapp = {{labelT|Q1049511}} | wikibooks = {{labelT|Q367}} | wikidata = {{labelT|Q2013}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{labelT|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{labelT|Q846672}} | wikinews = {{labelT|Q964}} | wikipedia = {{labelT|Q52}} | wikiquote = {{labelT|Q369}} | wikisource = {{labelT|Q263}} | wikispecies = {{labelT|Q13679}} | wikitech = {{labelT|Q104819161}} | wikiversity = {{labelT|Q370}} | wikivoyage = {{labelT|Q373}} | wiktionary |wikt = {{labelT|Q151}} | yahoo |yahoo! = {{labelT|Q37093}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} kbnx50hirf324jxcvbqhpotsy6xdoa6 10182 10181 2023-01-14T18:39:03Z meta>Pols12 0 Oops: doc page name is needed, sorry. 10182 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | average = {{int|Exif-meteringmode-1}} | background = <translate><!--T:40--> Background</translate> | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{labelT|Q22907849}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = <translate><!--T:41--> Events</translate> | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | mediawiki |mw = {{labelT|Q83}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | notes = {{int|wm-license-artwork-notes}} | objectives = <translate><!--T:43--> Objectives</translate> | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | other = {{int|visualeditor-shortcuts-other}} | overview = <translate><!--T:44--> Overview</translate> | participate = <translate><!--T:45--> Participate</translate> | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = <translate><!--T:46--> Reports</translate> | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = <translate><!--T:50--> Questions?</translate> | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{labelT|Q51711}} | scope = <translate><!--T:47--> Scope</translate> | see also = <translate><!--T:26--> See also</translate> | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = <translate><!--T:48--> Staff</translate> | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | telegram = {{labelT|Q15616276}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = <translate><!--T:49--> Updates</translate> | whatsapp = {{labelT|Q1049511}} | wikibooks = {{labelT|Q367}} | wikidata = {{labelT|Q2013}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{labelT|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{labelT|Q846672}} | wikinews = {{labelT|Q964}} | wikipedia = {{labelT|Q52}} | wikiquote = {{labelT|Q369}} | wikisource = {{labelT|Q263}} | wikispecies = {{labelT|Q13679}} | wikitech = {{labelT|Q104819161}} | wikiversity = {{labelT|Q370}} | wikivoyage = {{labelT|Q373}} | wiktionary |wikt = {{labelT|Q151}} | yahoo |yahoo! = {{labelT|Q37093}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} 284ai7fg80v2eicuvhzwmo8lb2cyg22 10183 10182 2023-02-05T18:57:58Z meta>Pols12 0 +Matrix 10183 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | average = {{int|Exif-meteringmode-1}} | background = <translate><!--T:40--> Background</translate> | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{labelT|Q22907849}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = <translate><!--T:41--> Events</translate> | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{labelT|Q83}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | notes = {{int|wm-license-artwork-notes}} | objectives = <translate><!--T:43--> Objectives</translate> | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | other = {{int|visualeditor-shortcuts-other}} | overview = <translate><!--T:44--> Overview</translate> | participate = <translate><!--T:45--> Participate</translate> | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = <translate><!--T:46--> Reports</translate> | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = <translate><!--T:50--> Questions?</translate> | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{labelT|Q51711}} | scope = <translate><!--T:47--> Scope</translate> | see also = <translate><!--T:26--> See also</translate> | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = <translate><!--T:48--> Staff</translate> | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | telegram = {{labelT|Q15616276}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = <translate><!--T:49--> Updates</translate> | whatsapp = {{labelT|Q1049511}} | wikibooks = {{labelT|Q367}} | wikidata = {{labelT|Q2013}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{labelT|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{labelT|Q846672}} | wikinews = {{labelT|Q964}} | wikipedia = {{labelT|Q52}} | wikiquote = {{labelT|Q369}} | wikisource = {{labelT|Q263}} | wikispecies = {{labelT|Q13679}} | wikitech = {{labelT|Q104819161}} | wikiversity = {{labelT|Q370}} | wikivoyage = {{labelT|Q373}} | wiktionary |wikt = {{labelT|Q151}} | yahoo |yahoo! = {{labelT|Q37093}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} d8dxbs0846tniq8a9il4lhosefzqq5f 10184 10183 2023-03-09T21:24:20Z meta>GVarnum-WMF 0 no / yes 10184 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | average = {{int|Exif-meteringmode-1}} | background = <translate><!--T:40--> Background</translate> | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{labelT|Q22907849}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = <translate><!--T:41--> Events</translate> | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{labelT|Q83}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|createpage-no}} | notes = {{int|wm-license-artwork-notes}} | objectives = <translate><!--T:43--> Objectives</translate> | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | other = {{int|visualeditor-shortcuts-other}} | overview = <translate><!--T:44--> Overview</translate> | participate = <translate><!--T:45--> Participate</translate> | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = <translate><!--T:46--> Reports</translate> | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = <translate><!--T:50--> Questions?</translate> | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{labelT|Q51711}} | scope = <translate><!--T:47--> Scope</translate> | see also = <translate><!--T:26--> See also</translate> | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = <translate><!--T:48--> Staff</translate> | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | telegram = {{labelT|Q15616276}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = <translate><!--T:49--> Updates</translate> | whatsapp = {{labelT|Q1049511}} | wikibooks = {{labelT|Q367}} | wikidata = {{labelT|Q2013}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{labelT|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{labelT|Q846672}} | wikinews = {{labelT|Q964}} | wikipedia = {{labelT|Q52}} | wikiquote = {{labelT|Q369}} | wikisource = {{labelT|Q263}} | wikispecies = {{labelT|Q13679}} | wikitech = {{labelT|Q104819161}} | wikiversity = {{labelT|Q370}} | wikivoyage = {{labelT|Q373}} | wiktionary |wikt = {{labelT|Q151}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|createpage-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} lmbvidbeaelee6nwcno03p9hngzpj8x 10185 10184 2023-03-09T21:37:58Z meta>GVarnum-WMF 0 10185 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | average = {{int|Exif-meteringmode-1}} | background = <translate><!--T:40--> Background</translate> | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{labelT|Q22907849}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = <translate><!--T:41--> Events</translate> | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{labelT|Q83}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | objectives = <translate><!--T:43--> Objectives</translate> | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | other = {{int|visualeditor-shortcuts-other}} | overview = <translate><!--T:44--> Overview</translate> | participate = <translate><!--T:45--> Participate</translate> | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = <translate><!--T:46--> Reports</translate> | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = <translate><!--T:50--> Questions?</translate> | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{labelT|Q51711}} | scope = <translate><!--T:47--> Scope</translate> | see also = <translate><!--T:26--> See also</translate> | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = <translate><!--T:48--> Staff</translate> | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | telegram = {{labelT|Q15616276}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = <translate><!--T:49--> Updates</translate> | whatsapp = {{labelT|Q1049511}} | wikibooks = {{labelT|Q367}} | wikidata = {{labelT|Q2013}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{labelT|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{labelT|Q846672}} | wikinews = {{labelT|Q964}} | wikipedia = {{labelT|Q52}} | wikiquote = {{labelT|Q369}} | wikisource = {{labelT|Q263}} | wikispecies = {{labelT|Q13679}} | wikitech = {{labelT|Q104819161}} | wikiversity = {{labelT|Q370}} | wikivoyage = {{labelT|Q373}} | wiktionary |wikt = {{labelT|Q151}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} aw97q1nueplbw89sp4l342qkblql078 10186 10185 2023-03-14T18:03:05Z meta>GVarnum-WMF 0 back to top 10186 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | average = {{int|Exif-meteringmode-1}} | background = <translate><!--T:40--> Background</translate> | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{labelT|Q22907849}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = <translate><!--T:41--> Events</translate> | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{labelT|Q83}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | objectives = <translate><!--T:43--> Objectives</translate> | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | other = {{int|visualeditor-shortcuts-other}} | overview = <translate><!--T:44--> Overview</translate> | participate = <translate><!--T:45--> Participate</translate> | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = <translate><!--T:46--> Reports</translate> | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = <translate><!--T:50--> Questions?</translate> | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{labelT|Q51711}} | scope = <translate><!--T:47--> Scope</translate> | see also = <translate><!--T:26--> See also</translate> | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = <translate><!--T:48--> Staff</translate> | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | telegram = {{labelT|Q15616276}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = <translate><!--T:49--> Updates</translate> | whatsapp = {{labelT|Q1049511}} | wikibooks = {{labelT|Q367}} | wikidata = {{labelT|Q2013}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{labelT|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{labelT|Q846672}} | wikinews = {{labelT|Q964}} | wikipedia = {{labelT|Q52}} | wikiquote = {{labelT|Q369}} | wikisource = {{labelT|Q263}} | wikispecies = {{labelT|Q13679}} | wikitech = {{labelT|Q104819161}} | wikiversity = {{labelT|Q370}} | wikivoyage = {{labelT|Q373}} | wiktionary |wikt = {{labelT|Q151}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} aykstmbdtq9w0v7ykthl9f9y2ptn76j 10187 10186 2023-03-14T18:03:44Z meta>GVarnum-WMF 0 10187 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | average = {{int|Exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = <translate><!--T:40--> Background</translate> | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{labelT|Q22907849}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = <translate><!--T:41--> Events</translate> | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{labelT|Q83}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | objectives = <translate><!--T:43--> Objectives</translate> | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | other = {{int|visualeditor-shortcuts-other}} | overview = <translate><!--T:44--> Overview</translate> | participate = <translate><!--T:45--> Participate</translate> | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = <translate><!--T:46--> Reports</translate> | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = <translate><!--T:50--> Questions?</translate> | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{labelT|Q51711}} | scope = <translate><!--T:47--> Scope</translate> | see also = <translate><!--T:26--> See also</translate> | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = <translate><!--T:48--> Staff</translate> | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | telegram = {{labelT|Q15616276}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = <translate><!--T:49--> Updates</translate> | whatsapp = {{labelT|Q1049511}} | wikibooks = {{labelT|Q367}} | wikidata = {{labelT|Q2013}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{labelT|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{labelT|Q846672}} | wikinews = {{labelT|Q964}} | wikipedia = {{labelT|Q52}} | wikiquote = {{labelT|Q369}} | wikisource = {{labelT|Q263}} | wikispecies = {{labelT|Q13679}} | wikitech = {{labelT|Q104819161}} | wikiversity = {{labelT|Q370}} | wikivoyage = {{labelT|Q373}} | wiktionary |wikt = {{labelT|Q151}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} 3wrcts24paroxiclv58omptbbybtpv4 10188 10187 2023-03-15T01:35:10Z meta>GVarnum-WMF 0 category 10188 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | average = {{int|Exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = <translate><!--T:40--> Background</translate> | category = {{int|visualeditor-dialog-meta-categories-category}} | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{labelT|Q22907849}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = <translate><!--T:41--> Events</translate> | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{labelT|Q83}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | objectives = <translate><!--T:43--> Objectives</translate> | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | other = {{int|visualeditor-shortcuts-other}} | overview = <translate><!--T:44--> Overview</translate> | participate = <translate><!--T:45--> Participate</translate> | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = <translate><!--T:46--> Reports</translate> | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = <translate><!--T:50--> Questions?</translate> | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{labelT|Q51711}} | scope = <translate><!--T:47--> Scope</translate> | see also = <translate><!--T:26--> See also</translate> | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = <translate><!--T:48--> Staff</translate> | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | telegram = {{labelT|Q15616276}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = <translate><!--T:49--> Updates</translate> | whatsapp = {{labelT|Q1049511}} | wikibooks = {{labelT|Q367}} | wikidata = {{labelT|Q2013}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{labelT|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{labelT|Q846672}} | wikinews = {{labelT|Q964}} | wikipedia = {{labelT|Q52}} | wikiquote = {{labelT|Q369}} | wikisource = {{labelT|Q263}} | wikispecies = {{labelT|Q13679}} | wikitech = {{labelT|Q104819161}} | wikiversity = {{labelT|Q370}} | wikivoyage = {{labelT|Q373}} | wiktionary |wikt = {{labelT|Q151}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} 7uz0lz1oslahcag25jv5x4vhnmwbq39 10189 10188 2023-03-15T01:36:36Z meta>GVarnum-WMF 0 10189 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | average = {{int|Exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = <translate><!--T:40--> Background</translate> | category = {{int|nstab-category}} | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{labelT|Q22907849}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = <translate><!--T:41--> Events</translate> | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{labelT|Q83}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | objectives = <translate><!--T:43--> Objectives</translate> | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | other = {{int|visualeditor-shortcuts-other}} | overview = <translate><!--T:44--> Overview</translate> | participate = <translate><!--T:45--> Participate</translate> | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = <translate><!--T:46--> Reports</translate> | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = <translate><!--T:50--> Questions?</translate> | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{labelT|Q51711}} | scope = <translate><!--T:47--> Scope</translate> | see also = <translate><!--T:26--> See also</translate> | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = <translate><!--T:48--> Staff</translate> | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | telegram = {{labelT|Q15616276}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = <translate><!--T:49--> Updates</translate> | whatsapp = {{labelT|Q1049511}} | wikibooks = {{labelT|Q367}} | wikidata = {{labelT|Q2013}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{labelT|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{labelT|Q846672}} | wikinews = {{labelT|Q964}} | wikipedia = {{labelT|Q52}} | wikiquote = {{labelT|Q369}} | wikisource = {{labelT|Q263}} | wikispecies = {{labelT|Q13679}} | wikitech = {{labelT|Q104819161}} | wikiversity = {{labelT|Q370}} | wikivoyage = {{labelT|Q373}} | wiktionary |wikt = {{labelT|Q151}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} b21r83x51zshw0elrosroylqbhfxj9p 10190 10189 2023-03-15T01:58:46Z meta>GVarnum-WMF 0 noticeboard 10190 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | average = {{int|Exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = <translate><!--T:40--> Background</translate> | category = {{int|nstab-category}} | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{labelT|Q22907849}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = <translate><!--T:41--> Events</translate> | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{labelT|Q83}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = <translate>Noticeboard</translate> | objectives = <translate><!--T:43--> Objectives</translate> | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | other = {{int|visualeditor-shortcuts-other}} | overview = <translate><!--T:44--> Overview</translate> | participate = <translate><!--T:45--> Participate</translate> | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = <translate><!--T:46--> Reports</translate> | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = <translate><!--T:50--> Questions?</translate> | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{labelT|Q51711}} | scope = <translate><!--T:47--> Scope</translate> | see also = <translate><!--T:26--> See also</translate> | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = <translate><!--T:48--> Staff</translate> | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | telegram = {{labelT|Q15616276}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = <translate><!--T:49--> Updates</translate> | whatsapp = {{labelT|Q1049511}} | wikibooks = {{labelT|Q367}} | wikidata = {{labelT|Q2013}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{labelT|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{labelT|Q846672}} | wikinews = {{labelT|Q964}} | wikipedia = {{labelT|Q52}} | wikiquote = {{labelT|Q369}} | wikisource = {{labelT|Q263}} | wikispecies = {{labelT|Q13679}} | wikitech = {{labelT|Q104819161}} | wikiversity = {{labelT|Q370}} | wikivoyage = {{labelT|Q373}} | wiktionary |wikt = {{labelT|Q151}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} kijwzy28xwnhkze354rmnnm5dfp5me5 10191 10190 2023-03-15T02:00:57Z meta>GVarnum-WMF 0 Marked this version for translation 10191 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | average = {{int|Exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = <translate><!--T:40--> Background</translate> | category = {{int|nstab-category}} | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{labelT|Q22907849}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = <translate><!--T:41--> Events</translate> | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{labelT|Q83}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = <translate><!--T:51--> Noticeboard</translate> | objectives = <translate><!--T:43--> Objectives</translate> | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | other = {{int|visualeditor-shortcuts-other}} | overview = <translate><!--T:44--> Overview</translate> | participate = <translate><!--T:45--> Participate</translate> | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = <translate><!--T:46--> Reports</translate> | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = <translate><!--T:50--> Questions?</translate> | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{labelT|Q51711}} | scope = <translate><!--T:47--> Scope</translate> | see also = <translate><!--T:26--> See also</translate> | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = <translate><!--T:48--> Staff</translate> | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | telegram = {{labelT|Q15616276}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = <translate><!--T:49--> Updates</translate> | whatsapp = {{labelT|Q1049511}} | wikibooks = {{labelT|Q367}} | wikidata = {{labelT|Q2013}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{labelT|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{labelT|Q846672}} | wikinews = {{labelT|Q964}} | wikipedia = {{labelT|Q52}} | wikiquote = {{labelT|Q369}} | wikisource = {{labelT|Q263}} | wikispecies = {{labelT|Q13679}} | wikitech = {{labelT|Q104819161}} | wikiversity = {{labelT|Q370}} | wikivoyage = {{labelT|Q373}} | wiktionary |wikt = {{labelT|Q151}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} 94pghqspgvuavri2n1ubce4eoqqublz 10192 10191 2023-03-28T06:06:33Z meta>GVarnum-WMF 0 Wikimedia projects, Roadmap 10192 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | average = {{int|Exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = <translate><!--T:40--> Background</translate> | category = {{int|nstab-category}} | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{labelT|Q22907849}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = <translate><!--T:41--> Events</translate> | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{labelT|Q83}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = <translate><!--T:51--> Noticeboard</translate> | objectives = <translate><!--T:43--> Objectives</translate> | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | other = {{int|visualeditor-shortcuts-other}} | overview = <translate><!--T:44--> Overview</translate> | participate = <translate><!--T:45--> Participate</translate> | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = <translate><!--T:50--> Questions?</translate> | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = <translate><!--T:46--> Reports</translate> | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = <translate><!--T:52--> Roadmap</translate> | scope = <translate><!--T:47--> Scope</translate> | see also = <translate><!--T:26--> See also</translate> | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = <translate><!--T:48--> Staff</translate> | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | telegram = {{labelT|Q15616276}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = <translate><!--T:49--> Updates</translate> | whatsapp = {{labelT|Q1049511}} | wikibooks = {{labelT|Q367}} | wikidata = {{labelT|Q2013}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{labelT|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{labelT|Q846672}} | wikimedia projects = <translate><!--T:53--> Wikimedia projects</translate> | wikinews = {{labelT|Q964}} | wikipedia = {{labelT|Q52}} | wikiquote = {{labelT|Q369}} | wikisource = {{labelT|Q263}} | wikispecies = {{labelT|Q13679}} | wikitech = {{labelT|Q104819161}} | wikiversity = {{labelT|Q370}} | wikivoyage = {{labelT|Q373}} | wiktionary |wikt = {{labelT|Q151}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} fxflfpnpqvo5x98m6i1o6vrjf7ez88x 10193 10192 2023-04-09T19:17:40Z meta>Pols12 0 +Lingua Libre 10193 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | average = {{int|Exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = <translate><!--T:40--> Background</translate> | category = {{int|nstab-category}} | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{labelT|Q22907849}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = <translate><!--T:41--> Events</translate> | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{labelT|Q83}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = <translate><!--T:51--> Noticeboard</translate> | objectives = <translate><!--T:43--> Objectives</translate> | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | other = {{int|visualeditor-shortcuts-other}} | overview = <translate><!--T:44--> Overview</translate> | participate = <translate><!--T:45--> Participate</translate> | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = <translate><!--T:50--> Questions?</translate> | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = <translate><!--T:46--> Reports</translate> | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = <translate><!--T:52--> Roadmap</translate> | scope = <translate><!--T:47--> Scope</translate> | see also = <translate><!--T:26--> See also</translate> | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = <translate><!--T:48--> Staff</translate> | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | telegram = {{labelT|Q15616276}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = <translate><!--T:49--> Updates</translate> | whatsapp = {{labelT|Q1049511}} | wikibooks = {{labelT|Q367}} | wikidata = {{labelT|Q2013}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{labelT|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{labelT|Q846672}} | wikimedia projects = <translate><!--T:53--> Wikimedia projects</translate> | wikinews = {{labelT|Q964}} | wikipedia = {{labelT|Q52}} | wikiquote = {{labelT|Q369}} | wikisource = {{labelT|Q263}} | wikispecies = {{labelT|Q13679}} | wikitech = {{labelT|Q104819161}} | wikiversity = {{labelT|Q370}} | wikivoyage = {{labelT|Q373}} | wiktionary |wikt = {{labelT|Q151}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} e9sau0v8u8rew3pg6lsyyyvq4t1ofdy 10194 10193 2023-05-01T13:46:10Z meta>Pols12 0 +Phabricator 10194 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | average = {{int|Exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = <translate><!--T:40--> Background</translate> | category = {{int|nstab-category}} | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{labelT|Q22907849}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = <translate><!--T:41--> Events</translate> | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{labelT|Q83}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = <translate><!--T:51--> Noticeboard</translate> | objectives = <translate><!--T:43--> Objectives</translate> | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | other = {{int|visualeditor-shortcuts-other}} | overview = <translate><!--T:44--> Overview</translate> | participate = <translate><!--T:45--> Participate</translate> | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = <translate><!--T:50--> Questions?</translate> | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = <translate><!--T:46--> Reports</translate> | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = <translate><!--T:52--> Roadmap</translate> | scope = <translate><!--T:47--> Scope</translate> | see also = <translate><!--T:26--> See also</translate> | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = <translate><!--T:48--> Staff</translate> | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | telegram = {{labelT|Q15616276}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = <translate><!--T:49--> Updates</translate> | whatsapp = {{labelT|Q1049511}} | wikibooks = {{labelT|Q367}} | wikidata = {{labelT|Q2013}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{labelT|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{labelT|Q846672}} | wikimedia projects = <translate><!--T:53--> Wikimedia projects</translate> | wikinews = {{labelT|Q964}} | wikipedia = {{labelT|Q52}} | wikiquote = {{labelT|Q369}} | wikisource = {{labelT|Q263}} | wikispecies = {{labelT|Q13679}} | wikitech = {{labelT|Q104819161}} | wikiversity = {{labelT|Q370}} | wikivoyage = {{labelT|Q373}} | wiktionary |wikt = {{labelT|Q151}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} 7gv5taxsql6mj3zjskogsq4udnx893e 10195 10194 2023-05-25T12:21:58Z meta>GVarnum-WMF 0 | approve = {{int|Wikilambda-function-details-table-approve}} 10195 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|Wikilambda-function-details-table-approve}} | average = {{int|Exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = <translate><!--T:40--> Background</translate> | category = {{int|nstab-category}} | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{labelT|Q22907849}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = <translate><!--T:41--> Events</translate> | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{labelT|Q83}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = <translate><!--T:51--> Noticeboard</translate> | objectives = <translate><!--T:43--> Objectives</translate> | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | other = {{int|visualeditor-shortcuts-other}} | overview = <translate><!--T:44--> Overview</translate> | participate = <translate><!--T:45--> Participate</translate> | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = <translate><!--T:50--> Questions?</translate> | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = <translate><!--T:46--> Reports</translate> | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = <translate><!--T:52--> Roadmap</translate> | scope = <translate><!--T:47--> Scope</translate> | see also = <translate><!--T:26--> See also</translate> | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = <translate><!--T:48--> Staff</translate> | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | telegram = {{labelT|Q15616276}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = <translate><!--T:49--> Updates</translate> | whatsapp = {{labelT|Q1049511}} | wikibooks = {{labelT|Q367}} | wikidata = {{labelT|Q2013}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{labelT|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{labelT|Q846672}} | wikimedia projects = <translate><!--T:53--> Wikimedia projects</translate> | wikinews = {{labelT|Q964}} | wikipedia = {{labelT|Q52}} | wikiquote = {{labelT|Q369}} | wikisource = {{labelT|Q263}} | wikispecies = {{labelT|Q13679}} | wikitech = {{labelT|Q104819161}} | wikiversity = {{labelT|Q370}} | wikivoyage = {{labelT|Q373}} | wiktionary |wikt = {{labelT|Q151}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} bzxkatrx0i4d5alabmfyw4pgrk7fkhn 10196 10195 2023-06-20T18:58:51Z meta>GVarnum-WMF 0 | introduction = {{int|Growthexperiments-structuredtask-onboarding-dialog-title}} 10196 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|Wikilambda-function-details-table-approve}} | average = {{int|Exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = <translate><!--T:40--> Background</translate> | category = {{int|nstab-category}} | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{labelT|Q22907849}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = <translate><!--T:41--> Events</translate> | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | introduction = {{int|Growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{labelT|Q83}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = <translate><!--T:51--> Noticeboard</translate> | objectives = <translate><!--T:43--> Objectives</translate> | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | other = {{int|visualeditor-shortcuts-other}} | overview = <translate><!--T:44--> Overview</translate> | participate = <translate><!--T:45--> Participate</translate> | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = <translate><!--T:50--> Questions?</translate> | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = <translate><!--T:46--> Reports</translate> | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = <translate><!--T:52--> Roadmap</translate> | scope = <translate><!--T:47--> Scope</translate> | see also = <translate><!--T:26--> See also</translate> | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = <translate><!--T:48--> Staff</translate> | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | telegram = {{labelT|Q15616276}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = <translate><!--T:49--> Updates</translate> | whatsapp = {{labelT|Q1049511}} | wikibooks = {{labelT|Q367}} | wikidata = {{labelT|Q2013}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{labelT|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{labelT|Q846672}} | wikimedia projects = <translate><!--T:53--> Wikimedia projects</translate> | wikinews = {{labelT|Q964}} | wikipedia = {{labelT|Q52}} | wikiquote = {{labelT|Q369}} | wikisource = {{labelT|Q263}} | wikispecies = {{labelT|Q13679}} | wikitech = {{labelT|Q104819161}} | wikiversity = {{labelT|Q370}} | wikivoyage = {{labelT|Q373}} | wiktionary |wikt = {{labelT|Q151}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} ar0tiui7yfdo8jymaedbhm6cvwmtrwu 10197 10196 2023-08-11T15:03:04Z meta>GVarnum-WMF 0 activities = <translate>Activities</translate> 10197 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | activities = <translate>Activities</translate> | approve = {{int|Wikilambda-function-details-table-approve}} | average = {{int|Exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = <translate><!--T:40--> Background</translate> | category = {{int|nstab-category}} | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{labelT|Q22907849}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = <translate><!--T:41--> Events</translate> | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | introduction = {{int|Growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{labelT|Q83}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = <translate><!--T:51--> Noticeboard</translate> | objectives = <translate><!--T:43--> Objectives</translate> | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | other = {{int|visualeditor-shortcuts-other}} | overview = <translate><!--T:44--> Overview</translate> | participate = <translate><!--T:45--> Participate</translate> | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = <translate><!--T:50--> Questions?</translate> | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = <translate><!--T:46--> Reports</translate> | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = <translate><!--T:52--> Roadmap</translate> | scope = <translate><!--T:47--> Scope</translate> | see also = <translate><!--T:26--> See also</translate> | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = <translate><!--T:48--> Staff</translate> | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | telegram = {{labelT|Q15616276}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = <translate><!--T:49--> Updates</translate> | whatsapp = {{labelT|Q1049511}} | wikibooks = {{labelT|Q367}} | wikidata = {{labelT|Q2013}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{labelT|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{labelT|Q846672}} | wikimedia projects = <translate><!--T:53--> Wikimedia projects</translate> | wikinews = {{labelT|Q964}} | wikipedia = {{labelT|Q52}} | wikiquote = {{labelT|Q369}} | wikisource = {{labelT|Q263}} | wikispecies = {{labelT|Q13679}} | wikitech = {{labelT|Q104819161}} | wikiversity = {{labelT|Q370}} | wikivoyage = {{labelT|Q373}} | wiktionary |wikt = {{labelT|Q151}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} 1f9owb7lz8s49xls01r6nli8gkerpm7 10198 10197 2023-08-11T15:04:27Z meta>GVarnum-WMF 0 Marked this version for translation 10198 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | activities = <translate><!--T:54--> Activities</translate> | approve = {{int|Wikilambda-function-details-table-approve}} | average = {{int|Exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = <translate><!--T:40--> Background</translate> | category = {{int|nstab-category}} | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{labelT|Q22907849}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = <translate><!--T:41--> Events</translate> | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | introduction = {{int|Growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{labelT|Q83}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = <translate><!--T:51--> Noticeboard</translate> | objectives = <translate><!--T:43--> Objectives</translate> | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | other = {{int|visualeditor-shortcuts-other}} | overview = <translate><!--T:44--> Overview</translate> | participate = <translate><!--T:45--> Participate</translate> | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = <translate><!--T:50--> Questions?</translate> | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = <translate><!--T:46--> Reports</translate> | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = <translate><!--T:52--> Roadmap</translate> | scope = <translate><!--T:47--> Scope</translate> | see also = <translate><!--T:26--> See also</translate> | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = <translate><!--T:48--> Staff</translate> | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | telegram = {{labelT|Q15616276}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = <translate><!--T:49--> Updates</translate> | whatsapp = {{labelT|Q1049511}} | wikibooks = {{labelT|Q367}} | wikidata = {{labelT|Q2013}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{labelT|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{labelT|Q846672}} | wikimedia projects = <translate><!--T:53--> Wikimedia projects</translate> | wikinews = {{labelT|Q964}} | wikipedia = {{labelT|Q52}} | wikiquote = {{labelT|Q369}} | wikisource = {{labelT|Q263}} | wikispecies = {{labelT|Q13679}} | wikitech = {{labelT|Q104819161}} | wikiversity = {{labelT|Q370}} | wikivoyage = {{labelT|Q373}} | wiktionary |wikt = {{labelT|Q151}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} 25puht83zxh13hqopec2j24ocnz6mkx 10199 10198 2023-08-11T16:05:05Z meta>GVarnum-WMF 0 minutes = <translate>Minutes</translate> 10199 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | activities = <translate><!--T:54--> Activities</translate> | approve = {{int|Wikilambda-function-details-table-approve}} | average = {{int|Exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = <translate><!--T:40--> Background</translate> | category = {{int|nstab-category}} | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{labelT|Q22907849}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = <translate><!--T:41--> Events</translate> | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | introduction = {{int|Growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{labelT|Q83}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | minutes = <translate>Minutes</translate> | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = <translate><!--T:51--> Noticeboard</translate> | objectives = <translate><!--T:43--> Objectives</translate> | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | other = {{int|visualeditor-shortcuts-other}} | overview = <translate><!--T:44--> Overview</translate> | participate = <translate><!--T:45--> Participate</translate> | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = <translate><!--T:50--> Questions?</translate> | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = <translate><!--T:46--> Reports</translate> | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = <translate><!--T:52--> Roadmap</translate> | scope = <translate><!--T:47--> Scope</translate> | see also = <translate><!--T:26--> See also</translate> | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = <translate><!--T:48--> Staff</translate> | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | telegram = {{labelT|Q15616276}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = <translate><!--T:49--> Updates</translate> | whatsapp = {{labelT|Q1049511}} | wikibooks = {{labelT|Q367}} | wikidata = {{labelT|Q2013}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{labelT|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{labelT|Q846672}} | wikimedia projects = <translate><!--T:53--> Wikimedia projects</translate> | wikinews = {{labelT|Q964}} | wikipedia = {{labelT|Q52}} | wikiquote = {{labelT|Q369}} | wikisource = {{labelT|Q263}} | wikispecies = {{labelT|Q13679}} | wikitech = {{labelT|Q104819161}} | wikiversity = {{labelT|Q370}} | wikivoyage = {{labelT|Q373}} | wiktionary |wikt = {{labelT|Q151}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} n5ememt3hd8hgyyaanbzdgwhax7s4p3 10200 10199 2023-08-11T16:05:23Z meta>GVarnum-WMF 0 Marked this version for translation 10200 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | activities = <translate><!--T:54--> Activities</translate> | approve = {{int|Wikilambda-function-details-table-approve}} | average = {{int|Exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = <translate><!--T:40--> Background</translate> | category = {{int|nstab-category}} | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{labelT|Q22907849}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = <translate><!--T:41--> Events</translate> | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | introduction = {{int|Growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{labelT|Q83}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | minutes = <translate><!--T:55--> Minutes</translate> | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = <translate><!--T:51--> Noticeboard</translate> | objectives = <translate><!--T:43--> Objectives</translate> | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | other = {{int|visualeditor-shortcuts-other}} | overview = <translate><!--T:44--> Overview</translate> | participate = <translate><!--T:45--> Participate</translate> | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = <translate><!--T:50--> Questions?</translate> | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = <translate><!--T:46--> Reports</translate> | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = <translate><!--T:52--> Roadmap</translate> | scope = <translate><!--T:47--> Scope</translate> | see also = <translate><!--T:26--> See also</translate> | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = <translate><!--T:48--> Staff</translate> | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | telegram = {{labelT|Q15616276}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = <translate><!--T:49--> Updates</translate> | whatsapp = {{labelT|Q1049511}} | wikibooks = {{labelT|Q367}} | wikidata = {{labelT|Q2013}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{labelT|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{labelT|Q846672}} | wikimedia projects = <translate><!--T:53--> Wikimedia projects</translate> | wikinews = {{labelT|Q964}} | wikipedia = {{labelT|Q52}} | wikiquote = {{labelT|Q369}} | wikisource = {{labelT|Q263}} | wikispecies = {{labelT|Q13679}} | wikitech = {{labelT|Q104819161}} | wikiversity = {{labelT|Q370}} | wikivoyage = {{labelT|Q373}} | wiktionary |wikt = {{labelT|Q151}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} 5b0cmwne4ygg2o3ewhfahhay2wj8g06 10201 10200 2023-08-12T11:46:01Z meta>Minorax 0 10201 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | activities = <translate><!--T:54--> Activities</translate> | approve = {{int|Wikilambda-function-details-table-approve}} | average = {{int|Exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = <translate><!--T:40--> Background</translate> | blog = <translate> Blog</translate> | category = {{int|nstab-category}} | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{labelT|Q22907849}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = <translate><!--T:41--> Events</translate> | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | introduction = {{int|Growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{labelT|Q83}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | minutes = <translate><!--T:55--> Minutes</translate> | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = <translate><!--T:51--> Noticeboard</translate> | objectives = <translate><!--T:43--> Objectives</translate> | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | other = {{int|visualeditor-shortcuts-other}} | overview = <translate><!--T:44--> Overview</translate> | participate = <translate><!--T:45--> Participate</translate> | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = <translate><!--T:50--> Questions?</translate> | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = <translate><!--T:46--> Reports</translate> | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = <translate><!--T:52--> Roadmap</translate> | scope = <translate><!--T:47--> Scope</translate> | see also = <translate><!--T:26--> See also</translate> | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = <translate><!--T:48--> Staff</translate> | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | telegram = {{labelT|Q15616276}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = <translate><!--T:49--> Updates</translate> | whatsapp = {{labelT|Q1049511}} | wikibooks = {{labelT|Q367}} | wikidata = {{labelT|Q2013}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{labelT|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{labelT|Q846672}} | wikimedia projects = <translate><!--T:53--> Wikimedia projects</translate> | wikinews = {{labelT|Q964}} | wikipedia = {{labelT|Q52}} | wikiquote = {{labelT|Q369}} | wikisource = {{labelT|Q263}} | wikispecies = {{labelT|Q13679}} | wikitech = {{labelT|Q104819161}} | wikiversity = {{labelT|Q370}} | wikivoyage = {{labelT|Q373}} | wiktionary |wikt = {{labelT|Q151}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} s58xnt7sxak2zt6umoxav7fw111oi7q 10202 10201 2023-08-12T11:46:53Z meta>Minorax 0 Marked this version for translation 10202 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | activities = <translate><!--T:54--> Activities</translate> | approve = {{int|Wikilambda-function-details-table-approve}} | average = {{int|Exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = <translate><!--T:40--> Background</translate> | blog = <translate> <!--T:56--> Blog</translate> | category = {{int|nstab-category}} | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{labelT|Q22907849}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = <translate><!--T:41--> Events</translate> | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | introduction = {{int|Growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{labelT|Q83}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | minutes = <translate><!--T:55--> Minutes</translate> | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = <translate><!--T:51--> Noticeboard</translate> | objectives = <translate><!--T:43--> Objectives</translate> | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | other = {{int|visualeditor-shortcuts-other}} | overview = <translate><!--T:44--> Overview</translate> | participate = <translate><!--T:45--> Participate</translate> | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = <translate><!--T:50--> Questions?</translate> | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = <translate><!--T:46--> Reports</translate> | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = <translate><!--T:52--> Roadmap</translate> | scope = <translate><!--T:47--> Scope</translate> | see also = <translate><!--T:26--> See also</translate> | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = <translate><!--T:48--> Staff</translate> | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | telegram = {{labelT|Q15616276}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = <translate><!--T:49--> Updates</translate> | whatsapp = {{labelT|Q1049511}} | wikibooks = {{labelT|Q367}} | wikidata = {{labelT|Q2013}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{labelT|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{labelT|Q846672}} | wikimedia projects = <translate><!--T:53--> Wikimedia projects</translate> | wikinews = {{labelT|Q964}} | wikipedia = {{labelT|Q52}} | wikiquote = {{labelT|Q369}} | wikisource = {{labelT|Q263}} | wikispecies = {{labelT|Q13679}} | wikitech = {{labelT|Q104819161}} | wikiversity = {{labelT|Q370}} | wikivoyage = {{labelT|Q373}} | wiktionary |wikt = {{labelT|Q151}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} kpgc1aru9z9xmvetxvgafo4pwjau4hz 10203 10202 2023-10-04T00:25:16Z meta>GVarnum-WMF 0 +Wikimania and Wikifunctions 10203 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | activities = <translate><!--T:54--> Activities</translate> | approve = {{int|Wikilambda-function-details-table-approve}} | average = {{int|Exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = <translate><!--T:40--> Background</translate> | blog = <translate> <!--T:56--> Blog</translate> | category = {{int|nstab-category}} | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{labelT|Q22907849}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = <translate><!--T:41--> Events</translate> | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | introduction = {{int|Growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{labelT|Q83}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta |metawiki = {{int|project-localized-name-metawiki}} | minutes = <translate><!--T:55--> Minutes</translate> | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = <translate><!--T:51--> Noticeboard</translate> | objectives = <translate><!--T:43--> Objectives</translate> | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | other = {{int|visualeditor-shortcuts-other}} | overview = <translate><!--T:44--> Overview</translate> | participate = <translate><!--T:45--> Participate</translate> | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = <translate><!--T:50--> Questions?</translate> | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = <translate><!--T:46--> Reports</translate> | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = <translate><!--T:52--> Roadmap</translate> | scope = <translate><!--T:47--> Scope</translate> | see also = <translate><!--T:26--> See also</translate> | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = <translate><!--T:48--> Staff</translate> | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | telegram = {{labelT|Q15616276}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = <translate><!--T:49--> Updates</translate> | whatsapp = {{labelT|Q1049511}} | wikibooks = {{labelT|Q367}} | wikidata = {{labelT|Q2013}} | wikimania = {{labelT|Q483279}} | wikifunctions = {{labelT|Q104587954}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{labelT|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{labelT|Q846672}} | wikimedia projects = <translate><!--T:53--> Wikimedia projects</translate> | wikinews = {{labelT|Q964}} | wikipedia = {{labelT|Q52}} | wikiquote = {{labelT|Q369}} | wikisource = {{labelT|Q263}} | wikispecies = {{labelT|Q13679}} | wikitech = {{labelT|Q104819161}} | wikiversity = {{labelT|Q370}} | wikivoyage = {{labelT|Q373}} | wiktionary |wikt = {{labelT|Q151}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} pxpvg3j42l04v9az3zpscfb8vr95zuq 10204 10203 2023-10-14T06:52:23Z meta>GVarnum-WMF 0 archives = <translate>Archives</translate> 10204 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | activities = <translate><!--T:54--> Activities</translate> | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|Wikilambda-function-details-table-approve}} | archives = <translate>Archives</translate> | average = {{int|Exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = <translate><!--T:40--> Background</translate> | blog = <translate> <!--T:56--> Blog</translate> | category = {{int|nstab-category}} | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{labelT|Q22907849}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = <translate><!--T:41--> Events</translate> | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | introduction = {{int|Growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{labelT|Q83}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta |metawiki = {{int|project-localized-name-metawiki}} | minutes = <translate><!--T:55--> Minutes</translate> | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = <translate><!--T:51--> Noticeboard</translate> | objectives = <translate><!--T:43--> Objectives</translate> | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | other = {{int|visualeditor-shortcuts-other}} | overview = <translate><!--T:44--> Overview</translate> | participate = <translate><!--T:45--> Participate</translate> | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = <translate><!--T:50--> Questions?</translate> | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = <translate><!--T:46--> Reports</translate> | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = <translate><!--T:52--> Roadmap</translate> | scope = <translate><!--T:47--> Scope</translate> | see also = <translate><!--T:26--> See also</translate> | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = <translate><!--T:48--> Staff</translate> | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | telegram = {{labelT|Q15616276}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = <translate><!--T:49--> Updates</translate> | whatsapp = {{labelT|Q1049511}} | wikibooks = {{labelT|Q367}} | wikidata = {{labelT|Q2013}} | wikimania = {{labelT|Q483279}} | wikifunctions = {{labelT|Q104587954}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{labelT|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{labelT|Q846672}} | wikimedia projects = <translate><!--T:53--> Wikimedia projects</translate> | wikinews = {{labelT|Q964}} | wikipedia = {{labelT|Q52}} | wikiquote = {{labelT|Q369}} | wikisource = {{labelT|Q263}} | wikispecies = {{labelT|Q13679}} | wikitech = {{labelT|Q104819161}} | wikiversity = {{labelT|Q370}} | wikivoyage = {{labelT|Q373}} | wiktionary |wikt = {{labelT|Q151}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} 904e7acw8hkcfmz7hdmimlpis6qtltq 10205 10204 2023-10-14T06:52:38Z meta>GVarnum-WMF 0 Marked this version for translation 10205 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | activities = <translate><!--T:54--> Activities</translate> | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|Wikilambda-function-details-table-approve}} | archives = <translate><!--T:57--> Archives</translate> | average = {{int|Exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = <translate><!--T:40--> Background</translate> | blog = <translate> <!--T:56--> Blog</translate> | category = {{int|nstab-category}} | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{labelT|Q22907849}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = <translate><!--T:41--> Events</translate> | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | introduction = {{int|Growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{labelT|Q83}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta |metawiki = {{int|project-localized-name-metawiki}} | minutes = <translate><!--T:55--> Minutes</translate> | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = <translate><!--T:51--> Noticeboard</translate> | objectives = <translate><!--T:43--> Objectives</translate> | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | other = {{int|visualeditor-shortcuts-other}} | overview = <translate><!--T:44--> Overview</translate> | participate = <translate><!--T:45--> Participate</translate> | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = <translate><!--T:50--> Questions?</translate> | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = <translate><!--T:46--> Reports</translate> | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = <translate><!--T:52--> Roadmap</translate> | scope = <translate><!--T:47--> Scope</translate> | see also = <translate><!--T:26--> See also</translate> | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = <translate><!--T:48--> Staff</translate> | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | telegram = {{labelT|Q15616276}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = <translate><!--T:49--> Updates</translate> | whatsapp = {{labelT|Q1049511}} | wikibooks = {{labelT|Q367}} | wikidata = {{labelT|Q2013}} | wikimania = {{labelT|Q483279}} | wikifunctions = {{labelT|Q104587954}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{labelT|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{labelT|Q846672}} | wikimedia projects = <translate><!--T:53--> Wikimedia projects</translate> | wikinews = {{labelT|Q964}} | wikipedia = {{labelT|Q52}} | wikiquote = {{labelT|Q369}} | wikisource = {{labelT|Q263}} | wikispecies = {{labelT|Q13679}} | wikitech = {{labelT|Q104819161}} | wikiversity = {{labelT|Q370}} | wikivoyage = {{labelT|Q373}} | wiktionary |wikt = {{labelT|Q151}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} 2w06zv3t2jlxaxpgm7dtff6i9e5da47 10206 10205 2023-10-15T13:22:34Z meta>Minorax 0 10206 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | activities = <translate><!--T:54--> Activities</translate> | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|Wikilambda-function-details-table-approve}} | archives = <translate><!--T:57--> Archives</translate> | average = {{int|Exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = <translate><!--T:40--> Background</translate> | blog = <translate><!--T:56--> Blog</translate> | category = {{int|nstab-category}} | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{labelT|Q22907849}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = <translate><!--T:41--> Events</translate> | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | introduction = {{int|Growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{labelT|Q83}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta |metawiki = {{int|project-localized-name-metawiki}} | minutes = <translate><!--T:55--> Minutes</translate> | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = <translate><!--T:51--> Noticeboard</translate> | objectives = <translate><!--T:43--> Objectives</translate> | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | other = {{int|visualeditor-shortcuts-other}} | overview = <translate><!--T:44--> Overview</translate> | participate = <translate><!--T:45--> Participate</translate> | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = <translate><!--T:50--> Questions?</translate> | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = <translate><!--T:46--> Reports</translate> | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = <translate><!--T:52--> Roadmap</translate> | scope = <translate><!--T:47--> Scope</translate> | see also = <translate><!--T:26--> See also</translate> | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = <translate><!--T:48--> Staff</translate> | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | telegram = {{labelT|Q15616276}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = <translate><!--T:49--> Updates</translate> | whatsapp = {{labelT|Q1049511}} | wikibooks = {{labelT|Q367}} | wikidata = {{labelT|Q2013}} | wikimania = {{labelT|Q483279}} | wikifunctions = {{labelT|Q104587954}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{labelT|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{labelT|Q846672}} | wikimedia projects = <translate><!--T:53--> Wikimedia projects</translate> | wikinews = {{labelT|Q964}} | wikipedia = {{labelT|Q52}} | wikiquote = {{labelT|Q369}} | wikisource = {{labelT|Q263}} | wikispecies = {{labelT|Q13679}} | wikitech = {{labelT|Q104819161}} | wikiversity = {{labelT|Q370}} | wikivoyage = {{labelT|Q373}} | wiktionary |wikt = {{labelT|Q151}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} 92lsv0oaxfvwo8ezvmx42uhv7973euj 10207 10206 2024-01-19T00:14:46Z meta>GVarnum-WMF 0 additional Wikimedia names 10207 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | activities = <translate><!--T:54--> Activities</translate> | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|Wikilambda-function-details-table-approve}} | archives = <translate><!--T:57--> Archives</translate> | average = {{int|Exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = <translate><!--T:40--> Background</translate> | blog = <translate><!--T:56--> Blog</translate> | category = {{int|nstab-category}} | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{labelT|Q22907849}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = <translate><!--T:41--> Events</translate> | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | introduction = {{int|Growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{labelT|Q83}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta |metawiki = {{int|project-localized-name-metawiki}} | minutes = <translate><!--T:55--> Minutes</translate> | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = <translate><!--T:51--> Noticeboard</translate> | objectives = <translate><!--T:43--> Objectives</translate> | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | other = {{int|visualeditor-shortcuts-other}} | overview = <translate><!--T:44--> Overview</translate> | participate = <translate><!--T:45--> Participate</translate> | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = <translate><!--T:50--> Questions?</translate> | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = <translate><!--T:46--> Reports</translate> | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = <translate><!--T:52--> Roadmap</translate> | scope = <translate><!--T:47--> Scope</translate> | see also = <translate><!--T:26--> See also</translate> | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = <translate><!--T:48--> Staff</translate> | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | telegram = {{labelT|Q15616276}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = <translate><!--T:49--> Updates</translate> | whatsapp = {{labelT|Q1049511}} | wikibooks = {{labelT|Q367}} | wikidata = {{labelT|Q2013}} | wikimania = {{labelT|Q483279}} | wikifunctions = {{labelT|Q104587954}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{labelT|Q5760083}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{labelT|Q47467626}} | wikimedia enterprise = {{labelT|Q106204244}} | wikimedia foundation |wmf = {{labelT|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = <translate>Wikimedia Foundation projects</translate> | wikimedia enterprise = {{labelT|Q106204244}} | wikimedia incubator = {{labelT|Q846672}} | wikimedia mailservices = <translate>Wikimedia Mailservices</translate> | wikimedia phabricator = {{labelT|Q42156541}} | wikimedia projects = <translate><!--T:53--> Wikimedia projects</translate> | wikinews = {{labelT|Q964}} | wikipedia = {{labelT|Q52}} | wikiquote = {{labelT|Q369}} | wikisource = {{labelT|Q263}} | wikispecies = {{labelT|Q13679}} | wikistats = <translate>Wikistats</translate> | wikitech = {{labelT|Q104819161}} | wikiversity = {{labelT|Q370}} | wikivoyage = {{labelT|Q373}} | wiktionary |wikt = {{labelT|Q151}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} jjpvmy77e5gvids7fixwhqsunostq8g 10208 10207 2024-01-19T00:16:15Z meta>GVarnum-WMF 0 Marked this version for translation 10208 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | activities = <translate><!--T:54--> Activities</translate> | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|Wikilambda-function-details-table-approve}} | archives = <translate><!--T:57--> Archives</translate> | average = {{int|Exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = <translate><!--T:40--> Background</translate> | blog = <translate><!--T:56--> Blog</translate> | category = {{int|nstab-category}} | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{labelT|Q22907849}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = <translate><!--T:41--> Events</translate> | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | introduction = {{int|Growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{labelT|Q83}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta |metawiki = {{int|project-localized-name-metawiki}} | minutes = <translate><!--T:55--> Minutes</translate> | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = <translate><!--T:51--> Noticeboard</translate> | objectives = <translate><!--T:43--> Objectives</translate> | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | other = {{int|visualeditor-shortcuts-other}} | overview = <translate><!--T:44--> Overview</translate> | participate = <translate><!--T:45--> Participate</translate> | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = <translate><!--T:50--> Questions?</translate> | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = <translate><!--T:46--> Reports</translate> | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = <translate><!--T:52--> Roadmap</translate> | scope = <translate><!--T:47--> Scope</translate> | see also = <translate><!--T:26--> See also</translate> | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = <translate><!--T:48--> Staff</translate> | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | telegram = {{labelT|Q15616276}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = <translate><!--T:49--> Updates</translate> | whatsapp = {{labelT|Q1049511}} | wikibooks = {{labelT|Q367}} | wikidata = {{labelT|Q2013}} | wikimania = {{labelT|Q483279}} | wikifunctions = {{labelT|Q104587954}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{labelT|Q5760083}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{labelT|Q47467626}} | wikimedia enterprise = {{labelT|Q106204244}} | wikimedia foundation |wmf = {{labelT|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = <translate><!--T:58--> Wikimedia Foundation projects</translate> | wikimedia enterprise = {{labelT|Q106204244}} | wikimedia incubator = {{labelT|Q846672}} | wikimedia mailservices = <translate><!--T:59--> Wikimedia Mailservices</translate> | wikimedia phabricator = {{labelT|Q42156541}} | wikimedia projects = <translate><!--T:53--> Wikimedia projects</translate> | wikinews = {{labelT|Q964}} | wikipedia = {{labelT|Q52}} | wikiquote = {{labelT|Q369}} | wikisource = {{labelT|Q263}} | wikispecies = {{labelT|Q13679}} | wikistats = <translate><!--T:60--> Wikistats</translate> | wikitech = {{labelT|Q104819161}} | wikiversity = {{labelT|Q370}} | wikivoyage = {{labelT|Q373}} | wiktionary |wikt = {{labelT|Q151}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} 9kixyh8eewn21yn97wdbmc9ftyg47ne 10209 10208 2024-01-19T00:17:03Z meta>GVarnum-WMF 0 blog -> Q30849 10209 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | activities = <translate><!--T:54--> Activities</translate> | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|Wikilambda-function-details-table-approve}} | archives = <translate><!--T:57--> Archives</translate> | average = {{int|Exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = <translate><!--T:40--> Background</translate> | blog = {{ucfirst:{{labelT|Q30849}}}} | category = {{int|nstab-category}} | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{labelT|Q22907849}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = <translate><!--T:41--> Events</translate> | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | introduction = {{int|Growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{labelT|Q83}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta |metawiki = {{int|project-localized-name-metawiki}} | minutes = <translate><!--T:55--> Minutes</translate> | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = <translate><!--T:51--> Noticeboard</translate> | objectives = <translate><!--T:43--> Objectives</translate> | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | other = {{int|visualeditor-shortcuts-other}} | overview = <translate><!--T:44--> Overview</translate> | participate = <translate><!--T:45--> Participate</translate> | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = <translate><!--T:50--> Questions?</translate> | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = <translate><!--T:46--> Reports</translate> | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = <translate><!--T:52--> Roadmap</translate> | scope = <translate><!--T:47--> Scope</translate> | see also = <translate><!--T:26--> See also</translate> | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = <translate><!--T:48--> Staff</translate> | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | telegram = {{labelT|Q15616276}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = <translate><!--T:49--> Updates</translate> | whatsapp = {{labelT|Q1049511}} | wikibooks = {{labelT|Q367}} | wikidata = {{labelT|Q2013}} | wikimania = {{labelT|Q483279}} | wikifunctions = {{labelT|Q104587954}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{labelT|Q5760083}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{labelT|Q47467626}} | wikimedia enterprise = {{labelT|Q106204244}} | wikimedia foundation |wmf = {{labelT|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = <translate><!--T:58--> Wikimedia Foundation projects</translate> | wikimedia enterprise = {{labelT|Q106204244}} | wikimedia incubator = {{labelT|Q846672}} | wikimedia mailservices = <translate><!--T:59--> Wikimedia Mailservices</translate> | wikimedia phabricator = {{labelT|Q42156541}} | wikimedia projects = <translate><!--T:53--> Wikimedia projects</translate> | wikinews = {{labelT|Q964}} | wikipedia = {{labelT|Q52}} | wikiquote = {{labelT|Q369}} | wikisource = {{labelT|Q263}} | wikispecies = {{labelT|Q13679}} | wikistats = <translate><!--T:60--> Wikistats</translate> | wikitech = {{labelT|Q104819161}} | wikiversity = {{labelT|Q370}} | wikivoyage = {{labelT|Q373}} | wiktionary |wikt = {{labelT|Q151}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} jynbykn954qtfzbco6qpe3xwt1b8azl 10210 10209 2024-01-19T00:31:13Z meta>GVarnum-WMF 0 10210 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | activities = <translate><!--T:54--> Activities</translate> | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|Wikilambda-function-details-table-approve}} | archives = <translate><!--T:57--> Archives</translate> | average = {{int|Exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = <translate><!--T:40--> Background</translate> | blog = {{ucfirst:{{labelT|Q30849}}}} | category = {{int|nstab-category}} | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{labelT|Q22907849}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = <translate><!--T:41--> Events</translate> | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | introduction = {{int|Growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{labelT|Q83}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta |metawiki = {{int|project-localized-name-metawiki}} | minutes = <translate><!--T:55--> Minutes</translate> | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = <translate><!--T:51--> Noticeboard</translate> | objectives = <translate><!--T:43--> Objectives</translate> | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | other = {{int|visualeditor-shortcuts-other}} | overview = <translate><!--T:44--> Overview</translate> | participate = <translate><!--T:45--> Participate</translate> | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = <translate><!--T:50--> Questions?</translate> | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = <translate><!--T:46--> Reports</translate> | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = <translate><!--T:52--> Roadmap</translate> | scope = <translate><!--T:47--> Scope</translate> | see also = <translate><!--T:26--> See also</translate> | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = <translate><!--T:48--> Staff</translate> | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | telegram = {{labelT|Q15616276}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = <translate><!--T:49--> Updates</translate> | whatsapp = {{labelT|Q1049511}} | wikibooks = {{labelT|Q367}} | wikidata = {{labelT|Q2013}} | wikimania = {{labelT|Q483279}} | wikifunctions = {{labelT|Q104587954}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{labelT|Q5760083}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{labelT|Q47467626}} | wikimedia enterprise = {{labelT|Q106204244}} | wikimedia foundation |wmf = {{labelT|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = <translate><!--T:58--> Wikimedia Foundation projects</translate> | wikimedia incubator = {{labelT|Q846672}} | wikimedia mailservices = <translate><!--T:59--> Wikimedia Mailservices</translate> | wikimedia phabricator = {{labelT|Q42156541}} | wikimedia projects = <translate><!--T:53--> Wikimedia projects</translate> | wikinews = {{labelT|Q964}} | wikipedia = {{labelT|Q52}} | wikiquote = {{labelT|Q369}} | wikisource = {{labelT|Q263}} | wikispecies = {{labelT|Q13679}} | wikistats = <translate><!--T:60--> Wikistats</translate> | wikitech = {{labelT|Q104819161}} | wikiversity = {{labelT|Q370}} | wikivoyage = {{labelT|Q373}} | wiktionary |wikt = {{labelT|Q151}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} cvzspfktwo4xgxdzsg95jky01zyuey0 10211 10210 2024-01-19T01:04:12Z meta>GVarnum-WMF 0 roadmap = {{ucfirst:{{labelT|Q106485006}}}} 10211 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | activities = <translate><!--T:54--> Activities</translate> | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|Wikilambda-function-details-table-approve}} | archives = <translate><!--T:57--> Archives</translate> | average = {{int|Exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = <translate><!--T:40--> Background</translate> | blog = {{ucfirst:{{labelT|Q30849}}}} | category = {{int|nstab-category}} | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{labelT|Q22907849}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = <translate><!--T:41--> Events</translate> | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | introduction = {{int|Growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{labelT|Q83}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta |metawiki = {{int|project-localized-name-metawiki}} | minutes = <translate><!--T:55--> Minutes</translate> | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = <translate><!--T:51--> Noticeboard</translate> | objectives = <translate><!--T:43--> Objectives</translate> | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | other = {{int|visualeditor-shortcuts-other}} | overview = <translate><!--T:44--> Overview</translate> | participate = <translate><!--T:45--> Participate</translate> | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = <translate><!--T:50--> Questions?</translate> | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = <translate><!--T:46--> Reports</translate> | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = {{ucfirst:{{labelT|Q106485006}}}} | scope = <translate><!--T:47--> Scope</translate> | see also = <translate><!--T:26--> See also</translate> | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = <translate><!--T:48--> Staff</translate> | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | telegram = {{labelT|Q15616276}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = <translate><!--T:49--> Updates</translate> | whatsapp = {{labelT|Q1049511}} | wikibooks = {{labelT|Q367}} | wikidata = {{labelT|Q2013}} | wikimania = {{labelT|Q483279}} | wikifunctions = {{labelT|Q104587954}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{labelT|Q5760083}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{labelT|Q47467626}} | wikimedia enterprise = {{labelT|Q106204244}} | wikimedia foundation |wmf = {{labelT|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = <translate><!--T:58--> Wikimedia Foundation projects</translate> | wikimedia incubator = {{labelT|Q846672}} | wikimedia mailservices = <translate><!--T:59--> Wikimedia Mailservices</translate> | wikimedia phabricator = {{labelT|Q42156541}} | wikimedia projects = <translate><!--T:53--> Wikimedia projects</translate> | wikinews = {{labelT|Q964}} | wikipedia = {{labelT|Q52}} | wikiquote = {{labelT|Q369}} | wikisource = {{labelT|Q263}} | wikispecies = {{labelT|Q13679}} | wikistats = <translate><!--T:60--> Wikistats</translate> | wikitech = {{labelT|Q104819161}} | wikiversity = {{labelT|Q370}} | wikivoyage = {{labelT|Q373}} | wiktionary |wikt = {{labelT|Q151}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} 7ijmgi4e1xwgcwofdpg29virxiu89nq 10212 10211 2024-01-19T01:15:31Z meta>GVarnum-WMF 0 archives = {{ucfirst:{{labelT|Q56648173}}}} 10212 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | activities = <translate><!--T:54--> Activities</translate> | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|Wikilambda-function-details-table-approve}} | archives = {{ucfirst:{{labelT|Q56648173}}}} | average = {{int|Exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = <translate><!--T:40--> Background</translate> | blog = {{ucfirst:{{labelT|Q30849}}}} | category = {{int|nstab-category}} | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{labelT|Q22907849}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = <translate><!--T:41--> Events</translate> | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | introduction = {{int|Growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{labelT|Q83}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta |metawiki = {{int|project-localized-name-metawiki}} | minutes = <translate><!--T:55--> Minutes</translate> | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = <translate><!--T:51--> Noticeboard</translate> | objectives = <translate><!--T:43--> Objectives</translate> | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | other = {{int|visualeditor-shortcuts-other}} | overview = <translate><!--T:44--> Overview</translate> | participate = <translate><!--T:45--> Participate</translate> | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = <translate><!--T:50--> Questions?</translate> | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = <translate><!--T:46--> Reports</translate> | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = {{ucfirst:{{labelT|Q106485006}}}} | scope = <translate><!--T:47--> Scope</translate> | see also = <translate><!--T:26--> See also</translate> | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = <translate><!--T:48--> Staff</translate> | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | telegram = {{labelT|Q15616276}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = <translate><!--T:49--> Updates</translate> | whatsapp = {{labelT|Q1049511}} | wikibooks = {{labelT|Q367}} | wikidata = {{labelT|Q2013}} | wikimania = {{labelT|Q483279}} | wikifunctions = {{labelT|Q104587954}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{labelT|Q5760083}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{labelT|Q47467626}} | wikimedia enterprise = {{labelT|Q106204244}} | wikimedia foundation |wmf = {{labelT|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = <translate><!--T:58--> Wikimedia Foundation projects</translate> | wikimedia incubator = {{labelT|Q846672}} | wikimedia mailservices = <translate><!--T:59--> Wikimedia Mailservices</translate> | wikimedia phabricator = {{labelT|Q42156541}} | wikimedia projects = <translate><!--T:53--> Wikimedia projects</translate> | wikinews = {{labelT|Q964}} | wikipedia = {{labelT|Q52}} | wikiquote = {{labelT|Q369}} | wikisource = {{labelT|Q263}} | wikispecies = {{labelT|Q13679}} | wikistats = <translate><!--T:60--> Wikistats</translate> | wikitech = {{labelT|Q104819161}} | wikiversity = {{labelT|Q370}} | wikivoyage = {{labelT|Q373}} | wiktionary |wikt = {{labelT|Q151}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} dk1klykncu7csei9t4tgjmaybh32qcq 10213 10212 2024-01-19T01:17:57Z meta>GVarnum-WMF 0 minutes = {{ucfirst:{{labelT|Q2085515}}}} 10213 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | activities = <translate><!--T:54--> Activities</translate> | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|Wikilambda-function-details-table-approve}} | archives = {{ucfirst:{{labelT|Q56648173}}}} | average = {{int|Exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = <translate><!--T:40--> Background</translate> | blog = {{ucfirst:{{labelT|Q30849}}}} | category = {{int|nstab-category}} | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{labelT|Q22907849}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = <translate><!--T:41--> Events</translate> | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | introduction = {{int|Growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{labelT|Q83}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta |metawiki = {{int|project-localized-name-metawiki}} | minutes = {{ucfirst:{{labelT|Q2085515}}}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = <translate><!--T:51--> Noticeboard</translate> | objectives = <translate><!--T:43--> Objectives</translate> | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | other = {{int|visualeditor-shortcuts-other}} | overview = <translate><!--T:44--> Overview</translate> | participate = <translate><!--T:45--> Participate</translate> | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = <translate><!--T:50--> Questions?</translate> | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = <translate><!--T:46--> Reports</translate> | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = {{ucfirst:{{labelT|Q106485006}}}} | scope = <translate><!--T:47--> Scope</translate> | see also = <translate><!--T:26--> See also</translate> | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = <translate><!--T:48--> Staff</translate> | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | telegram = {{labelT|Q15616276}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = <translate><!--T:49--> Updates</translate> | whatsapp = {{labelT|Q1049511}} | wikibooks = {{labelT|Q367}} | wikidata = {{labelT|Q2013}} | wikimania = {{labelT|Q483279}} | wikifunctions = {{labelT|Q104587954}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{labelT|Q5760083}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{labelT|Q47467626}} | wikimedia enterprise = {{labelT|Q106204244}} | wikimedia foundation |wmf = {{labelT|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = <translate><!--T:58--> Wikimedia Foundation projects</translate> | wikimedia incubator = {{labelT|Q846672}} | wikimedia mailservices = <translate><!--T:59--> Wikimedia Mailservices</translate> | wikimedia phabricator = {{labelT|Q42156541}} | wikimedia projects = <translate><!--T:53--> Wikimedia projects</translate> | wikinews = {{labelT|Q964}} | wikipedia = {{labelT|Q52}} | wikiquote = {{labelT|Q369}} | wikisource = {{labelT|Q263}} | wikispecies = {{labelT|Q13679}} | wikistats = <translate><!--T:60--> Wikistats</translate> | wikitech = {{labelT|Q104819161}} | wikiversity = {{labelT|Q370}} | wikivoyage = {{labelT|Q373}} | wiktionary |wikt = {{labelT|Q151}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} ms79wqs853ijvf0lom2d8o00ejevfb3 10214 10213 2024-01-24T01:46:16Z meta>GVarnum-WMF 0 | about = {{int|About}} 10214 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | about = {{int|About}} | activities = <translate><!--T:54--> Activities</translate> | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|Wikilambda-function-details-table-approve}} | archives = {{ucfirst:{{labelT|Q56648173}}}} | average = {{int|Exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = <translate><!--T:40--> Background</translate> | blog = {{ucfirst:{{labelT|Q30849}}}} | category = {{int|nstab-category}} | closed = <translate><!--T:30--> Closed</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{labelT|Q22907849}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = <translate><!--T:41--> Events</translate> | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | introduction = {{int|Growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{labelT|Q83}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta |metawiki = {{int|project-localized-name-metawiki}} | minutes = {{ucfirst:{{labelT|Q2085515}}}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = <translate><!--T:51--> Noticeboard</translate> | objectives = <translate><!--T:43--> Objectives</translate> | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | other = {{int|visualeditor-shortcuts-other}} | overview = <translate><!--T:44--> Overview</translate> | participate = <translate><!--T:45--> Participate</translate> | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = <translate><!--T:50--> Questions?</translate> | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = <translate><!--T:46--> Reports</translate> | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = {{ucfirst:{{labelT|Q106485006}}}} | scope = <translate><!--T:47--> Scope</translate> | see also = <translate><!--T:26--> See also</translate> | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = <translate><!--T:48--> Staff</translate> | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | telegram = {{labelT|Q15616276}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = <translate><!--T:49--> Updates</translate> | whatsapp = {{labelT|Q1049511}} | wikibooks = {{labelT|Q367}} | wikidata = {{labelT|Q2013}} | wikimania = {{labelT|Q483279}} | wikifunctions = {{labelT|Q104587954}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{labelT|Q5760083}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{labelT|Q47467626}} | wikimedia enterprise = {{labelT|Q106204244}} | wikimedia foundation |wmf = {{labelT|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = <translate><!--T:58--> Wikimedia Foundation projects</translate> | wikimedia incubator = {{labelT|Q846672}} | wikimedia mailservices = <translate><!--T:59--> Wikimedia Mailservices</translate> | wikimedia phabricator = {{labelT|Q42156541}} | wikimedia projects = <translate><!--T:53--> Wikimedia projects</translate> | wikinews = {{labelT|Q964}} | wikipedia = {{labelT|Q52}} | wikiquote = {{labelT|Q369}} | wikisource = {{labelT|Q263}} | wikispecies = {{labelT|Q13679}} | wikistats = <translate><!--T:60--> Wikistats</translate> | wikitech = {{labelT|Q104819161}} | wikiversity = {{labelT|Q370}} | wikivoyage = {{labelT|Q373}} | wiktionary |wikt = {{labelT|Q151}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} 7k7cqmathedz5jhr5sfwkzyubu220my 10215 10214 2024-02-16T19:33:54Z meta>GVarnum-WMF 0 agenda = {{int|wm-commonstrings-agenda}} 10215 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | about = {{int|About}} | activities = <translate><!--T:54--> Activities</translate> | agenda = {{int|wm-commonstrings-agenda}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|wikilambda-function-details-table-approve}} | archives = {{ucfirst:{{labelT|Q56648173}}}} | average = {{int|exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = <translate><!--T:40--> Background</translate> | blog = {{ucfirst:{{labelT|Q30849}}}} | category = {{int|nstab-category}} | closed = <translate><!--T:30--> Closed</translate> | done = {{int|upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = <translate><!--T:19--> Connect</translate> | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{labelT|Q22907849}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = <translate><!--T:41--> Events</translate> | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | introduction = {{int|Growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{labelT|Q83}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta |metawiki = {{int|project-localized-name-metawiki}} | minutes = {{ucfirst:{{labelT|Q2085515}}}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = <translate><!--T:51--> Noticeboard</translate> | objectives = <translate><!--T:43--> Objectives</translate> | ongoing = <translate><!--T:32--> Ongoing</translate> | open = <translate><!--T:31--> Open</translate> | other = {{int|visualeditor-shortcuts-other}} | overview = <translate><!--T:44--> Overview</translate> | participate = <translate><!--T:45--> Participate</translate> | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = <translate><!--T:50--> Questions?</translate> | quicksurveys |qsurveys = <translate><!--T:38--> QuickSurveys</translate> | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = <translate><!--T:46--> Reports</translate> | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = {{ucfirst:{{labelT|Q106485006}}}} | scope = <translate><!--T:47--> Scope</translate> | see also = <translate><!--T:26--> See also</translate> | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = <translate><!--T:48--> Staff</translate> | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = <translate><!--T:29--> Talk to us</translate> | telegram = {{labelT|Q15616276}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = <translate><!--T:49--> Updates</translate> | whatsapp = {{labelT|Q1049511}} | wikibooks = {{labelT|Q367}} | wikidata = {{labelT|Q2013}} | wikimania = {{labelT|Q483279}} | wikifunctions = {{labelT|Q104587954}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{labelT|Q5760083}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{labelT|Q47467626}} | wikimedia enterprise = {{labelT|Q106204244}} | wikimedia foundation |wmf = {{labelT|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = <translate><!--T:58--> Wikimedia Foundation projects</translate> | wikimedia incubator = {{labelT|Q846672}} | wikimedia mailservices = <translate><!--T:59--> Wikimedia Mailservices</translate> | wikimedia phabricator = {{labelT|Q42156541}} | wikimedia projects = <translate><!--T:53--> Wikimedia projects</translate> | wikinews = {{labelT|Q964}} | wikipedia = {{labelT|Q52}} | wikiquote = {{labelT|Q369}} | wikisource = {{labelT|Q263}} | wikispecies = {{labelT|Q13679}} | wikistats = <translate><!--T:60--> Wikistats</translate> | wikitech = {{labelT|Q104819161}} | wikiversity = {{labelT|Q370}} | wikivoyage = {{labelT|Q373}} | wiktionary |wikt = {{labelT|Q151}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} ls920jy85axgvv9jex4mlm0wotnrxf9 10216 10215 2024-02-23T06:49:59Z meta>GVarnum-WMF 0 more use of system messages 10216 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | about = {{int|about}} | activities = <translate><!--T:54--> Activities</translate> | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|wikilambda-function-details-table-approve}} | archives = {{ucfirst:{{labelT|Q56648173}}}} | average = {{int|exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = {{int|wm-commonstrings-background}} | blog = {{ucfirst:{{labelT|Q30849}}}} | category = {{int|nstab-category}} | closed = {{int|wm-commonstrings-closed}} | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = {{int|wm-commonstrings-connect}} | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{labelT|Q22907849}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = {{int|wm-commonstrings-events}} | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | introduction = {{int|growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{labelT|Q83}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta |metawiki = {{int|project-localized-name-metawiki}} | minutes = {{ucfirst:{{labelT|Q2085515}}}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = <translate><!--T:51--> Noticeboard</translate> | objectives = {{int|wm-commonstrings-objectives}} | ongoing = {{int|wm-commonstrings-ongoing}} | open = {{int|wm-commonstrings-open}} | other = {{int|visualeditor-shortcuts-other}} | overview = {{int|wm-commonstrings-overview}} | participate = {{int|wm-commonstrings-participate}} | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = {{int|wm-commonstrings-questions}} | quicksurveys |qsurveys = {{int|ext-quicksurveys-name}} | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = {{int|wm-commonstrings-reports}} | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = {{ucfirst:{{labelT|Q106485006}}}} | scope = {{int|wm-commonstrings-scope}} | see also = {{int|wm-commonstrings-seealso}} | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = {{int|wm-commonstrings-staff}} | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = {{int|wm-commonstrings-talktous}} | telegram = {{labelT|Q15616276}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = {{int|wm-commonstrings-updates}} | whatsapp = {{labelT|Q1049511}} | wikibooks = {{labelT|Q367}} | wikidata = {{labelT|Q2013}} | wikimania = {{labelT|Q483279}} | wikifunctions = {{labelT|Q104587954}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{labelT|Q5760083}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{labelT|Q47467626}} | wikimedia enterprise = {{labelT|Q106204244}} | wikimedia foundation |wmf = {{labelT|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = {{int|wikimedia-foundation-projects-label}} | wikimedia incubator = {{labelT|Q846672}} | wikimedia mailservices = {{int|wikimedia-mailservices-label}} | wikimedia phabricator = {{labelT|Q42156541}} | wikimedia projects = {{int|wikimedia-projects-label}} | wikinews = {{labelT|Q964}} | wikipedia = {{labelT|Q52}} | wikiquote = {{labelT|Q369}} | wikisource = {{labelT|Q263}} | wikispecies = {{labelT|Q13679}} | wikistats = {{int|wikimedia-wikistats-label}} | wikitech = {{labelT|Q104819161}} | wikiversity = {{labelT|Q370}} | wikivoyage = {{labelT|Q373}} | wiktionary |wikt = {{labelT|Q151}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} qcg2dcblcdmyh36xbglkw1k4xec9f3h 10217 10216 2024-02-23T07:00:34Z meta>GVarnum-WMF 0 | wikimedia incubator = {{int|project-localized-name-incubatorwiki}} 10217 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | about = {{int|about}} | activities = <translate><!--T:54--> Activities</translate> | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|wikilambda-function-details-table-approve}} | archives = {{ucfirst:{{labelT|Q56648173}}}} | average = {{int|exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = {{int|wm-commonstrings-background}} | blog = {{ucfirst:{{labelT|Q30849}}}} | category = {{int|nstab-category}} | closed = {{int|wm-commonstrings-closed}} | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = {{int|wm-commonstrings-connect}} | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{labelT|Q22907849}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = {{int|wm-commonstrings-events}} | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | introduction = {{int|growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{labelT|Q83}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta |metawiki = {{int|project-localized-name-metawiki}} | minutes = {{ucfirst:{{labelT|Q2085515}}}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = <translate><!--T:51--> Noticeboard</translate> | objectives = {{int|wm-commonstrings-objectives}} | ongoing = {{int|wm-commonstrings-ongoing}} | open = {{int|wm-commonstrings-open}} | other = {{int|visualeditor-shortcuts-other}} | overview = {{int|wm-commonstrings-overview}} | participate = {{int|wm-commonstrings-participate}} | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = {{int|wm-commonstrings-questions}} | quicksurveys |qsurveys = {{int|ext-quicksurveys-name}} | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = {{int|wm-commonstrings-reports}} | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = {{ucfirst:{{labelT|Q106485006}}}} | scope = {{int|wm-commonstrings-scope}} | see also = {{int|wm-commonstrings-seealso}} | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = {{int|wm-commonstrings-staff}} | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = {{int|wm-commonstrings-talktous}} | telegram = {{labelT|Q15616276}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = {{int|wm-commonstrings-updates}} | whatsapp = {{labelT|Q1049511}} | wikibooks = {{labelT|Q367}} | wikidata = {{labelT|Q2013}} | wikimania = {{labelT|Q483279}} | wikifunctions = {{labelT|Q104587954}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{labelT|Q5760083}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{labelT|Q47467626}} | wikimedia enterprise = {{labelT|Q106204244}} | wikimedia foundation |wmf = {{labelT|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = {{int|wikimedia-foundation-projects-label}} | wikimedia incubator = {{int|project-localized-name-incubatorwiki}} | wikimedia mailservices = {{int|wikimedia-mailservices-label}} | wikimedia phabricator = {{labelT|Q42156541}} | wikimedia projects = {{int|wikimedia-projects-label}} | wikinews = {{labelT|Q964}} | wikipedia = {{labelT|Q52}} | wikiquote = {{labelT|Q369}} | wikisource = {{labelT|Q263}} | wikispecies = {{labelT|Q13679}} | wikistats = {{int|wikimedia-wikistats-label}} | wikitech = {{labelT|Q104819161}} | wikiversity = {{labelT|Q370}} | wikivoyage = {{labelT|Q373}} | wiktionary |wikt = {{labelT|Q151}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} ldzhogyhu5zk51io49h3lkp1sa6kfkh 10218 10217 2024-02-23T07:30:22Z meta>GVarnum-WMF 0 more use of system messages; test wikipedia = {{int|project-localized-name-testwiki}}; wikimedia outreach |wikimedia outreach wiki = {{int|project-localized-name-outreachwiki}} 10218 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | about = {{int|about}} | activities = <translate><!--T:54--> Activities</translate> | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|wikilambda-function-details-table-approve}} | archives = {{ucfirst:{{labelT|Q56648173}}}} | average = {{int|exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = {{int|wm-commonstrings-background}} | blog = {{ucfirst:{{labelT|Q30849}}}} | category = {{int|nstab-category}} | closed = {{int|wm-commonstrings-closed}} | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = {{int|wm-commonstrings-connect}} | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{labelT|Q22907849}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = {{int|wm-commonstrings-events}} | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | introduction = {{int|growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{int|wikibase-sitelinks-sitename-mediawikiwiki}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta |metawiki = {{int|project-localized-name-metawiki}} | minutes = {{ucfirst:{{labelT|Q2085515}}}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = <translate><!--T:51--> Noticeboard</translate> | objectives = {{int|wm-commonstrings-objectives}} | ongoing = {{int|wm-commonstrings-ongoing}} | open = {{int|wm-commonstrings-open}} | other = {{int|visualeditor-shortcuts-other}} | overview = {{int|wm-commonstrings-overview}} | participate = {{int|wm-commonstrings-participate}} | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = {{int|wm-commonstrings-questions}} | quicksurveys |qsurveys = {{int|ext-quicksurveys-name}} | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = {{int|wm-commonstrings-reports}} | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = {{ucfirst:{{labelT|Q106485006}}}} | scope = {{int|wm-commonstrings-scope}} | see also = {{int|wm-commonstrings-seealso}} | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = {{int|wm-commonstrings-staff}} | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = {{int|wm-commonstrings-talktous}} | telegram = {{labelT|Q15616276}} | test wikipedia = {{int|project-localized-name-testwiki}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = {{int|wm-commonstrings-updates}} | whatsapp = {{labelT|Q1049511}} | wikibooks = {{int|wikibase-sitelinks-wikibooks}} | wikidata = {{int|wikibase-repo-name}} | wikimania = {{int|project-localized-name-wikimaniawiki}} | wikifunctions = {{int|wikibase-otherprojects-wikifunctions}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{labelT|Q5760083}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{labelT|Q47467626}} | wikimedia enterprise = {{labelT|Q106204244}} | wikimedia foundation |wmf = {{int|wikibase-otherprojects-foundation}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = {{int|wikimedia-foundation-projects-label}} | wikimedia incubator = {{int|project-localized-name-incubatorwiki}} | wikimedia mailservices = {{int|wikimedia-mailservices-label}} | wikimedia outreach |wikimedia outreach wiki = {{int|project-localized-name-outreachwiki}} | wikimedia phabricator = {{labelT|Q42156541}} | wikimedia projects = {{int|wikimedia-projects-label}} | wikinews = {{int|wikibase-sitelinks-wikinews}} | wikipedia = {{int|wikibase-sitelinks-wikipedia}} | wikiquote = {{int|wikibase-sitelinks-wikiquote}} | wikisource = {{int|wikibase-sitelinks-wikisource}} | wikispecies = {{int|wikibase-otherprojects-species}} | wikistats = {{int|wikimedia-wikistats-label}} | wikitech = {{int|project-localized-name-labswiki}} | wikiversity = {{int|wikibase-sitelinks-wikiversity}} | wikivoyage = {{int|wikibase-sitelinks-wikivoyage}} | wiktionary |wikt = {{int|wikibase-sitelinks-wiktionary}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} ne3e0iiw0t8155bxdn8l5u073agqx7k 10219 10218 2024-02-23T07:50:17Z meta>GVarnum-WMF 0 alphabetizing fixes 10219 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | about = {{int|about}} | activities = <translate><!--T:54--> Activities</translate> | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|wikilambda-function-details-table-approve}} | archives = {{ucfirst:{{labelT|Q56648173}}}} | average = {{int|exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = {{int|wm-commonstrings-background}} | blog = {{ucfirst:{{labelT|Q30849}}}} | category = {{int|nstab-category}} | closed = {{int|wm-commonstrings-closed}} | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = {{int|wm-commonstrings-connect}} | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discord = {{labelT|Q22907849}} | discussion = {{int|talk}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = {{int|wm-commonstrings-events}} | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | introduction = {{int|growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{int|wikibase-sitelinks-sitename-mediawikiwiki}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta |metawiki = {{int|project-localized-name-metawiki}} | minutes = {{ucfirst:{{labelT|Q2085515}}}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = <translate><!--T:51--> Noticeboard</translate> | objectives = {{int|wm-commonstrings-objectives}} | ongoing = {{int|wm-commonstrings-ongoing}} | open = {{int|wm-commonstrings-open}} | other = {{int|visualeditor-shortcuts-other}} | overview = {{int|wm-commonstrings-overview}} | participate = {{int|wm-commonstrings-participate}} | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = {{int|wm-commonstrings-questions}} | quicksurveys |qsurveys = {{int|ext-quicksurveys-name}} | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = {{int|wm-commonstrings-reports}} | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = {{ucfirst:{{labelT|Q106485006}}}} | scope = {{int|wm-commonstrings-scope}} | see also = {{int|wm-commonstrings-seealso}} | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | staff = {{int|wm-commonstrings-staff}} | start = {{int|pagetriage-filter-predicted-class-start}} | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = {{int|wm-commonstrings-talktous}} | telegram = {{labelT|Q15616276}} | test wikipedia = {{int|project-localized-name-testwiki}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = {{int|wm-commonstrings-updates}} | whatsapp = {{labelT|Q1049511}} | wikibooks = {{int|wikibase-sitelinks-wikibooks}} | wikidata = {{int|wikibase-repo-name}} | wikifunctions = {{int|wikibase-otherprojects-wikifunctions}} | wikimania = {{int|project-localized-name-wikimaniawiki}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{labelT|Q5760083}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{labelT|Q47467626}} | wikimedia enterprise = {{labelT|Q106204244}} | wikimedia foundation |wmf = {{int|wikibase-otherprojects-foundation}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = {{int|wikimedia-foundation-projects-label}} | wikimedia incubator = {{int|project-localized-name-incubatorwiki}} | wikimedia mailservices = {{int|wikimedia-mailservices-label}} | wikimedia outreach |wikimedia outreach wiki = {{int|project-localized-name-outreachwiki}} | wikimedia phabricator = {{labelT|Q42156541}} | wikimedia projects = {{int|wikimedia-projects-label}} | wikinews = {{int|wikibase-sitelinks-wikinews}} | wikipedia = {{int|wikibase-sitelinks-wikipedia}} | wikiquote = {{int|wikibase-sitelinks-wikiquote}} | wikisource = {{int|wikibase-sitelinks-wikisource}} | wikispecies = {{int|wikibase-otherprojects-species}} | wikistats = {{int|wikimedia-wikistats-label}} | wikitech = {{int|project-localized-name-labswiki}} | wikiversity = {{int|wikibase-sitelinks-wikiversity}} | wikivoyage = {{int|wikibase-sitelinks-wikivoyage}} | wiktionary |wikt = {{int|wikibase-sitelinks-wiktionary}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} 0or239uuqok4iowwjc3co8g2r3eyjkm 10220 10219 2024-03-06T06:38:00Z meta>GVarnum-WMF 0 more use of system messages 10220 wikitext text/x-wiki <noinclude><languages /><translate><tvar name="1"></tvar></translate> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | about = {{int|about}} | activities = {{int|wm-commonstrings-activities}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|wikilambda-function-details-table-approve}} | archives = {{ucfirst:{{labelT|Q56648173}}}} | average = {{int|exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = {{int|wm-commonstrings-background}} | blog = {{ucfirst:{{labelT|Q30849}}}} | category = {{int|nstab-category}} | closed = {{int|wm-commonstrings-closed}} | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = {{int|wm-commonstrings-connect}} | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discord = {{labelT|Q22907849}} | discussion = {{int|talk}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = {{int|wm-commonstrings-events}} | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | introduction = {{int|growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{int|wikibase-sitelinks-sitename-mediawikiwiki}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta |metawiki = {{int|project-localized-name-metawiki}} | minutes = {{ucfirst:{{labelT|Q2085515}}}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = {{int|wm-commonstrings-noticeboard}} | objectives = {{int|wm-commonstrings-objectives}} | ongoing = {{int|wm-commonstrings-ongoing}} | open = {{int|wm-commonstrings-open}} | other = {{int|visualeditor-shortcuts-other}} | overview = {{int|wm-commonstrings-overview}} | participate = {{int|wm-commonstrings-participate}} | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = {{int|wm-commonstrings-questions}} | quicksurveys |qsurveys = {{int|ext-quicksurveys-name}} | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = {{int|wm-commonstrings-reports}} | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = {{ucfirst:{{labelT|Q106485006}}}} | scope = {{int|wm-commonstrings-scope}} | see also = {{int|wm-commonstrings-seealso}} | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | staff = {{int|wm-commonstrings-staff}} | start = {{int|pagetriage-filter-predicted-class-start}} | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = {{int|wm-commonstrings-talktous}} | telegram = {{labelT|Q15616276}} | test wikipedia = {{int|project-localized-name-testwiki}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = {{int|wm-commonstrings-updates}} | whatsapp = {{labelT|Q1049511}} | wikibooks = {{int|wikibase-sitelinks-wikibooks}} | wikidata = {{int|wikibase-repo-name}} | wikifunctions = {{int|wikibase-otherprojects-wikifunctions}} | wikimania = {{int|project-localized-name-wikimaniawiki}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{labelT|Q5760083}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{labelT|Q47467626}} | wikimedia enterprise = {{labelT|Q106204244}} | wikimedia foundation |wmf = {{int|wikibase-otherprojects-foundation}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = {{int|wikimedia-foundation-projects-label}} | wikimedia incubator = {{int|project-localized-name-incubatorwiki}} | wikimedia mailservices = {{int|wikimedia-mailservices-label}} | wikimedia outreach |wikimedia outreach wiki = {{int|project-localized-name-outreachwiki}} | wikimedia phabricator = {{labelT|Q42156541}} | wikimedia projects = {{int|wikimedia-projects-label}} | wikinews = {{int|wikibase-sitelinks-wikinews}} | wikipedia = {{int|wikibase-sitelinks-wikipedia}} | wikiquote = {{int|wikibase-sitelinks-wikiquote}} | wikisource = {{int|wikibase-sitelinks-wikisource}} | wikispecies = {{int|wikibase-otherprojects-species}} | wikistats = {{int|wikimedia-wikistats-label}} | wikitech = {{int|project-localized-name-labswiki}} | wikiversity = {{int|wikibase-sitelinks-wikiversity}} | wikivoyage = {{int|wikibase-sitelinks-wikivoyage}} | wiktionary |wikt = {{int|wikibase-sitelinks-wiktionary}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} 0nultkh9ejzf415pllmno7wjrujv5we 10221 10220 2024-03-06T06:38:26Z meta>GVarnum-WMF 0 Marked this version for translation 10221 wikitext text/x-wiki <noinclude><languages /><translate><!--T:61--> <tvar name="1"></tvar></translate> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | about = {{int|about}} | activities = {{int|wm-commonstrings-activities}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|wikilambda-function-details-table-approve}} | archives = {{ucfirst:{{labelT|Q56648173}}}} | average = {{int|exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = {{int|wm-commonstrings-background}} | blog = {{ucfirst:{{labelT|Q30849}}}} | category = {{int|nstab-category}} | closed = {{int|wm-commonstrings-closed}} | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = {{int|wm-commonstrings-connect}} | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discord = {{labelT|Q22907849}} | discussion = {{int|talk}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = {{int|wm-commonstrings-events}} | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | introduction = {{int|growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{int|wikibase-sitelinks-sitename-mediawikiwiki}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta |metawiki = {{int|project-localized-name-metawiki}} | minutes = {{ucfirst:{{labelT|Q2085515}}}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = {{int|wm-commonstrings-noticeboard}} | objectives = {{int|wm-commonstrings-objectives}} | ongoing = {{int|wm-commonstrings-ongoing}} | open = {{int|wm-commonstrings-open}} | other = {{int|visualeditor-shortcuts-other}} | overview = {{int|wm-commonstrings-overview}} | participate = {{int|wm-commonstrings-participate}} | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = {{int|wm-commonstrings-questions}} | quicksurveys |qsurveys = {{int|ext-quicksurveys-name}} | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = {{int|wm-commonstrings-reports}} | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = {{ucfirst:{{labelT|Q106485006}}}} | scope = {{int|wm-commonstrings-scope}} | see also = {{int|wm-commonstrings-seealso}} | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | staff = {{int|wm-commonstrings-staff}} | start = {{int|pagetriage-filter-predicted-class-start}} | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = {{int|wm-commonstrings-talktous}} | telegram = {{labelT|Q15616276}} | test wikipedia = {{int|project-localized-name-testwiki}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = {{int|wm-commonstrings-updates}} | whatsapp = {{labelT|Q1049511}} | wikibooks = {{int|wikibase-sitelinks-wikibooks}} | wikidata = {{int|wikibase-repo-name}} | wikifunctions = {{int|wikibase-otherprojects-wikifunctions}} | wikimania = {{int|project-localized-name-wikimaniawiki}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{labelT|Q5760083}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{labelT|Q47467626}} | wikimedia enterprise = {{labelT|Q106204244}} | wikimedia foundation |wmf = {{int|wikibase-otherprojects-foundation}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = {{int|wikimedia-foundation-projects-label}} | wikimedia incubator = {{int|project-localized-name-incubatorwiki}} | wikimedia mailservices = {{int|wikimedia-mailservices-label}} | wikimedia outreach |wikimedia outreach wiki = {{int|project-localized-name-outreachwiki}} | wikimedia phabricator = {{labelT|Q42156541}} | wikimedia projects = {{int|wikimedia-projects-label}} | wikinews = {{int|wikibase-sitelinks-wikinews}} | wikipedia = {{int|wikibase-sitelinks-wikipedia}} | wikiquote = {{int|wikibase-sitelinks-wikiquote}} | wikisource = {{int|wikibase-sitelinks-wikisource}} | wikispecies = {{int|wikibase-otherprojects-species}} | wikistats = {{int|wikimedia-wikistats-label}} | wikitech = {{int|project-localized-name-labswiki}} | wikiversity = {{int|wikibase-sitelinks-wikiversity}} | wikivoyage = {{int|wikibase-sitelinks-wikivoyage}} | wiktionary |wikt = {{int|wikibase-sitelinks-wiktionary}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} cn9fjabfldo9zs74tk838kicovk02mu 10222 10221 2024-03-06T06:47:46Z meta>GVarnum-WMF 0 <translate>External links</translate> 10222 wikitext text/x-wiki <noinclude><languages /><translate><!--T:61--> <tvar name="1"></tvar></translate> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | about = {{int|about}} | activities = {{int|wm-commonstrings-activities}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|wikilambda-function-details-table-approve}} | archives = {{ucfirst:{{labelT|Q56648173}}}} | average = {{int|exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = {{int|wm-commonstrings-background}} | blog = {{ucfirst:{{labelT|Q30849}}}} | category = {{int|nstab-category}} | closed = {{int|wm-commonstrings-closed}} | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = {{int|wm-commonstrings-connect}} | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discord = {{labelT|Q22907849}} | discussion = {{int|talk}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = {{int|wm-commonstrings-events}} | external links = <translate>External links</translate> | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | introduction = {{int|growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{int|wikibase-sitelinks-sitename-mediawikiwiki}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta |metawiki = {{int|project-localized-name-metawiki}} | minutes = {{ucfirst:{{labelT|Q2085515}}}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = {{int|wm-commonstrings-noticeboard}} | objectives = {{int|wm-commonstrings-objectives}} | ongoing = {{int|wm-commonstrings-ongoing}} | open = {{int|wm-commonstrings-open}} | other = {{int|visualeditor-shortcuts-other}} | overview = {{int|wm-commonstrings-overview}} | participate = {{int|wm-commonstrings-participate}} | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = {{int|wm-commonstrings-questions}} | quicksurveys |qsurveys = {{int|ext-quicksurveys-name}} | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = {{int|wm-commonstrings-reports}} | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = {{ucfirst:{{labelT|Q106485006}}}} | scope = {{int|wm-commonstrings-scope}} | see also = {{int|wm-commonstrings-seealso}} | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | staff = {{int|wm-commonstrings-staff}} | start = {{int|pagetriage-filter-predicted-class-start}} | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = {{int|wm-commonstrings-talktous}} | telegram = {{labelT|Q15616276}} | test wikipedia = {{int|project-localized-name-testwiki}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = {{int|wm-commonstrings-updates}} | whatsapp = {{labelT|Q1049511}} | wikibooks = {{int|wikibase-sitelinks-wikibooks}} | wikidata = {{int|wikibase-repo-name}} | wikifunctions = {{int|wikibase-otherprojects-wikifunctions}} | wikimania = {{int|project-localized-name-wikimaniawiki}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{labelT|Q5760083}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{labelT|Q47467626}} | wikimedia enterprise = {{labelT|Q106204244}} | wikimedia foundation |wmf = {{int|wikibase-otherprojects-foundation}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = {{int|wikimedia-foundation-projects-label}} | wikimedia incubator = {{int|project-localized-name-incubatorwiki}} | wikimedia mailservices = {{int|wikimedia-mailservices-label}} | wikimedia outreach |wikimedia outreach wiki = {{int|project-localized-name-outreachwiki}} | wikimedia phabricator = {{labelT|Q42156541}} | wikimedia projects = {{int|wikimedia-projects-label}} | wikinews = {{int|wikibase-sitelinks-wikinews}} | wikipedia = {{int|wikibase-sitelinks-wikipedia}} | wikiquote = {{int|wikibase-sitelinks-wikiquote}} | wikisource = {{int|wikibase-sitelinks-wikisource}} | wikispecies = {{int|wikibase-otherprojects-species}} | wikistats = {{int|wikimedia-wikistats-label}} | wikitech = {{int|project-localized-name-labswiki}} | wikiversity = {{int|wikibase-sitelinks-wikiversity}} | wikivoyage = {{int|wikibase-sitelinks-wikivoyage}} | wiktionary |wikt = {{int|wikibase-sitelinks-wiktionary}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} hfhbuybkqv2rsg28hjzzvqxi31x30z1 10223 10222 2024-03-06T06:48:08Z meta>GVarnum-WMF 0 Marked this version for translation 10223 wikitext text/x-wiki <noinclude><languages /><translate><!--T:61--> <tvar name="1"></tvar></translate> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | about = {{int|about}} | activities = {{int|wm-commonstrings-activities}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|wikilambda-function-details-table-approve}} | archives = {{ucfirst:{{labelT|Q56648173}}}} | average = {{int|exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = {{int|wm-commonstrings-background}} | blog = {{ucfirst:{{labelT|Q30849}}}} | category = {{int|nstab-category}} | closed = {{int|wm-commonstrings-closed}} | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = {{int|wm-commonstrings-connect}} | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discord = {{labelT|Q22907849}} | discussion = {{int|talk}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = {{int|wm-commonstrings-events}} | external links = <translate><!--T:62--> External links</translate> | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | introduction = {{int|growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{int|wikibase-sitelinks-sitename-mediawikiwiki}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta |metawiki = {{int|project-localized-name-metawiki}} | minutes = {{ucfirst:{{labelT|Q2085515}}}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = {{int|wm-commonstrings-noticeboard}} | objectives = {{int|wm-commonstrings-objectives}} | ongoing = {{int|wm-commonstrings-ongoing}} | open = {{int|wm-commonstrings-open}} | other = {{int|visualeditor-shortcuts-other}} | overview = {{int|wm-commonstrings-overview}} | participate = {{int|wm-commonstrings-participate}} | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = {{int|wm-commonstrings-questions}} | quicksurveys |qsurveys = {{int|ext-quicksurveys-name}} | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = {{int|wm-commonstrings-reports}} | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = {{ucfirst:{{labelT|Q106485006}}}} | scope = {{int|wm-commonstrings-scope}} | see also = {{int|wm-commonstrings-seealso}} | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | staff = {{int|wm-commonstrings-staff}} | start = {{int|pagetriage-filter-predicted-class-start}} | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = {{int|wm-commonstrings-talktous}} | telegram = {{labelT|Q15616276}} | test wikipedia = {{int|project-localized-name-testwiki}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = {{int|wm-commonstrings-updates}} | whatsapp = {{labelT|Q1049511}} | wikibooks = {{int|wikibase-sitelinks-wikibooks}} | wikidata = {{int|wikibase-repo-name}} | wikifunctions = {{int|wikibase-otherprojects-wikifunctions}} | wikimania = {{int|project-localized-name-wikimaniawiki}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{labelT|Q5760083}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{labelT|Q47467626}} | wikimedia enterprise = {{labelT|Q106204244}} | wikimedia foundation |wmf = {{int|wikibase-otherprojects-foundation}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = {{int|wikimedia-foundation-projects-label}} | wikimedia incubator = {{int|project-localized-name-incubatorwiki}} | wikimedia mailservices = {{int|wikimedia-mailservices-label}} | wikimedia outreach |wikimedia outreach wiki = {{int|project-localized-name-outreachwiki}} | wikimedia phabricator = {{labelT|Q42156541}} | wikimedia projects = {{int|wikimedia-projects-label}} | wikinews = {{int|wikibase-sitelinks-wikinews}} | wikipedia = {{int|wikibase-sitelinks-wikipedia}} | wikiquote = {{int|wikibase-sitelinks-wikiquote}} | wikisource = {{int|wikibase-sitelinks-wikisource}} | wikispecies = {{int|wikibase-otherprojects-species}} | wikistats = {{int|wikimedia-wikistats-label}} | wikitech = {{int|project-localized-name-labswiki}} | wikiversity = {{int|wikibase-sitelinks-wikiversity}} | wikivoyage = {{int|wikibase-sitelinks-wikivoyage}} | wiktionary |wikt = {{int|wikibase-sitelinks-wiktionary}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} 6trgplg2swb3avwx7hmqgcyhz6jbg4x 10224 10223 2024-03-06T06:57:08Z meta>GVarnum-WMF 0 more use of system messages 10224 wikitext text/x-wiki <noinclude><languages /><translate><!--T:61--> <tvar name="1"></tvar></translate> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | about = {{int|about}} | activities = {{int|wm-commonstrings-activities}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|wikilambda-function-details-table-approve}} | archives = {{ucfirst:{{labelT|Q56648173}}}} | average = {{int|exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = {{int|wm-commonstrings-background}} | blog = {{ucfirst:{{labelT|Q30849}}}} | category = {{int|nstab-category}} | closed = {{int|wm-commonstrings-closed}} | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = {{int|wm-commonstrings-connect}} | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discord = {{labelT|Q22907849}} | discussion = {{int|talk}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = {{int|wm-commonstrings-events}} | external links = <translate><!--T:62--> External links</translate> | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | introduction = {{int|growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{int|wikibase-sitelinks-sitename-mediawikiwiki}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta |metawiki = {{int|project-localized-name-metawiki}} | minutes = {{ucfirst:{{labelT|Q2085515}}}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = {{int|wm-commonstrings-noticeboard}} | objectives = {{int|wm-commonstrings-objectives}} | ongoing = {{int|wm-commonstrings-ongoing}} | open = {{int|wm-commonstrings-open}} | other = {{int|visualeditor-shortcuts-other}} | overview = {{int|wm-commonstrings-overview}} | participate = {{int|wm-commonstrings-participate}} | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = {{int|wm-commonstrings-questions}} | quicksurveys |qsurveys = {{int|ext-quicksurveys-name}} | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = {{int|wm-commonstrings-reports}} | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = {{ucfirst:{{labelT|Q106485006}}}} | scope = {{int|wm-commonstrings-scope}} | see also = {{int|wm-commonstrings-seealso}} | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | staff = {{int|wm-commonstrings-staff}} | start = {{int|pagetriage-filter-predicted-class-start}} | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = {{int|wm-commonstrings-talktous}} | telegram = {{labelT|Q15616276}} | test wikipedia = {{int|project-localized-name-testwiki}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = {{int|wm-commonstrings-updates}} | whatsapp = {{labelT|Q1049511}} | wikibooks = {{int|wikibase-sitelinks-wikibooks}} | wikidata = {{int|wikibase-repo-name}} | wikifunctions = {{int|wikibase-otherprojects-wikifunctions}} | wikimania = {{int|project-localized-name-wikimaniawiki}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{int|wikimedia-otherprojects-cloudservices}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{int|wikimedia-otherprojects-endowment}} | wikimedia enterprise = {{int|wikimedia-otherprojects-enterprise}} | wikimedia foundation |wmf = {{int|wikibase-otherprojects-foundation}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = {{int|wikimedia-foundation-projects-label}} | wikimedia incubator = {{int|project-localized-name-incubatorwiki}} | wikimedia mailservices = {{int|wikimedia-mailservices-label}} | wikimedia outreach |wikimedia outreach wiki = {{int|project-localized-name-outreachwiki}} | wikimedia phabricator = {{int|wikimedia-otherprojects-phabricator}} | wikimedia projects = {{int|wikimedia-projects-label}} | wikinews = {{int|wikibase-sitelinks-wikinews}} | wikipedia = {{int|wikibase-sitelinks-wikipedia}} | wikiquote = {{int|wikibase-sitelinks-wikiquote}} | wikisource = {{int|wikibase-sitelinks-wikisource}} | wikispecies = {{int|wikibase-otherprojects-species}} | wikistats = {{int|wikimedia-wikistats-label}} | wikitech = {{int|project-localized-name-labswiki}} | wikiversity = {{int|wikibase-sitelinks-wikiversity}} | wikivoyage = {{int|wikibase-sitelinks-wikivoyage}} | wiktionary |wikt = {{int|wikibase-sitelinks-wiktionary}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} n615hgjcrbw4xtrzc70vi3ch8yyj80j 10225 10224 2024-03-06T08:27:33Z meta>GVarnum-WMF 0 translations = {{int|centralnotice-translations}} 10225 wikitext text/x-wiki <noinclude><languages /><translate><!--T:61--> <tvar name="1"></tvar></translate> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | about = {{int|about}} | activities = {{int|wm-commonstrings-activities}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|wikilambda-function-details-table-approve}} | archives = {{ucfirst:{{labelT|Q56648173}}}} | average = {{int|exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = {{int|wm-commonstrings-background}} | blog = {{ucfirst:{{labelT|Q30849}}}} | category = {{int|nstab-category}} | closed = {{int|wm-commonstrings-closed}} | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = {{int|wm-commonstrings-connect}} | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discord = {{labelT|Q22907849}} | discussion = {{int|talk}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = {{int|wm-commonstrings-events}} | external links = <translate><!--T:62--> External links</translate> | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | introduction = {{int|growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{int|wikibase-sitelinks-sitename-mediawikiwiki}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta |metawiki = {{int|project-localized-name-metawiki}} | minutes = {{ucfirst:{{labelT|Q2085515}}}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = {{int|wm-commonstrings-noticeboard}} | objectives = {{int|wm-commonstrings-objectives}} | ongoing = {{int|wm-commonstrings-ongoing}} | open = {{int|wm-commonstrings-open}} | other = {{int|visualeditor-shortcuts-other}} | overview = {{int|wm-commonstrings-overview}} | participate = {{int|wm-commonstrings-participate}} | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = {{int|wm-commonstrings-questions}} | quicksurveys |qsurveys = {{int|ext-quicksurveys-name}} | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = {{int|wm-commonstrings-reports}} | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = {{ucfirst:{{labelT|Q106485006}}}} | scope = {{int|wm-commonstrings-scope}} | see also = {{int|wm-commonstrings-seealso}} | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | staff = {{int|wm-commonstrings-staff}} | start = {{int|pagetriage-filter-predicted-class-start}} | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = {{int|wm-commonstrings-talktous}} | telegram = {{labelT|Q15616276}} | test wikipedia = {{int|project-localized-name-testwiki}} | total = {{int|sitematrix-sitetotal}} | translations = {{int|centralnotice-translations}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = {{int|wm-commonstrings-updates}} | whatsapp = {{labelT|Q1049511}} | wikibooks = {{int|wikibase-sitelinks-wikibooks}} | wikidata = {{int|wikibase-repo-name}} | wikifunctions = {{int|wikibase-otherprojects-wikifunctions}} | wikimania = {{int|project-localized-name-wikimaniawiki}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{int|wikimedia-otherprojects-cloudservices}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{int|wikimedia-otherprojects-endowment}} | wikimedia enterprise = {{int|wikimedia-otherprojects-enterprise}} | wikimedia foundation |wmf = {{int|wikibase-otherprojects-foundation}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = {{int|wikimedia-foundation-projects-label}} | wikimedia incubator = {{int|project-localized-name-incubatorwiki}} | wikimedia mailservices = {{int|wikimedia-mailservices-label}} | wikimedia outreach |wikimedia outreach wiki = {{int|project-localized-name-outreachwiki}} | wikimedia phabricator = {{int|wikimedia-otherprojects-phabricator}} | wikimedia projects = {{int|wikimedia-projects-label}} | wikinews = {{int|wikibase-sitelinks-wikinews}} | wikipedia = {{int|wikibase-sitelinks-wikipedia}} | wikiquote = {{int|wikibase-sitelinks-wikiquote}} | wikisource = {{int|wikibase-sitelinks-wikisource}} | wikispecies = {{int|wikibase-otherprojects-species}} | wikistats = {{int|wikimedia-wikistats-label}} | wikitech = {{int|project-localized-name-labswiki}} | wikiversity = {{int|wikibase-sitelinks-wikiversity}} | wikivoyage = {{int|wikibase-sitelinks-wikivoyage}} | wiktionary |wikt = {{int|wikibase-sitelinks-wiktionary}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} ftswywbaxq4q2ibr7tbk1p0uqqh4cj6 10226 10225 2024-03-06T18:06:07Z meta>MusikBot II 0 Changed protection settings for "[[Template:Int string]]": High-risk template or module ([[User:MusikBot II/TemplateProtector|more info]]) ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) 10225 wikitext text/x-wiki <noinclude><languages /><translate><!--T:61--> <tvar name="1"></tvar></translate> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | about = {{int|about}} | activities = {{int|wm-commonstrings-activities}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|wikilambda-function-details-table-approve}} | archives = {{ucfirst:{{labelT|Q56648173}}}} | average = {{int|exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = {{int|wm-commonstrings-background}} | blog = {{ucfirst:{{labelT|Q30849}}}} | category = {{int|nstab-category}} | closed = {{int|wm-commonstrings-closed}} | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = {{int|wm-commonstrings-connect}} | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discord = {{labelT|Q22907849}} | discussion = {{int|talk}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = {{int|wm-commonstrings-events}} | external links = <translate><!--T:62--> External links</translate> | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | introduction = {{int|growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{int|wikibase-sitelinks-sitename-mediawikiwiki}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta |metawiki = {{int|project-localized-name-metawiki}} | minutes = {{ucfirst:{{labelT|Q2085515}}}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = {{int|wm-commonstrings-noticeboard}} | objectives = {{int|wm-commonstrings-objectives}} | ongoing = {{int|wm-commonstrings-ongoing}} | open = {{int|wm-commonstrings-open}} | other = {{int|visualeditor-shortcuts-other}} | overview = {{int|wm-commonstrings-overview}} | participate = {{int|wm-commonstrings-participate}} | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = {{int|wm-commonstrings-questions}} | quicksurveys |qsurveys = {{int|ext-quicksurveys-name}} | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = {{int|wm-commonstrings-reports}} | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = {{ucfirst:{{labelT|Q106485006}}}} | scope = {{int|wm-commonstrings-scope}} | see also = {{int|wm-commonstrings-seealso}} | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | staff = {{int|wm-commonstrings-staff}} | start = {{int|pagetriage-filter-predicted-class-start}} | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = {{int|wm-commonstrings-talktous}} | telegram = {{labelT|Q15616276}} | test wikipedia = {{int|project-localized-name-testwiki}} | total = {{int|sitematrix-sitetotal}} | translations = {{int|centralnotice-translations}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = {{int|wm-commonstrings-updates}} | whatsapp = {{labelT|Q1049511}} | wikibooks = {{int|wikibase-sitelinks-wikibooks}} | wikidata = {{int|wikibase-repo-name}} | wikifunctions = {{int|wikibase-otherprojects-wikifunctions}} | wikimania = {{int|project-localized-name-wikimaniawiki}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{int|wikimedia-otherprojects-cloudservices}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{int|wikimedia-otherprojects-endowment}} | wikimedia enterprise = {{int|wikimedia-otherprojects-enterprise}} | wikimedia foundation |wmf = {{int|wikibase-otherprojects-foundation}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = {{int|wikimedia-foundation-projects-label}} | wikimedia incubator = {{int|project-localized-name-incubatorwiki}} | wikimedia mailservices = {{int|wikimedia-mailservices-label}} | wikimedia outreach |wikimedia outreach wiki = {{int|project-localized-name-outreachwiki}} | wikimedia phabricator = {{int|wikimedia-otherprojects-phabricator}} | wikimedia projects = {{int|wikimedia-projects-label}} | wikinews = {{int|wikibase-sitelinks-wikinews}} | wikipedia = {{int|wikibase-sitelinks-wikipedia}} | wikiquote = {{int|wikibase-sitelinks-wikiquote}} | wikisource = {{int|wikibase-sitelinks-wikisource}} | wikispecies = {{int|wikibase-otherprojects-species}} | wikistats = {{int|wikimedia-wikistats-label}} | wikitech = {{int|project-localized-name-labswiki}} | wikiversity = {{int|wikibase-sitelinks-wikiversity}} | wikivoyage = {{int|wikibase-sitelinks-wikivoyage}} | wiktionary |wikt = {{int|wikibase-sitelinks-wiktionary}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} ftswywbaxq4q2ibr7tbk1p0uqqh4cj6 10227 10226 2024-03-12T19:39:04Z meta>GVarnum-WMF 0 purpose = <translate>Purpose</translate> 10227 wikitext text/x-wiki <noinclude><languages /><translate><!--T:61--> <tvar name="1"></tvar></translate> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | about = {{int|about}} | activities = {{int|wm-commonstrings-activities}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|wikilambda-function-details-table-approve}} | archives = {{ucfirst:{{labelT|Q56648173}}}} | average = {{int|exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = {{int|wm-commonstrings-background}} | blog = {{ucfirst:{{labelT|Q30849}}}} | category = {{int|nstab-category}} | closed = {{int|wm-commonstrings-closed}} | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = {{int|wm-commonstrings-connect}} | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discord = {{labelT|Q22907849}} | discussion = {{int|talk}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = {{int|wm-commonstrings-events}} | external links = <translate><!--T:62--> External links</translate> | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | introduction = {{int|growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{int|wikibase-sitelinks-sitename-mediawikiwiki}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta |metawiki = {{int|project-localized-name-metawiki}} | minutes = {{ucfirst:{{labelT|Q2085515}}}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = {{int|wm-commonstrings-noticeboard}} | objectives = {{int|wm-commonstrings-objectives}} | ongoing = {{int|wm-commonstrings-ongoing}} | open = {{int|wm-commonstrings-open}} | other = {{int|visualeditor-shortcuts-other}} | overview = {{int|wm-commonstrings-overview}} | participate = {{int|wm-commonstrings-participate}} | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | purpose = <translate>Purpose</translate> | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = {{int|wm-commonstrings-questions}} | quicksurveys |qsurveys = {{int|ext-quicksurveys-name}} | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = {{int|wm-commonstrings-reports}} | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = {{ucfirst:{{labelT|Q106485006}}}} | scope = {{int|wm-commonstrings-scope}} | see also = {{int|wm-commonstrings-seealso}} | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | staff = {{int|wm-commonstrings-staff}} | start = {{int|pagetriage-filter-predicted-class-start}} | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = {{int|wm-commonstrings-talktous}} | telegram = {{labelT|Q15616276}} | test wikipedia = {{int|project-localized-name-testwiki}} | total = {{int|sitematrix-sitetotal}} | translations = {{int|centralnotice-translations}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = {{int|wm-commonstrings-updates}} | whatsapp = {{labelT|Q1049511}} | wikibooks = {{int|wikibase-sitelinks-wikibooks}} | wikidata = {{int|wikibase-repo-name}} | wikifunctions = {{int|wikibase-otherprojects-wikifunctions}} | wikimania = {{int|project-localized-name-wikimaniawiki}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{int|wikimedia-otherprojects-cloudservices}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{int|wikimedia-otherprojects-endowment}} | wikimedia enterprise = {{int|wikimedia-otherprojects-enterprise}} | wikimedia foundation |wmf = {{int|wikibase-otherprojects-foundation}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = {{int|wikimedia-foundation-projects-label}} | wikimedia incubator = {{int|project-localized-name-incubatorwiki}} | wikimedia mailservices = {{int|wikimedia-mailservices-label}} | wikimedia outreach |wikimedia outreach wiki = {{int|project-localized-name-outreachwiki}} | wikimedia phabricator = {{int|wikimedia-otherprojects-phabricator}} | wikimedia projects = {{int|wikimedia-projects-label}} | wikinews = {{int|wikibase-sitelinks-wikinews}} | wikipedia = {{int|wikibase-sitelinks-wikipedia}} | wikiquote = {{int|wikibase-sitelinks-wikiquote}} | wikisource = {{int|wikibase-sitelinks-wikisource}} | wikispecies = {{int|wikibase-otherprojects-species}} | wikistats = {{int|wikimedia-wikistats-label}} | wikitech = {{int|project-localized-name-labswiki}} | wikiversity = {{int|wikibase-sitelinks-wikiversity}} | wikivoyage = {{int|wikibase-sitelinks-wikivoyage}} | wiktionary |wikt = {{int|wikibase-sitelinks-wiktionary}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} p48n2vj7fiwiyiadm87nefpi4p3012n 10228 10227 2024-03-12T19:39:15Z meta>GVarnum-WMF 0 Marked this version for translation 10228 wikitext text/x-wiki <noinclude><languages /><translate><!--T:61--> <tvar name="1"></tvar></translate> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | about = {{int|about}} | activities = {{int|wm-commonstrings-activities}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|wikilambda-function-details-table-approve}} | archives = {{ucfirst:{{labelT|Q56648173}}}} | average = {{int|exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = {{int|wm-commonstrings-background}} | blog = {{ucfirst:{{labelT|Q30849}}}} | category = {{int|nstab-category}} | closed = {{int|wm-commonstrings-closed}} | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = {{int|wm-commonstrings-connect}} | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discord = {{labelT|Q22907849}} | discussion = {{int|talk}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = {{int|wm-commonstrings-events}} | external links = <translate><!--T:62--> External links</translate> | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | introduction = {{int|growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{int|wikibase-sitelinks-sitename-mediawikiwiki}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta |metawiki = {{int|project-localized-name-metawiki}} | minutes = {{ucfirst:{{labelT|Q2085515}}}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = {{int|wm-commonstrings-noticeboard}} | objectives = {{int|wm-commonstrings-objectives}} | ongoing = {{int|wm-commonstrings-ongoing}} | open = {{int|wm-commonstrings-open}} | other = {{int|visualeditor-shortcuts-other}} | overview = {{int|wm-commonstrings-overview}} | participate = {{int|wm-commonstrings-participate}} | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | purpose = <translate><!--T:63--> Purpose</translate> | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = {{int|wm-commonstrings-questions}} | quicksurveys |qsurveys = {{int|ext-quicksurveys-name}} | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = {{int|wm-commonstrings-reports}} | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = {{ucfirst:{{labelT|Q106485006}}}} | scope = {{int|wm-commonstrings-scope}} | see also = {{int|wm-commonstrings-seealso}} | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | staff = {{int|wm-commonstrings-staff}} | start = {{int|pagetriage-filter-predicted-class-start}} | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = {{int|wm-commonstrings-talktous}} | telegram = {{labelT|Q15616276}} | test wikipedia = {{int|project-localized-name-testwiki}} | total = {{int|sitematrix-sitetotal}} | translations = {{int|centralnotice-translations}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = {{int|wm-commonstrings-updates}} | whatsapp = {{labelT|Q1049511}} | wikibooks = {{int|wikibase-sitelinks-wikibooks}} | wikidata = {{int|wikibase-repo-name}} | wikifunctions = {{int|wikibase-otherprojects-wikifunctions}} | wikimania = {{int|project-localized-name-wikimaniawiki}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{int|wikimedia-otherprojects-cloudservices}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{int|wikimedia-otherprojects-endowment}} | wikimedia enterprise = {{int|wikimedia-otherprojects-enterprise}} | wikimedia foundation |wmf = {{int|wikibase-otherprojects-foundation}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = {{int|wikimedia-foundation-projects-label}} | wikimedia incubator = {{int|project-localized-name-incubatorwiki}} | wikimedia mailservices = {{int|wikimedia-mailservices-label}} | wikimedia outreach |wikimedia outreach wiki = {{int|project-localized-name-outreachwiki}} | wikimedia phabricator = {{int|wikimedia-otherprojects-phabricator}} | wikimedia projects = {{int|wikimedia-projects-label}} | wikinews = {{int|wikibase-sitelinks-wikinews}} | wikipedia = {{int|wikibase-sitelinks-wikipedia}} | wikiquote = {{int|wikibase-sitelinks-wikiquote}} | wikisource = {{int|wikibase-sitelinks-wikisource}} | wikispecies = {{int|wikibase-otherprojects-species}} | wikistats = {{int|wikimedia-wikistats-label}} | wikitech = {{int|project-localized-name-labswiki}} | wikiversity = {{int|wikibase-sitelinks-wikiversity}} | wikivoyage = {{int|wikibase-sitelinks-wikivoyage}} | wiktionary |wikt = {{int|wikibase-sitelinks-wiktionary}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} gd9drd657zc5x8jtmf8i2u7l8hb56wx 10229 10228 2024-03-12T21:28:13Z meta>GVarnum-WMF 0 | x |twitter |tw 10229 wikitext text/x-wiki <noinclude><languages /><translate><!--T:61--> <tvar name="1"></tvar></translate> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | about = {{int|about}} | activities = {{int|wm-commonstrings-activities}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|wikilambda-function-details-table-approve}} | archives = {{ucfirst:{{labelT|Q56648173}}}} | average = {{int|exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = {{int|wm-commonstrings-background}} | blog = {{ucfirst:{{labelT|Q30849}}}} | category = {{int|nstab-category}} | closed = {{int|wm-commonstrings-closed}} | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = {{int|wm-commonstrings-connect}} | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discord = {{labelT|Q22907849}} | discussion = {{int|talk}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = {{int|wm-commonstrings-events}} | external links = <translate><!--T:62--> External links</translate> | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | introduction = {{int|growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{int|wikibase-sitelinks-sitename-mediawikiwiki}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta |metawiki = {{int|project-localized-name-metawiki}} | minutes = {{ucfirst:{{labelT|Q2085515}}}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = {{int|wm-commonstrings-noticeboard}} | objectives = {{int|wm-commonstrings-objectives}} | ongoing = {{int|wm-commonstrings-ongoing}} | open = {{int|wm-commonstrings-open}} | other = {{int|visualeditor-shortcuts-other}} | overview = {{int|wm-commonstrings-overview}} | participate = {{int|wm-commonstrings-participate}} | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | purpose = <translate><!--T:63--> Purpose</translate> | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = {{int|wm-commonstrings-questions}} | quicksurveys |qsurveys = {{int|ext-quicksurveys-name}} | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = {{int|wm-commonstrings-reports}} | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = {{ucfirst:{{labelT|Q106485006}}}} | scope = {{int|wm-commonstrings-scope}} | see also = {{int|wm-commonstrings-seealso}} | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | staff = {{int|wm-commonstrings-staff}} | start = {{int|pagetriage-filter-predicted-class-start}} | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = {{int|wm-commonstrings-talktous}} | telegram = {{labelT|Q15616276}} | test wikipedia = {{int|project-localized-name-testwiki}} | total = {{int|sitematrix-sitetotal}} | translations = {{int|centralnotice-translations}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = {{int|wm-commonstrings-updates}} | whatsapp = {{labelT|Q1049511}} | wikibooks = {{int|wikibase-sitelinks-wikibooks}} | wikidata = {{int|wikibase-repo-name}} | wikifunctions = {{int|wikibase-otherprojects-wikifunctions}} | wikimania = {{int|project-localized-name-wikimaniawiki}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{int|wikimedia-otherprojects-cloudservices}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{int|wikimedia-otherprojects-endowment}} | wikimedia enterprise = {{int|wikimedia-otherprojects-enterprise}} | wikimedia foundation |wmf = {{int|wikibase-otherprojects-foundation}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = {{int|wikimedia-foundation-projects-label}} | wikimedia incubator = {{int|project-localized-name-incubatorwiki}} | wikimedia mailservices = {{int|wikimedia-mailservices-label}} | wikimedia outreach |wikimedia outreach wiki = {{int|project-localized-name-outreachwiki}} | wikimedia phabricator = {{int|wikimedia-otherprojects-phabricator}} | wikimedia projects = {{int|wikimedia-projects-label}} | wikinews = {{int|wikibase-sitelinks-wikinews}} | wikipedia = {{int|wikibase-sitelinks-wikipedia}} | wikiquote = {{int|wikibase-sitelinks-wikiquote}} | wikisource = {{int|wikibase-sitelinks-wikisource}} | wikispecies = {{int|wikibase-otherprojects-species}} | wikistats = {{int|wikimedia-wikistats-label}} | wikitech = {{int|project-localized-name-labswiki}} | wikiversity = {{int|wikibase-sitelinks-wikiversity}} | wikivoyage = {{int|wikibase-sitelinks-wikivoyage}} | wiktionary |wikt = {{int|wikibase-sitelinks-wiktionary}} | x |twitter |tw = {{labelT|Q918}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} c9klxcs3r86z9o33ry71pp30ah51ytu 10230 10229 2024-03-12T21:55:28Z meta>GVarnum-WMF 0 policies and guidelines |meta-policy-guidelines |policy-guidelines = <translate>Policies and guidelines</translate> 10230 wikitext text/x-wiki <noinclude><languages /><translate><!--T:61--> <tvar name="1"></tvar></translate> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | about = {{int|about}} | activities = {{int|wm-commonstrings-activities}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|wikilambda-function-details-table-approve}} | archives = {{ucfirst:{{labelT|Q56648173}}}} | average = {{int|exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = {{int|wm-commonstrings-background}} | blog = {{ucfirst:{{labelT|Q30849}}}} | category = {{int|nstab-category}} | closed = {{int|wm-commonstrings-closed}} | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = {{int|wm-commonstrings-connect}} | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discord = {{labelT|Q22907849}} | discussion = {{int|talk}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = {{int|wm-commonstrings-events}} | external links = <translate><!--T:62--> External links</translate> | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | introduction = {{int|growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{int|wikibase-sitelinks-sitename-mediawikiwiki}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta |metawiki = {{int|project-localized-name-metawiki}} | minutes = {{ucfirst:{{labelT|Q2085515}}}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = {{int|wm-commonstrings-noticeboard}} | objectives = {{int|wm-commonstrings-objectives}} | ongoing = {{int|wm-commonstrings-ongoing}} | open = {{int|wm-commonstrings-open}} | other = {{int|visualeditor-shortcuts-other}} | overview = {{int|wm-commonstrings-overview}} | participate = {{int|wm-commonstrings-participate}} | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | policies and guidelines |meta-policy-guidelines |policy-guidelines = <translate>Policies and guidelines</translate> | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | purpose = <translate><!--T:63--> Purpose</translate> | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = {{int|wm-commonstrings-questions}} | quicksurveys |qsurveys = {{int|ext-quicksurveys-name}} | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = {{int|wm-commonstrings-reports}} | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = {{ucfirst:{{labelT|Q106485006}}}} | scope = {{int|wm-commonstrings-scope}} | see also = {{int|wm-commonstrings-seealso}} | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | staff = {{int|wm-commonstrings-staff}} | start = {{int|pagetriage-filter-predicted-class-start}} | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = {{int|wm-commonstrings-talktous}} | telegram = {{labelT|Q15616276}} | test wikipedia = {{int|project-localized-name-testwiki}} | total = {{int|sitematrix-sitetotal}} | translations = {{int|centralnotice-translations}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = {{int|wm-commonstrings-updates}} | whatsapp = {{labelT|Q1049511}} | wikibooks = {{int|wikibase-sitelinks-wikibooks}} | wikidata = {{int|wikibase-repo-name}} | wikifunctions = {{int|wikibase-otherprojects-wikifunctions}} | wikimania = {{int|project-localized-name-wikimaniawiki}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{int|wikimedia-otherprojects-cloudservices}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{int|wikimedia-otherprojects-endowment}} | wikimedia enterprise = {{int|wikimedia-otherprojects-enterprise}} | wikimedia foundation |wmf = {{int|wikibase-otherprojects-foundation}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = {{int|wikimedia-foundation-projects-label}} | wikimedia incubator = {{int|project-localized-name-incubatorwiki}} | wikimedia mailservices = {{int|wikimedia-mailservices-label}} | wikimedia outreach |wikimedia outreach wiki = {{int|project-localized-name-outreachwiki}} | wikimedia phabricator = {{int|wikimedia-otherprojects-phabricator}} | wikimedia projects = {{int|wikimedia-projects-label}} | wikinews = {{int|wikibase-sitelinks-wikinews}} | wikipedia = {{int|wikibase-sitelinks-wikipedia}} | wikiquote = {{int|wikibase-sitelinks-wikiquote}} | wikisource = {{int|wikibase-sitelinks-wikisource}} | wikispecies = {{int|wikibase-otherprojects-species}} | wikistats = {{int|wikimedia-wikistats-label}} | wikitech = {{int|project-localized-name-labswiki}} | wikiversity = {{int|wikibase-sitelinks-wikiversity}} | wikivoyage = {{int|wikibase-sitelinks-wikivoyage}} | wiktionary |wikt = {{int|wikibase-sitelinks-wiktionary}} | x |twitter |tw = {{labelT|Q918}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} nvjit3mtm60idm9kuqswdjfu2kjfzr8 10231 10230 2024-03-12T21:58:36Z meta>GVarnum-WMF 0 Marked this version for translation 10231 wikitext text/x-wiki <noinclude><languages /><translate><!--T:61--> <tvar name="1"></tvar></translate> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | about = {{int|about}} | activities = {{int|wm-commonstrings-activities}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|wikilambda-function-details-table-approve}} | archives = {{ucfirst:{{labelT|Q56648173}}}} | average = {{int|exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = {{int|wm-commonstrings-background}} | blog = {{ucfirst:{{labelT|Q30849}}}} | category = {{int|nstab-category}} | closed = {{int|wm-commonstrings-closed}} | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = {{int|wm-commonstrings-connect}} | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discord = {{labelT|Q22907849}} | discussion = {{int|talk}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = {{int|wm-commonstrings-events}} | external links = <translate><!--T:62--> External links</translate> | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | introduction = {{int|growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{int|wikibase-sitelinks-sitename-mediawikiwiki}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta |metawiki = {{int|project-localized-name-metawiki}} | minutes = {{ucfirst:{{labelT|Q2085515}}}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = {{int|wm-commonstrings-noticeboard}} | objectives = {{int|wm-commonstrings-objectives}} | ongoing = {{int|wm-commonstrings-ongoing}} | open = {{int|wm-commonstrings-open}} | other = {{int|visualeditor-shortcuts-other}} | overview = {{int|wm-commonstrings-overview}} | participate = {{int|wm-commonstrings-participate}} | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | policies and guidelines |meta-policy-guidelines |policy-guidelines = <translate><!--T:64--> Policies and guidelines</translate> | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | purpose = <translate><!--T:63--> Purpose</translate> | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = {{int|wm-commonstrings-questions}} | quicksurveys |qsurveys = {{int|ext-quicksurveys-name}} | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = {{int|wm-commonstrings-reports}} | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = {{ucfirst:{{labelT|Q106485006}}}} | scope = {{int|wm-commonstrings-scope}} | see also = {{int|wm-commonstrings-seealso}} | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | staff = {{int|wm-commonstrings-staff}} | start = {{int|pagetriage-filter-predicted-class-start}} | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = {{int|wm-commonstrings-talktous}} | telegram = {{labelT|Q15616276}} | test wikipedia = {{int|project-localized-name-testwiki}} | total = {{int|sitematrix-sitetotal}} | translations = {{int|centralnotice-translations}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = {{int|wm-commonstrings-updates}} | whatsapp = {{labelT|Q1049511}} | wikibooks = {{int|wikibase-sitelinks-wikibooks}} | wikidata = {{int|wikibase-repo-name}} | wikifunctions = {{int|wikibase-otherprojects-wikifunctions}} | wikimania = {{int|project-localized-name-wikimaniawiki}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{int|wikimedia-otherprojects-cloudservices}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{int|wikimedia-otherprojects-endowment}} | wikimedia enterprise = {{int|wikimedia-otherprojects-enterprise}} | wikimedia foundation |wmf = {{int|wikibase-otherprojects-foundation}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = {{int|wikimedia-foundation-projects-label}} | wikimedia incubator = {{int|project-localized-name-incubatorwiki}} | wikimedia mailservices = {{int|wikimedia-mailservices-label}} | wikimedia outreach |wikimedia outreach wiki = {{int|project-localized-name-outreachwiki}} | wikimedia phabricator = {{int|wikimedia-otherprojects-phabricator}} | wikimedia projects = {{int|wikimedia-projects-label}} | wikinews = {{int|wikibase-sitelinks-wikinews}} | wikipedia = {{int|wikibase-sitelinks-wikipedia}} | wikiquote = {{int|wikibase-sitelinks-wikiquote}} | wikisource = {{int|wikibase-sitelinks-wikisource}} | wikispecies = {{int|wikibase-otherprojects-species}} | wikistats = {{int|wikimedia-wikistats-label}} | wikitech = {{int|project-localized-name-labswiki}} | wikiversity = {{int|wikibase-sitelinks-wikiversity}} | wikivoyage = {{int|wikibase-sitelinks-wikivoyage}} | wiktionary |wikt = {{int|wikibase-sitelinks-wiktionary}} | x |twitter |tw = {{labelT|Q918}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} p10z8mi8lvq48ewh6yqfeo84szpemtu 10232 10231 2024-03-13T20:24:28Z meta>GVarnum-WMF 0 external links = {{int|wm-commonstrings-externallinks}} 10232 wikitext text/x-wiki <noinclude><languages /><translate><!--T:61--> <tvar name="1"></tvar></translate> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | about = {{int|about}} | activities = {{int|wm-commonstrings-activities}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|wikilambda-function-details-table-approve}} | archives = {{ucfirst:{{labelT|Q56648173}}}} | average = {{int|exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = {{int|wm-commonstrings-background}} | blog = {{ucfirst:{{labelT|Q30849}}}} | category = {{int|nstab-category}} | closed = {{int|wm-commonstrings-closed}} | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = {{int|wm-commonstrings-connect}} | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discord = {{labelT|Q22907849}} | discussion = {{int|talk}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = {{int|wm-commonstrings-events}} | external links = {{int|wm-commonstrings-externallinks}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | introduction = {{int|growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{int|wikibase-sitelinks-sitename-mediawikiwiki}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta |metawiki = {{int|project-localized-name-metawiki}} | minutes = {{ucfirst:{{labelT|Q2085515}}}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = {{int|wm-commonstrings-noticeboard}} | objectives = {{int|wm-commonstrings-objectives}} | ongoing = {{int|wm-commonstrings-ongoing}} | open = {{int|wm-commonstrings-open}} | other = {{int|visualeditor-shortcuts-other}} | overview = {{int|wm-commonstrings-overview}} | participate = {{int|wm-commonstrings-participate}} | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | policies and guidelines |meta-policy-guidelines |policy-guidelines = <translate><!--T:64--> Policies and guidelines</translate> | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | purpose = <translate><!--T:63--> Purpose</translate> | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = {{int|wm-commonstrings-questions}} | quicksurveys |qsurveys = {{int|ext-quicksurveys-name}} | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = {{int|wm-commonstrings-reports}} | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = {{ucfirst:{{labelT|Q106485006}}}} | scope = {{int|wm-commonstrings-scope}} | see also = {{int|wm-commonstrings-seealso}} | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | staff = {{int|wm-commonstrings-staff}} | start = {{int|pagetriage-filter-predicted-class-start}} | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = {{int|wm-commonstrings-talktous}} | telegram = {{labelT|Q15616276}} | test wikipedia = {{int|project-localized-name-testwiki}} | total = {{int|sitematrix-sitetotal}} | translations = {{int|centralnotice-translations}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = {{int|wm-commonstrings-updates}} | whatsapp = {{labelT|Q1049511}} | wikibooks = {{int|wikibase-sitelinks-wikibooks}} | wikidata = {{int|wikibase-repo-name}} | wikifunctions = {{int|wikibase-otherprojects-wikifunctions}} | wikimania = {{int|project-localized-name-wikimaniawiki}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{int|wikimedia-otherprojects-cloudservices}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{int|wikimedia-otherprojects-endowment}} | wikimedia enterprise = {{int|wikimedia-otherprojects-enterprise}} | wikimedia foundation |wmf = {{int|wikibase-otherprojects-foundation}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = {{int|wikimedia-foundation-projects-label}} | wikimedia incubator = {{int|project-localized-name-incubatorwiki}} | wikimedia mailservices = {{int|wikimedia-mailservices-label}} | wikimedia outreach |wikimedia outreach wiki = {{int|project-localized-name-outreachwiki}} | wikimedia phabricator = {{int|wikimedia-otherprojects-phabricator}} | wikimedia projects = {{int|wikimedia-projects-label}} | wikinews = {{int|wikibase-sitelinks-wikinews}} | wikipedia = {{int|wikibase-sitelinks-wikipedia}} | wikiquote = {{int|wikibase-sitelinks-wikiquote}} | wikisource = {{int|wikibase-sitelinks-wikisource}} | wikispecies = {{int|wikibase-otherprojects-species}} | wikistats = {{int|wikimedia-wikistats-label}} | wikitech = {{int|project-localized-name-labswiki}} | wikiversity = {{int|wikibase-sitelinks-wikiversity}} | wikivoyage = {{int|wikibase-sitelinks-wikivoyage}} | wiktionary |wikt = {{int|wikibase-sitelinks-wiktionary}} | x |twitter |tw = {{labelT|Q918}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} 4h4lkanfbtzpogu5136yr204boxhtka 10233 10232 2024-03-15T02:27:24Z meta>GVarnum-WMF 0 | conclusion = <translate>Conclusion</translate> 10233 wikitext text/x-wiki <noinclude><languages /><translate><!--T:61--> <tvar name="1"></tvar></translate> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | about = {{int|about}} | activities = {{int|wm-commonstrings-activities}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|wikilambda-function-details-table-approve}} | archives = {{ucfirst:{{labelT|Q56648173}}}} | average = {{int|exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = {{int|wm-commonstrings-background}} | blog = {{ucfirst:{{labelT|Q30849}}}} | category = {{int|nstab-category}} | closed = {{int|wm-commonstrings-closed}} | conclusion = <translate>Conclusion</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = {{int|wm-commonstrings-connect}} | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discord = {{labelT|Q22907849}} | discussion = {{int|talk}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = {{int|wm-commonstrings-events}} | external links = {{int|wm-commonstrings-externallinks}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | introduction = {{int|growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{int|wikibase-sitelinks-sitename-mediawikiwiki}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta |metawiki = {{int|project-localized-name-metawiki}} | minutes = {{ucfirst:{{labelT|Q2085515}}}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = {{int|wm-commonstrings-noticeboard}} | objectives = {{int|wm-commonstrings-objectives}} | ongoing = {{int|wm-commonstrings-ongoing}} | open = {{int|wm-commonstrings-open}} | other = {{int|visualeditor-shortcuts-other}} | overview = {{int|wm-commonstrings-overview}} | participate = {{int|wm-commonstrings-participate}} | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | policies and guidelines |meta-policy-guidelines |policy-guidelines = <translate><!--T:64--> Policies and guidelines</translate> | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | purpose = <translate><!--T:63--> Purpose</translate> | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = {{int|wm-commonstrings-questions}} | quicksurveys |qsurveys = {{int|ext-quicksurveys-name}} | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = {{int|wm-commonstrings-reports}} | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = {{ucfirst:{{labelT|Q106485006}}}} | scope = {{int|wm-commonstrings-scope}} | see also = {{int|wm-commonstrings-seealso}} | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | staff = {{int|wm-commonstrings-staff}} | start = {{int|pagetriage-filter-predicted-class-start}} | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = {{int|wm-commonstrings-talktous}} | telegram = {{labelT|Q15616276}} | test wikipedia = {{int|project-localized-name-testwiki}} | total = {{int|sitematrix-sitetotal}} | translations = {{int|centralnotice-translations}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = {{int|wm-commonstrings-updates}} | whatsapp = {{labelT|Q1049511}} | wikibooks = {{int|wikibase-sitelinks-wikibooks}} | wikidata = {{int|wikibase-repo-name}} | wikifunctions = {{int|wikibase-otherprojects-wikifunctions}} | wikimania = {{int|project-localized-name-wikimaniawiki}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{int|wikimedia-otherprojects-cloudservices}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{int|wikimedia-otherprojects-endowment}} | wikimedia enterprise = {{int|wikimedia-otherprojects-enterprise}} | wikimedia foundation |wmf = {{int|wikibase-otherprojects-foundation}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = {{int|wikimedia-foundation-projects-label}} | wikimedia incubator = {{int|project-localized-name-incubatorwiki}} | wikimedia mailservices = {{int|wikimedia-mailservices-label}} | wikimedia outreach |wikimedia outreach wiki = {{int|project-localized-name-outreachwiki}} | wikimedia phabricator = {{int|wikimedia-otherprojects-phabricator}} | wikimedia projects = {{int|wikimedia-projects-label}} | wikinews = {{int|wikibase-sitelinks-wikinews}} | wikipedia = {{int|wikibase-sitelinks-wikipedia}} | wikiquote = {{int|wikibase-sitelinks-wikiquote}} | wikisource = {{int|wikibase-sitelinks-wikisource}} | wikispecies = {{int|wikibase-otherprojects-species}} | wikistats = {{int|wikimedia-wikistats-label}} | wikitech = {{int|project-localized-name-labswiki}} | wikiversity = {{int|wikibase-sitelinks-wikiversity}} | wikivoyage = {{int|wikibase-sitelinks-wikivoyage}} | wiktionary |wikt = {{int|wikibase-sitelinks-wiktionary}} | x |twitter |tw = {{labelT|Q918}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} h1gweytf998v8nog8hwebigi64y0pxc 10234 10233 2024-03-15T02:28:15Z meta>GVarnum-WMF 0 Marked this version for translation 10234 wikitext text/x-wiki <noinclude><languages /><translate><!--T:61--> <tvar name="1"></tvar></translate> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | about = {{int|about}} | activities = {{int|wm-commonstrings-activities}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|wikilambda-function-details-table-approve}} | archives = {{ucfirst:{{labelT|Q56648173}}}} | average = {{int|exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = {{int|wm-commonstrings-background}} | blog = {{ucfirst:{{labelT|Q30849}}}} | category = {{int|nstab-category}} | closed = {{int|wm-commonstrings-closed}} | conclusion = <translate><!--T:65--> Conclusion</translate> | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = {{int|wm-commonstrings-connect}} | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discord = {{labelT|Q22907849}} | discussion = {{int|talk}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = {{int|wm-commonstrings-events}} | external links = {{int|wm-commonstrings-externallinks}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | introduction = {{int|growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{int|wikibase-sitelinks-sitename-mediawikiwiki}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta |metawiki = {{int|project-localized-name-metawiki}} | minutes = {{ucfirst:{{labelT|Q2085515}}}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = {{int|wm-commonstrings-noticeboard}} | objectives = {{int|wm-commonstrings-objectives}} | ongoing = {{int|wm-commonstrings-ongoing}} | open = {{int|wm-commonstrings-open}} | other = {{int|visualeditor-shortcuts-other}} | overview = {{int|wm-commonstrings-overview}} | participate = {{int|wm-commonstrings-participate}} | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | policies and guidelines |meta-policy-guidelines |policy-guidelines = <translate><!--T:64--> Policies and guidelines</translate> | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | purpose = <translate><!--T:63--> Purpose</translate> | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = {{int|wm-commonstrings-questions}} | quicksurveys |qsurveys = {{int|ext-quicksurveys-name}} | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = {{int|wm-commonstrings-reports}} | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = {{ucfirst:{{labelT|Q106485006}}}} | scope = {{int|wm-commonstrings-scope}} | see also = {{int|wm-commonstrings-seealso}} | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | staff = {{int|wm-commonstrings-staff}} | start = {{int|pagetriage-filter-predicted-class-start}} | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = {{int|wm-commonstrings-talktous}} | telegram = {{labelT|Q15616276}} | test wikipedia = {{int|project-localized-name-testwiki}} | total = {{int|sitematrix-sitetotal}} | translations = {{int|centralnotice-translations}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = {{int|wm-commonstrings-updates}} | whatsapp = {{labelT|Q1049511}} | wikibooks = {{int|wikibase-sitelinks-wikibooks}} | wikidata = {{int|wikibase-repo-name}} | wikifunctions = {{int|wikibase-otherprojects-wikifunctions}} | wikimania = {{int|project-localized-name-wikimaniawiki}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{int|wikimedia-otherprojects-cloudservices}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{int|wikimedia-otherprojects-endowment}} | wikimedia enterprise = {{int|wikimedia-otherprojects-enterprise}} | wikimedia foundation |wmf = {{int|wikibase-otherprojects-foundation}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = {{int|wikimedia-foundation-projects-label}} | wikimedia incubator = {{int|project-localized-name-incubatorwiki}} | wikimedia mailservices = {{int|wikimedia-mailservices-label}} | wikimedia outreach |wikimedia outreach wiki = {{int|project-localized-name-outreachwiki}} | wikimedia phabricator = {{int|wikimedia-otherprojects-phabricator}} | wikimedia projects = {{int|wikimedia-projects-label}} | wikinews = {{int|wikibase-sitelinks-wikinews}} | wikipedia = {{int|wikibase-sitelinks-wikipedia}} | wikiquote = {{int|wikibase-sitelinks-wikiquote}} | wikisource = {{int|wikibase-sitelinks-wikisource}} | wikispecies = {{int|wikibase-otherprojects-species}} | wikistats = {{int|wikimedia-wikistats-label}} | wikitech = {{int|project-localized-name-labswiki}} | wikiversity = {{int|wikibase-sitelinks-wikiversity}} | wikivoyage = {{int|wikibase-sitelinks-wikivoyage}} | wiktionary |wikt = {{int|wikibase-sitelinks-wiktionary}} | x |twitter |tw = {{labelT|Q918}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} e9k4jj2szl7iyazes2a9fxtkp80jzn7 10235 10234 2024-03-15T14:44:01Z meta>GVarnum-WMF 0 diff = {{ucfirst:{{int|diff}}}} 10235 wikitext text/x-wiki <noinclude><languages /><translate><!--T:61--> <tvar name="1"></tvar></translate> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | about = {{int|about}} | activities = {{int|wm-commonstrings-activities}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|wikilambda-function-details-table-approve}} | archives = {{ucfirst:{{labelT|Q56648173}}}} | average = {{int|exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = {{int|wm-commonstrings-background}} | blog = {{ucfirst:{{labelT|Q30849}}}} | category = {{int|nstab-category}} | closed = {{int|wm-commonstrings-closed}} | conclusion = <translate><!--T:65--> Conclusion</translate> | diff = {{ucfirst:{{int|diff}}}} | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = {{int|wm-commonstrings-connect}} | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discord = {{labelT|Q22907849}} | discussion = {{int|talk}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = {{int|wm-commonstrings-events}} | external links = {{int|wm-commonstrings-externallinks}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | introduction = {{int|growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{int|wikibase-sitelinks-sitename-mediawikiwiki}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta |metawiki = {{int|project-localized-name-metawiki}} | minutes = {{ucfirst:{{labelT|Q2085515}}}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = {{int|wm-commonstrings-noticeboard}} | objectives = {{int|wm-commonstrings-objectives}} | ongoing = {{int|wm-commonstrings-ongoing}} | open = {{int|wm-commonstrings-open}} | other = {{int|visualeditor-shortcuts-other}} | overview = {{int|wm-commonstrings-overview}} | participate = {{int|wm-commonstrings-participate}} | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | policies and guidelines |meta-policy-guidelines |policy-guidelines = <translate><!--T:64--> Policies and guidelines</translate> | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | purpose = <translate><!--T:63--> Purpose</translate> | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = {{int|wm-commonstrings-questions}} | quicksurveys |qsurveys = {{int|ext-quicksurveys-name}} | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = {{int|wm-commonstrings-reports}} | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = {{ucfirst:{{labelT|Q106485006}}}} | scope = {{int|wm-commonstrings-scope}} | see also = {{int|wm-commonstrings-seealso}} | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | staff = {{int|wm-commonstrings-staff}} | start = {{int|pagetriage-filter-predicted-class-start}} | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = {{int|wm-commonstrings-talktous}} | telegram = {{labelT|Q15616276}} | test wikipedia = {{int|project-localized-name-testwiki}} | total = {{int|sitematrix-sitetotal}} | translations = {{int|centralnotice-translations}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = {{int|wm-commonstrings-updates}} | whatsapp = {{labelT|Q1049511}} | wikibooks = {{int|wikibase-sitelinks-wikibooks}} | wikidata = {{int|wikibase-repo-name}} | wikifunctions = {{int|wikibase-otherprojects-wikifunctions}} | wikimania = {{int|project-localized-name-wikimaniawiki}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{int|wikimedia-otherprojects-cloudservices}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{int|wikimedia-otherprojects-endowment}} | wikimedia enterprise = {{int|wikimedia-otherprojects-enterprise}} | wikimedia foundation |wmf = {{int|wikibase-otherprojects-foundation}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = {{int|wikimedia-foundation-projects-label}} | wikimedia incubator = {{int|project-localized-name-incubatorwiki}} | wikimedia mailservices = {{int|wikimedia-mailservices-label}} | wikimedia outreach |wikimedia outreach wiki = {{int|project-localized-name-outreachwiki}} | wikimedia phabricator = {{int|wikimedia-otherprojects-phabricator}} | wikimedia projects = {{int|wikimedia-projects-label}} | wikinews = {{int|wikibase-sitelinks-wikinews}} | wikipedia = {{int|wikibase-sitelinks-wikipedia}} | wikiquote = {{int|wikibase-sitelinks-wikiquote}} | wikisource = {{int|wikibase-sitelinks-wikisource}} | wikispecies = {{int|wikibase-otherprojects-species}} | wikistats = {{int|wikimedia-wikistats-label}} | wikitech = {{int|project-localized-name-labswiki}} | wikiversity = {{int|wikibase-sitelinks-wikiversity}} | wikivoyage = {{int|wikibase-sitelinks-wikivoyage}} | wiktionary |wikt = {{int|wikibase-sitelinks-wiktionary}} | x |twitter |tw = {{labelT|Q918}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} 29kn5ks7z3srxu63rn4ag1954mo8eo8 10236 10235 2024-03-15T14:44:56Z meta>GVarnum-WMF 0 mediawiki.org = <translate>MediaWiki.org</translate> 10236 wikitext text/x-wiki <noinclude><languages /><translate><!--T:61--> <tvar name="1"></tvar></translate> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | about = {{int|about}} | activities = {{int|wm-commonstrings-activities}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|wikilambda-function-details-table-approve}} | archives = {{ucfirst:{{labelT|Q56648173}}}} | average = {{int|exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = {{int|wm-commonstrings-background}} | blog = {{ucfirst:{{labelT|Q30849}}}} | category = {{int|nstab-category}} | closed = {{int|wm-commonstrings-closed}} | conclusion = <translate><!--T:65--> Conclusion</translate> | diff = {{ucfirst:{{int|diff}}}} | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = {{int|wm-commonstrings-connect}} | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discord = {{labelT|Q22907849}} | discussion = {{int|talk}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = {{int|wm-commonstrings-events}} | external links = {{int|wm-commonstrings-externallinks}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | introduction = {{int|growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki.org = <translate>MediaWiki.org</translate> | mediawiki |mw = {{int|wikibase-sitelinks-sitename-mediawikiwiki}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta |metawiki = {{int|project-localized-name-metawiki}} | minutes = {{ucfirst:{{labelT|Q2085515}}}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = {{int|wm-commonstrings-noticeboard}} | objectives = {{int|wm-commonstrings-objectives}} | ongoing = {{int|wm-commonstrings-ongoing}} | open = {{int|wm-commonstrings-open}} | other = {{int|visualeditor-shortcuts-other}} | overview = {{int|wm-commonstrings-overview}} | participate = {{int|wm-commonstrings-participate}} | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | policies and guidelines |meta-policy-guidelines |policy-guidelines = <translate><!--T:64--> Policies and guidelines</translate> | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | purpose = <translate><!--T:63--> Purpose</translate> | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = {{int|wm-commonstrings-questions}} | quicksurveys |qsurveys = {{int|ext-quicksurveys-name}} | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = {{int|wm-commonstrings-reports}} | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = {{ucfirst:{{labelT|Q106485006}}}} | scope = {{int|wm-commonstrings-scope}} | see also = {{int|wm-commonstrings-seealso}} | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | staff = {{int|wm-commonstrings-staff}} | start = {{int|pagetriage-filter-predicted-class-start}} | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = {{int|wm-commonstrings-talktous}} | telegram = {{labelT|Q15616276}} | test wikipedia = {{int|project-localized-name-testwiki}} | total = {{int|sitematrix-sitetotal}} | translations = {{int|centralnotice-translations}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = {{int|wm-commonstrings-updates}} | whatsapp = {{labelT|Q1049511}} | wikibooks = {{int|wikibase-sitelinks-wikibooks}} | wikidata = {{int|wikibase-repo-name}} | wikifunctions = {{int|wikibase-otherprojects-wikifunctions}} | wikimania = {{int|project-localized-name-wikimaniawiki}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{int|wikimedia-otherprojects-cloudservices}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{int|wikimedia-otherprojects-endowment}} | wikimedia enterprise = {{int|wikimedia-otherprojects-enterprise}} | wikimedia foundation |wmf = {{int|wikibase-otherprojects-foundation}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = {{int|wikimedia-foundation-projects-label}} | wikimedia incubator = {{int|project-localized-name-incubatorwiki}} | wikimedia mailservices = {{int|wikimedia-mailservices-label}} | wikimedia outreach |wikimedia outreach wiki = {{int|project-localized-name-outreachwiki}} | wikimedia phabricator = {{int|wikimedia-otherprojects-phabricator}} | wikimedia projects = {{int|wikimedia-projects-label}} | wikinews = {{int|wikibase-sitelinks-wikinews}} | wikipedia = {{int|wikibase-sitelinks-wikipedia}} | wikiquote = {{int|wikibase-sitelinks-wikiquote}} | wikisource = {{int|wikibase-sitelinks-wikisource}} | wikispecies = {{int|wikibase-otherprojects-species}} | wikistats = {{int|wikimedia-wikistats-label}} | wikitech = {{int|project-localized-name-labswiki}} | wikiversity = {{int|wikibase-sitelinks-wikiversity}} | wikivoyage = {{int|wikibase-sitelinks-wikivoyage}} | wiktionary |wikt = {{int|wikibase-sitelinks-wiktionary}} | x |twitter |tw = {{labelT|Q918}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} adbadj62n71ridvx3e6z9wgk5wats6i 10237 10236 2024-03-15T14:47:14Z meta>GVarnum-WMF 0 10237 wikitext text/x-wiki <noinclude><languages /><translate><!--T:61--> <tvar name="1"></tvar></translate> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | about = {{int|about}} | activities = {{int|wm-commonstrings-activities}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|wikilambda-function-details-table-approve}} | archives = {{ucfirst:{{labelT|Q56648173}}}} | average = {{int|exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = {{int|wm-commonstrings-background}} | blog = {{ucfirst:{{labelT|Q30849}}}} | category = {{int|nstab-category}} | closed = {{int|wm-commonstrings-closed}} | conclusion = <translate><!--T:65--> Conclusion</translate> | diff = {{ucfirst:{{int|diff}}}} | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = {{int|wm-commonstrings-connect}} | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discord = {{labelT|Q22907849}} | discussion = {{int|talk}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = {{int|wm-commonstrings-events}} | external links = {{int|wm-commonstrings-externallinks}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | introduction = {{int|growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{int|wikibase-sitelinks-sitename-mediawikiwiki}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta |metawiki = {{int|project-localized-name-metawiki}} | minutes = {{ucfirst:{{labelT|Q2085515}}}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = {{int|wm-commonstrings-noticeboard}} | objectives = {{int|wm-commonstrings-objectives}} | ongoing = {{int|wm-commonstrings-ongoing}} | open = {{int|wm-commonstrings-open}} | other = {{int|visualeditor-shortcuts-other}} | overview = {{int|wm-commonstrings-overview}} | participate = {{int|wm-commonstrings-participate}} | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | policies and guidelines |meta-policy-guidelines |policy-guidelines = <translate><!--T:64--> Policies and guidelines</translate> | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | purpose = <translate><!--T:63--> Purpose</translate> | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = {{int|wm-commonstrings-questions}} | quicksurveys |qsurveys = {{int|ext-quicksurveys-name}} | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = {{int|wm-commonstrings-reports}} | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = {{ucfirst:{{labelT|Q106485006}}}} | scope = {{int|wm-commonstrings-scope}} | see also = {{int|wm-commonstrings-seealso}} | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | staff = {{int|wm-commonstrings-staff}} | start = {{int|pagetriage-filter-predicted-class-start}} | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = {{int|wm-commonstrings-talktous}} | telegram = {{labelT|Q15616276}} | test wikipedia = {{int|project-localized-name-testwiki}} | total = {{int|sitematrix-sitetotal}} | translations = {{int|centralnotice-translations}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = {{int|wm-commonstrings-updates}} | whatsapp = {{labelT|Q1049511}} | wikibooks = {{int|wikibase-sitelinks-wikibooks}} | wikidata = {{int|wikibase-repo-name}} | wikifunctions = {{int|wikibase-otherprojects-wikifunctions}} | wikimania = {{int|project-localized-name-wikimaniawiki}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{int|wikimedia-otherprojects-cloudservices}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{int|wikimedia-otherprojects-endowment}} | wikimedia enterprise = {{int|wikimedia-otherprojects-enterprise}} | wikimedia foundation |wmf = {{int|wikibase-otherprojects-foundation}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = {{int|wikimedia-foundation-projects-label}} | wikimedia incubator = {{int|project-localized-name-incubatorwiki}} | wikimedia mailservices = {{int|wikimedia-mailservices-label}} | wikimedia outreach |wikimedia outreach wiki = {{int|project-localized-name-outreachwiki}} | wikimedia phabricator = {{int|wikimedia-otherprojects-phabricator}} | wikimedia projects = {{int|wikimedia-projects-label}} | wikinews = {{int|wikibase-sitelinks-wikinews}} | wikipedia = {{int|wikibase-sitelinks-wikipedia}} | wikiquote = {{int|wikibase-sitelinks-wikiquote}} | wikisource = {{int|wikibase-sitelinks-wikisource}} | wikispecies = {{int|wikibase-otherprojects-species}} | wikistats = {{int|wikimedia-wikistats-label}} | wikitech = {{int|project-localized-name-labswiki}} | wikiversity = {{int|wikibase-sitelinks-wikiversity}} | wikivoyage = {{int|wikibase-sitelinks-wikivoyage}} | wiktionary |wikt = {{int|wikibase-sitelinks-wiktionary}} | x |twitter |tw = {{labelT|Q918}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} 29kn5ks7z3srxu63rn4ag1954mo8eo8 10238 10237 2024-03-15T20:22:42Z meta>GVarnum-WMF 0 alias 10238 wikitext text/x-wiki <noinclude><languages /><translate><!--T:61--> <tvar name="1"></tvar></translate> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | about = {{int|about}} | activities = {{int|wm-commonstrings-activities}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|wikilambda-function-details-table-approve}} | archives = {{ucfirst:{{labelT|Q56648173}}}} | average = {{int|exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = {{int|wm-commonstrings-background}} | blog = {{ucfirst:{{labelT|Q30849}}}} | category = {{int|nstab-category}} | closed = {{int|wm-commonstrings-closed}} | conclusion = <translate><!--T:65--> Conclusion</translate> | diff = {{ucfirst:{{int|diff}}}} | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = {{int|wm-commonstrings-connect}} | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discord = {{labelT|Q22907849}} | discussion = {{int|talk}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = {{int|wm-commonstrings-events}} | external links = {{int|wm-commonstrings-externallinks}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | introduction = {{int|growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{int|wikibase-sitelinks-sitename-mediawikiwiki}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta |metawiki = {{int|project-localized-name-metawiki}} | minutes = {{ucfirst:{{labelT|Q2085515}}}} | more information |more info = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = {{int|wm-commonstrings-noticeboard}} | objectives = {{int|wm-commonstrings-objectives}} | ongoing = {{int|wm-commonstrings-ongoing}} | open = {{int|wm-commonstrings-open}} | other = {{int|visualeditor-shortcuts-other}} | overview = {{int|wm-commonstrings-overview}} | participate = {{int|wm-commonstrings-participate}} | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | policies and guidelines |meta-policy-guidelines |policy-guidelines = <translate><!--T:64--> Policies and guidelines</translate> | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | purpose = <translate><!--T:63--> Purpose</translate> | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = {{int|wm-commonstrings-questions}} | quicksurveys |qsurveys = {{int|ext-quicksurveys-name}} | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = {{int|wm-commonstrings-reports}} | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = {{ucfirst:{{labelT|Q106485006}}}} | scope = {{int|wm-commonstrings-scope}} | see also = {{int|wm-commonstrings-seealso}} | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | staff = {{int|wm-commonstrings-staff}} | start = {{int|pagetriage-filter-predicted-class-start}} | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = {{int|wm-commonstrings-talktous}} | telegram = {{labelT|Q15616276}} | test wikipedia = {{int|project-localized-name-testwiki}} | total = {{int|sitematrix-sitetotal}} | translations = {{int|centralnotice-translations}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = {{int|wm-commonstrings-updates}} | whatsapp = {{labelT|Q1049511}} | wikibooks = {{int|wikibase-sitelinks-wikibooks}} | wikidata = {{int|wikibase-repo-name}} | wikifunctions = {{int|wikibase-otherprojects-wikifunctions}} | wikimania = {{int|project-localized-name-wikimaniawiki}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{int|wikimedia-otherprojects-cloudservices}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{int|wikimedia-otherprojects-endowment}} | wikimedia enterprise = {{int|wikimedia-otherprojects-enterprise}} | wikimedia foundation |wmf = {{int|wikibase-otherprojects-foundation}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = {{int|wikimedia-foundation-projects-label}} | wikimedia incubator = {{int|project-localized-name-incubatorwiki}} | wikimedia mailservices = {{int|wikimedia-mailservices-label}} | wikimedia outreach |wikimedia outreach wiki = {{int|project-localized-name-outreachwiki}} | wikimedia phabricator = {{int|wikimedia-otherprojects-phabricator}} | wikimedia projects = {{int|wikimedia-projects-label}} | wikinews = {{int|wikibase-sitelinks-wikinews}} | wikipedia = {{int|wikibase-sitelinks-wikipedia}} | wikiquote = {{int|wikibase-sitelinks-wikiquote}} | wikisource = {{int|wikibase-sitelinks-wikisource}} | wikispecies = {{int|wikibase-otherprojects-species}} | wikistats = {{int|wikimedia-wikistats-label}} | wikitech = {{int|project-localized-name-labswiki}} | wikiversity = {{int|wikibase-sitelinks-wikiversity}} | wikivoyage = {{int|wikibase-sitelinks-wikivoyage}} | wiktionary |wikt = {{int|wikibase-sitelinks-wiktionary}} | x |twitter |tw = {{labelT|Q918}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} a5b7p970x1a0tl3ic0rwilgrinamr5i 10239 10238 2024-03-15T20:24:53Z meta>GVarnum-WMF 0 stats alias 10239 wikitext text/x-wiki <noinclude><languages /><translate><!--T:61--> <tvar name="1"></tvar></translate> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | about = {{int|about}} | activities = {{int|wm-commonstrings-activities}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|wikilambda-function-details-table-approve}} | archives = {{ucfirst:{{labelT|Q56648173}}}} | average = {{int|exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = {{int|wm-commonstrings-background}} | blog = {{ucfirst:{{labelT|Q30849}}}} | category = {{int|nstab-category}} | closed = {{int|wm-commonstrings-closed}} | conclusion = <translate><!--T:65--> Conclusion</translate> | diff = {{ucfirst:{{int|diff}}}} | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = {{int|wm-commonstrings-connect}} | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discord = {{labelT|Q22907849}} | discussion = {{int|talk}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = {{int|wm-commonstrings-events}} | external links = {{int|wm-commonstrings-externallinks}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | introduction = {{int|growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{int|wikibase-sitelinks-sitename-mediawikiwiki}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta |metawiki = {{int|project-localized-name-metawiki}} | minutes = {{ucfirst:{{labelT|Q2085515}}}} | more information |more info = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = {{int|wm-commonstrings-noticeboard}} | objectives = {{int|wm-commonstrings-objectives}} | ongoing = {{int|wm-commonstrings-ongoing}} | open = {{int|wm-commonstrings-open}} | other = {{int|visualeditor-shortcuts-other}} | overview = {{int|wm-commonstrings-overview}} | participate = {{int|wm-commonstrings-participate}} | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | policies and guidelines |meta-policy-guidelines |policy-guidelines = <translate><!--T:64--> Policies and guidelines</translate> | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | purpose = <translate><!--T:63--> Purpose</translate> | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = {{int|wm-commonstrings-questions}} | quicksurveys |qsurveys = {{int|ext-quicksurveys-name}} | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = {{int|wm-commonstrings-reports}} | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = {{ucfirst:{{labelT|Q106485006}}}} | scope = {{int|wm-commonstrings-scope}} | see also = {{int|wm-commonstrings-seealso}} | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | staff = {{int|wm-commonstrings-staff}} | start = {{int|pagetriage-filter-predicted-class-start}} | statistics |stats = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = {{int|wm-commonstrings-talktous}} | telegram = {{labelT|Q15616276}} | test wikipedia = {{int|project-localized-name-testwiki}} | total = {{int|sitematrix-sitetotal}} | translations = {{int|centralnotice-translations}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = {{int|wm-commonstrings-updates}} | whatsapp = {{labelT|Q1049511}} | wikibooks = {{int|wikibase-sitelinks-wikibooks}} | wikidata = {{int|wikibase-repo-name}} | wikifunctions = {{int|wikibase-otherprojects-wikifunctions}} | wikimania = {{int|project-localized-name-wikimaniawiki}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{int|wikimedia-otherprojects-cloudservices}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{int|wikimedia-otherprojects-endowment}} | wikimedia enterprise = {{int|wikimedia-otherprojects-enterprise}} | wikimedia foundation |wmf = {{int|wikibase-otherprojects-foundation}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = {{int|wikimedia-foundation-projects-label}} | wikimedia incubator = {{int|project-localized-name-incubatorwiki}} | wikimedia mailservices = {{int|wikimedia-mailservices-label}} | wikimedia outreach |wikimedia outreach wiki = {{int|project-localized-name-outreachwiki}} | wikimedia phabricator = {{int|wikimedia-otherprojects-phabricator}} | wikimedia projects = {{int|wikimedia-projects-label}} | wikinews = {{int|wikibase-sitelinks-wikinews}} | wikipedia = {{int|wikibase-sitelinks-wikipedia}} | wikiquote = {{int|wikibase-sitelinks-wikiquote}} | wikisource = {{int|wikibase-sitelinks-wikisource}} | wikispecies = {{int|wikibase-otherprojects-species}} | wikistats = {{int|wikimedia-wikistats-label}} | wikitech = {{int|project-localized-name-labswiki}} | wikiversity = {{int|wikibase-sitelinks-wikiversity}} | wikivoyage = {{int|wikibase-sitelinks-wikivoyage}} | wiktionary |wikt = {{int|wikibase-sitelinks-wiktionary}} | x |twitter |tw = {{labelT|Q918}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} t9y4cisket9r6tk95l5my0tu0inbbgy 10240 10239 2024-03-15T20:31:04Z meta>GVarnum-WMF 0 alias adjustments 10240 wikitext text/x-wiki <noinclude><languages /><translate><!--T:61--> <tvar name="1"></tvar></translate> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | about = {{int|about}} | activities = {{int|wm-commonstrings-activities}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|wikilambda-function-details-table-approve}} | archives = {{ucfirst:{{labelT|Q56648173}}}} | average = {{int|exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = {{int|wm-commonstrings-background}} | blog = {{ucfirst:{{labelT|Q30849}}}} | category = {{int|nstab-category}} | closed = {{int|wm-commonstrings-closed}} | conclusion = <translate><!--T:65--> Conclusion</translate> | diff = {{ucfirst:{{int|diff}}}} | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = {{int|wm-commonstrings-connect}} | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discord = {{labelT|Q22907849}} | discussion = {{int|talk}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = {{int|wm-commonstrings-events}} | external links = {{int|wm-commonstrings-externallinks}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms | gforms = {{labelT|Q47014869}} | google meet | gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca | identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram | insta = {{labelT|Q209330}} | introduction = {{int|growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | mainpage | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki | mw = {{int|wikibase-sitelinks-sitename-mediawikiwiki}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki | meta | metawiki = {{int|project-localized-name-metawiki}} | minutes = {{ucfirst:{{labelT|Q2085515}}}} | more information | more info = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = {{int|wm-commonstrings-noticeboard}} | objectives = {{int|wm-commonstrings-objectives}} | ongoing = {{int|wm-commonstrings-ongoing}} | open = {{int|wm-commonstrings-open}} | other = {{int|visualeditor-shortcuts-other}} | overview = {{int|wm-commonstrings-overview}} | participate = {{int|wm-commonstrings-participate}} | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | policies and guidelines | meta-policy-guidelines | policy-guidelines = <translate><!--T:64--> Policies and guidelines</translate> | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | purpose = <translate><!--T:63--> Purpose</translate> | qualtrics | qual = {{labelT|Q7268803}} | questions | questions? = {{int|wm-commonstrings-questions}} | quicksurveys | qsurveys = {{int|ext-quicksurveys-name}} | quora | quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = {{int|wm-commonstrings-reports}} | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = {{ucfirst:{{labelT|Q106485006}}}} | scope = {{int|wm-commonstrings-scope}} | see also |seealso = {{int|wm-commonstrings-seealso}} | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | staff = {{int|wm-commonstrings-staff}} | start = {{int|pagetriage-filter-predicted-class-start}} | statistics | stats = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us | talktous = {{int|wm-commonstrings-talktous}} | telegram = {{labelT|Q15616276}} | test wikipedia = {{int|project-localized-name-testwiki}} | total = {{int|sitematrix-sitetotal}} | translations = {{int|centralnotice-translations}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = {{int|wm-commonstrings-updates}} | whatsapp = {{labelT|Q1049511}} | wikibooks = {{int|wikibase-sitelinks-wikibooks}} | wikidata = {{int|wikibase-repo-name}} | wikifunctions = {{int|wikibase-otherprojects-wikifunctions}} | wikimania = {{int|project-localized-name-wikimaniawiki}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{int|wikimedia-otherprojects-cloudservices}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{int|wikimedia-otherprojects-endowment}} | wikimedia enterprise = {{int|wikimedia-otherprojects-enterprise}} | wikimedia foundation | wmf = {{int|wikibase-otherprojects-foundation}} | wikimedia foundation, inc. | wmf inc | wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = {{int|wikimedia-foundation-projects-label}} | wikimedia incubator = {{int|project-localized-name-incubatorwiki}} | wikimedia mailservices = {{int|wikimedia-mailservices-label}} | wikimedia outreach |wikimedia outreach wiki = {{int|project-localized-name-outreachwiki}} | wikimedia phabricator = {{int|wikimedia-otherprojects-phabricator}} | wikimedia projects = {{int|wikimedia-projects-label}} | wikinews = {{int|wikibase-sitelinks-wikinews}} | wikipedia = {{int|wikibase-sitelinks-wikipedia}} | wikiquote = {{int|wikibase-sitelinks-wikiquote}} | wikisource = {{int|wikibase-sitelinks-wikisource}} | wikispecies = {{int|wikibase-otherprojects-species}} | wikistats = {{int|wikimedia-wikistats-label}} | wikitech = {{int|project-localized-name-labswiki}} | wikiversity = {{int|wikibase-sitelinks-wikiversity}} | wikivoyage = {{int|wikibase-sitelinks-wikivoyage}} | wiktionary | wikt = {{int|wikibase-sitelinks-wiktionary}} | x | twitter | tw = {{labelT|Q918}} | yahoo | yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube | yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} i4fi68bm0egeadvf0lx20zn0rqigq61 10241 10240 2024-03-16T01:23:33Z meta>GVarnum-WMF 0 contact us | contactus = {{int|wm-commonstrings-contactus}} 10241 wikitext text/x-wiki <noinclude><languages /><translate><!--T:61--> <tvar name="1"></tvar></translate> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | about = {{int|about}} | activities = {{int|wm-commonstrings-activities}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|wikilambda-function-details-table-approve}} | archives = {{ucfirst:{{labelT|Q56648173}}}} | average = {{int|exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = {{int|wm-commonstrings-background}} | blog = {{ucfirst:{{labelT|Q30849}}}} | category = {{int|nstab-category}} | closed = {{int|wm-commonstrings-closed}} | conclusion = <translate><!--T:65--> Conclusion</translate> | contact us | contactus = {{int|wm-commonstrings-contactus}} | diff = {{ucfirst:{{int|diff}}}} | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = {{int|wm-commonstrings-connect}} | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discord = {{labelT|Q22907849}} | discussion = {{int|talk}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = {{int|wm-commonstrings-events}} | external links = {{int|wm-commonstrings-externallinks}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms | gforms = {{labelT|Q47014869}} | google meet | gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca | identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram | insta = {{labelT|Q209330}} | introduction = {{int|growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | mainpage | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki | mw = {{int|wikibase-sitelinks-sitename-mediawikiwiki}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki | meta | metawiki = {{int|project-localized-name-metawiki}} | minutes = {{ucfirst:{{labelT|Q2085515}}}} | more information | more info = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = {{int|wm-commonstrings-noticeboard}} | objectives = {{int|wm-commonstrings-objectives}} | ongoing = {{int|wm-commonstrings-ongoing}} | open = {{int|wm-commonstrings-open}} | other = {{int|visualeditor-shortcuts-other}} | overview = {{int|wm-commonstrings-overview}} | participate = {{int|wm-commonstrings-participate}} | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | policies and guidelines | meta-policy-guidelines | policy-guidelines = <translate><!--T:64--> Policies and guidelines</translate> | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | purpose = <translate><!--T:63--> Purpose</translate> | qualtrics | qual = {{labelT|Q7268803}} | questions | questions? = {{int|wm-commonstrings-questions}} | quicksurveys | qsurveys = {{int|ext-quicksurveys-name}} | quora | quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = {{int|wm-commonstrings-reports}} | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = {{ucfirst:{{labelT|Q106485006}}}} | scope = {{int|wm-commonstrings-scope}} | see also |seealso = {{int|wm-commonstrings-seealso}} | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | staff = {{int|wm-commonstrings-staff}} | start = {{int|pagetriage-filter-predicted-class-start}} | statistics | stats = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us | talktous = {{int|wm-commonstrings-talktous}} | telegram = {{labelT|Q15616276}} | test wikipedia = {{int|project-localized-name-testwiki}} | total = {{int|sitematrix-sitetotal}} | translations = {{int|centralnotice-translations}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = {{int|wm-commonstrings-updates}} | whatsapp = {{labelT|Q1049511}} | wikibooks = {{int|wikibase-sitelinks-wikibooks}} | wikidata = {{int|wikibase-repo-name}} | wikifunctions = {{int|wikibase-otherprojects-wikifunctions}} | wikimania = {{int|project-localized-name-wikimaniawiki}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{int|wikimedia-otherprojects-cloudservices}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{int|wikimedia-otherprojects-endowment}} | wikimedia enterprise = {{int|wikimedia-otherprojects-enterprise}} | wikimedia foundation | wmf = {{int|wikibase-otherprojects-foundation}} | wikimedia foundation, inc. | wmf inc | wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = {{int|wikimedia-foundation-projects-label}} | wikimedia incubator = {{int|project-localized-name-incubatorwiki}} | wikimedia mailservices = {{int|wikimedia-mailservices-label}} | wikimedia outreach |wikimedia outreach wiki = {{int|project-localized-name-outreachwiki}} | wikimedia phabricator = {{int|wikimedia-otherprojects-phabricator}} | wikimedia projects = {{int|wikimedia-projects-label}} | wikinews = {{int|wikibase-sitelinks-wikinews}} | wikipedia = {{int|wikibase-sitelinks-wikipedia}} | wikiquote = {{int|wikibase-sitelinks-wikiquote}} | wikisource = {{int|wikibase-sitelinks-wikisource}} | wikispecies = {{int|wikibase-otherprojects-species}} | wikistats = {{int|wikimedia-wikistats-label}} | wikitech = {{int|project-localized-name-labswiki}} | wikiversity = {{int|wikibase-sitelinks-wikiversity}} | wikivoyage = {{int|wikibase-sitelinks-wikivoyage}} | wiktionary | wikt = {{int|wikibase-sitelinks-wiktionary}} | x | twitter | tw = {{labelT|Q918}} | yahoo | yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube | yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} tqplza5jvv7o3su91p2kjkckwwgn3ql 10242 10241 2024-03-19T11:19:54Z meta>GVarnum-WMF 0 10242 wikitext text/x-wiki <noinclude><languages /><translate><!--T:61--> <tvar name="1"></tvar></translate> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | about = {{int|about}} | activities = {{int|wm-commonstrings-activities}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|wikilambda-function-details-table-approve}} | archives = {{ucfirst:{{labelT|Q56648173}}}} | agenda = {{int|wm-commonstrings-agenda}} | average = {{int|exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = {{int|wm-commonstrings-background}} | blog = {{ucfirst:{{labelT|Q30849}}}} | category = {{int|nstab-category}} | closed = {{int|wm-commonstrings-closed}} | conclusion = <translate><!--T:65--> Conclusion</translate> | contact us | contactus = {{int|wm-commonstrings-contactus}} | diff = {{ucfirst:{{int|diff}}}} | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = {{int|wm-commonstrings-connect}} | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discord = {{labelT|Q22907849}} | discussion = {{int|talk}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = {{int|wm-commonstrings-events}} | external links = {{int|wm-commonstrings-externallinks}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms | gforms = {{labelT|Q47014869}} | google meet | gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca | identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram | insta = {{labelT|Q209330}} | introduction = {{int|growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | mainpage | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki | mw = {{int|wikibase-sitelinks-sitename-mediawikiwiki}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki | meta | metawiki = {{int|project-localized-name-metawiki}} | minutes = {{ucfirst:{{labelT|Q2085515}}}} | more information | more info = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = {{int|wm-commonstrings-noticeboard}} | objectives = {{int|wm-commonstrings-objectives}} | ongoing = {{int|wm-commonstrings-ongoing}} | open = {{int|wm-commonstrings-open}} | other = {{int|visualeditor-shortcuts-other}} | overview = {{int|wm-commonstrings-overview}} | participate = {{int|wm-commonstrings-participate}} | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | policies and guidelines | meta-policy-guidelines | policy-guidelines = <translate><!--T:64--> Policies and guidelines</translate> | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | purpose = <translate><!--T:63--> Purpose</translate> | qualtrics | qual = {{labelT|Q7268803}} | questions | questions? = {{int|wm-commonstrings-questions}} | quicksurveys | qsurveys = {{int|ext-quicksurveys-name}} | quora | quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = {{int|wm-commonstrings-reports}} | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = {{ucfirst:{{labelT|Q106485006}}}} | scope = {{int|wm-commonstrings-scope}} | see also |seealso = {{int|wm-commonstrings-seealso}} | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | staff = {{int|wm-commonstrings-staff}} | start = {{int|pagetriage-filter-predicted-class-start}} | statistics | stats = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us | talktous = {{int|wm-commonstrings-talktous}} | telegram = {{labelT|Q15616276}} | test wikipedia = {{int|project-localized-name-testwiki}} | total = {{int|sitematrix-sitetotal}} | translations = {{int|centralnotice-translations}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = {{int|wm-commonstrings-updates}} | whatsapp = {{labelT|Q1049511}} | wikibooks = {{int|wikibase-sitelinks-wikibooks}} | wikidata = {{int|wikibase-repo-name}} | wikifunctions = {{int|wikibase-otherprojects-wikifunctions}} | wikimania = {{int|project-localized-name-wikimaniawiki}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{int|wikimedia-otherprojects-cloudservices}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{int|wikimedia-otherprojects-endowment}} | wikimedia enterprise = {{int|wikimedia-otherprojects-enterprise}} | wikimedia foundation | wmf = {{int|wikibase-otherprojects-foundation}} | wikimedia foundation, inc. | wmf inc | wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = {{int|wikimedia-foundation-projects-label}} | wikimedia incubator = {{int|project-localized-name-incubatorwiki}} | wikimedia mailservices = {{int|wikimedia-mailservices-label}} | wikimedia outreach |wikimedia outreach wiki = {{int|project-localized-name-outreachwiki}} | wikimedia phabricator = {{int|wikimedia-otherprojects-phabricator}} | wikimedia projects = {{int|wikimedia-projects-label}} | wikinews = {{int|wikibase-sitelinks-wikinews}} | wikipedia = {{int|wikibase-sitelinks-wikipedia}} | wikiquote = {{int|wikibase-sitelinks-wikiquote}} | wikisource = {{int|wikibase-sitelinks-wikisource}} | wikispecies = {{int|wikibase-otherprojects-species}} | wikistats = {{int|wikimedia-wikistats-label}} | wikitech = {{int|project-localized-name-labswiki}} | wikiversity = {{int|wikibase-sitelinks-wikiversity}} | wikivoyage = {{int|wikibase-sitelinks-wikivoyage}} | wiktionary | wikt = {{int|wikibase-sitelinks-wiktionary}} | x | twitter | tw = {{labelT|Q918}} | yahoo | yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube | yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} 47gfqwfnq9me3ugx6gbqtgi8r7a3kdd 10243 10242 2024-04-03T08:52:09Z meta>GVarnum-WMF 0 {{int|wm-commonstrings-conclusion}} 10243 wikitext text/x-wiki <noinclude><languages /><translate><!--T:61--> <tvar name="1"></tvar></translate> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | about = {{int|about}} | activities = {{int|wm-commonstrings-activities}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|wikilambda-function-details-table-approve}} | archives = {{ucfirst:{{labelT|Q56648173}}}} | agenda = {{int|wm-commonstrings-agenda}} | average = {{int|exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = {{int|wm-commonstrings-background}} | blog = {{ucfirst:{{labelT|Q30849}}}} | category = {{int|nstab-category}} | closed = {{int|wm-commonstrings-closed}} | conclusion = {{int|wm-commonstrings-conclusion}} | contact us | contactus = {{int|wm-commonstrings-contactus}} | diff = {{ucfirst:{{int|diff}}}} | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = {{int|wm-commonstrings-connect}} | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discord = {{labelT|Q22907849}} | discussion = {{int|talk}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = {{int|wm-commonstrings-events}} | external links = {{int|wm-commonstrings-externallinks}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms | gforms = {{labelT|Q47014869}} | google meet | gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca | identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram | insta = {{labelT|Q209330}} | introduction = {{int|growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | mainpage | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki | mw = {{int|wikibase-sitelinks-sitename-mediawikiwiki}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki | meta | metawiki = {{int|project-localized-name-metawiki}} | minutes = {{ucfirst:{{labelT|Q2085515}}}} | more information | more info = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = {{int|wm-commonstrings-noticeboard}} | objectives = {{int|wm-commonstrings-objectives}} | ongoing = {{int|wm-commonstrings-ongoing}} | open = {{int|wm-commonstrings-open}} | other = {{int|visualeditor-shortcuts-other}} | overview = {{int|wm-commonstrings-overview}} | participate = {{int|wm-commonstrings-participate}} | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | policies and guidelines | meta-policy-guidelines | policy-guidelines = <translate><!--T:64--> Policies and guidelines</translate> | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | purpose = <translate><!--T:63--> Purpose</translate> | qualtrics | qual = {{labelT|Q7268803}} | questions | questions? = {{int|wm-commonstrings-questions}} | quicksurveys | qsurveys = {{int|ext-quicksurveys-name}} | quora | quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = {{int|wm-commonstrings-reports}} | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = {{ucfirst:{{labelT|Q106485006}}}} | scope = {{int|wm-commonstrings-scope}} | see also |seealso = {{int|wm-commonstrings-seealso}} | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | staff = {{int|wm-commonstrings-staff}} | start = {{int|pagetriage-filter-predicted-class-start}} | statistics | stats = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us | talktous = {{int|wm-commonstrings-talktous}} | telegram = {{labelT|Q15616276}} | test wikipedia = {{int|project-localized-name-testwiki}} | total = {{int|sitematrix-sitetotal}} | translations = {{int|centralnotice-translations}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = {{int|wm-commonstrings-updates}} | whatsapp = {{labelT|Q1049511}} | wikibooks = {{int|wikibase-sitelinks-wikibooks}} | wikidata = {{int|wikibase-repo-name}} | wikifunctions = {{int|wikibase-otherprojects-wikifunctions}} | wikimania = {{int|project-localized-name-wikimaniawiki}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{int|wikimedia-otherprojects-cloudservices}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{int|wikimedia-otherprojects-endowment}} | wikimedia enterprise = {{int|wikimedia-otherprojects-enterprise}} | wikimedia foundation | wmf = {{int|wikibase-otherprojects-foundation}} | wikimedia foundation, inc. | wmf inc | wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = {{int|wikimedia-foundation-projects-label}} | wikimedia incubator = {{int|project-localized-name-incubatorwiki}} | wikimedia mailservices = {{int|wikimedia-mailservices-label}} | wikimedia outreach |wikimedia outreach wiki = {{int|project-localized-name-outreachwiki}} | wikimedia phabricator = {{int|wikimedia-otherprojects-phabricator}} | wikimedia projects = {{int|wikimedia-projects-label}} | wikinews = {{int|wikibase-sitelinks-wikinews}} | wikipedia = {{int|wikibase-sitelinks-wikipedia}} | wikiquote = {{int|wikibase-sitelinks-wikiquote}} | wikisource = {{int|wikibase-sitelinks-wikisource}} | wikispecies = {{int|wikibase-otherprojects-species}} | wikistats = {{int|wikimedia-wikistats-label}} | wikitech = {{int|project-localized-name-labswiki}} | wikiversity = {{int|wikibase-sitelinks-wikiversity}} | wikivoyage = {{int|wikibase-sitelinks-wikivoyage}} | wiktionary | wikt = {{int|wikibase-sitelinks-wiktionary}} | x | twitter | tw = {{labelT|Q918}} | yahoo | yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube | yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} ixouyie0fpvkff0fv8zx3wdjexbb12b 10244 10243 2024-04-03T08:56:49Z meta>GVarnum-WMF 0 use of system messages 10244 wikitext text/x-wiki <noinclude><languages /><translate><!--T:61--> <tvar name="1"></tvar></translate> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | about = {{int|about}} | activities = {{int|wm-commonstrings-activities}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|wikilambda-function-details-table-approve}} | archives = {{ucfirst:{{labelT|Q56648173}}}} | agenda = {{int|wm-commonstrings-agenda}} | average = {{int|exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = {{int|wm-commonstrings-background}} | blog = {{ucfirst:{{labelT|Q30849}}}} | category = {{int|nstab-category}} | closed = {{int|wm-commonstrings-closed}} | conclusion = {{int|wm-commonstrings-conclusion}} | contact us | contactus = {{int|wm-commonstrings-contactus}} | diff = {{ucfirst:{{int|diff}}}} | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = {{int|wm-commonstrings-connect}} | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discord = {{labelT|Q22907849}} | discussion = {{int|talk}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = {{int|wm-commonstrings-events}} | external links = {{int|wm-commonstrings-externallinks}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms | gforms = {{labelT|Q47014869}} | google meet | gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca | identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram | insta = {{labelT|Q209330}} | introduction = {{int|growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | mainpage | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki | mw = {{int|wikibase-sitelinks-sitename-mediawikiwiki}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki | meta | metawiki = {{int|project-localized-name-metawiki}} | minutes = {{ucfirst:{{labelT|Q2085515}}}} | more information | more info = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = {{int|wm-commonstrings-noticeboard}} | objectives = {{int|wm-commonstrings-objectives}} | ongoing = {{int|wm-commonstrings-ongoing}} | open = {{int|wm-commonstrings-open}} | other = {{int|visualeditor-shortcuts-other}} | overview = {{int|wm-commonstrings-overview}} | participate = {{int|wm-commonstrings-participate}} | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | policies and guidelines | meta-policy-guidelines | policy-guidelines = {{int|wm-commonstrings-policies-guidelines}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | purpose = {{int|wm-commonstrings-purpose}} | qualtrics | qual = {{labelT|Q7268803}} | questions | questions? = {{int|wm-commonstrings-questions}} | quicksurveys | qsurveys = {{int|ext-quicksurveys-name}} | quora | quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = {{int|wm-commonstrings-reports}} | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = {{ucfirst:{{labelT|Q106485006}}}} | scope = {{int|wm-commonstrings-scope}} | see also |seealso = {{int|wm-commonstrings-seealso}} | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | staff = {{int|wm-commonstrings-staff}} | start = {{int|pagetriage-filter-predicted-class-start}} | statistics | stats = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us | talktous = {{int|wm-commonstrings-talktous}} | telegram = {{labelT|Q15616276}} | test wikipedia = {{int|project-localized-name-testwiki}} | total = {{int|sitematrix-sitetotal}} | translations = {{int|centralnotice-translations}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = {{int|wm-commonstrings-updates}} | whatsapp = {{labelT|Q1049511}} | wikibooks = {{int|wikibase-sitelinks-wikibooks}} | wikidata = {{int|wikibase-repo-name}} | wikifunctions = {{int|wikibase-otherprojects-wikifunctions}} | wikimania = {{int|project-localized-name-wikimaniawiki}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{int|wikimedia-otherprojects-cloudservices}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{int|wikimedia-otherprojects-endowment}} | wikimedia enterprise = {{int|wikimedia-otherprojects-enterprise}} | wikimedia foundation | wmf = {{int|wikibase-otherprojects-foundation}} | wikimedia foundation, inc. | wmf inc | wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = {{int|wikimedia-foundation-projects-label}} | wikimedia incubator = {{int|project-localized-name-incubatorwiki}} | wikimedia mailservices = {{int|wikimedia-mailservices-label}} | wikimedia outreach |wikimedia outreach wiki = {{int|project-localized-name-outreachwiki}} | wikimedia phabricator = {{int|wikimedia-otherprojects-phabricator}} | wikimedia projects = {{int|wikimedia-projects-label}} | wikinews = {{int|wikibase-sitelinks-wikinews}} | wikipedia = {{int|wikibase-sitelinks-wikipedia}} | wikiquote = {{int|wikibase-sitelinks-wikiquote}} | wikisource = {{int|wikibase-sitelinks-wikisource}} | wikispecies = {{int|wikibase-otherprojects-species}} | wikistats = {{int|wikimedia-wikistats-label}} | wikitech = {{int|project-localized-name-labswiki}} | wikiversity = {{int|wikibase-sitelinks-wikiversity}} | wikivoyage = {{int|wikibase-sitelinks-wikivoyage}} | wiktionary | wikt = {{int|wikibase-sitelinks-wiktionary}} | x | twitter | tw = {{labelT|Q918}} | yahoo | yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube | yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} 4bdgz06dw2vnmf0acir9sx8wo33tvqh 10245 10244 2024-05-22T17:42:24Z meta>GVarnum-WMF 0 Leadership 10245 wikitext text/x-wiki <noinclude><languages /><translate><!--T:61--> <tvar name="1"></tvar></translate> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | about = {{int|about}} | activities = {{int|wm-commonstrings-activities}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|wikilambda-function-details-table-approve}} | archives = {{ucfirst:{{labelT|Q56648173}}}} | agenda = {{int|wm-commonstrings-agenda}} | average = {{int|exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = {{int|wm-commonstrings-background}} | blog = {{ucfirst:{{labelT|Q30849}}}} | category = {{int|nstab-category}} | closed = {{int|wm-commonstrings-closed}} | conclusion = {{int|wm-commonstrings-conclusion}} | contact us | contactus = {{int|wm-commonstrings-contactus}} | diff = {{ucfirst:{{int|diff}}}} | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = {{int|wm-commonstrings-connect}} | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discord = {{labelT|Q22907849}} | discussion = {{int|talk}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = {{int|wm-commonstrings-events}} | external links = {{int|wm-commonstrings-externallinks}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms | gforms = {{labelT|Q47014869}} | google meet | gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca | identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram | insta = {{labelT|Q209330}} | introduction = {{int|growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | leadership = <translate>Leadership</translate> | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | mainpage | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki | mw = {{int|wikibase-sitelinks-sitename-mediawikiwiki}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki | meta | metawiki = {{int|project-localized-name-metawiki}} | minutes = {{ucfirst:{{labelT|Q2085515}}}} | more information | more info = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = {{int|wm-commonstrings-noticeboard}} | objectives = {{int|wm-commonstrings-objectives}} | ongoing = {{int|wm-commonstrings-ongoing}} | open = {{int|wm-commonstrings-open}} | other = {{int|visualeditor-shortcuts-other}} | overview = {{int|wm-commonstrings-overview}} | participate = {{int|wm-commonstrings-participate}} | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | policies and guidelines | meta-policy-guidelines | policy-guidelines = {{int|wm-commonstrings-policies-guidelines}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | purpose = {{int|wm-commonstrings-purpose}} | qualtrics | qual = {{labelT|Q7268803}} | questions | questions? = {{int|wm-commonstrings-questions}} | quicksurveys | qsurveys = {{int|ext-quicksurveys-name}} | quora | quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = {{int|wm-commonstrings-reports}} | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = {{ucfirst:{{labelT|Q106485006}}}} | scope = {{int|wm-commonstrings-scope}} | see also |seealso = {{int|wm-commonstrings-seealso}} | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | staff = {{int|wm-commonstrings-staff}} | start = {{int|pagetriage-filter-predicted-class-start}} | statistics | stats = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us | talktous = {{int|wm-commonstrings-talktous}} | telegram = {{labelT|Q15616276}} | test wikipedia = {{int|project-localized-name-testwiki}} | total = {{int|sitematrix-sitetotal}} | translations = {{int|centralnotice-translations}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = {{int|wm-commonstrings-updates}} | whatsapp = {{labelT|Q1049511}} | wikibooks = {{int|wikibase-sitelinks-wikibooks}} | wikidata = {{int|wikibase-repo-name}} | wikifunctions = {{int|wikibase-otherprojects-wikifunctions}} | wikimania = {{int|project-localized-name-wikimaniawiki}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{int|wikimedia-otherprojects-cloudservices}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{int|wikimedia-otherprojects-endowment}} | wikimedia enterprise = {{int|wikimedia-otherprojects-enterprise}} | wikimedia foundation | wmf = {{int|wikibase-otherprojects-foundation}} | wikimedia foundation, inc. | wmf inc | wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = {{int|wikimedia-foundation-projects-label}} | wikimedia incubator = {{int|project-localized-name-incubatorwiki}} | wikimedia mailservices = {{int|wikimedia-mailservices-label}} | wikimedia outreach |wikimedia outreach wiki = {{int|project-localized-name-outreachwiki}} | wikimedia phabricator = {{int|wikimedia-otherprojects-phabricator}} | wikimedia projects = {{int|wikimedia-projects-label}} | wikinews = {{int|wikibase-sitelinks-wikinews}} | wikipedia = {{int|wikibase-sitelinks-wikipedia}} | wikiquote = {{int|wikibase-sitelinks-wikiquote}} | wikisource = {{int|wikibase-sitelinks-wikisource}} | wikispecies = {{int|wikibase-otherprojects-species}} | wikistats = {{int|wikimedia-wikistats-label}} | wikitech = {{int|project-localized-name-labswiki}} | wikiversity = {{int|wikibase-sitelinks-wikiversity}} | wikivoyage = {{int|wikibase-sitelinks-wikivoyage}} | wiktionary | wikt = {{int|wikibase-sitelinks-wiktionary}} | x | twitter | tw = {{labelT|Q918}} | yahoo | yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube | yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} awuxpah909vh8k82nzadgrui368aqkn 10246 10245 2024-05-22T17:44:16Z meta>GVarnum-WMF 0 Marked this version for translation 10246 wikitext text/x-wiki <noinclude><languages /><translate><!--T:61--> <tvar name="1"></tvar></translate> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | about = {{int|about}} | activities = {{int|wm-commonstrings-activities}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|wikilambda-function-details-table-approve}} | archives = {{ucfirst:{{labelT|Q56648173}}}} | agenda = {{int|wm-commonstrings-agenda}} | average = {{int|exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = {{int|wm-commonstrings-background}} | blog = {{ucfirst:{{labelT|Q30849}}}} | category = {{int|nstab-category}} | closed = {{int|wm-commonstrings-closed}} | conclusion = {{int|wm-commonstrings-conclusion}} | contact us | contactus = {{int|wm-commonstrings-contactus}} | diff = {{ucfirst:{{int|diff}}}} | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = {{int|wm-commonstrings-connect}} | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discord = {{labelT|Q22907849}} | discussion = {{int|talk}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = {{int|wm-commonstrings-events}} | external links = {{int|wm-commonstrings-externallinks}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms | gforms = {{labelT|Q47014869}} | google meet | gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca | identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram | insta = {{labelT|Q209330}} | introduction = {{int|growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | leadership = <translate><!--T:66--> Leadership</translate> | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | mainpage | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki | mw = {{int|wikibase-sitelinks-sitename-mediawikiwiki}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki | meta | metawiki = {{int|project-localized-name-metawiki}} | minutes = {{ucfirst:{{labelT|Q2085515}}}} | more information | more info = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = {{int|wm-commonstrings-noticeboard}} | objectives = {{int|wm-commonstrings-objectives}} | ongoing = {{int|wm-commonstrings-ongoing}} | open = {{int|wm-commonstrings-open}} | other = {{int|visualeditor-shortcuts-other}} | overview = {{int|wm-commonstrings-overview}} | participate = {{int|wm-commonstrings-participate}} | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | policies and guidelines | meta-policy-guidelines | policy-guidelines = {{int|wm-commonstrings-policies-guidelines}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | purpose = {{int|wm-commonstrings-purpose}} | qualtrics | qual = {{labelT|Q7268803}} | questions | questions? = {{int|wm-commonstrings-questions}} | quicksurveys | qsurveys = {{int|ext-quicksurveys-name}} | quora | quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = {{int|wm-commonstrings-reports}} | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = {{ucfirst:{{labelT|Q106485006}}}} | scope = {{int|wm-commonstrings-scope}} | see also |seealso = {{int|wm-commonstrings-seealso}} | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | staff = {{int|wm-commonstrings-staff}} | start = {{int|pagetriage-filter-predicted-class-start}} | statistics | stats = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us | talktous = {{int|wm-commonstrings-talktous}} | telegram = {{labelT|Q15616276}} | test wikipedia = {{int|project-localized-name-testwiki}} | total = {{int|sitematrix-sitetotal}} | translations = {{int|centralnotice-translations}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = {{int|wm-commonstrings-updates}} | whatsapp = {{labelT|Q1049511}} | wikibooks = {{int|wikibase-sitelinks-wikibooks}} | wikidata = {{int|wikibase-repo-name}} | wikifunctions = {{int|wikibase-otherprojects-wikifunctions}} | wikimania = {{int|project-localized-name-wikimaniawiki}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{int|wikimedia-otherprojects-cloudservices}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{int|wikimedia-otherprojects-endowment}} | wikimedia enterprise = {{int|wikimedia-otherprojects-enterprise}} | wikimedia foundation | wmf = {{int|wikibase-otherprojects-foundation}} | wikimedia foundation, inc. | wmf inc | wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = {{int|wikimedia-foundation-projects-label}} | wikimedia incubator = {{int|project-localized-name-incubatorwiki}} | wikimedia mailservices = {{int|wikimedia-mailservices-label}} | wikimedia outreach |wikimedia outreach wiki = {{int|project-localized-name-outreachwiki}} | wikimedia phabricator = {{int|wikimedia-otherprojects-phabricator}} | wikimedia projects = {{int|wikimedia-projects-label}} | wikinews = {{int|wikibase-sitelinks-wikinews}} | wikipedia = {{int|wikibase-sitelinks-wikipedia}} | wikiquote = {{int|wikibase-sitelinks-wikiquote}} | wikisource = {{int|wikibase-sitelinks-wikisource}} | wikispecies = {{int|wikibase-otherprojects-species}} | wikistats = {{int|wikimedia-wikistats-label}} | wikitech = {{int|project-localized-name-labswiki}} | wikiversity = {{int|wikibase-sitelinks-wikiversity}} | wikivoyage = {{int|wikibase-sitelinks-wikivoyage}} | wiktionary | wikt = {{int|wikibase-sitelinks-wiktionary}} | x | twitter | tw = {{labelT|Q918}} | yahoo | yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube | yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} 3zd98fuowubprg1s7jd6twapx97ry9k 10247 10246 2024-09-28T02:27:22Z meta>GVarnum-WMF 0 | tiktok = {{labelT|Q48938223}} 10247 wikitext text/x-wiki <noinclude><languages /><translate><!--T:61--> <tvar name="1"></tvar></translate> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | about = {{int|about}} | activities = {{int|wm-commonstrings-activities}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|wikilambda-function-details-table-approve}} | archives = {{ucfirst:{{labelT|Q56648173}}}} | agenda = {{int|wm-commonstrings-agenda}} | average = {{int|exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = {{int|wm-commonstrings-background}} | blog = {{ucfirst:{{labelT|Q30849}}}} | category = {{int|nstab-category}} | closed = {{int|wm-commonstrings-closed}} | conclusion = {{int|wm-commonstrings-conclusion}} | contact us | contactus = {{int|wm-commonstrings-contactus}} | diff = {{ucfirst:{{int|diff}}}} | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = {{int|wm-commonstrings-connect}} | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discord = {{labelT|Q22907849}} | discussion = {{int|talk}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = {{int|wm-commonstrings-events}} | external links = {{int|wm-commonstrings-externallinks}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms | gforms = {{labelT|Q47014869}} | google meet | gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca | identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram | insta = {{labelT|Q209330}} | introduction = {{int|growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | leadership = <translate><!--T:66--> Leadership</translate> | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | mainpage | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki | mw = {{int|wikibase-sitelinks-sitename-mediawikiwiki}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki | meta | metawiki = {{int|project-localized-name-metawiki}} | minutes = {{ucfirst:{{labelT|Q2085515}}}} | more information | more info = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = {{int|wm-commonstrings-noticeboard}} | objectives = {{int|wm-commonstrings-objectives}} | ongoing = {{int|wm-commonstrings-ongoing}} | open = {{int|wm-commonstrings-open}} | other = {{int|visualeditor-shortcuts-other}} | overview = {{int|wm-commonstrings-overview}} | participate = {{int|wm-commonstrings-participate}} | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | policies and guidelines | meta-policy-guidelines | policy-guidelines = {{int|wm-commonstrings-policies-guidelines}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | purpose = {{int|wm-commonstrings-purpose}} | qualtrics | qual = {{labelT|Q7268803}} | questions | questions? = {{int|wm-commonstrings-questions}} | quicksurveys | qsurveys = {{int|ext-quicksurveys-name}} | quora | quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = {{int|wm-commonstrings-reports}} | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = {{ucfirst:{{labelT|Q106485006}}}} | scope = {{int|wm-commonstrings-scope}} | see also |seealso = {{int|wm-commonstrings-seealso}} | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | staff = {{int|wm-commonstrings-staff}} | start = {{int|pagetriage-filter-predicted-class-start}} | statistics | stats = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us | talktous = {{int|wm-commonstrings-talktous}} | telegram = {{labelT|Q15616276}} | test wikipedia = {{int|project-localized-name-testwiki}} | tiktok = {{labelT|Q48938223}} | total = {{int|sitematrix-sitetotal}} | translations = {{int|centralnotice-translations}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = {{int|wm-commonstrings-updates}} | whatsapp = {{labelT|Q1049511}} | wikibooks = {{int|wikibase-sitelinks-wikibooks}} | wikidata = {{int|wikibase-repo-name}} | wikifunctions = {{int|wikibase-otherprojects-wikifunctions}} | wikimania = {{int|project-localized-name-wikimaniawiki}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{int|wikimedia-otherprojects-cloudservices}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{int|wikimedia-otherprojects-endowment}} | wikimedia enterprise = {{int|wikimedia-otherprojects-enterprise}} | wikimedia foundation | wmf = {{int|wikibase-otherprojects-foundation}} | wikimedia foundation, inc. | wmf inc | wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = {{int|wikimedia-foundation-projects-label}} | wikimedia incubator = {{int|project-localized-name-incubatorwiki}} | wikimedia mailservices = {{int|wikimedia-mailservices-label}} | wikimedia outreach |wikimedia outreach wiki = {{int|project-localized-name-outreachwiki}} | wikimedia phabricator = {{int|wikimedia-otherprojects-phabricator}} | wikimedia projects = {{int|wikimedia-projects-label}} | wikinews = {{int|wikibase-sitelinks-wikinews}} | wikipedia = {{int|wikibase-sitelinks-wikipedia}} | wikiquote = {{int|wikibase-sitelinks-wikiquote}} | wikisource = {{int|wikibase-sitelinks-wikisource}} | wikispecies = {{int|wikibase-otherprojects-species}} | wikistats = {{int|wikimedia-wikistats-label}} | wikitech = {{int|project-localized-name-labswiki}} | wikiversity = {{int|wikibase-sitelinks-wikiversity}} | wikivoyage = {{int|wikibase-sitelinks-wikivoyage}} | wiktionary | wikt = {{int|wikibase-sitelinks-wiktionary}} | x | twitter | tw = {{labelT|Q918}} | yahoo | yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube | yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} c9cj3epbuudi76ggqr47vexjbwhcjpk 10248 10247 2024-10-24T01:58:27Z meta>GVarnum-WMF 0 10248 wikitext text/x-wiki <noinclude><languages /><translate><!--T:61--> <tvar name="1"></tvar></translate> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | about = {{int|about}} | activities = {{int|wm-commonstrings-activities}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|wikilambda-function-details-table-approve}} | archives = {{ucfirst:{{labelT|Q56648173}}}} | agenda = {{int|wm-commonstrings-agenda}} | average = {{int|exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = {{int|wm-commonstrings-background}} | blog = {{ucfirst:{{labelT|Q30849}}}} | category = {{int|nstab-category}} | closed = {{int|wm-commonstrings-closed}} | conclusion = {{int|wm-commonstrings-conclusion}} | contact us | contactus = {{int|wm-commonstrings-contactus}} | diff = {{ucfirst:{{int|diff}}}} | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = {{int|wm-commonstrings-connect}} | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discord = {{labelT|Q22907849}} | discussion = {{int|talk}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = {{int|wm-commonstrings-events}} | external links = {{int|wm-commonstrings-externallinks}} | facebook |fb = {{labelT|Q355}} | feedback = <translate>Feedback</translate> | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms | gforms = {{labelT|Q47014869}} | google meet | gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca | identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram | insta = {{labelT|Q209330}} | introduction = {{int|growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | leadership = <translate><!--T:66--> Leadership</translate> | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | mainpage | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki | mw = {{int|wikibase-sitelinks-sitename-mediawikiwiki}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki | meta | metawiki = {{int|project-localized-name-metawiki}} | minutes = {{ucfirst:{{labelT|Q2085515}}}} | more information | more info = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = {{int|wm-commonstrings-noticeboard}} | objectives = {{int|wm-commonstrings-objectives}} | ongoing = {{int|wm-commonstrings-ongoing}} | open = {{int|wm-commonstrings-open}} | other = {{int|visualeditor-shortcuts-other}} | overview = {{int|wm-commonstrings-overview}} | participate = {{int|wm-commonstrings-participate}} | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | policies and guidelines | meta-policy-guidelines | policy-guidelines = {{int|wm-commonstrings-policies-guidelines}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | purpose = {{int|wm-commonstrings-purpose}} | qualtrics | qual = {{labelT|Q7268803}} | questions | questions? = {{int|wm-commonstrings-questions}} | quicksurveys | qsurveys = {{int|ext-quicksurveys-name}} | quora | quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = {{int|wm-commonstrings-reports}} | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = {{ucfirst:{{labelT|Q106485006}}}} | scope = {{int|wm-commonstrings-scope}} | see also |seealso = {{int|wm-commonstrings-seealso}} | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | staff = {{int|wm-commonstrings-staff}} | start = {{int|pagetriage-filter-predicted-class-start}} | statistics | stats = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us | talktous = {{int|wm-commonstrings-talktous}} | telegram = {{labelT|Q15616276}} | test wikipedia = {{int|project-localized-name-testwiki}} | tiktok = {{labelT|Q48938223}} | total = {{int|sitematrix-sitetotal}} | translations = {{int|centralnotice-translations}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = {{int|wm-commonstrings-updates}} | whatsapp = {{labelT|Q1049511}} | wikibooks = {{int|wikibase-sitelinks-wikibooks}} | wikidata = {{int|wikibase-repo-name}} | wikifunctions = {{int|wikibase-otherprojects-wikifunctions}} | wikimania = {{int|project-localized-name-wikimaniawiki}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{int|wikimedia-otherprojects-cloudservices}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{int|wikimedia-otherprojects-endowment}} | wikimedia enterprise = {{int|wikimedia-otherprojects-enterprise}} | wikimedia foundation | wmf = {{int|wikibase-otherprojects-foundation}} | wikimedia foundation, inc. | wmf inc | wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = {{int|wikimedia-foundation-projects-label}} | wikimedia incubator = {{int|project-localized-name-incubatorwiki}} | wikimedia mailservices = {{int|wikimedia-mailservices-label}} | wikimedia outreach |wikimedia outreach wiki = {{int|project-localized-name-outreachwiki}} | wikimedia phabricator = {{int|wikimedia-otherprojects-phabricator}} | wikimedia projects = {{int|wikimedia-projects-label}} | wikinews = {{int|wikibase-sitelinks-wikinews}} | wikipedia = {{int|wikibase-sitelinks-wikipedia}} | wikiquote = {{int|wikibase-sitelinks-wikiquote}} | wikisource = {{int|wikibase-sitelinks-wikisource}} | wikispecies = {{int|wikibase-otherprojects-species}} | wikistats = {{int|wikimedia-wikistats-label}} | wikitech = {{int|project-localized-name-labswiki}} | wikiversity = {{int|wikibase-sitelinks-wikiversity}} | wikivoyage = {{int|wikibase-sitelinks-wikivoyage}} | wiktionary | wikt = {{int|wikibase-sitelinks-wiktionary}} | x | twitter | tw = {{labelT|Q918}} | yahoo | yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube | yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} 44e6apn5celhylp1l4nl1m0fgw0q709 10249 10248 2024-10-24T01:58:40Z meta>GVarnum-WMF 0 Marked this version for translation 10249 wikitext text/x-wiki <noinclude><languages /><translate><!--T:61--> <tvar name="1"></tvar></translate> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | about = {{int|about}} | activities = {{int|wm-commonstrings-activities}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|wikilambda-function-details-table-approve}} | archives = {{ucfirst:{{labelT|Q56648173}}}} | agenda = {{int|wm-commonstrings-agenda}} | average = {{int|exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = {{int|wm-commonstrings-background}} | blog = {{ucfirst:{{labelT|Q30849}}}} | category = {{int|nstab-category}} | closed = {{int|wm-commonstrings-closed}} | conclusion = {{int|wm-commonstrings-conclusion}} | contact us | contactus = {{int|wm-commonstrings-contactus}} | diff = {{ucfirst:{{int|diff}}}} | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = {{int|wm-commonstrings-connect}} | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discord = {{labelT|Q22907849}} | discussion = {{int|talk}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = {{int|wm-commonstrings-events}} | external links = {{int|wm-commonstrings-externallinks}} | facebook |fb = {{labelT|Q355}} | feedback = <translate><!--T:67--> Feedback</translate> | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms | gforms = {{labelT|Q47014869}} | google meet | gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca | identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram | insta = {{labelT|Q209330}} | introduction = {{int|growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | leadership = <translate><!--T:66--> Leadership</translate> | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | mainpage | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki | mw = {{int|wikibase-sitelinks-sitename-mediawikiwiki}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki | meta | metawiki = {{int|project-localized-name-metawiki}} | minutes = {{ucfirst:{{labelT|Q2085515}}}} | more information | more info = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = {{int|wm-commonstrings-noticeboard}} | objectives = {{int|wm-commonstrings-objectives}} | ongoing = {{int|wm-commonstrings-ongoing}} | open = {{int|wm-commonstrings-open}} | other = {{int|visualeditor-shortcuts-other}} | overview = {{int|wm-commonstrings-overview}} | participate = {{int|wm-commonstrings-participate}} | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | policies and guidelines | meta-policy-guidelines | policy-guidelines = {{int|wm-commonstrings-policies-guidelines}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | purpose = {{int|wm-commonstrings-purpose}} | qualtrics | qual = {{labelT|Q7268803}} | questions | questions? = {{int|wm-commonstrings-questions}} | quicksurveys | qsurveys = {{int|ext-quicksurveys-name}} | quora | quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = {{int|wm-commonstrings-reports}} | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = {{ucfirst:{{labelT|Q106485006}}}} | scope = {{int|wm-commonstrings-scope}} | see also |seealso = {{int|wm-commonstrings-seealso}} | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | staff = {{int|wm-commonstrings-staff}} | start = {{int|pagetriage-filter-predicted-class-start}} | statistics | stats = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us | talktous = {{int|wm-commonstrings-talktous}} | telegram = {{labelT|Q15616276}} | test wikipedia = {{int|project-localized-name-testwiki}} | tiktok = {{labelT|Q48938223}} | total = {{int|sitematrix-sitetotal}} | translations = {{int|centralnotice-translations}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = {{int|wm-commonstrings-updates}} | whatsapp = {{labelT|Q1049511}} | wikibooks = {{int|wikibase-sitelinks-wikibooks}} | wikidata = {{int|wikibase-repo-name}} | wikifunctions = {{int|wikibase-otherprojects-wikifunctions}} | wikimania = {{int|project-localized-name-wikimaniawiki}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{int|wikimedia-otherprojects-cloudservices}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{int|wikimedia-otherprojects-endowment}} | wikimedia enterprise = {{int|wikimedia-otherprojects-enterprise}} | wikimedia foundation | wmf = {{int|wikibase-otherprojects-foundation}} | wikimedia foundation, inc. | wmf inc | wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = {{int|wikimedia-foundation-projects-label}} | wikimedia incubator = {{int|project-localized-name-incubatorwiki}} | wikimedia mailservices = {{int|wikimedia-mailservices-label}} | wikimedia outreach |wikimedia outreach wiki = {{int|project-localized-name-outreachwiki}} | wikimedia phabricator = {{int|wikimedia-otherprojects-phabricator}} | wikimedia projects = {{int|wikimedia-projects-label}} | wikinews = {{int|wikibase-sitelinks-wikinews}} | wikipedia = {{int|wikibase-sitelinks-wikipedia}} | wikiquote = {{int|wikibase-sitelinks-wikiquote}} | wikisource = {{int|wikibase-sitelinks-wikisource}} | wikispecies = {{int|wikibase-otherprojects-species}} | wikistats = {{int|wikimedia-wikistats-label}} | wikitech = {{int|project-localized-name-labswiki}} | wikiversity = {{int|wikibase-sitelinks-wikiversity}} | wikivoyage = {{int|wikibase-sitelinks-wikivoyage}} | wiktionary | wikt = {{int|wikibase-sitelinks-wiktionary}} | x | twitter | tw = {{labelT|Q918}} | yahoo | yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube | yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} 1do6t5jgjk6ejbpao90q9jzx980tbuu 10250 10249 2025-01-23T07:52:25Z meta>Minorax 0 don't see a need to put this into {{#translation:}} categories 10250 wikitext text/x-wiki <noinclude><languages /><translate><!--T:61--> <tvar name="1"></tvar></translate> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | about = {{int|about}} | activities = {{int|wm-commonstrings-activities}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|wikilambda-function-details-table-approve}} | archives = {{ucfirst:{{labelT|Q56648173}}}} | agenda = {{int|wm-commonstrings-agenda}} | average = {{int|exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = {{int|wm-commonstrings-background}} | blog = {{ucfirst:{{labelT|Q30849}}}} | category = {{int|nstab-category}} | closed = {{int|wm-commonstrings-closed}} | conclusion = {{int|wm-commonstrings-conclusion}} | contact us | contactus = {{int|wm-commonstrings-contactus}} | diff = {{ucfirst:{{int|diff}}}} | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = {{int|wm-commonstrings-connect}} | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discord = {{labelT|Q22907849}} | discussion = {{int|talk}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = {{int|wm-commonstrings-events}} | external links = {{int|wm-commonstrings-externallinks}} | facebook |fb = {{labelT|Q355}} | feedback = <translate><!--T:67--> Feedback</translate> | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms | gforms = {{labelT|Q47014869}} | google meet | gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca | identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram | insta = {{labelT|Q209330}} | introduction = {{int|growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | leadership = <translate><!--T:66--> Leadership</translate> | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | mainpage | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki | mw = {{int|wikibase-sitelinks-sitename-mediawikiwiki}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki | meta | metawiki = {{int|project-localized-name-metawiki}} | minutes = {{ucfirst:{{labelT|Q2085515}}}} | more information | more info = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = {{int|wm-commonstrings-noticeboard}} | objectives = {{int|wm-commonstrings-objectives}} | ongoing = {{int|wm-commonstrings-ongoing}} | open = {{int|wm-commonstrings-open}} | other = {{int|visualeditor-shortcuts-other}} | overview = {{int|wm-commonstrings-overview}} | participate = {{int|wm-commonstrings-participate}} | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | policies and guidelines | meta-policy-guidelines | policy-guidelines = {{int|wm-commonstrings-policies-guidelines}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | purpose = {{int|wm-commonstrings-purpose}} | qualtrics | qual = {{labelT|Q7268803}} | questions | questions? = {{int|wm-commonstrings-questions}} | quicksurveys | qsurveys = {{int|ext-quicksurveys-name}} | quora | quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = {{int|wm-commonstrings-reports}} | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = {{ucfirst:{{labelT|Q106485006}}}} | scope = {{int|wm-commonstrings-scope}} | see also |seealso = {{int|wm-commonstrings-seealso}} | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | staff = {{int|wm-commonstrings-staff}} | start = {{int|pagetriage-filter-predicted-class-start}} | statistics | stats = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us | talktous = {{int|wm-commonstrings-talktous}} | telegram = {{labelT|Q15616276}} | test wikipedia = {{int|project-localized-name-testwiki}} | tiktok = {{labelT|Q48938223}} | total = {{int|sitematrix-sitetotal}} | translations = {{int|centralnotice-translations}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = {{int|wm-commonstrings-updates}} | whatsapp = {{labelT|Q1049511}} | wikibooks = {{int|wikibase-sitelinks-wikibooks}} | wikidata = {{int|wikibase-repo-name}} | wikifunctions = {{int|wikibase-otherprojects-wikifunctions}} | wikimania = {{int|project-localized-name-wikimaniawiki}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{int|wikimedia-otherprojects-cloudservices}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{int|wikimedia-otherprojects-endowment}} | wikimedia enterprise = {{int|wikimedia-otherprojects-enterprise}} | wikimedia foundation | wmf = {{int|wikibase-otherprojects-foundation}} | wikimedia foundation, inc. | wmf inc | wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = {{int|wikimedia-foundation-projects-label}} | wikimedia incubator = {{int|project-localized-name-incubatorwiki}} | wikimedia mailservices = {{int|wikimedia-mailservices-label}} | wikimedia outreach |wikimedia outreach wiki = {{int|project-localized-name-outreachwiki}} | wikimedia phabricator = {{int|wikimedia-otherprojects-phabricator}} | wikimedia projects = {{int|wikimedia-projects-label}} | wikinews = {{int|wikibase-sitelinks-wikinews}} | wikipedia = {{int|wikibase-sitelinks-wikipedia}} | wikiquote = {{int|wikibase-sitelinks-wikiquote}} | wikisource = {{int|wikibase-sitelinks-wikisource}} | wikispecies = {{int|wikibase-otherprojects-species}} | wikistats = {{int|wikimedia-wikistats-label}} | wikitech = {{int|project-localized-name-labswiki}} | wikiversity = {{int|wikibase-sitelinks-wikiversity}} | wikivoyage = {{int|wikibase-sitelinks-wikivoyage}} | wiktionary | wikt = {{int|wikibase-sitelinks-wiktionary}} | x | twitter | tw = {{labelT|Q918}} | yahoo | yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube | yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string]]}}</includeonly> }} 3xiwlvt251gq7p4o95ijd87erwpb5rq 10251 10250 2026-02-11T17:25:38Z meta>GVarnum-WMF 0 | wayback | wayback machine | waybackmachine = {{labelT|Q648266}} 10251 wikitext text/x-wiki <noinclude><languages /><translate><!--T:61--> <tvar name="1"></tvar></translate> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | about = {{int|about}} | activities = {{int|wm-commonstrings-activities}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|wikilambda-function-details-table-approve}} | archives = {{ucfirst:{{labelT|Q56648173}}}} | agenda = {{int|wm-commonstrings-agenda}} | average = {{int|exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = {{int|wm-commonstrings-background}} | blog = {{ucfirst:{{labelT|Q30849}}}} | category = {{int|nstab-category}} | closed = {{int|wm-commonstrings-closed}} | conclusion = {{int|wm-commonstrings-conclusion}} | contact us | contactus = {{int|wm-commonstrings-contactus}} | diff = {{ucfirst:{{int|diff}}}} | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = {{int|wm-commonstrings-connect}} | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discord = {{labelT|Q22907849}} | discussion = {{int|talk}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = {{int|wm-commonstrings-events}} | external links = {{int|wm-commonstrings-externallinks}} | facebook |fb = {{labelT|Q355}} | feedback = <translate><!--T:67--> Feedback</translate> | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms | gforms = {{labelT|Q47014869}} | google meet | gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca | identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram | insta = {{labelT|Q209330}} | introduction = {{int|growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | leadership = <translate><!--T:66--> Leadership</translate> | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | mainpage | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki | mw = {{int|wikibase-sitelinks-sitename-mediawikiwiki}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki | meta | metawiki = {{int|project-localized-name-metawiki}} | minutes = {{ucfirst:{{labelT|Q2085515}}}} | more information | more info = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = {{int|wm-commonstrings-noticeboard}} | objectives = {{int|wm-commonstrings-objectives}} | ongoing = {{int|wm-commonstrings-ongoing}} | open = {{int|wm-commonstrings-open}} | other = {{int|visualeditor-shortcuts-other}} | overview = {{int|wm-commonstrings-overview}} | participate = {{int|wm-commonstrings-participate}} | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | policies and guidelines | meta-policy-guidelines | policy-guidelines = {{int|wm-commonstrings-policies-guidelines}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | purpose = {{int|wm-commonstrings-purpose}} | qualtrics | qual = {{labelT|Q7268803}} | questions | questions? = {{int|wm-commonstrings-questions}} | quicksurveys | qsurveys = {{int|ext-quicksurveys-name}} | quora | quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = {{int|wm-commonstrings-reports}} | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = {{ucfirst:{{labelT|Q106485006}}}} | scope = {{int|wm-commonstrings-scope}} | see also |seealso = {{int|wm-commonstrings-seealso}} | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | staff = {{int|wm-commonstrings-staff}} | start = {{int|pagetriage-filter-predicted-class-start}} | statistics | stats = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us | talktous = {{int|wm-commonstrings-talktous}} | telegram = {{labelT|Q15616276}} | test wikipedia = {{int|project-localized-name-testwiki}} | tiktok = {{labelT|Q48938223}} | total = {{int|sitematrix-sitetotal}} | translations = {{int|centralnotice-translations}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = {{int|wm-commonstrings-updates}} | wayback | wayback machine | waybackmachine = {{labelT|Q648266}} | whatsapp = {{labelT|Q1049511}} | wikibooks = {{int|wikibase-sitelinks-wikibooks}} | wikidata = {{int|wikibase-repo-name}} | wikifunctions = {{int|wikibase-otherprojects-wikifunctions}} | wikimania = {{int|project-localized-name-wikimaniawiki}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{int|wikimedia-otherprojects-cloudservices}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{int|wikimedia-otherprojects-endowment}} | wikimedia enterprise = {{int|wikimedia-otherprojects-enterprise}} | wikimedia foundation | wmf = {{int|wikibase-otherprojects-foundation}} | wikimedia foundation, inc. | wmf inc | wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = {{int|wikimedia-foundation-projects-label}} | wikimedia incubator = {{int|project-localized-name-incubatorwiki}} | wikimedia mailservices = {{int|wikimedia-mailservices-label}} | wikimedia outreach |wikimedia outreach wiki = {{int|project-localized-name-outreachwiki}} | wikimedia phabricator = {{int|wikimedia-otherprojects-phabricator}} | wikimedia projects = {{int|wikimedia-projects-label}} | wikinews = {{int|wikibase-sitelinks-wikinews}} | wikipedia = {{int|wikibase-sitelinks-wikipedia}} | wikiquote = {{int|wikibase-sitelinks-wikiquote}} | wikisource = {{int|wikibase-sitelinks-wikisource}} | wikispecies = {{int|wikibase-otherprojects-species}} | wikistats = {{int|wikimedia-wikistats-label}} | wikitech = {{int|project-localized-name-labswiki}} | wikiversity = {{int|wikibase-sitelinks-wikiversity}} | wikivoyage = {{int|wikibase-sitelinks-wikivoyage}} | wiktionary | wikt = {{int|wikibase-sitelinks-wiktionary}} | x | twitter | tw = {{labelT|Q918}} | yahoo | yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube | yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string]]}}</includeonly> }} tgrpoe2sf6pokughzb23hxk226rnn05 10252 10251 2026-02-11T17:29:50Z meta>GVarnum-WMF 0 {{#translation:}} 10252 wikitext text/x-wiki <noinclude><languages /><translate><!--T:61--> <tvar name="1"></tvar></translate> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | about = {{int|about}} | activities = {{int|wm-commonstrings-activities}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|wikilambda-function-details-table-approve}} | archives = {{ucfirst:{{labelT|Q56648173}}}} | agenda = {{int|wm-commonstrings-agenda}} | average = {{int|exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = {{int|wm-commonstrings-background}} | blog = {{ucfirst:{{labelT|Q30849}}}} | category = {{int|nstab-category}} | closed = {{int|wm-commonstrings-closed}} | conclusion = {{int|wm-commonstrings-conclusion}} | contact us | contactus = {{int|wm-commonstrings-contactus}} | diff = {{ucfirst:{{int|diff}}}} | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = {{int|wm-commonstrings-connect}} | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discord = {{labelT|Q22907849}} | discussion = {{int|talk}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = {{int|wm-commonstrings-events}} | external links = {{int|wm-commonstrings-externallinks}} | facebook |fb = {{labelT|Q355}} | feedback = <translate><!--T:67--> Feedback</translate> | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms | gforms = {{labelT|Q47014869}} | google meet | gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca | identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram | insta = {{labelT|Q209330}} | introduction = {{int|growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | leadership = <translate><!--T:66--> Leadership</translate> | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | mainpage | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki | mw = {{int|wikibase-sitelinks-sitename-mediawikiwiki}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki | meta | metawiki = {{int|project-localized-name-metawiki}} | minutes = {{ucfirst:{{labelT|Q2085515}}}} | more information | more info = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = {{int|wm-commonstrings-noticeboard}} | objectives = {{int|wm-commonstrings-objectives}} | ongoing = {{int|wm-commonstrings-ongoing}} | open = {{int|wm-commonstrings-open}} | other = {{int|visualeditor-shortcuts-other}} | overview = {{int|wm-commonstrings-overview}} | participate = {{int|wm-commonstrings-participate}} | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | policies and guidelines | meta-policy-guidelines | policy-guidelines = {{int|wm-commonstrings-policies-guidelines}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | purpose = {{int|wm-commonstrings-purpose}} | qualtrics | qual = {{labelT|Q7268803}} | questions | questions? = {{int|wm-commonstrings-questions}} | quicksurveys | qsurveys = {{int|ext-quicksurveys-name}} | quora | quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = {{int|wm-commonstrings-reports}} | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = {{ucfirst:{{labelT|Q106485006}}}} | scope = {{int|wm-commonstrings-scope}} | see also |seealso = {{int|wm-commonstrings-seealso}} | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | staff = {{int|wm-commonstrings-staff}} | start = {{int|pagetriage-filter-predicted-class-start}} | statistics | stats = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us | talktous = {{int|wm-commonstrings-talktous}} | telegram = {{labelT|Q15616276}} | test wikipedia = {{int|project-localized-name-testwiki}} | tiktok = {{labelT|Q48938223}} | total = {{int|sitematrix-sitetotal}} | translations = {{int|centralnotice-translations}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = {{int|wm-commonstrings-updates}} | wayback | wayback machine | waybackmachine = {{labelT|Q648266}} | whatsapp = {{labelT|Q1049511}} | wikibooks = {{int|wikibase-sitelinks-wikibooks}} | wikidata = {{int|wikibase-repo-name}} | wikifunctions = {{int|wikibase-otherprojects-wikifunctions}} | wikimania = {{int|project-localized-name-wikimaniawiki}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{int|wikimedia-otherprojects-cloudservices}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{int|wikimedia-otherprojects-endowment}} | wikimedia enterprise = {{int|wikimedia-otherprojects-enterprise}} | wikimedia foundation | wmf = {{int|wikibase-otherprojects-foundation}} | wikimedia foundation, inc. | wmf inc | wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = {{int|wikimedia-foundation-projects-label}} | wikimedia incubator = {{int|project-localized-name-incubatorwiki}} | wikimedia mailservices = {{int|wikimedia-mailservices-label}} | wikimedia outreach |wikimedia outreach wiki = {{int|project-localized-name-outreachwiki}} | wikimedia phabricator = {{int|wikimedia-otherprojects-phabricator}} | wikimedia projects = {{int|wikimedia-projects-label}} | wikinews = {{int|wikibase-sitelinks-wikinews}} | wikipedia = {{int|wikibase-sitelinks-wikipedia}} | wikiquote = {{int|wikibase-sitelinks-wikiquote}} | wikisource = {{int|wikibase-sitelinks-wikisource}} | wikispecies = {{int|wikibase-otherprojects-species}} | wikistats = {{int|wikimedia-wikistats-label}} | wikitech = {{int|project-localized-name-labswiki}} | wikiversity = {{int|wikibase-sitelinks-wikiversity}} | wikivoyage = {{int|wikibase-sitelinks-wikivoyage}} | wiktionary | wikt = {{int|wikibase-sitelinks-wiktionary}} | x | twitter | tw = {{labelT|Q918}} | yahoo | yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube | yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} bpj4igoiwvyg67ei7mwiirgzot6taeh 10253 10252 2026-08-24T13:00:54Z RAPTOR7762 18 193 revisions imported from [[:meta:Template:Int_string]] 10252 wikitext text/x-wiki <noinclude><languages /><translate><!--T:61--> <tvar name="1"></tvar></translate> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | about = {{int|about}} | activities = {{int|wm-commonstrings-activities}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|wikilambda-function-details-table-approve}} | archives = {{ucfirst:{{labelT|Q56648173}}}} | agenda = {{int|wm-commonstrings-agenda}} | average = {{int|exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = {{int|wm-commonstrings-background}} | blog = {{ucfirst:{{labelT|Q30849}}}} | category = {{int|nstab-category}} | closed = {{int|wm-commonstrings-closed}} | conclusion = {{int|wm-commonstrings-conclusion}} | contact us | contactus = {{int|wm-commonstrings-contactus}} | diff = {{ucfirst:{{int|diff}}}} | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = {{int|wm-commonstrings-connect}} | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discord = {{labelT|Q22907849}} | discussion = {{int|talk}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = {{int|wm-commonstrings-events}} | external links = {{int|wm-commonstrings-externallinks}} | facebook |fb = {{labelT|Q355}} | feedback = <translate><!--T:67--> Feedback</translate> | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms | gforms = {{labelT|Q47014869}} | google meet | gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca | identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram | insta = {{labelT|Q209330}} | introduction = {{int|growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | leadership = <translate><!--T:66--> Leadership</translate> | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | mainpage | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki | mw = {{int|wikibase-sitelinks-sitename-mediawikiwiki}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki | meta | metawiki = {{int|project-localized-name-metawiki}} | minutes = {{ucfirst:{{labelT|Q2085515}}}} | more information | more info = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = {{int|wm-commonstrings-noticeboard}} | objectives = {{int|wm-commonstrings-objectives}} | ongoing = {{int|wm-commonstrings-ongoing}} | open = {{int|wm-commonstrings-open}} | other = {{int|visualeditor-shortcuts-other}} | overview = {{int|wm-commonstrings-overview}} | participate = {{int|wm-commonstrings-participate}} | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | policies and guidelines | meta-policy-guidelines | policy-guidelines = {{int|wm-commonstrings-policies-guidelines}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | purpose = {{int|wm-commonstrings-purpose}} | qualtrics | qual = {{labelT|Q7268803}} | questions | questions? = {{int|wm-commonstrings-questions}} | quicksurveys | qsurveys = {{int|ext-quicksurveys-name}} | quora | quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = {{int|wm-commonstrings-reports}} | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = {{ucfirst:{{labelT|Q106485006}}}} | scope = {{int|wm-commonstrings-scope}} | see also |seealso = {{int|wm-commonstrings-seealso}} | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | staff = {{int|wm-commonstrings-staff}} | start = {{int|pagetriage-filter-predicted-class-start}} | statistics | stats = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us | talktous = {{int|wm-commonstrings-talktous}} | telegram = {{labelT|Q15616276}} | test wikipedia = {{int|project-localized-name-testwiki}} | tiktok = {{labelT|Q48938223}} | total = {{int|sitematrix-sitetotal}} | translations = {{int|centralnotice-translations}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = {{int|wm-commonstrings-updates}} | wayback | wayback machine | waybackmachine = {{labelT|Q648266}} | whatsapp = {{labelT|Q1049511}} | wikibooks = {{int|wikibase-sitelinks-wikibooks}} | wikidata = {{int|wikibase-repo-name}} | wikifunctions = {{int|wikibase-otherprojects-wikifunctions}} | wikimania = {{int|project-localized-name-wikimaniawiki}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{int|wikimedia-otherprojects-cloudservices}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{int|wikimedia-otherprojects-endowment}} | wikimedia enterprise = {{int|wikimedia-otherprojects-enterprise}} | wikimedia foundation | wmf = {{int|wikibase-otherprojects-foundation}} | wikimedia foundation, inc. | wmf inc | wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = {{int|wikimedia-foundation-projects-label}} | wikimedia incubator = {{int|project-localized-name-incubatorwiki}} | wikimedia mailservices = {{int|wikimedia-mailservices-label}} | wikimedia outreach |wikimedia outreach wiki = {{int|project-localized-name-outreachwiki}} | wikimedia phabricator = {{int|wikimedia-otherprojects-phabricator}} | wikimedia projects = {{int|wikimedia-projects-label}} | wikinews = {{int|wikibase-sitelinks-wikinews}} | wikipedia = {{int|wikibase-sitelinks-wikipedia}} | wikiquote = {{int|wikibase-sitelinks-wikiquote}} | wikisource = {{int|wikibase-sitelinks-wikisource}} | wikispecies = {{int|wikibase-otherprojects-species}} | wikistats = {{int|wikimedia-wikistats-label}} | wikitech = {{int|project-localized-name-labswiki}} | wikiversity = {{int|wikibase-sitelinks-wikiversity}} | wikivoyage = {{int|wikibase-sitelinks-wikivoyage}} | wiktionary | wikt = {{int|wikibase-sitelinks-wiktionary}} | x | twitter | tw = {{labelT|Q918}} | yahoo | yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube | yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} bpj4igoiwvyg67ei7mwiirgzot6taeh Tempilet:Int string/en 10 1256 10254 2022-09-24T20:20:02Z meta>FuzzyBot 0 Updating to match new version of source page 10254 wikitext text/x-wiki <noinclude> {{draft}} <languages /> </noinclude> <includeonly> {{#switch: {{{1|}}} </includeonly> | Home = Home | MediaWiki = MediaWiki | Resources = Resources | Wikimedia = Wikimedia | Wikimedia Foundation = Wikimedia Foundation <includeonly> }} </includeonly><noinclude> {{doc}} </noinclude> px0mz3za0bebl0om8rjn7tpaplusell 10255 10254 2022-09-24T20:32:22Z meta>FuzzyBot 0 Updating to match new version of source page 10255 wikitext text/x-wiki <noinclude> {{draft}} <languages /> </noinclude> <includeonly> {{#switch: {{{1|}}} </includeonly> | Home = Home | MediaWiki = {{int:project-localized-name-mediawikiwiki}} | Resources = Resources | Wikidata = {{int:project-localized-name-wikidatawiki}} | Wikimedia = Wikimedia | Wikimedia Foundation = Wikimedia Foundation <includeonly> }} </includeonly><noinclude> {{doc}} </noinclude> 3byx46rvdu4v1umxn57zlncx0drgrk1 10256 10255 2022-09-24T20:46:42Z meta>FuzzyBot 0 Updating to match new version of source page 10256 wikitext text/x-wiki <noinclude> {{draft}} <languages /> </noinclude> <includeonly> {{#switch: {{{1|}}} </includeonly> | Hello = {{int:hello}} | Home = Home | MediaWiki = {{int:project-localized-name-mediawikiwiki}} | Resources = Resources | Thank you = {{int:thank-you}} | Wikidata = {{int:project-localized-name-wikidatawiki}} | Wikimedia = Wikimedia | Wikimedia Foundation = Wikimedia Foundation <includeonly> }} </includeonly><noinclude> {{doc}} </noinclude> o1wyahi8kwqruwscznvvqkj8a7fv82t 10257 10256 2022-09-24T20:56:41Z meta>FuzzyBot 0 Updating to match new version of source page 10257 wikitext text/x-wiki <noinclude> {{draft}} <languages /> </noinclude> <includeonly> {{#switch: {{{1|}}} </includeonly> | Commons = Commons | Creative Commons = Creative Commons | Feedback = {{int:specialblockfeedback}} | Hello = {{int:hello}} | Home = Home | Leave Feedback = {{int:specialinvestigate-feedback}} | MediaWiki = {{int:project-localized-name-mediawikiwiki}} | Meta-Wiki = {{int:project-localized-name-metawiki}} | Resources = Resources | Thank you = {{int:thank-you}} | Wikibooks = Wikibooks | Wikidata = {{int:project-localized-name-wikidatawiki}} | Wikimedia = Wikimedia | Wikimedia Commons = {{int:project-localized-name-commonswiki}} | Wikimedia Foundation = Wikimedia Foundation | Wikimedia Incubator = {{int:project-localized-name-incubatorwiki}} | Wikinews = Wikinews | Wikiquote = Wikiquote | Wikisource = Wikisource | Wikispecies = {{int:project-localized-name-specieswiki}} | Wikitech = {{int:project-localized-name-labswiki}} | Wikiversity = Wikiversity | Wikivoyage = Wikivoyage | Wiktionary = Wiktionary | <includeonly> }} </includeonly><noinclude> {{doc}} </noinclude> f1063l2tth1nprbrujpjo4koxhjxls0 10258 10257 2022-09-24T21:16:56Z meta>FuzzyBot 0 Updating to match new version of source page 10258 wikitext text/x-wiki <noinclude> {{draft}} <languages /> </noinclude> <includeonly> {{#switch: {{{1|}}} </includeonly> | Commons = Commons | Creative Commons = Creative Commons | Facebook = Facebook | Feedback = {{int:specialblockfeedback}} | Hello = {{int:hello}} | Home = Home | Instagram = Instagram | Leave Feedback = {{int:specialinvestigate-feedback}} | LinkedIn = LinkedIn | MediaWiki = {{int:project-localized-name-mediawikiwiki}} | Meta-Wiki = {{int:project-localized-name-metawiki}} | Resources = Resources | Thank you = {{int:thank-you}} | Twitter = Twitter | Wikibooks = Wikibooks | Wikidata = {{int:project-localized-name-wikidatawiki}} | Wikimedia = Wikimedia | Wikimedia Commons = {{int:project-localized-name-commonswiki}} | Wikimedia Foundation = Wikimedia Foundation | Wikimedia Incubator = {{int:project-localized-name-incubatorwiki}} | Wikinews = Wikinews | Wikiquote = Wikiquote | Wikisource = Wikisource | Wikispecies = {{int:project-localized-name-specieswiki}} | Wikitech = {{int:project-localized-name-labswiki}} | Wikiversity = Wikiversity | Wikivoyage = Wikivoyage | Wiktionary = Wiktionary | <includeonly> }} </includeonly><noinclude> {{doc}} </noinclude> 2w2qzf5p47hfyebxrhh232mmai7ok4t 10259 10258 2022-09-24T21:20:43Z meta>FuzzyBot 0 Updating to match new version of source page 10259 wikitext text/x-wiki <noinclude> {{draft}} <languages /> </noinclude> <includeonly> {{#switch: {{{1|}}} </includeonly> | Commons = Commons | Connect = Connect | Contribute = Contribute | Creative Commons = Creative Commons | Facebook = Facebook | Feedback = {{int:specialblockfeedback}} | Frequently asked questions = Frequently asked questions | Hello = {{int:hello}} | Home = Home | Instagram = Instagram | Leave Feedback = {{int:specialinvestigate-feedback}} | LinkedIn = LinkedIn | Plan = Plan | MediaWiki = {{int:project-localized-name-mediawikiwiki}} | Meta-Wiki = {{int:project-localized-name-metawiki}} | Projects = Projects | References = References | Research = Research | Resources = Resources | See also = See also | Start = Start | Thank you = {{int:thank-you}} | Twitter = Twitter | Wikibooks = Wikibooks | Wikidata = {{int:project-localized-name-wikidatawiki}} | Wikimedia = Wikimedia | Wikimedia Commons = {{int:project-localized-name-commonswiki}} | Wikimedia Foundation = Wikimedia Foundation | Wikimedia Incubator = {{int:project-localized-name-incubatorwiki}} | Wikinews = Wikinews | Wikiquote = Wikiquote | Wikisource = Wikisource | Wikispecies = {{int:project-localized-name-specieswiki}} | Wikitech = {{int:project-localized-name-labswiki}} | Wikiversity = Wikiversity | Wikivoyage = Wikivoyage | Wiktionary = Wiktionary <includeonly> }} </includeonly><noinclude> {{doc}} </noinclude> 06778mzd6ml77xruehg5npaakbopjgb 10260 10259 2022-09-24T21:27:44Z meta>FuzzyBot 0 Updating to match new version of source page 10260 wikitext text/x-wiki <noinclude> {{draft}} <languages /> </noinclude> <includeonly> {{#switch: {{{1|}}} </includeonly> | Commons = Commons | Connect = Connect | Contribute = Contribute | Creative Commons = Creative Commons | Facebook = Facebook | Feedback = {{int:specialblockfeedback/{{CURRENTCONTENTLANGUAGE}}}} | Frequently asked questions = Frequently asked questions | Hello = {{int:hello/{{CURRENTCONTENTLANGUAGE}}}} | Home = Home | Instagram = Instagram | Leave Feedback = {{int:specialinvestigate-feedback/{{CURRENTCONTENTLANGUAGE}}}} | LinkedIn = LinkedIn | Plan = Plan | MediaWiki = {{int:project-localized-name-mediawikiwiki/{{CURRENTCONTENTLANGUAGE}}}} | Meta-Wiki = {{int:project-localized-name-metawiki/{{CURRENTCONTENTLANGUAGE}}}} | Projects = Projects | References = References | Research = Research | Resources = Resources | See also = See also | Start = Start | Thank you = {{int:thank-you/{{CURRENTCONTENTLANGUAGE}}}} | Twitter = Twitter | Wikibooks = Wikibooks | Wikidata = {{int:project-localized-name-wikidatawiki/{{CURRENTCONTENTLANGUAGE}}}} | Wikimedia = Wikimedia | Wikimedia Commons = {{int:project-localized-name-commonswiki/{{CURRENTCONTENTLANGUAGE}}}} | Wikimedia Foundation = Wikimedia Foundation | Wikimedia Incubator = {{int:project-localized-name-incubatorwiki/{{CURRENTCONTENTLANGUAGE}}}} | Wikinews = Wikinews | Wikiquote = Wikiquote | Wikisource = Wikisource | Wikispecies = {{int:project-localized-name-specieswiki/{{CURRENTCONTENTLANGUAGE}}}} | Wikitech = {{int:project-localized-name-labswiki/{{CURRENTCONTENTLANGUAGE}}}} | Wikiversity = Wikiversity | Wikivoyage = Wikivoyage | Wiktionary = Wiktionary <includeonly> }} </includeonly><noinclude> {{doc}} </noinclude> hk3tp9yowprywsa1m1nwxwybt6o16o3 10261 10260 2022-09-24T21:31:18Z meta>FuzzyBot 0 Updating to match new version of source page 10261 wikitext text/x-wiki <noinclude> {{draft}} <languages /> </noinclude> <includeonly> {{#switch: {{{1|}}} </includeonly> | Commons = Commons | Connect = Connect | Contribute = Contribute | Creative Commons = Creative Commons | Facebook = Facebook | Feedback = {{int:specialblockfeedback/{{CURRENTCONTENTLANGUAGE}}}} | Frequently asked questions = Frequently asked questions | Hello = {{int:hello/{{CURRENTCONTENTLANGUAGE}}}} | Home = Home | Instagram = Instagram | Leave Feedback = {{int:specialinvestigate-feedback/{{CURRENTCONTENTLANGUAGE}}}} | LinkedIn = LinkedIn | Plan = Plan | MediaWiki = {{int:project-localized-name-mediawikiwiki/{{CURRENTCONTENTLANGUAGE}}}} | Meta-Wiki = {{int:project-localized-name-metawiki/{{CURRENTCONTENTLANGUAGE}}}} | Projects = Projects | References = References | Research = Research | Resources = Resources | See also = See also | Start = Start | Thank you. = {{int:thank-you/{{CURRENTCONTENTLANGUAGE}}}} | Twitter = Twitter | Wikibooks = Wikibooks | Wikidata = {{int:project-localized-name-wikidatawiki/{{CURRENTCONTENTLANGUAGE}}}} | Wikimedia = Wikimedia | Wikimedia Commons = {{int:project-localized-name-commonswiki/{{CURRENTCONTENTLANGUAGE}}}} | Wikimedia Foundation = Wikimedia Foundation | Wikimedia Incubator = {{int:project-localized-name-incubatorwiki/{{CURRENTCONTENTLANGUAGE}}}} | Wikinews = Wikinews | Wikiquote = Wikiquote | Wikisource = Wikisource | Wikispecies = {{int:project-localized-name-specieswiki/{{CURRENTCONTENTLANGUAGE}}}} | Wikitech = {{int:project-localized-name-labswiki/{{CURRENTCONTENTLANGUAGE}}}} | Wikiversity = Wikiversity | Wikivoyage = Wikivoyage | Wiktionary = Wiktionary <includeonly> }} </includeonly><noinclude> {{doc}} </noinclude> el2l8ulbd827qgmpj8xlkhes05rrhw1 10262 10261 2022-09-24T21:31:25Z meta>FuzzyBot 0 FuzzyBot moved page [[Template:Int content/en]] to [[Template:Int string/en]] without leaving a redirect: Part of translatable page "Template:Int content" 10261 wikitext text/x-wiki <noinclude> {{draft}} <languages /> </noinclude> <includeonly> {{#switch: {{{1|}}} </includeonly> | Commons = Commons | Connect = Connect | Contribute = Contribute | Creative Commons = Creative Commons | Facebook = Facebook | Feedback = {{int:specialblockfeedback/{{CURRENTCONTENTLANGUAGE}}}} | Frequently asked questions = Frequently asked questions | Hello = {{int:hello/{{CURRENTCONTENTLANGUAGE}}}} | Home = Home | Instagram = Instagram | Leave Feedback = {{int:specialinvestigate-feedback/{{CURRENTCONTENTLANGUAGE}}}} | LinkedIn = LinkedIn | Plan = Plan | MediaWiki = {{int:project-localized-name-mediawikiwiki/{{CURRENTCONTENTLANGUAGE}}}} | Meta-Wiki = {{int:project-localized-name-metawiki/{{CURRENTCONTENTLANGUAGE}}}} | Projects = Projects | References = References | Research = Research | Resources = Resources | See also = See also | Start = Start | Thank you. = {{int:thank-you/{{CURRENTCONTENTLANGUAGE}}}} | Twitter = Twitter | Wikibooks = Wikibooks | Wikidata = {{int:project-localized-name-wikidatawiki/{{CURRENTCONTENTLANGUAGE}}}} | Wikimedia = Wikimedia | Wikimedia Commons = {{int:project-localized-name-commonswiki/{{CURRENTCONTENTLANGUAGE}}}} | Wikimedia Foundation = Wikimedia Foundation | Wikimedia Incubator = {{int:project-localized-name-incubatorwiki/{{CURRENTCONTENTLANGUAGE}}}} | Wikinews = Wikinews | Wikiquote = Wikiquote | Wikisource = Wikisource | Wikispecies = {{int:project-localized-name-specieswiki/{{CURRENTCONTENTLANGUAGE}}}} | Wikitech = {{int:project-localized-name-labswiki/{{CURRENTCONTENTLANGUAGE}}}} | Wikiversity = Wikiversity | Wikivoyage = Wikivoyage | Wiktionary = Wiktionary <includeonly> }} </includeonly><noinclude> {{doc}} </noinclude> el2l8ulbd827qgmpj8xlkhes05rrhw1 10263 10262 2022-09-24T21:43:46Z meta>FuzzyBot 0 Updating to match new version of source page 10263 wikitext text/x-wiki <noinclude> {{draft}}__NOTOC__ <languages /> == Available strings == </noinclude> <includeonly> {{#switch: {{{1|}}} </includeonly> | Commons = Commons<noinclude><br /></noinclude> | Connect = Connect<noinclude><br /></noinclude> | Contribute = Contribute<noinclude><br /></noinclude> | Creative Commons = Creative Commons<noinclude><br /></noinclude> | Facebook = Facebook<noinclude><br /></noinclude> | Feedback = {{int:specialblockfeedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Frequently asked questions = Frequently asked questions<noinclude><br /></noinclude> | Hello = {{int:hello/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Home = Home<noinclude><br /></noinclude> | Instagram = Instagram<noinclude><br /></noinclude> | Leave Feedback = {{int:specialinvestigate-feedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | LinkedIn = LinkedIn<noinclude><br /></noinclude> | Plan = Plan<noinclude><br /></noinclude> | MediaWiki = {{int:project-localized-name-mediawikiwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Meta-Wiki = {{int:project-localized-name-metawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Projects = Projects<noinclude><br /></noinclude> | References = References<noinclude><br /></noinclude> | Research = Research<noinclude><br /></noinclude> | Resources = Resources<noinclude><br /></noinclude> | See also = See also<noinclude><br /></noinclude> | Start = Start<noinclude><br /></noinclude> | Thank you. = {{int:thank-you/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Twitter = Twitter<noinclude><br /></noinclude> | Wikibooks = Wikibooks<noinclude><br /></noinclude> | Wikidata = {{int:project-localized-name-wikidatawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia = Wikimedia<noinclude><br /></noinclude> | Wikimedia Commons = {{int:project-localized-name-commonswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia Foundation = Wikimedia Foundation<noinclude><br /></noinclude> | Wikimedia Incubator = {{int:project-localized-name-incubatorwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikinews = Wikinews<noinclude><br /></noinclude> | Wikiquote = Wikiquote<noinclude><br /></noinclude> | Wikisource = Wikisource<noinclude><br /></noinclude> | Wikispecies = {{int:project-localized-name-specieswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikitech = {{int:project-localized-name-labswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikiversity = Wikiversity<noinclude><br /></noinclude> | Wikivoyage = Wikivoyage<noinclude><br /></noinclude> | Wiktionary = Wiktionary<noinclude><br /></noinclude> <includeonly> }} </includeonly><noinclude> {{doc}} </noinclude> ppyeui7jnzp0dkkti5fi44wc8tkbfh2 10264 10263 2022-09-24T21:45:18Z meta>FuzzyBot 0 Updating to match new version of source page 10264 wikitext text/x-wiki <noinclude> {{draft}}__NOTOC__ <languages /> == Available strings == </noinclude> <includeonly> {{#switch: {{{1|}}} </includeonly> | Commons = Commons<noinclude><br /></noinclude> | Connect = Connect<noinclude><br /></noinclude> | Contribute = Contribute<noinclude><br /></noinclude> | Creative Commons = Creative Commons<noinclude><br /></noinclude> | Facebook = Facebook<noinclude><br /></noinclude> | Feedback = {{int:specialblockfeedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Frequently asked questions = Frequently asked questions<noinclude><br /></noinclude> | Hello = {{int:hello/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Home = Home<noinclude><br /></noinclude> | Instagram = Instagram<noinclude><br /></noinclude> | Leave Feedback = {{int:specialinvestigate-feedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | LinkedIn = LinkedIn<noinclude><br /></noinclude> | Plan = Plan<noinclude><br /></noinclude> | MediaWiki = {{int:project-localized-name-mediawikiwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Meta-Wiki = {{int:project-localized-name-metawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Projects = Projects<noinclude><br /></noinclude> | References = References<noinclude><br /></noinclude> | Research = Research<noinclude><br /></noinclude> | Resources = Resources<noinclude><br /></noinclude> | See also = See also<noinclude><br /></noinclude> | Start = Start<noinclude><br /></noinclude> | Thank you. = {{int:thank-you/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Twitter = Twitter<noinclude><br /></noinclude> | Wikibooks = Wikibooks<noinclude><br /></noinclude> | Wikidata = {{int:project-localized-name-wikidatawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia = Wikimedia<noinclude><br /></noinclude> | Wikimedia Commons = {{int:project-localized-name-commonswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia Foundation = Wikimedia Foundation<noinclude><br /></noinclude> | Wikimedia Incubator = {{int:project-localized-name-incubatorwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikinews = Wikinews<noinclude><br /></noinclude> | Wikiquote = Wikiquote<noinclude><br /></noinclude> | Wikisource = Wikisource<noinclude><br /></noinclude> | Wikispecies = {{int:project-localized-name-specieswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikitech = {{int:project-localized-name-labswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikiversity = Wikiversity<noinclude><br /></noinclude> | Wikivoyage = Wikivoyage<noinclude><br /></noinclude> | Wiktionary = Wiktionary<noinclude><br /></noinclude> |<includeonly> }}</includeonly><noinclude> {{doc}} </noinclude> 53ywnm4so4h11dqyjw9drzef4cnp7sx 10265 10264 2022-09-24T21:49:59Z meta>FuzzyBot 0 Updating to match new version of source page 10265 wikitext text/x-wiki <noinclude> {{draft}}__NOTOC__ <languages /> == Available strings ==</noinclude><includeonly> {{#switch: {{{1|}}} | </includeonly> | Commons = Commons<noinclude><br /></noinclude> | Connect = Connect<noinclude><br /></noinclude> | Contribute = Contribute<noinclude><br /></noinclude> | Creative Commons = Creative Commons<noinclude><br /></noinclude> | Facebook = Facebook<noinclude><br /></noinclude> | Feedback = {{int:specialblockfeedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Frequently asked questions = Frequently asked questions<noinclude><br /></noinclude> | Hello = {{int:hello/{{CURRENTCONTENTLANGUAGE}}}} |<noinclude><br /></noinclude> | Home = Home<noinclude><br /></noinclude> | Instagram = Instagram<noinclude><br /></noinclude> | Leave Feedback = {{int:specialinvestigate-feedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | LinkedIn = LinkedIn<noinclude><br /></noinclude> | Plan = Plan<noinclude><br /></noinclude> | MediaWiki = {{int:project-localized-name-mediawikiwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Meta-Wiki = {{int:project-localized-name-metawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Projects = Projects<noinclude><br /></noinclude> | References = References<noinclude><br /></noinclude> | Research = Research<noinclude><br /></noinclude> | Resources = Resources<noinclude><br /></noinclude> | See also = See also<noinclude><br /></noinclude> | Start = Start<noinclude><br /></noinclude> | Thank you. = {{int:thank-you/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Twitter = Twitter<noinclude><br /></noinclude> | Wikibooks = Wikibooks<noinclude><br /></noinclude> | Wikidata = {{int:project-localized-name-wikidatawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia = Wikimedia<noinclude><br /></noinclude> | Wikimedia Commons = {{int:project-localized-name-commonswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia Foundation = Wikimedia Foundation<noinclude><br /></noinclude> | Wikimedia Incubator = {{int:project-localized-name-incubatorwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikinews = Wikinews<noinclude><br /></noinclude> | Wikiquote = Wikiquote<noinclude><br /></noinclude> | Wikisource = Wikisource<noinclude><br /></noinclude> | Wikispecies = {{int:project-localized-name-specieswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikitech = {{int:project-localized-name-labswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikiversity = Wikiversity<noinclude><br /></noinclude> | Wikivoyage = Wikivoyage<noinclude><br /></noinclude> | Wiktionary = Wiktionary<noinclude><br /></noinclude> |<includeonly> }}</includeonly><noinclude> {{doc}} </noinclude> dgreifshggh5knpa236mxm7u2i7ewrm 10266 10265 2022-09-24T21:51:40Z meta>FuzzyBot 0 Updating to match new version of source page 10266 wikitext text/x-wiki <noinclude> {{draft}}__NOTOC__ <languages /> == Available strings ==</noinclude><includeonly> {{#switch: {{{1|}}} </includeonly> | Commons = Commons<noinclude><br /></noinclude> | Connect = Connect<noinclude><br /></noinclude> | Contribute = Contribute<noinclude><br /></noinclude> | Creative Commons = Creative Commons<noinclude><br /></noinclude> | Facebook = Facebook<noinclude><br /></noinclude> | Feedback = {{int:specialblockfeedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Frequently asked questions = Frequently asked questions<noinclude><br /></noinclude> | Hello = {{int:hello/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Home = Home<noinclude><br /></noinclude> | Instagram = Instagram<noinclude><br /></noinclude> | Leave Feedback = {{int:specialinvestigate-feedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | LinkedIn = LinkedIn<noinclude><br /></noinclude> | Plan = Plan<noinclude><br /></noinclude> | MediaWiki = {{int:project-localized-name-mediawikiwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Meta-Wiki = {{int:project-localized-name-metawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Projects = Projects<noinclude><br /></noinclude> | References = References<noinclude><br /></noinclude> | Research = Research<noinclude><br /></noinclude> | Resources = Resources<noinclude><br /></noinclude> | See also = See also<noinclude><br /></noinclude> | Start = Start<noinclude><br /></noinclude> | Thank you. = {{int:thank-you/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Twitter = Twitter<noinclude><br /></noinclude> | Wikibooks = Wikibooks<noinclude><br /></noinclude> | Wikidata = {{int:project-localized-name-wikidatawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia = Wikimedia<noinclude><br /></noinclude> | Wikimedia Commons = {{int:project-localized-name-commonswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia Foundation = Wikimedia Foundation<noinclude><br /></noinclude> | Wikimedia Incubator = {{int:project-localized-name-incubatorwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikinews = Wikinews<noinclude><br /></noinclude> | Wikiquote = Wikiquote<noinclude><br /></noinclude> | Wikisource = Wikisource<noinclude><br /></noinclude> | Wikispecies = {{int:project-localized-name-specieswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikitech = {{int:project-localized-name-labswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikiversity = Wikiversity<noinclude><br /></noinclude> | Wikivoyage = Wikivoyage<noinclude><br /></noinclude> | Wiktionary = Wiktionary<noinclude><br /></noinclude> |<includeonly> }}</includeonly><noinclude> {{doc}} </noinclude> o84n1hg7nzuvj5xkfj3t8kd2aiyyugi 10267 10266 2022-09-24T21:58:00Z meta>FuzzyBot 0 Updating to match new version of source page 10267 wikitext text/x-wiki <noinclude> {{draft}}__NOTOC__ <languages /> == Available strings ==</noinclude><includeonly> {{#switch: {{{1|}}} </includeonly> | Commons = Commons<noinclude><br /></noinclude> | Connect = Connect<noinclude><br /></noinclude> | Contribute = Contribute<noinclude><br /></noinclude> | Creative Commons = Creative Commons<noinclude><br /></noinclude> | Facebook = Facebook<noinclude><br /></noinclude> | Feedback = {{int:specialblockfeedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Frequently asked questions = Frequently asked questions<noinclude><br /></noinclude> | Hello = {{int:hello/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Home = Home<noinclude><br /></noinclude> | Instagram = Instagram<noinclude><br /></noinclude> | Leave Feedback = {{int:specialinvestigate-feedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | LinkedIn = LinkedIn<noinclude><br /></noinclude> | Plan = Plan<noinclude><br /></noinclude> | MediaWiki = {{int:project-localized-name-mediawikiwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Meta-Wiki = {{int:project-localized-name-metawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Projects = Projects<noinclude><br /></noinclude> | References = References<noinclude><br /></noinclude> | Research = Research<noinclude><br /></noinclude> | Resources = Resources<noinclude><br /></noinclude> | See also = See also<noinclude><br /></noinclude> | Start = Start<noinclude><br /></noinclude> | Talk to us = Talk to us<noinclude><br /></noinclude> | Thank you. = {{int:thank-you/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Twitter = Twitter<noinclude><br /></noinclude> | Wikibooks = Wikibooks<noinclude><br /></noinclude> | Wikidata = {{int:project-localized-name-wikidatawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia = Wikimedia<noinclude><br /></noinclude> | Wikimedia Commons = {{int:project-localized-name-commonswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia Foundation = Wikimedia Foundation<noinclude><br /></noinclude> | Wikimedia Incubator = {{int:project-localized-name-incubatorwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikinews = Wikinews<noinclude><br /></noinclude> | Wikiquote = Wikiquote<noinclude><br /></noinclude> | Wikisource = Wikisource<noinclude><br /></noinclude> | Wikispecies = {{int:project-localized-name-specieswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikitech = {{int:project-localized-name-labswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikiversity = Wikiversity<noinclude><br /></noinclude> | Wikivoyage = Wikivoyage<noinclude><br /></noinclude> | Wiktionary = Wiktionary<noinclude><br /></noinclude> |<includeonly> }}</includeonly><noinclude> {{doc}} </noinclude> t1kc1e2walz2g57ni2pbw2lppijodrk 10268 10267 2022-09-26T02:51:49Z meta>FuzzyBot 0 Updating to match new version of source page 10268 wikitext text/x-wiki <noinclude> {{draft}}__NOTOC__ <languages /> == Available strings ==</noinclude><includeonly> {{#switch: {{{1|}}} </includeonly> | Closed = Closed<noinclude><br /></noinclude> | Commons = Commons<noinclude><br /></noinclude> | Connect = Connect<noinclude><br /></noinclude> | Contribute = Contribute<noinclude><br /></noinclude> | Creative Commons = Creative Commons<noinclude><br /></noinclude> | Done = {{int:Upload-dialog-button-done/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Facebook = Facebook<noinclude><br /></noinclude> | Feedback = {{int:specialblockfeedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Frequently asked questions = Frequently asked questions<noinclude><br /></noinclude> | Hello = {{int:hello/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Home = Home<noinclude><br /></noinclude> | Instagram = Instagram<noinclude><br /></noinclude> | Leave Feedback = {{int:specialinvestigate-feedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | LinkedIn = LinkedIn<noinclude><br /></noinclude> | Open = Open<noinclude><br /></noinclude> | Plan = Plan<noinclude><br /></noinclude> | MediaWiki = {{int:project-localized-name-mediawikiwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Meta-Wiki = {{int:project-localized-name-metawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Ongoing = Ongoing<noinclude><br /></noinclude> | Projects = Projects<noinclude><br /></noinclude> | References = References<noinclude><br /></noinclude> | Research = Research<noinclude><br /></noinclude> | Resources = Resources<noinclude><br /></noinclude> | See also = See also<noinclude><br /></noinclude> | Start = Start<noinclude><br /></noinclude> | Status = Status<noinclude><br /></noinclude> | Talk to us = Talk to us<noinclude><br /></noinclude> | Thank you. = {{int:thank-you/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Twitter = Twitter<noinclude><br /></noinclude> | Upcoming = Upcoming<noinclude><br /></noinclude> | Wikibooks = Wikibooks<noinclude><br /></noinclude> | Wikidata = {{int:project-localized-name-wikidatawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia = Wikimedia<noinclude><br /></noinclude> | Wikimedia Commons = {{int:project-localized-name-commonswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia Foundation = Wikimedia Foundation<noinclude><br /></noinclude> | Wikimedia Incubator = {{int:project-localized-name-incubatorwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikinews = Wikinews<noinclude><br /></noinclude> | Wikiquote = Wikiquote<noinclude><br /></noinclude> | Wikisource = Wikisource<noinclude><br /></noinclude> | Wikispecies = {{int:project-localized-name-specieswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikitech = {{int:project-localized-name-labswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikiversity = Wikiversity<noinclude><br /></noinclude> | Wikivoyage = Wikivoyage<noinclude><br /></noinclude> | Wiktionary = Wiktionary<noinclude><br /></noinclude> | [[Category:Term missing from Int string template]]<includeonly> }}</includeonly><noinclude> {{doc}} </noinclude> j5rtme5r100vfkgyol4t43c41vneeks 10269 10268 2022-09-26T02:56:37Z meta>FuzzyBot 0 Updating to match new version of source page 10269 wikitext text/x-wiki <noinclude> {{draft}}__NOTOC__ <languages /> == Available strings ==</noinclude><includeonly> {{#switch: {{{1|}}} </includeonly> | Closed = Closed<noinclude><br /></noinclude> | Commons = Commons<noinclude><br /></noinclude> | Connect = Connect<noinclude><br /></noinclude> | Contribute = Contribute<noinclude><br /></noinclude> | Creative Commons = Creative Commons<noinclude><br /></noinclude> | Done = {{int:Upload-dialog-button-done/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Facebook = Facebook<noinclude><br /></noinclude> | Feedback = {{int:specialblockfeedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Frequently asked questions = Frequently asked questions<noinclude><br /></noinclude> | Hello = {{int:hello/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Home = Home<noinclude><br /></noinclude> | Instagram = Instagram<noinclude><br /></noinclude> | Leave Feedback = {{int:specialinvestigate-feedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | LinkedIn = LinkedIn<noinclude><br /></noinclude> | Open = Open<noinclude><br /></noinclude> | Plan = Plan<noinclude><br /></noinclude> | MediaWiki = {{int:project-localized-name-mediawikiwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Meta-Wiki = {{int:project-localized-name-metawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Ongoing = Ongoing<noinclude><br /></noinclude> | Projects = Projects<noinclude><br /></noinclude> | References = References<noinclude><br /></noinclude> | Research = Research<noinclude><br /></noinclude> | Resources = Resources<noinclude><br /></noinclude> | See also = See also<noinclude><br /></noinclude> | Start = Start<noinclude><br /></noinclude> | Status = Status<noinclude><br /></noinclude> | Talk to us = Talk to us<noinclude><br /></noinclude> | Thank you. = {{int:thank-you/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Twitter = Twitter<noinclude><br /></noinclude> | Upcoming = Upcoming<noinclude><br /></noinclude> | Wikibooks = Wikibooks<noinclude><br /></noinclude> | Wikidata = {{int:project-localized-name-wikidatawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia = Wikimedia<noinclude><br /></noinclude> | Wikimedia Commons = {{int:project-localized-name-commonswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia Foundation = Wikimedia Foundation<noinclude><br /></noinclude> | Wikimedia Incubator = {{int:project-localized-name-incubatorwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikinews = Wikinews<noinclude><br /></noinclude> | Wikiquote = Wikiquote<noinclude><br /></noinclude> | Wikisource = Wikisource<noinclude><br /></noinclude> | Wikispecies = {{int:project-localized-name-specieswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikitech = {{int:project-localized-name-labswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikiversity = Wikiversity<noinclude><br /></noinclude> | Wikivoyage = Wikivoyage<noinclude><br /></noinclude> | Wiktionary = Wiktionary<noinclude><br /></noinclude> | <includeonly>[[Category:String missing from Int string template]] }}</includeonly><noinclude> {{doc}} </noinclude> b2rm2q950unidycca92kdkjirosb3cm 10270 10269 2022-09-26T03:01:22Z meta>FuzzyBot 0 Updating to match new version of source page 10270 wikitext text/x-wiki <noinclude> {{draft}}__NOTOC__ <languages /> == Available strings ==</noinclude><includeonly> {{#switch: {{{1|}}} </includeonly> | Closed = Closed<noinclude><br /></noinclude> | Commons = Commons<noinclude><br /></noinclude> | Connect = Connect<noinclude><br /></noinclude> | Contribute = Contribute<noinclude><br /></noinclude> | Creative Commons = Creative Commons<noinclude><br /></noinclude> | Done = {{int:Upload-dialog-button-done/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Facebook = Facebook<noinclude><br /></noinclude> | Feedback = {{int:specialblockfeedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Frequently asked questions = Frequently asked questions<noinclude><br /></noinclude> | Hello = {{int:hello/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Home = Home<noinclude><br /></noinclude> | Instagram = Instagram<noinclude><br /></noinclude> | Leave Feedback = {{int:specialinvestigate-feedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | LinkedIn = LinkedIn<noinclude><br /></noinclude> | Open = Open<noinclude><br /></noinclude> | Plan = Plan<noinclude><br /></noinclude> | MediaWiki = {{int:project-localized-name-mediawikiwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Meta-Wiki = {{int:project-localized-name-metawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Ongoing = Ongoing<noinclude><br /></noinclude> | Projects = Projects<noinclude><br /></noinclude> | References = References<noinclude><br /></noinclude> | Research = Research<noinclude><br /></noinclude> | Resources = Resources<noinclude><br /></noinclude> | See also = See also<noinclude><br /></noinclude> | Start = Start<noinclude><br /></noinclude> | Status = Status<noinclude><br /></noinclude> | Talk to us = Talk to us<noinclude><br /></noinclude> | Thank you. = {{int:thank-you/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Twitter = Twitter<noinclude><br /></noinclude> | Upcoming = Upcoming<noinclude><br /></noinclude> | Wikibooks = Wikibooks<noinclude><br /></noinclude> | Wikidata = {{int:project-localized-name-wikidatawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia = Wikimedia<noinclude><br /></noinclude> | Wikimedia Commons = {{int:project-localized-name-commonswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia Foundation = Wikimedia Foundation<noinclude><br /></noinclude> | Wikimedia Incubator = {{int:project-localized-name-incubatorwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikinews = Wikinews<noinclude><br /></noinclude> | Wikiquote = Wikiquote<noinclude><br /></noinclude> | Wikisource = Wikisource<noinclude><br /></noinclude> | Wikispecies = {{int:project-localized-name-specieswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikitech = {{int:project-localized-name-labswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikiversity = Wikiversity<noinclude><br /></noinclude> | Wikivoyage = Wikivoyage<noinclude><br /></noinclude> | Wiktionary = Wiktionary<noinclude><br /></noinclude> | <includeonly>[[Category:Pages with a string missing from Int string template{{#translation:}}]] }}</includeonly><noinclude> {{doc}} </noinclude> 9ixtoinxsbddde07pgsf3gaa717mfii 10271 10270 2022-09-26T15:39:32Z meta>FuzzyBot 0 Updating to match new version of source page 10271 wikitext text/x-wiki <noinclude> {{draft}}__NOTOC__ <languages /> == Available strings ==</noinclude><includeonly> {{#switch: {{{1|}}} </includeonly> | Closed = Closed<noinclude><br /></noinclude> | Commons = Commons<noinclude><br /></noinclude> | Connect = Connect<noinclude><br /></noinclude> | Contribute = Contribute<noinclude><br /></noinclude> | Creative Commons = Creative Commons<noinclude><br /></noinclude> | Done = {{int:Upload-dialog-button-done/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Feedback = {{int:specialblockfeedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Frequently asked questions = Frequently asked questions<noinclude><br /></noinclude> | Hello = {{int:hello/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Home = Home<noinclude><br /></noinclude> | Leave Feedback = {{int:specialinvestigate-feedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Open = Open<noinclude><br /></noinclude> | Plan = Plan<noinclude><br /></noinclude> | MediaWiki = {{int:project-localized-name-mediawikiwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Meta-Wiki = {{int:project-localized-name-metawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Ongoing = Ongoing<noinclude><br /></noinclude> | Projects = Projects<noinclude><br /></noinclude> | References = References<noinclude><br /></noinclude> | Research = Research<noinclude><br /></noinclude> | Resources = Resources<noinclude><br /></noinclude> | See also = See also<noinclude><br /></noinclude> | Start = Start<noinclude><br /></noinclude> | Status = Status<noinclude><br /></noinclude> | Talk to us = Talk to us<noinclude><br /></noinclude> | Thank you. = {{int:thank-you/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Upcoming = Upcoming<noinclude><br /></noinclude> | Wikibooks = Wikibooks<noinclude><br /></noinclude> | Wikidata = {{int:project-localized-name-wikidatawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia = Wikimedia<noinclude><br /></noinclude> | Wikimedia Commons = {{int:project-localized-name-commonswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia Foundation = Wikimedia Foundation<noinclude><br /></noinclude> | Wikimedia Incubator = {{int:project-localized-name-incubatorwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikinews = Wikinews<noinclude><br /></noinclude> | Wikiquote = Wikiquote<noinclude><br /></noinclude> | Wikisource = Wikisource<noinclude><br /></noinclude> | Wikispecies = {{int:project-localized-name-specieswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikitech = {{int:project-localized-name-labswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikiversity = Wikiversity<noinclude><br /></noinclude> | Wikivoyage = Wikivoyage<noinclude><br /></noinclude> | Wiktionary = Wiktionary<noinclude><br /></noinclude> | <includeonly>[[Category:Pages with a string missing from Int string template{{#translation:}}]] }}</includeonly><noinclude> {{doc}} </noinclude> 6nbxccdmosd4ezzen9336a0ijfjbqwp 10272 10271 2022-09-26T16:36:05Z meta>FuzzyBot 0 Updating to match new version of source page 10272 wikitext text/x-wiki <noinclude> {{draft}}__NOTOC__ <languages /> == Available strings ==</noinclude><includeonly> {{#switch: {{{1|}}} </includeonly> | Closed = Closed<noinclude><br /></noinclude> | Commons = {{int:wikibase-sitelinks-sitename-commonswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Connect = Connect<noinclude><br /></noinclude> | Contribute = Contribute<noinclude><br /></noinclude> | Creative Commons = Creative Commons<noinclude><br /></noinclude> | Done = {{int:Upload-dialog-button-done/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Feedback = {{int:specialblockfeedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Frequently asked questions = Frequently asked questions<noinclude><br /></noinclude> | Hello = {{int:hello/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Home = Home<noinclude><br /></noinclude> | Leave Feedback = {{int:specialinvestigate-feedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | No = {{int:research-incentive-answer-negative/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Open = Open<noinclude><br /></noinclude> | Plan = Plan<noinclude><br /></noinclude> | MediaWiki = {{int:project-localized-name-mediawikiwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Meta-Wiki = {{int:project-localized-name-metawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Ongoing = Ongoing<noinclude><br /></noinclude> | Projects = Projects<noinclude><br /></noinclude> | References = References<noinclude><br /></noinclude> | Research = Research<noinclude><br /></noinclude> | Resources = Resources<noinclude><br /></noinclude> | See also = See also<noinclude><br /></noinclude> | Start = Start<noinclude><br /></noinclude> | Statistics = {{int|wikimedia-statslink}}<noinclude><br /></noinclude> | Status = Status<noinclude><br /></noinclude> | Talk to us = Talk to us<noinclude><br /></noinclude> | Thank you. = {{int:thank-you/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Thank you! = {{int:research-incentive-confirm-msg/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Upcoming = Upcoming<noinclude><br /></noinclude> | Wikibooks = {{int|wikibase-sitelinks-wikibooks}}<noinclude><br /></noinclude> | Wikidata = {{int:project-localized-name-wikidatawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia = Wikimedia<noinclude><br /></noinclude> | Wikimedia Commons = {{int:project-localized-name-commonswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia Foundation = Wikimedia Foundation<noinclude><br /></noinclude> | Wikimedia Foundation, Inc. = {{int:wikibase-page-schema-publisher-name/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia Incubator = {{int:project-localized-name-incubatorwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikinews = {{int|wikibase-sitelinks-wikinews}}<noinclude><br /></noinclude> | Wikiquote = {{int|wikibase-sitelinks-wikiquote}}<noinclude><br /></noinclude> | Wikisource = {{int|wikibase-sitelinks-wikisource}}<noinclude><br /></noinclude> | Wikispecies = {{int:project-localized-name-specieswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikitech = {{int:project-localized-name-labswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikiversity = {{int|wikibase-sitelinks-wikiversity}}<noinclude><br /></noinclude> | Wikivoyage = {{int|wikibase-sitelinks-wikivoyage}}<noinclude><br /></noinclude> | Wiktionary = {{int|wikibase-sitelinks-wiktionary}}<noinclude><br /></noinclude> | Yes = {{int:research-incentive-answer-positive/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | <includeonly>[[Category:Pages with a string missing from Int string template{{#translation:}}]] }}</includeonly><noinclude> {{doc}} </noinclude> kg42zfl8ss8tjjlz0336v4shkow6kgn 10273 10272 2022-09-26T16:38:00Z meta>FuzzyBot 0 Updating to match new version of source page 10273 wikitext text/x-wiki <noinclude>__NOTOC__ <languages /> == Available strings ==</noinclude><includeonly> {{#switch: {{{1|}}} </includeonly> | Closed = Closed<noinclude><br /></noinclude> | Commons = {{int:wikibase-sitelinks-sitename-commonswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Connect = Connect<noinclude><br /></noinclude> | Contribute = Contribute<noinclude><br /></noinclude> | Creative Commons = Creative Commons<noinclude><br /></noinclude> | Done = {{int:Upload-dialog-button-done/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Feedback = {{int:specialblockfeedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Frequently asked questions = Frequently asked questions<noinclude><br /></noinclude> | Hello = {{int:hello/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Home = Home<noinclude><br /></noinclude> | Leave Feedback = {{int:specialinvestigate-feedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | No = {{int:research-incentive-answer-negative/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Open = Open<noinclude><br /></noinclude> | Plan = Plan<noinclude><br /></noinclude> | MediaWiki = {{int:project-localized-name-mediawikiwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Meta-Wiki = {{int:project-localized-name-metawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Ongoing = Ongoing<noinclude><br /></noinclude> | Projects = Projects<noinclude><br /></noinclude> | References = References<noinclude><br /></noinclude> | Research = Research<noinclude><br /></noinclude> | Resources = Resources<noinclude><br /></noinclude> | See also = See also<noinclude><br /></noinclude> | Start = Start<noinclude><br /></noinclude> | Statistics = {{int|wikimedia-statslink}}<noinclude><br /></noinclude> | Status = Status<noinclude><br /></noinclude> | Talk to us = Talk to us<noinclude><br /></noinclude> | Thank you. = {{int:thank-you/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Thank you! = {{int:research-incentive-confirm-msg/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Upcoming = Upcoming<noinclude><br /></noinclude> | Wikibooks = {{int|wikibase-sitelinks-wikibooks}}<noinclude><br /></noinclude> | Wikidata = {{int:project-localized-name-wikidatawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia = Wikimedia<noinclude><br /></noinclude> | Wikimedia Commons = {{int:project-localized-name-commonswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia Foundation = Wikimedia Foundation<noinclude><br /></noinclude> | Wikimedia Foundation, Inc. = {{int:wikibase-page-schema-publisher-name/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia Incubator = {{int:project-localized-name-incubatorwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikinews = {{int|wikibase-sitelinks-wikinews}}<noinclude><br /></noinclude> | Wikiquote = {{int|wikibase-sitelinks-wikiquote}}<noinclude><br /></noinclude> | Wikisource = {{int|wikibase-sitelinks-wikisource}}<noinclude><br /></noinclude> | Wikispecies = {{int:project-localized-name-specieswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikitech = {{int:project-localized-name-labswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikiversity = {{int|wikibase-sitelinks-wikiversity}}<noinclude><br /></noinclude> | Wikivoyage = {{int|wikibase-sitelinks-wikivoyage}}<noinclude><br /></noinclude> | Wiktionary = {{int|wikibase-sitelinks-wiktionary}}<noinclude><br /></noinclude> | Yes = {{int:research-incentive-answer-positive/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | <includeonly>[[Category:Pages with a string missing from Int string template{{#translation:}}]] }}</includeonly><noinclude> {{doc}} </noinclude> fy7au06dhqersj4afkhdmuagfghhdqn 10274 10273 2022-09-26T16:48:06Z meta>FuzzyBot 0 Updating to match new version of source page 10274 wikitext text/x-wiki <noinclude>__NOTOC__ <languages /> {{Help translate/Common messages}} == Available strings ==</noinclude><includeonly> {{#switch: {{{1|}}} </includeonly> | Closed = Closed<noinclude><br /></noinclude> | Commons = {{int:wikibase-sitelinks-sitename-commonswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Connect = Connect<noinclude><br /></noinclude> | Contribute = Contribute<noinclude><br /></noinclude> | Creative Commons = Creative Commons<noinclude><br /></noinclude> | Done = {{int:Upload-dialog-button-done/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Feedback = {{int:specialblockfeedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Frequently asked questions = Frequently asked questions<noinclude><br /></noinclude> | Hello = {{int:hello/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Home = Home<noinclude><br /></noinclude> | Leave Feedback = {{int:specialinvestigate-feedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | No = {{int:research-incentive-answer-negative/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Open = Open<noinclude><br /></noinclude> | Plan = Plan<noinclude><br /></noinclude> | MediaWiki = {{int:project-localized-name-mediawikiwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Meta-Wiki = {{int:project-localized-name-metawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Ongoing = Ongoing<noinclude><br /></noinclude> | Projects = Projects<noinclude><br /></noinclude> | References = References<noinclude><br /></noinclude> | Research = Research<noinclude><br /></noinclude> | Resources = Resources<noinclude><br /></noinclude> | See also = See also<noinclude><br /></noinclude> | Start = Start<noinclude><br /></noinclude> | Statistics = {{int|wikimedia-statslink}}<noinclude><br /></noinclude> | Status = Status<noinclude><br /></noinclude> | Talk to us = Talk to us<noinclude><br /></noinclude> | Thank you. = {{int:thank-you/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Thank you! = {{int:research-incentive-confirm-msg/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Upcoming = Upcoming<noinclude><br /></noinclude> | Wikibooks = {{int|wikibase-sitelinks-wikibooks}}<noinclude><br /></noinclude> | Wikidata = {{int:project-localized-name-wikidatawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia = Wikimedia<noinclude><br /></noinclude> | Wikimedia Commons = {{int:project-localized-name-commonswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia Foundation = Wikimedia Foundation<noinclude><br /></noinclude> | Wikimedia Foundation, Inc. = {{int:wikibase-page-schema-publisher-name/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia Incubator = {{int:project-localized-name-incubatorwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikinews = {{int|wikibase-sitelinks-wikinews}}<noinclude><br /></noinclude> | Wikiquote = {{int|wikibase-sitelinks-wikiquote}}<noinclude><br /></noinclude> | Wikisource = {{int|wikibase-sitelinks-wikisource}}<noinclude><br /></noinclude> | Wikispecies = {{int:project-localized-name-specieswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikitech = {{int:project-localized-name-labswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikiversity = {{int|wikibase-sitelinks-wikiversity}}<noinclude><br /></noinclude> | Wikivoyage = {{int|wikibase-sitelinks-wikivoyage}}<noinclude><br /></noinclude> | Wiktionary = {{int|wikibase-sitelinks-wiktionary}}<noinclude><br /></noinclude> | Yes = {{int:research-incentive-answer-positive/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | <includeonly>[[Category:Pages with a string missing from Int string template{{#translation:}}]] }}</includeonly><noinclude> {{doc}} </noinclude> 95hc5f911j7kdpmn8lrclmqukxenxlr 10275 10274 2022-09-26T17:34:13Z meta>FuzzyBot 0 Updating to match new version of source page 10275 wikitext text/x-wiki <noinclude>__NOTOC__ <languages /> {{Help translate/Common messages}} == Available strings ==</noinclude><includeonly> {{#switch: {{{1|}}} </includeonly> | Closed = Closed<noinclude><br /></noinclude> | Commons = {{int:wikibase-sitelinks-sitename-commonswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Connect = Connect<noinclude><br /></noinclude> | Contribute = Contribute<noinclude><br /></noinclude> | Creative Commons = Creative Commons<noinclude><br /></noinclude> | Done = {{int:Upload-dialog-button-done/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Feedback = {{int:specialblockfeedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Frequently asked questions = Frequently asked questions<noinclude><br /></noinclude> | Hello = {{int:hello/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Home = Home<noinclude><br /></noinclude> | Leave Feedback = {{int:specialinvestigate-feedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | No = {{int:research-incentive-answer-negative/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Open = Open<noinclude><br /></noinclude> | Plan = Plan<noinclude><br /></noinclude> | MediaWiki = {{int:project-localized-name-mediawikiwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Meta-Wiki = {{int:project-localized-name-metawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Ongoing = Ongoing<noinclude><br /></noinclude> | Projects = Projects<noinclude><br /></noinclude> | References = References<noinclude><br /></noinclude> | Research = Research<noinclude><br /></noinclude> | Resources = Resources<noinclude><br /></noinclude> | See also = See also<noinclude><br /></noinclude> | Start = Start<noinclude><br /></noinclude> | Statistics = {{int|wikimedia-statslink}}<noinclude><br /></noinclude> | Status = Status<noinclude><br /></noinclude> | Talk to us = Talk to us<noinclude><br /></noinclude> | Thank you. = {{int:thank-you/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Thank you! = {{int:research-incentive-confirm-msg/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Upcoming = Upcoming<noinclude><br /></noinclude> | Wikibooks = {{int|wikibase-sitelinks-wikibooks}}<noinclude><br /></noinclude> | Wikidata = {{int:project-localized-name-wikidatawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia = Wikimedia<noinclude><br /></noinclude> | Wikimedia Commons = {{int:project-localized-name-commonswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia Foundation = Wikimedia Foundation<noinclude><br /></noinclude> | Wikimedia Foundation, Inc. = {{int:wikibase-page-schema-publisher-name/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia Incubator = {{int:project-localized-name-incubatorwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikinews = {{int|wikibase-sitelinks-wikinews}}<noinclude><br /></noinclude> | Wikiquote = {{int|wikibase-sitelinks-wikiquote}}<noinclude><br /></noinclude> | Wikisource = {{int|wikibase-sitelinks-wikisource}}<noinclude><br /></noinclude> | Wikispecies = {{int:project-localized-name-specieswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikitech = {{int:project-localized-name-labswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikiversity = {{int|wikibase-sitelinks-wikiversity}}<noinclude><br /></noinclude> | Wikivoyage = {{int|wikibase-sitelinks-wikivoyage}}<noinclude><br /></noinclude> | Wiktionary = {{int|wikibase-sitelinks-wiktionary}}<noinclude><br /></noinclude> | Yes = {{int:research-incentive-answer-positive/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | #default = {{{1}}}<includeonly>[[Category:Pages with a string missing from Int string template{{#translation:}}]] }}</includeonly><noinclude> {{doc}} </noinclude> r5g5a6qjv6ly36fplghghytx48sxgso 10276 10275 2022-09-26T18:27:42Z meta>FuzzyBot 0 Updating to match new version of source page 10276 wikitext text/x-wiki <noinclude>__NOTOC__ <languages /> {{Help translate/Common messages}} == Available strings ==</noinclude><includeonly> {{#switch: {{{1|}}} </includeonly> | Closed = Closed<noinclude><br /></noinclude> | Commons = {{int:wikibase-sitelinks-sitename-commonswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Connect = Connect<noinclude><br /></noinclude> | Contribute = Contribute<noinclude><br /></noinclude> | Done = {{int:Upload-dialog-button-done/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Feedback = {{int:specialblockfeedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Frequently asked questions = Frequently asked questions<noinclude><br /></noinclude> | Hello = {{int:hello/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Home = Home<noinclude><br /></noinclude> | Leave Feedback = {{int:specialinvestigate-feedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | No = {{int:research-incentive-answer-negative/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Open = Open<noinclude><br /></noinclude> | Plan = Plan<noinclude><br /></noinclude> | MediaWiki = {{int:project-localized-name-mediawikiwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Meta-Wiki = {{int:project-localized-name-metawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Ongoing = Ongoing<noinclude><br /></noinclude> | Projects = Projects<noinclude><br /></noinclude> | References = References<noinclude><br /></noinclude> | Research = Research<noinclude><br /></noinclude> | Resources = Resources<noinclude><br /></noinclude> | See also = See also<noinclude><br /></noinclude> | Start = Start<noinclude><br /></noinclude> | Statistics = {{int|wikimedia-statslink}}<noinclude><br /></noinclude> | Status = Status<noinclude><br /></noinclude> | Talk to us = Talk to us<noinclude><br /></noinclude> | Thank you. = {{int:thank-you/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Thank you! = {{int:research-incentive-confirm-msg/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Upcoming = Upcoming<noinclude><br /></noinclude> | Wikibooks = {{int|wikibase-sitelinks-wikibooks}}<noinclude><br /></noinclude> | Wikidata = {{int:project-localized-name-wikidatawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia = Wikimedia<noinclude><br /></noinclude> | Wikimedia Commons = {{int:project-localized-name-commonswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia Foundation = Wikimedia Foundation<noinclude><br /></noinclude> | Wikimedia Foundation, Inc. = {{int:wikibase-page-schema-publisher-name/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia Incubator = {{int:project-localized-name-incubatorwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikinews = {{int|wikibase-sitelinks-wikinews}}<noinclude><br /></noinclude> | Wikiquote = {{int|wikibase-sitelinks-wikiquote}}<noinclude><br /></noinclude> | Wikisource = {{int|wikibase-sitelinks-wikisource}}<noinclude><br /></noinclude> | Wikispecies = {{int:project-localized-name-specieswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikitech = {{int:project-localized-name-labswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikiversity = {{int|wikibase-sitelinks-wikiversity}}<noinclude><br /></noinclude> | Wikivoyage = {{int|wikibase-sitelinks-wikivoyage}}<noinclude><br /></noinclude> | Wiktionary = {{int|wikibase-sitelinks-wiktionary}}<noinclude><br /></noinclude> | Yes = {{int:research-incentive-answer-positive/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | #default = {{{1}}}<includeonly>[[Category:Pages with a string missing from Int string template{{#translation:}}]] }}</includeonly><noinclude> {{doc}} </noinclude> 3ymldkc88pznps68s3zbqw4x7zlkksf 10277 10276 2022-09-26T18:34:00Z meta>FuzzyBot 0 Updating to match new version of source page 10277 wikitext text/x-wiki <noinclude>__NOTOC__ <languages /> {{Help translate/Common messages}} == Available strings ==</noinclude><includeonly> {{#switch: {{{1|}}} </includeonly> | Closed = Closed<noinclude><br /></noinclude> | Commons = {{int:wikibase-sitelinks-sitename-commonswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Connect = Connect<noinclude><br /></noinclude> | Contribute = Contribute<noinclude><br /></noinclude> | Done = {{int:Upload-dialog-button-done/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Feedback = {{int:specialblockfeedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Frequently asked questions = Frequently asked questions<noinclude><br /></noinclude> | Hello = {{int:hello/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Home = Home<noinclude><br /></noinclude> | Leave Feedback = {{int:specialinvestigate-feedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | No = {{int:research-incentive-answer-negative/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Open = Open<noinclude><br /></noinclude> | Plan = Plan<noinclude><br /></noinclude> | MediaWiki = {{int:project-localized-name-mediawikiwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Meta-Wiki = {{int:project-localized-name-metawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Ongoing = Ongoing<noinclude><br /></noinclude> | Projects = Projects<noinclude><br /></noinclude> | References = References<noinclude><br /></noinclude> | Research = Research<noinclude><br /></noinclude> | Resources = Resources<noinclude><br /></noinclude> | See also = See also<noinclude><br /></noinclude> | Start = Start<noinclude><br /></noinclude> | Statistics = {{int|wikimedia-statslink}}<noinclude><br /></noinclude> | Status = Status<noinclude><br /></noinclude> | Talk to us = Talk to us<noinclude><br /></noinclude> | Thank you. = {{int:thank-you/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Thank you! = {{int:research-incentive-confirm-msg/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Upcoming = Upcoming<noinclude><br /></noinclude> | Wikibooks = {{int|wikibase-sitelinks-wikibooks}}<noinclude><br /></noinclude> | Wikidata = {{int:project-localized-name-wikidatawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia = Wikimedia<noinclude><br /></noinclude> | Wikimedia Commons = {{int:project-localized-name-commonswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia Foundation = Wikimedia Foundation<noinclude><br /></noinclude> | Wikimedia Foundation, Inc. = {{int:wikibase-page-schema-publisher-name/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia Incubator = {{int:project-localized-name-incubatorwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikinews = {{int|wikibase-sitelinks-wikinews}}<noinclude><br /></noinclude> | Wikiquote = {{int|wikibase-sitelinks-wikiquote}}<noinclude><br /></noinclude> | Wikisource = {{int|wikibase-sitelinks-wikisource}}<noinclude><br /></noinclude> | Wikispecies = {{int:project-localized-name-specieswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikitech = {{int:project-localized-name-labswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikiversity = {{int|wikibase-sitelinks-wikiversity}}<noinclude><br /></noinclude> | Wikivoyage = {{int|wikibase-sitelinks-wikivoyage}}<noinclude><br /></noinclude> | Wiktionary = {{int|wikibase-sitelinks-wiktionary}}<noinclude><br /></noinclude> | Yes = {{int:research-incentive-answer-positive/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | #default = {{{1<includeonly>|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]</includeonly>}}}<includeonly>[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]] }}</includeonly><noinclude> {{doc}} </noinclude> 9ddsq995r4h6lfk8yjs5cz6svr8ixz0 10278 10277 2022-09-26T18:41:57Z meta>FuzzyBot 0 Updating to match new version of source page 10278 wikitext text/x-wiki <noinclude>__NOTOC__ <languages /> {{Help translate/Common messages}} == Available strings ==</noinclude><includeonly> {{#switch: {{{1|}}} </includeonly> | Closed = Closed<noinclude><br /></noinclude> | Commons = {{int:wikibase-sitelinks-sitename-commonswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Connect = Connect<noinclude><br /></noinclude> | Contribute = Contribute<noinclude><br /></noinclude> | Done = {{int:Upload-dialog-button-done/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Feedback = {{int:specialblockfeedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Frequently asked questions = Frequently asked questions<noinclude><br /></noinclude> | Hello = {{int:hello/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Home = Home<noinclude><br /></noinclude> | Leave Feedback = {{int:specialinvestigate-feedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | No = {{int:research-incentive-answer-negative/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Open = Open<noinclude><br /></noinclude> | Plan = Plan<noinclude><br /></noinclude> | MediaWiki = {{int:project-localized-name-mediawikiwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Meta-Wiki = {{int:project-localized-name-metawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Ongoing = Ongoing<noinclude><br /></noinclude> | Projects = Projects<noinclude><br /></noinclude> | References = References<noinclude><br /></noinclude> | Research = Research<noinclude><br /></noinclude> | Resources = Resources<noinclude><br /></noinclude> | See also = See also<noinclude><br /></noinclude> | Start = Start<noinclude><br /></noinclude> | Statistics = {{int|wikimedia-statslink}}<noinclude><br /></noinclude> | Status = Status<noinclude><br /></noinclude> | Talk to us = Talk to us<noinclude><br /></noinclude> | Thank you. = {{int:thank-you/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Thank you! = {{int:research-incentive-confirm-msg/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Upcoming = Upcoming<noinclude><br /></noinclude> | Wikibooks = {{int|wikibase-sitelinks-wikibooks}}<noinclude><br /></noinclude> | Wikidata = {{int:project-localized-name-wikidatawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia = Wikimedia<noinclude><br /></noinclude> | Wikimedia Commons = {{int:project-localized-name-commonswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia Foundation = Wikimedia Foundation<noinclude><br /></noinclude> | Wikimedia Foundation, Inc. = {{int:wikibase-page-schema-publisher-name/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia Incubator = {{int:project-localized-name-incubatorwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikinews = {{int|wikibase-sitelinks-wikinews}}<noinclude><br /></noinclude> | Wikiquote = {{int|wikibase-sitelinks-wikiquote}}<noinclude><br /></noinclude> | Wikisource = {{int|wikibase-sitelinks-wikisource}}<noinclude><br /></noinclude> | Wikispecies = {{int:project-localized-name-specieswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikitech = {{int:project-localized-name-labswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikiversity = {{int|wikibase-sitelinks-wikiversity}}<noinclude><br /></noinclude> | Wikivoyage = {{int|wikibase-sitelinks-wikivoyage}}<noinclude><br /></noinclude> | Wiktionary = {{int|wikibase-sitelinks-wiktionary}}<noinclude><br /></noinclude> | Yes = {{int:research-incentive-answer-positive/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | #default = {{{1}}}<includeonly>{{#if:{{{1}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}} }}</includeonly><noinclude> {{doc}} </noinclude> s8cq0kwcfa859gak2gn0c910zuaqzoc 10279 10278 2022-09-26T18:44:54Z meta>FuzzyBot 0 Updating to match new version of source page 10279 wikitext text/x-wiki <noinclude>__NOTOC__ <languages /> {{Help translate/Common messages}} == Available strings ==</noinclude><includeonly> {{#switch: {{{1|}}} </includeonly> | Closed = Closed<noinclude><br /></noinclude> | Commons = {{int:wikibase-sitelinks-sitename-commonswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Connect = Connect<noinclude><br /></noinclude> | Contribute = Contribute<noinclude><br /></noinclude> | Done = {{int:Upload-dialog-button-done/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Feedback = {{int:specialblockfeedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Frequently asked questions = Frequently asked questions<noinclude><br /></noinclude> | Hello = {{int:hello/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Home = Home<noinclude><br /></noinclude> | Leave Feedback = {{int:specialinvestigate-feedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | No = {{int:research-incentive-answer-negative/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Open = Open<noinclude><br /></noinclude> | Plan = Plan<noinclude><br /></noinclude> | MediaWiki = {{int:project-localized-name-mediawikiwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Meta-Wiki = {{int:project-localized-name-metawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Ongoing = Ongoing<noinclude><br /></noinclude> | Projects = Projects<noinclude><br /></noinclude> | References = References<noinclude><br /></noinclude> | Research = Research<noinclude><br /></noinclude> | Resources = Resources<noinclude><br /></noinclude> | See also = See also<noinclude><br /></noinclude> | Start = Start<noinclude><br /></noinclude> | Statistics = {{int|wikimedia-statslink}}<noinclude><br /></noinclude> | Status = Status<noinclude><br /></noinclude> | Talk to us = Talk to us<noinclude><br /></noinclude> | Thank you. = {{int:thank-you/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Thank you! = {{int:research-incentive-confirm-msg/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Upcoming = Upcoming<noinclude><br /></noinclude> | Wikibooks = {{int|wikibase-sitelinks-wikibooks}}<noinclude><br /></noinclude> | Wikidata = {{int:project-localized-name-wikidatawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia = Wikimedia<noinclude><br /></noinclude> | Wikimedia Commons = {{int:project-localized-name-commonswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia Foundation = Wikimedia Foundation<noinclude><br /></noinclude> | Wikimedia Foundation, Inc. = {{int:wikibase-page-schema-publisher-name/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia Incubator = {{int:project-localized-name-incubatorwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikinews = {{int|wikibase-sitelinks-wikinews}}<noinclude><br /></noinclude> | Wikiquote = {{int|wikibase-sitelinks-wikiquote}}<noinclude><br /></noinclude> | Wikisource = {{int|wikibase-sitelinks-wikisource}}<noinclude><br /></noinclude> | Wikispecies = {{int:project-localized-name-specieswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikitech = {{int:project-localized-name-labswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikiversity = {{int|wikibase-sitelinks-wikiversity}}<noinclude><br /></noinclude> | Wikivoyage = {{int|wikibase-sitelinks-wikivoyage}}<noinclude><br /></noinclude> | Wiktionary = {{int|wikibase-sitelinks-wiktionary}}<noinclude><br /></noinclude> | Yes = {{int:research-incentive-answer-positive/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | #default = {{{1<includeonly>|</includeonly>}}}<includeonly>{{#if:{{{1}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}} }}</includeonly><noinclude> {{doc}} </noinclude> osrvsdvklxvmm3z6jqx3bn23a4rr1so 10280 10279 2022-09-26T18:46:02Z meta>FuzzyBot 0 Updating to match new version of source page 10280 wikitext text/x-wiki <noinclude>__NOTOC__ <languages /> {{Help translate/Common messages}} == Available strings ==</noinclude><includeonly> {{#switch: {{{1|}}} </includeonly> | Closed = Closed<noinclude><br /></noinclude> | Commons = {{int:wikibase-sitelinks-sitename-commonswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Connect = Connect<noinclude><br /></noinclude> | Contribute = Contribute<noinclude><br /></noinclude> | Done = {{int:Upload-dialog-button-done/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Feedback = {{int:specialblockfeedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Frequently asked questions = Frequently asked questions<noinclude><br /></noinclude> | Hello = {{int:hello/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Home = Home<noinclude><br /></noinclude> | Leave Feedback = {{int:specialinvestigate-feedback/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | No = {{int:research-incentive-answer-negative/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Open = Open<noinclude><br /></noinclude> | Plan = Plan<noinclude><br /></noinclude> | MediaWiki = {{int:project-localized-name-mediawikiwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Meta-Wiki = {{int:project-localized-name-metawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Ongoing = Ongoing<noinclude><br /></noinclude> | Projects = Projects<noinclude><br /></noinclude> | References = References<noinclude><br /></noinclude> | Research = Research<noinclude><br /></noinclude> | Resources = Resources<noinclude><br /></noinclude> | See also = See also<noinclude><br /></noinclude> | Start = Start<noinclude><br /></noinclude> | Statistics = {{int|wikimedia-statslink}}<noinclude><br /></noinclude> | Status = Status<noinclude><br /></noinclude> | Talk to us = Talk to us<noinclude><br /></noinclude> | Thank you. = {{int:thank-you/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Thank you! = {{int:research-incentive-confirm-msg/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Upcoming = Upcoming<noinclude><br /></noinclude> | Wikibooks = {{int|wikibase-sitelinks-wikibooks}}<noinclude><br /></noinclude> | Wikidata = {{int:project-localized-name-wikidatawiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia = Wikimedia<noinclude><br /></noinclude> | Wikimedia Commons = {{int:project-localized-name-commonswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia Foundation = Wikimedia Foundation<noinclude><br /></noinclude> | Wikimedia Foundation, Inc. = {{int:wikibase-page-schema-publisher-name/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia Incubator = {{int:project-localized-name-incubatorwiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikinews = {{int|wikibase-sitelinks-wikinews}}<noinclude><br /></noinclude> | Wikiquote = {{int|wikibase-sitelinks-wikiquote}}<noinclude><br /></noinclude> | Wikisource = {{int|wikibase-sitelinks-wikisource}}<noinclude><br /></noinclude> | Wikispecies = {{int:project-localized-name-specieswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikitech = {{int:project-localized-name-labswiki/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | Wikiversity = {{int|wikibase-sitelinks-wikiversity}}<noinclude><br /></noinclude> | Wikivoyage = {{int|wikibase-sitelinks-wikivoyage}}<noinclude><br /></noinclude> | Wiktionary = {{int|wikibase-sitelinks-wiktionary}}<noinclude><br /></noinclude> | Yes = {{int:research-incentive-answer-positive/{{CURRENTCONTENTLANGUAGE}}}}<noinclude><br /></noinclude> | #default = {{{1<includeonly>|</includeonly>}}}<includeonly>{{#if:{{{1|}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}} }}</includeonly><noinclude> {{doc}} </noinclude> nnewc3x6xiilxk08yhmz6m682m3sylk 10281 10280 2022-09-26T20:10:45Z meta>FuzzyBot 0 Updating to match new version of source page 10281 wikitext text/x-wiki <noinclude>__NOTOC__ <languages /> {{Help translate/Common messages}} == Available strings ==</noinclude><includeonly> {{#switch: {{{1|}}} </includeonly> | Closed = Closed<noinclude><br /></noinclude> | Commons = {{int:wikibase-sitelinks-sitename-commonswiki/{{PAGELANGUAGE}}}}<noinclude><br /></noinclude> | Connect = Connect<noinclude><br /></noinclude> | Contribute = Contribute<noinclude><br /></noinclude> | Done = {{int:Upload-dialog-button-done/{{PAGELANGUAGE}}}}<noinclude><br /></noinclude> | Feedback = {{int:specialblockfeedback/{{PAGELANGUAGE}}}}<noinclude><br /></noinclude> | Frequently asked questions = Frequently asked questions<noinclude><br /></noinclude> | Hello = {{int:hello/{{PAGELANGUAGE}}}}<noinclude><br /></noinclude> | Home = Home<noinclude><br /></noinclude> | Leave Feedback = {{int:specialinvestigate-feedback/{{PAGELANGUAGE}}}}<noinclude><br /></noinclude> | No = {{int:research-incentive-answer-negative/{{PAGELANGUAGE}}}}<noinclude><br /></noinclude> | Open = Open<noinclude><br /></noinclude> | Plan = Plan<noinclude><br /></noinclude> | MediaWiki = {{int:project-localized-name-mediawikiwiki/{{PAGELANGUAGE}}}}<noinclude><br /></noinclude> | Meta-Wiki = {{int:project-localized-name-metawiki/{{PAGELANGUAGE}}}}<noinclude><br /></noinclude> | Ongoing = Ongoing<noinclude><br /></noinclude> | Projects = Projects<noinclude><br /></noinclude> | References = References<noinclude><br /></noinclude> | Research = Research<noinclude><br /></noinclude> | Resources = Resources<noinclude><br /></noinclude> | See also = See also<noinclude><br /></noinclude> | Start = Start<noinclude><br /></noinclude> | Statistics = {{int|wikimedia-statslink}}<noinclude><br /></noinclude> | Status = Status<noinclude><br /></noinclude> | Talk to us = Talk to us<noinclude><br /></noinclude> | Thank you. = {{int:thank-you/{{PAGELANGUAGE}}}}<noinclude><br /></noinclude> | Thank you! = {{int:research-incentive-confirm-msg/{{PAGELANGUAGE}}}}<noinclude><br /></noinclude> | Upcoming = Upcoming<noinclude><br /></noinclude> | Wikibooks = {{int|wikibase-sitelinks-wikibooks}}<noinclude><br /></noinclude> | Wikidata = {{int:project-localized-name-wikidatawiki/{{PAGELANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia = Wikimedia<noinclude><br /></noinclude> | Wikimedia Commons = {{int:project-localized-name-commonswiki/{{PAGELANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia Foundation = Wikimedia Foundation<noinclude><br /></noinclude> | Wikimedia Foundation, Inc. = {{int:wikibase-page-schema-publisher-name/{{PAGELANGUAGE}}}}<noinclude><br /></noinclude> | Wikimedia Incubator = {{int:project-localized-name-incubatorwiki/{{PAGELANGUAGE}}}}<noinclude><br /></noinclude> | Wikinews = {{int|wikibase-sitelinks-wikinews}}<noinclude><br /></noinclude> | Wikiquote = {{int|wikibase-sitelinks-wikiquote}}<noinclude><br /></noinclude> | Wikisource = {{int|wikibase-sitelinks-wikisource}}<noinclude><br /></noinclude> | Wikispecies = {{int:project-localized-name-specieswiki/{{PAGELANGUAGE}}}}<noinclude><br /></noinclude> | Wikitech = {{int:project-localized-name-labswiki/{{PAGELANGUAGE}}}}<noinclude><br /></noinclude> | Wikiversity = {{int|wikibase-sitelinks-wikiversity}}<noinclude><br /></noinclude> | Wikivoyage = {{int|wikibase-sitelinks-wikivoyage}}<noinclude><br /></noinclude> | Wiktionary = {{int|wikibase-sitelinks-wiktionary}}<noinclude><br /></noinclude> | Yes = {{int:research-incentive-answer-positive/{{PAGELANGUAGE}}}}<noinclude><br /></noinclude> | #default = {{{1<includeonly>|</includeonly>}}}<includeonly>{{#if:{{{1|}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}} }}</includeonly><noinclude> {{doc}} </noinclude> cxwqphzoqqfsx37srsry181pexsoh2l 10282 10281 2022-09-26T20:58:42Z meta>FuzzyBot 0 Updating to match new version of source page 10282 wikitext text/x-wiki <noinclude>__NOTOC__ <languages /> {{Help translate/Common messages}} == Available strings ==</noinclude><includeonly> {{#switch: {{{1|}}} </includeonly> | Closed = Closed<noinclude><br /></noinclude> | Commons = {{int|wikibase-sitelinks-sitename-commonswiki}}<noinclude><br /></noinclude> | Connect = Connect<noinclude><br /></noinclude> | Contribute = Contribute<noinclude><br /></noinclude> | Done = {{int|Upload-dialog-button-done}}<noinclude><br /></noinclude> | Feedback = {{int|specialblockfeedback}}<noinclude><br /></noinclude> | Frequently asked questions = Frequently asked questions<noinclude><br /></noinclude> | Hello = {{int|hello}}<noinclude><br /></noinclude> | Home = Home<noinclude><br /></noinclude> | Leave Feedback = {{int|specialinvestigate-feedback}}<noinclude><br /></noinclude> | No = {{int|research-incentive-answer-negative}}<noinclude><br /></noinclude> | Open = Open<noinclude><br /></noinclude> | Plan = Plan<noinclude><br /></noinclude> | MediaWiki = {{label|Q83}}<noinclude><br /></noinclude> | Meta-Wiki = {{int|project-localized-name-metawiki}}<noinclude><br /></noinclude> | Ongoing = Ongoing<noinclude><br /></noinclude> | Projects = Projects<noinclude><br /></noinclude> | References = References<noinclude><br /></noinclude> | Research = Research<noinclude><br /></noinclude> | Resources = Resources<noinclude><br /></noinclude> | See also = See also<noinclude><br /></noinclude> | Start = Start<noinclude><br /></noinclude> | Statistics = {{int|wikimedia-statslink}}<noinclude><br /></noinclude> | Status = Status<noinclude><br /></noinclude> | Talk to us = Talk to us<noinclude><br /></noinclude> | Thank you. = {{int|thank-you}}<noinclude><br /></noinclude> | Thank you! = {{int|research-incentive-confirm-msg}}<noinclude><br /></noinclude> | Upcoming = Upcoming<noinclude><br /></noinclude> | Wikibooks = {{label|Q367}}<noinclude><br /></noinclude> | Wikidata = {{label|Q2013}}<noinclude><br /></noinclude> | Wikimedia = Wikimedia<noinclude><br /></noinclude> | Wikimedia Commons = {{int|project-localized-name-commonswiki}}<noinclude><br /></noinclude> | Wikimedia Foundation = {{label|Q180}}<noinclude><br /></noinclude> | Wikimedia Foundation, Inc. = {{int|wikibase-page-schema-publisher-name}}<noinclude><br /></noinclude> | Wikimedia Incubator = {{label|Q846672}}<noinclude><br /></noinclude> | Wikinews = {{label|Q964}}<noinclude><br /></noinclude> | Wikiquote = {{label|Q369}}<noinclude><br /></noinclude> | Wikisource = {{label|Q263}}<noinclude><br /></noinclude> | Wikispecies = {{label|Q13679}}<noinclude><br /></noinclude> | Wikitech = {{label|Q104819161}}<noinclude><br /></noinclude> | Wikiversity = {{label|Q370}}<noinclude><br /></noinclude> | Wikivoyage = {{label|Q373}}<noinclude><br /></noinclude> | Wiktionary = {{label|Q151}}<noinclude><br /></noinclude> | Yes = {{int:research-incentive-answer-positive/{{PAGELANGUAGE}}}}<noinclude><br /></noinclude> | #default = {{{1<includeonly>|</includeonly>}}}<includeonly>{{#if:{{{1|}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}} }}</includeonly><noinclude> {{doc}} </noinclude> oaofa9fr0t4qpxwdrmbpiik6z7cmpmy 10283 10282 2022-09-26T20:59:19Z meta>FuzzyBot 0 Updating to match new version of source page 10283 wikitext text/x-wiki <noinclude>__NOTOC__ <languages /> {{Help translate/Common messages}} == Available strings ==</noinclude><includeonly> {{#switch: {{{1|}}} </includeonly> | Closed = Closed<noinclude><br /></noinclude> | Commons = {{int|wikibase-sitelinks-sitename-commonswiki}}<noinclude><br /></noinclude> | Connect = Connect<noinclude><br /></noinclude> | Contribute = Contribute<noinclude><br /></noinclude> | Done = {{int|Upload-dialog-button-done}}<noinclude><br /></noinclude> | Feedback = {{int|specialblockfeedback}}<noinclude><br /></noinclude> | Frequently asked questions = Frequently asked questions<noinclude><br /></noinclude> | Hello = {{int|hello}}<noinclude><br /></noinclude> | Home = Home<noinclude><br /></noinclude> | Leave Feedback = {{int|specialinvestigate-feedback}}<noinclude><br /></noinclude> | No = {{int|research-incentive-answer-negative}}<noinclude><br /></noinclude> | Open = Open<noinclude><br /></noinclude> | Plan = Plan<noinclude><br /></noinclude> | MediaWiki = {{label|Q83}}<noinclude><br /></noinclude> | Meta-Wiki = {{int|project-localized-name-metawiki}}<noinclude><br /></noinclude> | Ongoing = Ongoing<noinclude><br /></noinclude> | Projects = Projects<noinclude><br /></noinclude> | References = References<noinclude><br /></noinclude> | Research = Research<noinclude><br /></noinclude> | Resources = Resources<noinclude><br /></noinclude> | See also = See also<noinclude><br /></noinclude> | Start = Start<noinclude><br /></noinclude> | Statistics = {{int|wikimedia-statslink}}<noinclude><br /></noinclude> | Status = Status<noinclude><br /></noinclude> | Talk to us = Talk to us<noinclude><br /></noinclude> | Thank you. = {{int|thank-you}}<noinclude><br /></noinclude> | Thank you! = {{int|research-incentive-confirm-msg}}<noinclude><br /></noinclude> | Upcoming = Upcoming<noinclude><br /></noinclude> | Wikibooks = {{label|Q367}}<noinclude><br /></noinclude> | Wikidata = {{label|Q2013}}<noinclude><br /></noinclude> | Wikimedia = Wikimedia<noinclude><br /></noinclude> | Wikimedia Commons = {{int|project-localized-name-commonswiki}}<noinclude><br /></noinclude> | Wikimedia Foundation = {{label|Q180}}<noinclude><br /></noinclude> | Wikimedia Foundation, Inc. = {{int|wikibase-page-schema-publisher-name}}<noinclude><br /></noinclude> | Wikimedia Incubator = {{label|Q846672}}<noinclude><br /></noinclude> | Wikinews = {{label|Q964}}<noinclude><br /></noinclude> | Wikiquote = {{label|Q369}}<noinclude><br /></noinclude> | Wikisource = {{label|Q263}}<noinclude><br /></noinclude> | Wikispecies = {{label|Q13679}}<noinclude><br /></noinclude> | Wikitech = {{label|Q104819161}}<noinclude><br /></noinclude> | Wikiversity = {{label|Q370}}<noinclude><br /></noinclude> | Wikivoyage = {{label|Q373}}<noinclude><br /></noinclude> | Wiktionary = {{label|Q151}}<noinclude><br /></noinclude> | Yes = {{int|research-incentive-answer-positive}}<noinclude><br /></noinclude> | #default = {{{1<includeonly>|</includeonly>}}}<includeonly>{{#if:{{{1|}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}} }}</includeonly><noinclude> {{doc}} </noinclude> i0blpjv6c6kpqkwntxvggr5zvnd51su 10284 10283 2022-09-26T21:34:38Z meta>FuzzyBot 0 Updating to match new version of source page 10284 wikitext text/x-wiki <noinclude>__NOTOC__ <languages /> {{Help translate/Common messages}} == Available strings ==</noinclude><includeonly> {{#switch: {{{1|}}} </includeonly> | Closed = Closed<noinclude><br /></noinclude> | Commons = {{int|wikibase-sitelinks-sitename-commonswiki}}<noinclude><br /></noinclude> | Connect = Connect<noinclude><br /></noinclude> | Contribute = Contribute<noinclude><br /></noinclude> | Done = {{int|Upload-dialog-button-done}}<noinclude><br /></noinclude> | Feedback = {{int|specialblockfeedback}}<noinclude><br /></noinclude> | Frequently asked questions = Frequently asked questions<noinclude><br /></noinclude> | Hello = {{int|hello}}<noinclude><br /></noinclude> | Home = Home<noinclude><br /></noinclude> | Leave Feedback = {{int|specialinvestigate-feedback}}<noinclude><br /></noinclude> | Open = Open<noinclude><br /></noinclude> | Plan = Plan<noinclude><br /></noinclude> | MediaWiki = {{label|Q83}}<noinclude><br /></noinclude> | Meta-Wiki = {{int|project-localized-name-metawiki}}<noinclude><br /></noinclude> | Ongoing = Ongoing<noinclude><br /></noinclude> | Projects = Projects<noinclude><br /></noinclude> | References = References<noinclude><br /></noinclude> | Research = Research<noinclude><br /></noinclude> | Resources = Resources<noinclude><br /></noinclude> | See also = See also<noinclude><br /></noinclude> | Start = Start<noinclude><br /></noinclude> | Statistics = {{int|wikimedia-statslink}}<noinclude><br /></noinclude> | Status = Status<noinclude><br /></noinclude> | Talk to us = Talk to us<noinclude><br /></noinclude> | Thank you. = {{int|thank-you}}<noinclude><br /></noinclude> | Thank you! = {{int|research-incentive-confirm-msg}}<noinclude><br /></noinclude> | Upcoming = Upcoming<noinclude><br /></noinclude> | Wikibooks = {{label|Q367}}<noinclude><br /></noinclude> | Wikidata = {{label|Q2013}}<noinclude><br /></noinclude> | Wikimedia = Wikimedia<noinclude><br /></noinclude> | Wikimedia Commons = {{int|project-localized-name-commonswiki}}<noinclude><br /></noinclude> | Wikimedia Foundation = {{label|Q180}}<noinclude><br /></noinclude> | Wikimedia Foundation, Inc. = {{int|wikibase-page-schema-publisher-name}}<noinclude><br /></noinclude> | Wikimedia Incubator = {{label|Q846672}}<noinclude><br /></noinclude> | Wikinews = {{label|Q964}}<noinclude><br /></noinclude> | Wikiquote = {{label|Q369}}<noinclude><br /></noinclude> | Wikisource = {{label|Q263}}<noinclude><br /></noinclude> | Wikispecies = {{label|Q13679}}<noinclude><br /></noinclude> | Wikitech = {{label|Q104819161}}<noinclude><br /></noinclude> | Wikiversity = {{label|Q370}}<noinclude><br /></noinclude> | Wikivoyage = {{label|Q373}}<noinclude><br /></noinclude> | Wiktionary = {{label|Q151}}<noinclude><br /></noinclude> | #default = {{{1<includeonly>|</includeonly>}}}<includeonly>{{#if:{{{1|}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}} }}</includeonly><noinclude> {{doc}} </noinclude> lix75104730jmc3wz3wym4qsbttgwtx 10285 10284 2022-09-26T21:43:09Z meta>FuzzyBot 0 Updating to match new version of source page 10285 wikitext text/x-wiki <noinclude>__NOTOC__ <languages /> {{Help translate/Common messages}} == Available strings ==</noinclude><includeonly> {{#switch: {{{1|}}} </includeonly><noinclude> === Naming related ===</noinclude> | Commons = {{int|wikibase-sitelinks-sitename-commonswiki}}<noinclude><br /></noinclude> | MediaWiki = {{label|Q83}}<noinclude><br /></noinclude> | Meta-Wiki |Meta = {{int|project-localized-name-metawiki}}<noinclude><br /></noinclude> | Wikibooks = {{label|Q367}}<noinclude><br /></noinclude> | Wikidata = {{label|Q2013}}<noinclude><br /></noinclude> | Wikimedia = Wikimedia<noinclude><br /></noinclude> | Wikimedia Commons = {{int|project-localized-name-commonswiki}}<noinclude><br /></noinclude> | Wikimedia Foundation = {{label|Q180}}<noinclude><br /></noinclude> | Wikimedia Foundation, Inc. = {{int|wikibase-page-schema-publisher-name}}<noinclude><br /></noinclude> | Wikimedia Incubator = {{label|Q846672}}<noinclude><br /></noinclude> | Wikinews = {{label|Q964}}<noinclude><br /></noinclude> | Wikiquote = {{label|Q369}}<noinclude><br /></noinclude> | Wikisource = {{label|Q263}}<noinclude><br /></noinclude> | Wikispecies = {{label|Q13679}}<noinclude><br /></noinclude> | Wikitech = {{label|Q104819161}}<noinclude><br /></noinclude> | Wikiversity = {{label|Q370}}<noinclude><br /></noinclude> | Wikivoyage = {{label|Q373}}<noinclude><br /></noinclude> | Wiktionary = {{label|Q151}}<noinclude><br /></noinclude> <noinclude> === Navigation related ===</noinclude> | Connect = Connect<noinclude><br /></noinclude> | Contribute = Contribute<noinclude><br /></noinclude> | Feedback = {{int|specialblockfeedback}}<noinclude><br /></noinclude> | Frequently asked questions = Frequently asked questions<noinclude><br /></noinclude> | Home = Home<noinclude><br /></noinclude> | Leave Feedback = {{int|specialinvestigate-feedback}}<noinclude><br /></noinclude> | Projects = Projects<noinclude><br /></noinclude> | References = References<noinclude><br /></noinclude> | Research = Research<noinclude><br /></noinclude> | Resources = Resources<noinclude><br /></noinclude> | See also = See also<noinclude><br /></noinclude> | Start = Start<noinclude><br /></noinclude> | Statistics = {{int|wikimedia-statslink}}<noinclude><br /></noinclude> <noinclude> === Timeline related ===</noinclude> | Closed = Closed<noinclude><br /></noinclude> | Done = {{int|Upload-dialog-button-done}}<noinclude><br /></noinclude> | Open = Open<noinclude><br /></noinclude> | Plan = Plan<noinclude><br /></noinclude> | Ongoing = Ongoing<noinclude><br /></noinclude> | Status = Status<noinclude><br /></noinclude> | Talk to us = Talk to us<noinclude><br /></noinclude> | Upcoming = Upcoming<noinclude><br /></noinclude> | #default = {{{1<includeonly>|</includeonly>}}}<includeonly>{{#if:{{{1|}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}} }}</includeonly><noinclude> {{doc}} </noinclude> oqaejhssklpqwomrko72zitmzjpsign 10286 10285 2022-09-26T21:47:31Z meta>FuzzyBot 0 Updating to match new version of source page 10286 wikitext text/x-wiki <noinclude>__NOTOC__ <languages /> {{Help translate/Common messages}} == Available strings ==</noinclude><includeonly> {{#switch: {{{1|}}} </includeonly><noinclude> === Naming related ===</noinclude> | Commons = {{int|wikibase-sitelinks-sitename-commonswiki}}<noinclude><br /></noinclude> | Creative Commons |cc = {{label|Q43449}}<noinclude><br /></noinclude> | Etherpad |pad = {{label|Q998543}}<noinclude><br /></noinclude> | Eventbrite |evtb = {{label|Q5416738}}<noinclude><br /></noinclude> | Facebook |fb = {{label|Q355}}<noinclude><br /></noinclude> | Google Forms |gforms = {{label|Q47014869}}<noinclude><br /></noinclude> | Google Meet |gmeet = {{label|Q56669074}}<noinclude><br /></noinclude> | Identi.ca |Identica |ica = {{label|Q56669074}}<noinclude><br /></noinclude> | Instagram |insta = {{label|Q209330}}<noinclude><br /></noinclude> | LimeSurvey |limesurvey = {{label|Q1514978}}<noinclude><br /></noinclude> | MediaWiki = {{label|Q83}}<noinclude><br /></noinclude> | Meta-Wiki |Meta = {{int|project-localized-name-metawiki}}<noinclude><br /></noinclude> | Qualtrics |qual = {{label|Q7268803}}<noinclude><br /></noinclude> | QuickSurveys |qsurveys = QuickSurveys<noinclude><br /></noinclude> | Quora |quo = {{label|Q51711}}<noinclude><br /></noinclude> | Skype |skype = {{label|Q40984}}<noinclude><br /></noinclude> | SurveyMonkey |surveymonkey = {{label|Q162852}}<noinclude><br /></noinclude> | Twitter |tw = {{label|Q918}}<noinclude><br /></noinclude> | Wikibooks = {{label|Q367}}<noinclude><br /></noinclude> | Wikidata = {{label|Q2013}}<noinclude><br /></noinclude> | Wikimedia = Wikimedia<noinclude><br /></noinclude> | Wikimedia Commons = {{int|project-localized-name-commonswiki}}<noinclude><br /></noinclude> | Wikimedia Foundation = {{label|Q180}}<noinclude><br /></noinclude> | Wikimedia Foundation, Inc. = {{int|wikibase-page-schema-publisher-name}}<noinclude><br /></noinclude> | Wikimedia Incubator = {{label|Q846672}}<noinclude><br /></noinclude> | Wikinews = {{label|Q964}}<noinclude><br /></noinclude> | Wikiquote = {{label|Q369}}<noinclude><br /></noinclude> | Wikisource = {{label|Q263}}<noinclude><br /></noinclude> | Wikispecies = {{label|Q13679}}<noinclude><br /></noinclude> | Wikitech = {{label|Q104819161}}<noinclude><br /></noinclude> | Wikiversity = {{label|Q370}}<noinclude><br /></noinclude> | Wikivoyage = {{label|Q373}}<noinclude><br /></noinclude> | Wiktionary = {{label|Q151}}<noinclude><br /></noinclude> | YouTube | Youtube |yt = {{label|Q866}}<noinclude><br /></noinclude> | Zoom |zoom = {{label|Q94979732}}<noinclude><br /></noinclude> <noinclude> === Navigation related ===</noinclude> | Connect = Connect<noinclude><br /></noinclude> | Contribute = Contribute<noinclude><br /></noinclude> | Feedback = {{int|specialblockfeedback}}<noinclude><br /></noinclude> | Frequently asked questions = Frequently asked questions<noinclude><br /></noinclude> | Home = Home<noinclude><br /></noinclude> | Leave Feedback = {{int|specialinvestigate-feedback}}<noinclude><br /></noinclude> | Projects = Projects<noinclude><br /></noinclude> | References = References<noinclude><br /></noinclude> | Research = Research<noinclude><br /></noinclude> | Resources = Resources<noinclude><br /></noinclude> | See also = See also<noinclude><br /></noinclude> | Start = Start<noinclude><br /></noinclude> | Statistics = {{int|wikimedia-statslink}}<noinclude><br /></noinclude> <noinclude> === Timeline related ===</noinclude> | Closed = Closed<noinclude><br /></noinclude> | Done = {{int|Upload-dialog-button-done}}<noinclude><br /></noinclude> | Open = Open<noinclude><br /></noinclude> | Plan = Plan<noinclude><br /></noinclude> | Ongoing = Ongoing<noinclude><br /></noinclude> | Status = Status<noinclude><br /></noinclude> | Talk to us = Talk to us<noinclude><br /></noinclude> | Upcoming = Upcoming<noinclude><br /></noinclude> | #default = {{{1<includeonly>|</includeonly>}}}<includeonly>{{#if:{{{1|}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}} }}</includeonly><noinclude> {{doc}} </noinclude> t5xvg92d4vzj9xpau9e1e4ymbn41i80 10287 10286 2022-09-26T22:29:17Z meta>FuzzyBot 0 Updating to match new version of source page 10287 wikitext text/x-wiki <noinclude>__NOTOC__ <languages /> {{Help translate/Common messages}} == Available strings ==</noinclude><includeonly> {{#switch: {{{1|}}} </includeonly><noinclude> === Naming related ===</noinclude> | Commons = {{int|wikibase-sitelinks-sitename-commonswiki}}<noinclude><br /></noinclude> | Creative Commons |cc = {{label|Q43449}}<noinclude><br /></noinclude> | Etherpad |pad = {{label|Q998543}}<noinclude><br /></noinclude> | Eventbrite |evtb = {{label|Q5416738}}<noinclude><br /></noinclude> | Facebook |fb = {{label|Q355}}<noinclude><br /></noinclude> | Google Forms |gforms = {{label|Q47014869}}<noinclude><br /></noinclude> | Google Meet |gmeet = {{label|Q56669074}}<noinclude><br /></noinclude> | Identi.ca |Identica |ica = {{label|Q28773}}<noinclude><br /></noinclude> | Instagram |insta = {{label|Q209330}}<noinclude><br /></noinclude> | LimeSurvey |limesurvey = {{label|Q1514978}}<noinclude><br /></noinclude> | MediaWiki = {{label|Q83}}<noinclude><br /></noinclude> | Meta-Wiki |Meta = {{int|project-localized-name-metawiki}}<noinclude><br /></noinclude> | Qualtrics |qual = {{label|Q7268803}}<noinclude><br /></noinclude> | QuickSurveys |qsurveys = QuickSurveys<noinclude><br /></noinclude> | Quora |quo = {{label|Q51711}}<noinclude><br /></noinclude> | Skype |skype = {{label|Q40984}}<noinclude><br /></noinclude> | SurveyMonkey |surveymonkey = {{label|Q162852}}<noinclude><br /></noinclude> | Twitter |tw = {{label|Q918}}<noinclude><br /></noinclude> | Wikibooks = {{label|Q367}}<noinclude><br /></noinclude> | Wikidata = {{label|Q2013}}<noinclude><br /></noinclude> | Wikimedia = Wikimedia<noinclude><br /></noinclude> | Wikimedia Commons = {{int|project-localized-name-commonswiki}}<noinclude><br /></noinclude> | Wikimedia Foundation = {{label|Q180}}<noinclude><br /></noinclude> | Wikimedia Foundation, Inc. = {{int|wikibase-page-schema-publisher-name}}<noinclude><br /></noinclude> | Wikimedia Incubator = {{label|Q846672}}<noinclude><br /></noinclude> | Wikinews = {{label|Q964}}<noinclude><br /></noinclude> | Wikiquote = {{label|Q369}}<noinclude><br /></noinclude> | Wikisource = {{label|Q263}}<noinclude><br /></noinclude> | Wikispecies = {{label|Q13679}}<noinclude><br /></noinclude> | Wikitech = {{label|Q104819161}}<noinclude><br /></noinclude> | Wikiversity = {{label|Q370}}<noinclude><br /></noinclude> | Wikivoyage = {{label|Q373}}<noinclude><br /></noinclude> | Wiktionary = {{label|Q151}}<noinclude><br /></noinclude> | YouTube | Youtube |yt = {{label|Q866}}<noinclude><br /></noinclude> | Zoom |zoom = {{label|Q94979732}}<noinclude><br /></noinclude> <noinclude> === Navigation related ===</noinclude> | Connect = Connect<noinclude><br /></noinclude> | Contribute = Contribute<noinclude><br /></noinclude> | Feedback = {{int|specialblockfeedback}}<noinclude><br /></noinclude> | Frequently asked questions = Frequently asked questions<noinclude><br /></noinclude> | Home = Home<noinclude><br /></noinclude> | Leave Feedback = {{int|specialinvestigate-feedback}}<noinclude><br /></noinclude> | Projects = Projects<noinclude><br /></noinclude> | References = References<noinclude><br /></noinclude> | Research = Research<noinclude><br /></noinclude> | Resources = Resources<noinclude><br /></noinclude> | See also = See also<noinclude><br /></noinclude> | Start = Start<noinclude><br /></noinclude> | Statistics = {{int|wikimedia-statslink}}<noinclude><br /></noinclude> <noinclude> === Timeline related ===</noinclude> | Closed = Closed<noinclude><br /></noinclude> | Done = {{int|Upload-dialog-button-done}}<noinclude><br /></noinclude> | Open = Open<noinclude><br /></noinclude> | Plan = Plan<noinclude><br /></noinclude> | Ongoing = Ongoing<noinclude><br /></noinclude> | Status = Status<noinclude><br /></noinclude> | Talk to us = Talk to us<noinclude><br /></noinclude> | Upcoming = Upcoming<noinclude><br /></noinclude> | #default = {{{1<includeonly>|</includeonly>}}}<includeonly>{{#if:{{{1|}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}} }}</includeonly><noinclude> {{doc}} </noinclude> doq7ey32q7oja95dgiusabgiu0gmvdg 10288 10287 2022-09-26T22:49:52Z meta>FuzzyBot 0 Updating to match new version of source page 10288 wikitext text/x-wiki <noinclude>__NOTOC__ <languages /> {{Help translate/Common messages}} == Available strings ==</noinclude><includeonly> {{#switch: {{{1|}}} </includeonly><noinclude> === Naming related ===</noinclude> | Commons = {{int|wikibase-sitelinks-sitename-commonswiki}}<noinclude><br /></noinclude> | Creative Commons |cc = {{label|Q43449}}<noinclude><br /></noinclude> | Etherpad |pad = {{label|Q998543}}<noinclude><br /></noinclude> | Eventbrite |evtb = {{label|Q5416738}}<noinclude><br /></noinclude> | Facebook |fb = {{label|Q355}}<noinclude><br /></noinclude> | Google Forms |gforms = {{label|Q47014869}}<noinclude><br /></noinclude> | Google Meet |gmeet = {{label|Q56669074}}<noinclude><br /></noinclude> | Identi.ca |Identica |ica = {{label|Q28773}}<noinclude><br /></noinclude> | Instagram |insta = {{label|Q209330}}<noinclude><br /></noinclude> | LimeSurvey |limesurvey = {{label|Q1514978}}<noinclude><br /></noinclude> | MediaWiki = {{label|Q83}}<noinclude><br /></noinclude> | Meta-Wiki |Meta = {{int|project-localized-name-metawiki}}<noinclude><br /></noinclude> | Qualtrics |qual = {{label|Q7268803}}<noinclude><br /></noinclude> | QuickSurveys |qsurveys = QuickSurveys<noinclude><br /></noinclude> | Quora |quo = {{label|Q51711}}<noinclude><br /></noinclude> | Skype |skype = {{label|Q40984}}<noinclude><br /></noinclude> | SurveyMonkey |surveymonkey = {{label|Q162852}}<noinclude><br /></noinclude> | Twitter |tw = {{label|Q918}}<noinclude><br /></noinclude> | Wikibooks = {{label|Q367}}<noinclude><br /></noinclude> | Wikidata = {{label|Q2013}}<noinclude><br /></noinclude> | Wikimedia = Wikimedia<noinclude><br /></noinclude> | Wikimedia Commons = {{int|project-localized-name-commonswiki}}<noinclude><br /></noinclude> | Wikimedia Foundation = {{label|Q180}}<noinclude><br /></noinclude> | Wikimedia Foundation, Inc. = {{int|wikibase-page-schema-publisher-name}}<noinclude><br /></noinclude> | Wikimedia Incubator = {{label|Q846672}}<noinclude><br /></noinclude> | Wikinews = {{label|Q964}}<noinclude><br /></noinclude> | Wikiquote = {{label|Q369}}<noinclude><br /></noinclude> | Wikisource = {{label|Q263}}<noinclude><br /></noinclude> | Wikispecies = {{label|Q13679}}<noinclude><br /></noinclude> | Wikitech = {{label|Q104819161}}<noinclude><br /></noinclude> | Wikiversity = {{label|Q370}}<noinclude><br /></noinclude> | Wikivoyage = {{label|Q373}}<noinclude><br /></noinclude> | Wiktionary = {{label|Q151}}<noinclude><br /></noinclude> | YouTube | Youtube |yt = {{label|Q866}}<noinclude><br /></noinclude> | Zoom |zoom = {{label|Q94979732}}<noinclude><br /> === Navigation related ===</noinclude> | Connect = Connect<noinclude><br /></noinclude> | Contribute = Contribute<noinclude><br /></noinclude> | Feedback = {{int|specialblockfeedback}}<noinclude><br /></noinclude> | Frequently asked questions = Frequently asked questions<noinclude><br /></noinclude> | Home = Home<noinclude><br /></noinclude> | Leave Feedback = {{int|specialinvestigate-feedback}}<noinclude><br /></noinclude> | Projects = Projects<noinclude><br /></noinclude> | References = References<noinclude><br /></noinclude> | Research = Research<noinclude><br /></noinclude> | Resources = Resources<noinclude><br /></noinclude> | See also = See also<noinclude><br /></noinclude> | Start = Start<noinclude><br /></noinclude> | Statistics = {{int|wikimedia-statslink}}<noinclude><br /> === Timeline related ===</noinclude> | Closed = Closed<noinclude><br /></noinclude> | Done = {{int|Upload-dialog-button-done}}<noinclude><br /></noinclude> | Open = Open<noinclude><br /></noinclude> | Plan = Plan<noinclude><br /></noinclude> | Ongoing = Ongoing<noinclude><br /></noinclude> | Status = Status<noinclude><br /></noinclude> | Talk to us = Talk to us<noinclude><br /></noinclude> | Upcoming = Upcoming<noinclude><br /></noinclude> | #default = {{{1<includeonly>|</includeonly>}}}<includeonly>{{#if:{{{1|}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}} }}</includeonly><noinclude> {{doc}} </noinclude> ic09ak9b7djvj7sdspjxwijksjvg5hu 10289 10288 2022-09-26T22:54:52Z meta>FuzzyBot 0 Updating to match new version of source page 10289 wikitext text/x-wiki <noinclude>__NOTOC__ <languages /> {{Help translate/Common messages}} == Available strings ==</noinclude><includeonly> {{#switch: {{{1|}}}</includeonly><noinclude> === Naming related ===</noinclude> | Commons = {{int|wikibase-sitelinks-sitename-commonswiki}}<noinclude><br /></noinclude> | Creative Commons |cc = {{label|Q43449}}<noinclude><br /></noinclude> | Etherpad |pad = {{label|Q998543}}<noinclude><br /></noinclude> | Eventbrite |evtb = {{label|Q5416738}}<noinclude><br /></noinclude> | Facebook |fb = {{label|Q355}}<noinclude><br /></noinclude> | Google Forms |gforms = {{label|Q47014869}}<noinclude><br /></noinclude> | Google Meet |gmeet = {{label|Q56669074}}<noinclude><br /></noinclude> | Identi.ca |Identica |ica = {{label|Q28773}}<noinclude><br /></noinclude> | Instagram |insta = {{label|Q209330}}<noinclude><br /></noinclude> | LimeSurvey |limesurvey = {{label|Q1514978}}<noinclude><br /></noinclude> | MediaWiki = {{label|Q83}}<noinclude><br /></noinclude> | Meta-Wiki |Meta = {{int|project-localized-name-metawiki}}<noinclude><br /></noinclude> | Qualtrics |qual = {{label|Q7268803}}<noinclude><br /></noinclude> | QuickSurveys |qsurveys = QuickSurveys<noinclude><br /></noinclude> | Quora |quo = {{label|Q51711}}<noinclude><br /></noinclude> | Skype |skype = {{label|Q40984}}<noinclude><br /></noinclude> | SurveyMonkey |surveymonkey = {{label|Q162852}}<noinclude><br /></noinclude> | Twitter |tw = {{label|Q918}}<noinclude><br /></noinclude> | Wikibooks = {{label|Q367}}<noinclude><br /></noinclude> | Wikidata = {{label|Q2013}}<noinclude><br /></noinclude> | Wikimedia = Wikimedia<noinclude><br /></noinclude> | Wikimedia Commons = {{int|project-localized-name-commonswiki}}<noinclude><br /></noinclude> | Wikimedia Foundation = {{label|Q180}}<noinclude><br /></noinclude> | Wikimedia Foundation, Inc. = {{int|wikibase-page-schema-publisher-name}}<noinclude><br /></noinclude> | Wikimedia Incubator = {{label|Q846672}}<noinclude><br /></noinclude> | Wikinews = {{label|Q964}}<noinclude><br /></noinclude> | Wikiquote = {{label|Q369}}<noinclude><br /></noinclude> | Wikisource = {{label|Q263}}<noinclude><br /></noinclude> | Wikispecies = {{label|Q13679}}<noinclude><br /></noinclude> | Wikitech = {{label|Q104819161}}<noinclude><br /></noinclude> | Wikiversity = {{label|Q370}}<noinclude><br /></noinclude> | Wikivoyage = {{label|Q373}}<noinclude><br /></noinclude> | Wiktionary = {{label|Q151}}<noinclude><br /></noinclude> | YouTube | Youtube |yt = {{label|Q866}}<noinclude><br /></noinclude> | Zoom |zoom = {{label|Q94979732}}<noinclude><br /> === Navigation related ===</noinclude> | Connect = Connect<noinclude><br /></noinclude> | Contribute = Contribute<noinclude><br /></noinclude> | Feedback = {{int|specialblockfeedback}}<noinclude><br /></noinclude> | Frequently asked questions = Frequently asked questions<noinclude><br /></noinclude> | Home = Home<noinclude><br /></noinclude> | Leave Feedback = {{int|specialinvestigate-feedback}}<noinclude><br /></noinclude> | Projects = Projects<noinclude><br /></noinclude> | References = References<noinclude><br /></noinclude> | Research = Research<noinclude><br /></noinclude> | Resources = Resources<noinclude><br /></noinclude> | See also = See also<noinclude><br /></noinclude> | Start = Start<noinclude><br /></noinclude> | Statistics = {{int|wikimedia-statslink}}<noinclude><br /> === Timeline related ===</noinclude> | Closed = Closed<noinclude><br /></noinclude> | Done = {{int|Upload-dialog-button-done}}<noinclude><br /></noinclude> | Open = Open<noinclude><br /></noinclude> | Plan = Plan<noinclude><br /></noinclude> | Ongoing = Ongoing<noinclude><br /></noinclude> | Status = Status<noinclude><br /></noinclude> | Talk to us = Talk to us<noinclude><br /></noinclude> | Upcoming = Upcoming<noinclude><br /></noinclude> | #default = {{{1<includeonly>|</includeonly>}}}<includeonly>{{#if:{{{1|}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}} }}</includeonly><noinclude> {{doc}}</noinclude> j3ei06lq8wrnl25ua0bc8v3nb4651bh 10290 10289 2022-09-26T22:56:47Z meta>FuzzyBot 0 Updating to match new version of source page 10290 wikitext text/x-wiki <noinclude>__NOTOC__ <languages /> {{Help translate/Common messages}} == Available strings ==</noinclude><includeonly> {{#switch: {{{1|}}}</includeonly><noinclude> === Naming related === </noinclude>| Commons = {{int|wikibase-sitelinks-sitename-commonswiki}}<noinclude><br /></noinclude> | Creative Commons |cc = {{label|Q43449}}<noinclude><br /></noinclude> | Etherpad |pad = {{label|Q998543}}<noinclude><br /></noinclude> | Eventbrite |evtb = {{label|Q5416738}}<noinclude><br /></noinclude> | Facebook |fb = {{label|Q355}}<noinclude><br /></noinclude> | Google Forms |gforms = {{label|Q47014869}}<noinclude><br /></noinclude> | Google Meet |gmeet = {{label|Q56669074}}<noinclude><br /></noinclude> | Identi.ca |Identica |ica = {{label|Q28773}}<noinclude><br /></noinclude> | Instagram |insta = {{label|Q209330}}<noinclude><br /></noinclude> | LimeSurvey |limesurvey = {{label|Q1514978}}<noinclude><br /></noinclude> | MediaWiki = {{label|Q83}}<noinclude><br /></noinclude> | Meta-Wiki |Meta = {{int|project-localized-name-metawiki}}<noinclude><br /></noinclude> | Qualtrics |qual = {{label|Q7268803}}<noinclude><br /></noinclude> | QuickSurveys |qsurveys = QuickSurveys<noinclude><br /></noinclude> | Quora |quo = {{label|Q51711}}<noinclude><br /></noinclude> | Skype |skype = {{label|Q40984}}<noinclude><br /></noinclude> | SurveyMonkey |surveymonkey = {{label|Q162852}}<noinclude><br /></noinclude> | Twitter |tw = {{label|Q918}}<noinclude><br /></noinclude> | Wikibooks = {{label|Q367}}<noinclude><br /></noinclude> | Wikidata = {{label|Q2013}}<noinclude><br /></noinclude> | Wikimedia = Wikimedia<noinclude><br /></noinclude> | Wikimedia Commons = {{int|project-localized-name-commonswiki}}<noinclude><br /></noinclude> | Wikimedia Foundation = {{label|Q180}}<noinclude><br /></noinclude> | Wikimedia Foundation, Inc. = {{int|wikibase-page-schema-publisher-name}}<noinclude><br /></noinclude> | Wikimedia Incubator = {{label|Q846672}}<noinclude><br /></noinclude> | Wikinews = {{label|Q964}}<noinclude><br /></noinclude> | Wikiquote = {{label|Q369}}<noinclude><br /></noinclude> | Wikisource = {{label|Q263}}<noinclude><br /></noinclude> | Wikispecies = {{label|Q13679}}<noinclude><br /></noinclude> | Wikitech = {{label|Q104819161}}<noinclude><br /></noinclude> | Wikiversity = {{label|Q370}}<noinclude><br /></noinclude> | Wikivoyage = {{label|Q373}}<noinclude><br /></noinclude> | Wiktionary = {{label|Q151}}<noinclude><br /></noinclude> | YouTube | Youtube |yt = {{label|Q866}}<noinclude><br /></noinclude> | Zoom |zoom = {{label|Q94979732}}<noinclude><br /> === Navigation related === </noinclude>| Connect = Connect<noinclude><br /></noinclude> | Contribute = Contribute<noinclude><br /></noinclude> | Feedback = {{int|specialblockfeedback}}<noinclude><br /></noinclude> | Frequently asked questions = Frequently asked questions<noinclude><br /></noinclude> | Home = Home<noinclude><br /></noinclude> | Leave Feedback = {{int|specialinvestigate-feedback}}<noinclude><br /></noinclude> | Projects = Projects<noinclude><br /></noinclude> | References = References<noinclude><br /></noinclude> | Research = Research<noinclude><br /></noinclude> | Resources = Resources<noinclude><br /></noinclude> | See also = See also<noinclude><br /></noinclude> | Start = Start<noinclude><br /></noinclude> | Statistics = {{int|wikimedia-statslink}}<noinclude><br /> === Timeline related === </noinclude>| Closed = Closed<noinclude><br /></noinclude> | Done = {{int|Upload-dialog-button-done}}<noinclude><br /></noinclude> | Open = Open<noinclude><br /></noinclude> | Plan = Plan<noinclude><br /></noinclude> | Ongoing = Ongoing<noinclude><br /></noinclude> | Status = Status<noinclude><br /></noinclude> | Talk to us = Talk to us<noinclude><br /></noinclude> | Upcoming = Upcoming<noinclude><br /></noinclude> | #default = {{{1<includeonly>|</includeonly>}}}<includeonly>{{#if:{{{1|}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}} }}</includeonly><noinclude> {{doc}}</noinclude> sl3bsbbs8impjx2kueelv3474uqq6cf 10291 10290 2022-09-26T22:59:44Z meta>FuzzyBot 0 Updating to match new version of source page 10291 wikitext text/x-wiki <noinclude>__NOTOC__ <languages /> {{Help translate/Common messages}} == Available strings ==</noinclude><includeonly> {{#switch: {{{1|}}}</includeonly> | Commons = {{int|wikibase-sitelinks-sitename-commonswiki}}<noinclude><br /></noinclude> | Creative Commons |cc = {{label|Q43449}}<noinclude><br /></noinclude> | Etherpad |pad = {{label|Q998543}}<noinclude><br /></noinclude> | Eventbrite |evtb = {{label|Q5416738}}<noinclude><br /></noinclude> | Facebook |fb = {{label|Q355}}<noinclude><br /></noinclude> | Google Forms |gforms = {{label|Q47014869}}<noinclude><br /></noinclude> | Google Meet |gmeet = {{label|Q56669074}}<noinclude><br /></noinclude> | Identi.ca |Identica |ica = {{label|Q28773}}<noinclude><br /></noinclude> | Instagram |insta = {{label|Q209330}}<noinclude><br /></noinclude> | LimeSurvey |limesurvey = {{label|Q1514978}}<noinclude><br /></noinclude> | MediaWiki = {{label|Q83}}<noinclude><br /></noinclude> | Meta-Wiki |Meta = {{int|project-localized-name-metawiki}}<noinclude><br /></noinclude> | Qualtrics |qual = {{label|Q7268803}}<noinclude><br /></noinclude> | QuickSurveys |qsurveys = QuickSurveys<noinclude><br /></noinclude> | Quora |quo = {{label|Q51711}}<noinclude><br /></noinclude> | Skype |skype = {{label|Q40984}}<noinclude><br /></noinclude> | SurveyMonkey |surveymonkey = {{label|Q162852}}<noinclude><br /></noinclude> | Twitter |tw = {{label|Q918}}<noinclude><br /></noinclude> | Wikibooks = {{label|Q367}}<noinclude><br /></noinclude> | Wikidata = {{label|Q2013}}<noinclude><br /></noinclude> | Wikimedia = Wikimedia<noinclude><br /></noinclude> | Wikimedia Commons = {{int|project-localized-name-commonswiki}}<noinclude><br /></noinclude> | Wikimedia Foundation = {{label|Q180}}<noinclude><br /></noinclude> | Wikimedia Foundation, Inc. = {{int|wikibase-page-schema-publisher-name}}<noinclude><br /></noinclude> | Wikimedia Incubator = {{label|Q846672}}<noinclude><br /></noinclude> | Wikinews = {{label|Q964}}<noinclude><br /></noinclude> | Wikiquote = {{label|Q369}}<noinclude><br /></noinclude> | Wikisource = {{label|Q263}}<noinclude><br /></noinclude> | Wikispecies = {{label|Q13679}}<noinclude><br /></noinclude> | Wikitech = {{label|Q104819161}}<noinclude><br /></noinclude> | Wikiversity = {{label|Q370}}<noinclude><br /></noinclude> | Wikivoyage = {{label|Q373}}<noinclude><br /></noinclude> | Wiktionary = {{label|Q151}}<noinclude><br /></noinclude> | YouTube | Youtube |yt = {{label|Q866}}<noinclude><br /></noinclude> | Zoom |zoom = {{label|Q94979732}}<noinclude><br /></noinclude> | Connect = Connect<noinclude><br /></noinclude> | Contribute = Contribute<noinclude><br /></noinclude> | Feedback = {{int|specialblockfeedback}}<noinclude><br /></noinclude> | Frequently asked questions = Frequently asked questions<noinclude><br /></noinclude> | Home = Home<noinclude><br /></noinclude> | Leave Feedback = {{int|specialinvestigate-feedback}}<noinclude><br /></noinclude> | Projects = Projects<noinclude><br /></noinclude> | References = References<noinclude><br /></noinclude> | Research = Research<noinclude><br /></noinclude> | Resources = Resources<noinclude><br /></noinclude> | See also = See also<noinclude><br /></noinclude> | Start = Start<noinclude><br /></noinclude> | Statistics = {{int|wikimedia-statslink}}<noinclude><br /></noinclude> | Closed = Closed<noinclude><br /></noinclude> | Done = {{int|Upload-dialog-button-done}}<noinclude><br /></noinclude> | Open = Open<noinclude><br /></noinclude> | Plan = Plan<noinclude><br /></noinclude> | Ongoing = Ongoing<noinclude><br /></noinclude> | Status = Status<noinclude><br /></noinclude> | Talk to us = Talk to us<noinclude><br /></noinclude> | Upcoming = Upcoming<noinclude><br /></noinclude> | #default = {{{1<includeonly>|</includeonly>}}}<includeonly>{{#if:{{{1|}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}} }}</includeonly><noinclude> {{doc}}</noinclude> 57pawaz1xwl5mcngd1i89gdg6vdkke6 10292 10291 2022-09-26T23:05:08Z meta>FuzzyBot 0 Updating to match new version of source page 10292 wikitext text/x-wiki <noinclude>__NOTOC__ <languages /> {{Help translate/Common messages}} {{doc}}</noinclude> {{#switch: {{{1|}}} | Commons = {{int|wikibase-sitelinks-sitename-commonswiki}}<noinclude><br /></noinclude> | Creative Commons |cc = {{label|Q43449}}<noinclude><br /></noinclude> | Etherpad |pad = {{label|Q998543}}<noinclude><br /></noinclude> | Eventbrite |evtb = {{label|Q5416738}}<noinclude><br /></noinclude> | Facebook |fb = {{label|Q355}}<noinclude><br /></noinclude> | Google Forms |gforms = {{label|Q47014869}}<noinclude><br /></noinclude> | Google Meet |gmeet = {{label|Q56669074}}<noinclude><br /></noinclude> | Identi.ca |Identica |ica = {{label|Q28773}}<noinclude><br /></noinclude> | Instagram |insta = {{label|Q209330}}<noinclude><br /></noinclude> | LimeSurvey |limesurvey = {{label|Q1514978}}<noinclude><br /></noinclude> | MediaWiki = {{label|Q83}}<noinclude><br /></noinclude> | Meta-Wiki |Meta = {{int|project-localized-name-metawiki}}<noinclude><br /></noinclude> | Qualtrics |qual = {{label|Q7268803}}<noinclude><br /></noinclude> | QuickSurveys |qsurveys = QuickSurveys<noinclude><br /></noinclude> | Quora |quo = {{label|Q51711}}<noinclude><br /></noinclude> | Skype |skype = {{label|Q40984}}<noinclude><br /></noinclude> | SurveyMonkey |surveymonkey = {{label|Q162852}}<noinclude><br /></noinclude> | Twitter |tw = {{label|Q918}}<noinclude><br /></noinclude> | Wikibooks = {{label|Q367}}<noinclude><br /></noinclude> | Wikidata = {{label|Q2013}}<noinclude><br /></noinclude> | Wikimedia = Wikimedia<noinclude><br /></noinclude> | Wikimedia Commons = {{int|project-localized-name-commonswiki}}<noinclude><br /></noinclude> | Wikimedia Foundation = {{label|Q180}}<noinclude><br /></noinclude> | Wikimedia Foundation, Inc. = {{int|wikibase-page-schema-publisher-name}}<noinclude><br /></noinclude> | Wikimedia Incubator = {{label|Q846672}}<noinclude><br /></noinclude> | Wikinews = {{label|Q964}}<noinclude><br /></noinclude> | Wikiquote = {{label|Q369}}<noinclude><br /></noinclude> | Wikisource = {{label|Q263}}<noinclude><br /></noinclude> | Wikispecies = {{label|Q13679}}<noinclude><br /></noinclude> | Wikitech = {{label|Q104819161}}<noinclude><br /></noinclude> | Wikiversity = {{label|Q370}}<noinclude><br /></noinclude> | Wikivoyage = {{label|Q373}}<noinclude><br /></noinclude> | Wiktionary = {{label|Q151}}<noinclude><br /></noinclude> | YouTube | Youtube |yt = {{label|Q866}}<noinclude><br /></noinclude> | Zoom |zoom = {{label|Q94979732}}<noinclude><br /></noinclude> | Connect = Connect<noinclude><br /></noinclude> | Contribute = Contribute<noinclude><br /></noinclude> | Feedback = {{int|specialblockfeedback}}<noinclude><br /></noinclude> | Frequently asked questions = Frequently asked questions<noinclude><br /></noinclude> | Home = Home<noinclude><br /></noinclude> | Leave Feedback = {{int|specialinvestigate-feedback}}<noinclude><br /></noinclude> | Projects = Projects<noinclude><br /></noinclude> | References = References<noinclude><br /></noinclude> | Research = Research<noinclude><br /></noinclude> | Resources = Resources<noinclude><br /></noinclude> | See also = See also<noinclude><br /></noinclude> | Start = Start<noinclude><br /></noinclude> | Statistics = {{int|wikimedia-statslink}}<noinclude><br /></noinclude> | Closed = Closed<noinclude><br /></noinclude> | Done = {{int|Upload-dialog-button-done}}<noinclude><br /></noinclude> | Open = Open<noinclude><br /></noinclude> | Plan = Plan<noinclude><br /></noinclude> | Ongoing = Ongoing<noinclude><br /></noinclude> | Status = Status<noinclude><br /></noinclude> | Talk to us = Talk to us<noinclude><br /></noinclude> | Upcoming = Upcoming<noinclude><br /></noinclude> |}} hcu44lf7f7nyf5ywm4glqnd98akwpge 10293 10292 2022-09-26T23:07:05Z meta>FuzzyBot 0 Updating to match new version of source page 10293 wikitext text/x-wiki <noinclude>__NOTOC__ <languages /> {{Help translate/Common messages}} {{doc}}</noinclude> {{#switch: {{{1|}}} | Commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | Creative Commons |cc = {{label|Q43449}} | Etherpad |pad = {{label|Q998543}} | Eventbrite |evtb = {{label|Q5416738}} | Facebook |fb = {{label|Q355}} | Google Forms |gforms = {{label|Q47014869}} | Google Meet |gmeet = {{label|Q56669074}} | Identi.ca |Identica |ica = {{label|Q28773}} | Instagram |insta = {{label|Q209330}} | LimeSurvey |limesurvey = {{label|Q1514978}} | MediaWiki = {{label|Q83}} | Meta-Wiki |Meta = {{int|project-localized-name-metawiki}} | Qualtrics |qual = {{label|Q7268803}} | QuickSurveys |qsurveys = QuickSurveys | Quora |quo = {{label|Q51711}} | Skype |skype = {{label|Q40984}} | SurveyMonkey |surveymonkey = {{label|Q162852}} | Twitter |tw = {{label|Q918}} | Wikibooks = {{label|Q367}} | Wikidata = {{label|Q2013}} | Wikimedia = Wikimedia | Wikimedia Commons = {{int|project-localized-name-commonswiki}} | Wikimedia Foundation = {{label|Q180}} | Wikimedia Foundation, Inc. = {{int|wikibase-page-schema-publisher-name}} | Wikimedia Incubator = {{label|Q846672}} | Wikinews = {{label|Q964}} | Wikiquote = {{label|Q369}} | Wikisource = {{label|Q263}} | Wikispecies = {{label|Q13679}} | Wikitech = {{label|Q104819161}} | Wikiversity = {{label|Q370}} | Wikivoyage = {{label|Q373}} | Wiktionary = {{label|Q151}} | YouTube | Youtube |yt = {{label|Q866}} | Zoom |zoom = {{label|Q94979732}} | Connect = Connect | Contribute = Contribute | Feedback = {{int|specialblockfeedback}} | Frequently asked questions = Frequently asked questions | Home = Home | Leave Feedback = {{int|specialinvestigate-feedback}} | Projects = Projects | References = References | Research = Research | Resources = Resources | See also = See also | Start = Start | Statistics = {{int|wikimedia-statslink}} | Closed = Closed | Done = {{int|Upload-dialog-button-done}} | Open = Open | Plan = Plan | Ongoing = Ongoing | Status = Status | Talk to us = Talk to us | Upcoming = Upcoming |}} 0qyrac4qsogx7c003div0v91ngbm0vn 10294 10293 2022-09-26T23:08:04Z meta>FuzzyBot 0 Updating to match new version of source page 10294 wikitext text/x-wiki <noinclude>__NOTOC__<languages /> {{Help translate/Common messages}} {{doc}}</noinclude>{{#switch: {{{1|}}} | Commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | Creative Commons |cc = {{label|Q43449}} | Etherpad |pad = {{label|Q998543}} | Eventbrite |evtb = {{label|Q5416738}} | Facebook |fb = {{label|Q355}} | Google Forms |gforms = {{label|Q47014869}} | Google Meet |gmeet = {{label|Q56669074}} | Identi.ca |Identica |ica = {{label|Q28773}} | Instagram |insta = {{label|Q209330}} | LimeSurvey |limesurvey = {{label|Q1514978}} | MediaWiki = {{label|Q83}} | Meta-Wiki |Meta = {{int|project-localized-name-metawiki}} | Qualtrics |qual = {{label|Q7268803}} | QuickSurveys |qsurveys = QuickSurveys | Quora |quo = {{label|Q51711}} | Skype |skype = {{label|Q40984}} | SurveyMonkey |surveymonkey = {{label|Q162852}} | Twitter |tw = {{label|Q918}} | Wikibooks = {{label|Q367}} | Wikidata = {{label|Q2013}} | Wikimedia = Wikimedia | Wikimedia Commons = {{int|project-localized-name-commonswiki}} | Wikimedia Foundation = {{label|Q180}} | Wikimedia Foundation, Inc. = {{int|wikibase-page-schema-publisher-name}} | Wikimedia Incubator = {{label|Q846672}} | Wikinews = {{label|Q964}} | Wikiquote = {{label|Q369}} | Wikisource = {{label|Q263}} | Wikispecies = {{label|Q13679}} | Wikitech = {{label|Q104819161}} | Wikiversity = {{label|Q370}} | Wikivoyage = {{label|Q373}} | Wiktionary = {{label|Q151}} | YouTube | Youtube |yt = {{label|Q866}} | Zoom |zoom = {{label|Q94979732}} | Connect = Connect | Contribute = Contribute | Feedback = {{int|specialblockfeedback}} | Frequently asked questions = Frequently asked questions | Home = Home | Leave Feedback = {{int|specialinvestigate-feedback}} | Projects = Projects | References = References | Research = Research | Resources = Resources | See also = See also | Start = Start | Statistics = {{int|wikimedia-statslink}} | Closed = Closed | Done = {{int|Upload-dialog-button-done}} | Open = Open | Plan = Plan | Ongoing = Ongoing | Status = Status | Talk to us = Talk to us | Upcoming = Upcoming |}} 5wyqkqcwt7jj3kdrm52fe89zopo5282 10295 10294 2022-09-26T23:12:56Z meta>FuzzyBot 0 Updating to match new version of source page 10295 wikitext text/x-wiki <noinclude>__NOTOC__<languages /> {{Help translate/Common messages}} {{doc}}</noinclude>{{#switch: {{{1|}}} | Closed = Closed | Done = {{int|Upload-dialog-button-done}} | Commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | Connect = Connect | Contribute = Contribute | Creative Commons |cc = {{label|Q43449}} | Etherpad |pad = {{label|Q998543}} | Eventbrite |evtb = {{label|Q5416738}} | Facebook |fb = {{label|Q355}} | Feedback = {{int|specialblockfeedback}} | Frequently asked questions = Frequently asked questions | Google Forms |gforms = {{label|Q47014869}} | Google Meet |gmeet = {{label|Q56669074}} | Home = Home | Identi.ca |Identica |ica = {{label|Q28773}} | Instagram |insta = {{label|Q209330}} | Leave Feedback = {{int|specialinvestigate-feedback}} | LimeSurvey |limesurvey = {{label|Q1514978}} | MediaWiki = {{label|Q83}} | Meta-Wiki |Meta = {{int|project-localized-name-metawiki}} | Ongoing = Ongoing | Open = Open | Plan = Plan | Projects = Projects | References = References | Research = Research | Resources = Resources | Qualtrics |qual = {{label|Q7268803}} | QuickSurveys |qsurveys = QuickSurveys | Quora |quo = {{label|Q51711}} | See also = See also | Skype |skype = {{label|Q40984}} | Start = Start | Statistics = {{int|wikimedia-statslink}} | Status = Status | SurveyMonkey |surveymonkey = {{label|Q162852}} | Talk to us = Talk to us | Upcoming = Upcoming | Twitter |tw = {{label|Q918}} | Wikibooks = {{label|Q367}} | Wikidata = {{label|Q2013}} | Wikimedia = Wikimedia | Wikimedia Commons = {{int|project-localized-name-commonswiki}} | Wikimedia Foundation = {{label|Q180}} | Wikimedia Foundation, Inc. = {{int|wikibase-page-schema-publisher-name}} | Wikimedia Incubator = {{label|Q846672}} | Wikinews = {{label|Q964}} | Wikiquote = {{label|Q369}} | Wikisource = {{label|Q263}} | Wikispecies = {{label|Q13679}} | Wikitech = {{label|Q104819161}} | Wikiversity = {{label|Q370}} | Wikivoyage = {{label|Q373}} | Wiktionary = {{label|Q151}} | YouTube | Youtube |yt = {{label|Q866}} | Zoom |zoom = {{label|Q94979732}} | {{{1|}}}{{#if:{{{1|}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}} |}} rslisbbqauht1bfveihr261qj8quijk 10296 10295 2022-09-26T23:29:47Z meta>FuzzyBot 0 Updating to match new version of source page 10296 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{doc}}</noinclude>{{#switch: {{{1|}}} | Closed = Closed | Done = {{int|Upload-dialog-button-done}} | Commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | Connect = Connect | Contribute = Contribute | Creative Commons |cc = {{label|Q43449}} | Etherpad |pad = {{label|Q998543}} | Eventbrite |evtb = {{label|Q5416738}} | Facebook |fb = {{label|Q355}} | Feedback = {{int|specialblockfeedback}} | Frequently asked questions = Frequently asked questions | Google Forms |gforms = {{label|Q47014869}} | Google Meet |gmeet = {{label|Q56669074}} | Home = Home | Identi.ca |Identica |ica = {{label|Q28773}} | Instagram |insta = {{label|Q209330}} | Leave Feedback = {{int|specialinvestigate-feedback}} | LimeSurvey |limesurvey = {{label|Q1514978}} | MediaWiki = {{label|Q83}} | Meta-Wiki |Meta = {{int|project-localized-name-metawiki}} | Ongoing = Ongoing | Open = Open | Plan = Plan | Projects = Projects | References = References | Research = Research | Resources = Resources | Qualtrics |qual = {{label|Q7268803}} | QuickSurveys |qsurveys = QuickSurveys | Quora |quo = {{label|Q51711}} | See also = See also | Skype |skype = {{label|Q40984}} | Start = Start | Statistics = {{int|wikimedia-statslink}} | Status = Status | SurveyMonkey |surveymonkey = {{label|Q162852}} | Talk to us = Talk to us | Upcoming = Upcoming | Twitter |tw = {{label|Q918}} | Wikibooks = {{label|Q367}} | Wikidata = {{label|Q2013}} | Wikimedia = Wikimedia | Wikimedia Commons = {{int|project-localized-name-commonswiki}} | Wikimedia Foundation = {{label|Q180}} | Wikimedia Foundation, Inc. = {{int|wikibase-page-schema-publisher-name}} | Wikimedia Incubator = {{label|Q846672}} | Wikinews = {{label|Q964}} | Wikiquote = {{label|Q369}} | Wikisource = {{label|Q263}} | Wikispecies = {{label|Q13679}} | Wikitech = {{label|Q104819161}} | Wikiversity = {{label|Q370}} | Wikivoyage = {{label|Q373}} | Wiktionary = {{label|Q151}} | YouTube | Youtube |yt = {{label|Q866}} | Zoom |zoom = {{label|Q94979732}} | {{{1|}}}{{#if:{{{1|}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}} |}} pnks8er6g65ja8c4f6ve3tjyjm3i864 10297 10296 2022-10-12T14:45:17Z meta>FuzzyBot 0 Updating to match new version of source page 10297 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{doc}}</noinclude>{{#switch: {{lc:{{{1|}}}}} | closed = Closed | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = Connect | contribute = Contribute | creative commons |cc = {{label|Q43449}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | facebook = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = Frequently asked questions | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | home = Home | identi.ca |identica |ica = {{label|Q28773}} | instagram |insta = {{label|Q209330}} | leave feedback = {{int|specialinvestigate-feedback}} | limesurvey = {{label|Q1514978}} | mediawiki |mw = {{label|Q83}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | ongoing = Ongoing | open = Open | plan = Plan | projects = Projects | references = References | research = Research | resources = Resources | qualtrics |qual = {{label|Q7268803}} | quicksurveys |qsurveys = QuickSurveys | quora |quo = {{label|Q51711}} | see also = See also | skype = {{label|Q40984}} | start = Start | statistics = {{int|wikimedia-statslink}} | status = Status | surveymonkey = {{label|Q162852}} | talk to us = Talk to us | upcoming = Upcoming | twitter |tw = {{label|Q918}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = Wikimedia | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation = {{label|Q180}} | wikimedia foundation, inc. = {{int|wmf-wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary = {{label|Q151}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | {{{1|}}}{{#if:{{{1|}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}} |}} rbosy6uuexnfyblva4o8n001jst1mfs 10298 10297 2022-10-12T14:50:49Z meta>FuzzyBot 0 Updating to match new version of source page 10298 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{doc}}</noinclude>{{#switch: {{lc:{{{1|}}}}} | closed = Closed | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = Connect | contribute = Contribute | creative commons |cc = {{label|Q43449}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | facebook = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = Frequently asked questions | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | home = Home | identi.ca |identica |ica = {{label|Q28773}} | instagram |insta = {{label|Q209330}} | leave feedback = {{int|specialinvestigate-feedback}} | limesurvey = {{label|Q1514978}} | mediawiki |mw = {{label|Q83}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | ongoing = Ongoing | open = Open | plan = Plan | projects = Projects | references = References | research = Research | resources = Resources | qualtrics |qual = {{label|Q7268803}} | quicksurveys |qsurveys = QuickSurveys | quora |quo = {{label|Q51711}} | see also = See also | skype = {{label|Q40984}} | start = Start | statistics = {{int|wikimedia-statslink}} | status = Status | surveymonkey = {{label|Q162852}} | talk to us = Talk to us | upcoming = Upcoming | twitter |tw = {{label|Q918}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = Wikimedia | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation = {{label|Q180}} | wikimedia foundation, inc. = {{int|wmf-wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary = {{label|Q151}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | #default = {{{1|}}}{{#if:{{{1|}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}} |}} e6zadr57lyww76vvgjpcxh1hvysvrcb 10299 10298 2022-10-12T14:57:36Z meta>FuzzyBot 0 Updating to match new version of source page 10299 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{doc}}</noinclude>{{#switch: {{lc:{{{1|}}}}} | closed = Closed | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = Connect | contribute = Contribute | creative commons |cc = {{label|Q43449}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | facebook = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = Frequently asked questions | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | home = Home | identi.ca |identica |ica = {{label|Q28773}} | instagram |insta = {{label|Q209330}} | leave feedback = {{int|specialinvestigate-feedback}} | limesurvey = {{label|Q1514978}} | mediawiki |mw = {{label|Q83}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | ongoing = Ongoing | open = Open | plan = Plan | projects = Projects | references = References | research = Research | resources = Resources | qualtrics |qual = {{label|Q7268803}} | quicksurveys |qsurveys = QuickSurveys | quora |quo = {{label|Q51711}} | see also = See also | skype = {{label|Q40984}} | start = Start | statistics = {{int|wikimedia-statslink}} | status = Status | surveymonkey = {{label|Q162852}} | talk to us = Talk to us | upcoming = Upcoming | twitter |tw = {{label|Q918}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = Wikimedia | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wmf-wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | #default = {{{1|}}}{{#if:{{{1|}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}} |}} aold812h71gpk88zc67fe3w6s1ghwlp 10300 10299 2022-10-12T14:59:32Z meta>FuzzyBot 0 Updating to match new version of source page 10300 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{doc}}</noinclude>{{#switch: {{lc:{{{1|}}}}} | closed = Closed | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = Connect | contribute = Contribute | creative commons |cc = {{label|Q43449}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | facebook = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = Frequently asked questions | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | home = Home | identi.ca |identica |ica = {{label|Q28773}} | instagram |insta = {{label|Q209330}} | leave feedback = {{int|specialinvestigate-feedback}} | limesurvey = {{label|Q1514978}} | mediawiki |mw = {{label|Q83}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | ongoing = Ongoing | open = Open | plan = Plan | projects = Projects | references = References | research = Research | resources = Resources | qualtrics |qual = {{label|Q7268803}} | quicksurveys |qsurveys = QuickSurveys | quora |quo = {{label|Q51711}} | see also = See also | skype = {{label|Q40984}} | start = Start | statistics = {{int|wikimedia-statslink}} | status = Status | surveymonkey = {{label|Q162852}} | talk to us = Talk to us | upcoming = Upcoming | twitter |tw = {{label|Q918}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = Wikimedia | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | #default = {{{1|}}}{{#if:{{{1|}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}} |}} 3544blk2ntxyubovettz1wy6uroftsm 10301 10300 2022-10-12T15:00:59Z meta>FuzzyBot 0 Updating to match new version of source page 10301 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{doc}}</noinclude>{{#switch: {{{1|}}} | closed = Closed | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = Connect | contribute = Contribute | creative commons |cc = {{label|Q43449}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | facebook = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = Frequently asked questions | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | home = Home | identi.ca |identica |ica = {{label|Q28773}} | instagram |insta = {{label|Q209330}} | leave feedback = {{int|specialinvestigate-feedback}} | limesurvey = {{label|Q1514978}} | mediawiki |mw = {{label|Q83}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | ongoing = Ongoing | open = Open | plan = Plan | projects = Projects | references = References | research = Research | resources = Resources | qualtrics |qual = {{label|Q7268803}} | quicksurveys |qsurveys = QuickSurveys | quora |quo = {{label|Q51711}} | see also = See also | skype = {{label|Q40984}} | start = Start | statistics = {{int|wikimedia-statslink}} | status = Status | surveymonkey = {{label|Q162852}} | talk to us = Talk to us | upcoming = Upcoming | twitter |tw = {{label|Q918}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = Wikimedia | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | #default = {{{1|}}}{{#if:{{{1|}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}} |}} spuyeo7z285m66qpnscbiut8649jsod 10302 10301 2022-10-12T15:02:23Z meta>FuzzyBot 0 Updating to match new version of source page 10302 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{doc}}</noinclude>{{#switch: {{{1|}}} | closed = Closed | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = Connect | contribute = Contribute | creative commons |cc = {{label|Q43449}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | facebook = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = Frequently asked questions | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | home = Home | identi.ca |identica |ica = {{label|Q28773}} | instagram |insta = {{label|Q209330}} | leave feedback = {{int|specialinvestigate-feedback}} | limesurvey = {{label|Q1514978}} | mediawiki |mw = {{label|Q83}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | ongoing = Ongoing | open = Open | plan = Plan | projects = Projects | references = References | research = Research | resources = Resources | qualtrics |qual = {{label|Q7268803}} | quicksurveys |qsurveys = QuickSurveys | quora |quo = {{label|Q51711}} | see also = See also | skype = {{label|Q40984}} | start = Start | statistics = {{int|wikimedia-statslink}} | status = Status | surveymonkey = {{label|Q162852}} | talk to us = Talk to us | upcoming = Upcoming | twitter |tw = {{label|Q918}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = Wikimedia | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | #default = {{{1|}}}{{#if:{{{1|}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}} }} 2kr8pryzuz7nx62tyb91j8u5tktcpqe 10303 10302 2022-10-12T15:04:37Z meta>FuzzyBot 0 Updating to match new version of source page 10303 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{doc}}</noinclude>{{#switch: {{lc:{{{1|}}}}} | closed = Closed | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = Connect | contribute = Contribute | creative commons |cc = {{label|Q43449}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | facebook = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = Frequently asked questions | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | home = Home | identi.ca |identica |ica = {{label|Q28773}} | instagram |insta = {{label|Q209330}} | leave feedback = {{int|specialinvestigate-feedback}} | limesurvey = {{label|Q1514978}} | mediawiki |mw = {{label|Q83}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | ongoing = Ongoing | open = Open | plan = Plan | projects = Projects | references = References | research = Research | resources = Resources | qualtrics |qual = {{label|Q7268803}} | quicksurveys |qsurveys = QuickSurveys | quora |quo = {{label|Q51711}} | see also = See also | skype = {{label|Q40984}} | start = Start | statistics = {{int|wikimedia-statslink}} | status = Status | surveymonkey = {{label|Q162852}} | talk to us = Talk to us | upcoming = Upcoming | twitter |tw = {{label|Q918}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = Wikimedia | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | #default = {{{1|}}}{{#if:{{{1|}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}} }} ihf9qo82z5uvztcbq1p875xl8huf50e 10304 10303 2022-10-12T15:10:22Z meta>FuzzyBot 0 Updating to match new version of source page 10304 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{doc}}</noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | closed = Closed | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = Connect | contribute = Contribute | creative commons |cc = {{label|Q43449}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | facebook = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = Frequently asked questions | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | home = Home | identi.ca |identica |ica = {{label|Q28773}} | instagram |insta = {{label|Q209330}} | leave feedback = {{int|specialinvestigate-feedback}} | limesurvey = {{label|Q1514978}} | mediawiki |mw = {{label|Q83}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | ongoing = Ongoing | open = Open | plan = Plan | projects = Projects | references = References | research = Research | resources = Resources | qualtrics |qual = {{label|Q7268803}} | quicksurveys |qsurveys = QuickSurveys | quora |quo = {{label|Q51711}} | see also = See also | skype = {{label|Q40984}} | start = Start | statistics = {{int|wikimedia-statslink}} | status = Status | surveymonkey = {{label|Q162852}} | talk to us = Talk to us | upcoming = Upcoming | twitter |tw = {{label|Q918}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = Wikimedia | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | #default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}} }} mduuiqmzy6k34qh4hkak5e8f1qg0i65 10305 10304 2022-10-12T15:12:00Z meta>FuzzyBot 0 Updating to match new version of source page 10305 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{doc|content={{Int string/doc}}}}</noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | closed = Closed | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = Connect | contribute = Contribute | creative commons |cc = {{label|Q43449}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | facebook = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = Frequently asked questions | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | home = Home | identi.ca |identica |ica = {{label|Q28773}} | instagram |insta = {{label|Q209330}} | leave feedback = {{int|specialinvestigate-feedback}} | limesurvey = {{label|Q1514978}} | mediawiki |mw = {{label|Q83}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | ongoing = Ongoing | open = Open | plan = Plan | projects = Projects | references = References | research = Research | resources = Resources | qualtrics |qual = {{label|Q7268803}} | quicksurveys |qsurveys = QuickSurveys | quora |quo = {{label|Q51711}} | see also = See also | skype = {{label|Q40984}} | start = Start | statistics = {{int|wikimedia-statslink}} | status = Status | surveymonkey = {{label|Q162852}} | talk to us = Talk to us | upcoming = Upcoming | twitter |tw = {{label|Q918}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = Wikimedia | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | #default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}} }} 820pkum4o5n28si17mplnlf6hnx3gzs 10306 10305 2022-10-12T15:19:38Z meta>FuzzyBot 0 Updating to match new version of source page 10306 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{doc|content={{Int string/doc/{{PAGELANGUAGE}}}}}}</noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | closed = Closed | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = Connect | contribute = Contribute | creative commons |cc = {{label|Q43449}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | facebook = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = Frequently asked questions | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | home = Home | identi.ca |identica |ica = {{label|Q28773}} | instagram |insta = {{label|Q209330}} | leave feedback = {{int|specialinvestigate-feedback}} | limesurvey = {{label|Q1514978}} | mediawiki |mw = {{label|Q83}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | ongoing = Ongoing | open = Open | plan = Plan | projects = Projects | references = References | research = Research | resources = Resources | qualtrics |qual = {{label|Q7268803}} | quicksurveys |qsurveys = QuickSurveys | quora |quo = {{label|Q51711}} | see also = See also | skype = {{label|Q40984}} | start = Start | statistics = {{int|wikimedia-statslink}} | status = Status | surveymonkey = {{label|Q162852}} | talk to us = Talk to us | upcoming = Upcoming | twitter |tw = {{label|Q918}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = Wikimedia | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | #default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}} }} 89ybhjc63kc2s3tkalvrmg0p2617tly 10307 10306 2022-10-12T16:40:58Z meta>FuzzyBot 0 Updating to match new version of source page 10307 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{doc|content={{Int string/doc/{{PAGELANGUAGE}}}}}}</noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | closed = Closed | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = Connect | contribute = Contribute | creative commons |cc = {{label|Q43449}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | facebook = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = Frequently asked questions | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | home = Home | identi.ca |identica |ica = {{label|Q28773}} | instagram |insta = {{label|Q209330}} | leave feedback = {{int|specialinvestigate-feedback}} | limesurvey = {{label|Q1514978}} | linkedin = {{label|Q213660}} | mediawiki |mw = {{label|Q83}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | ongoing = Ongoing | open = Open | plan = Plan | projects = Projects | references = References | research = Research | resources = Resources | qualtrics |qual = {{label|Q7268803}} | quicksurveys |qsurveys = QuickSurveys | quora |quo = {{label|Q51711}} | see also = See also | skype = {{label|Q40984}} | start = Start | statistics = {{int|wikimedia-statslink}} | status = Status | surveymonkey = {{label|Q162852}} | talk to us = Talk to us | upcoming = Upcoming | twitter |tw = {{label|Q918}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = Wikimedia | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | #default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}} }} kmia4bmsi9tgxgo3j2ab4lh4z4o6llp 10308 10307 2022-10-12T16:59:53Z meta>FuzzyBot 0 Updating to match new version of source page 10308 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|{{TNTN|Int string/doc}}}}</noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | closed = Closed | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = Connect | contribute = Contribute | creative commons |cc = {{label|Q43449}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | facebook = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = Frequently asked questions | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | home = Home | identi.ca |identica |ica = {{label|Q28773}} | instagram |insta = {{label|Q209330}} | leave feedback = {{int|specialinvestigate-feedback}} | limesurvey = {{label|Q1514978}} | linkedin = {{label|Q213660}} | mediawiki |mw = {{label|Q83}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | ongoing = Ongoing | open = Open | plan = Plan | projects = Projects | references = References | research = Research | resources = Resources | qualtrics |qual = {{label|Q7268803}} | quicksurveys |qsurveys = QuickSurveys | quora |quo = {{label|Q51711}} | see also = See also | skype = {{label|Q40984}} | start = Start | statistics = {{int|wikimedia-statslink}} | status = Status | surveymonkey = {{label|Q162852}} | talk to us = Talk to us | upcoming = Upcoming | twitter |tw = {{label|Q918}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = Wikimedia | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | #default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}} }} eflya6k5hpk67ht1cb04e23awnhnz4a 10309 10308 2022-10-12T17:22:43Z meta>FuzzyBot 0 Updating to match new version of source page 10309 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|{{TNTN|Int string/doc}}}}</noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | closed = Closed | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = Connect | contribute = Contribute | creative commons |cc = {{label|Q43449}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | facebook = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = Frequently asked questions | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | home = Home | identi.ca |identica |ica = {{label|Q28773}} | instagram |insta = {{label|Q209330}} | leave feedback = {{int|specialinvestigate-feedback}} | limesurvey = {{label|Q1514978}} | linkedin = {{label|Q213660}} | mediawiki |mw = {{label|Q83}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | ongoing = Ongoing | open = Open | plan = Plan | projects = Projects | references = References | research = Research | resources = Resources | qualtrics |qual = {{label|Q7268803}} | quicksurveys |qsurveys = QuickSurveys | quora |quo = {{label|Q51711}} | see also = See also | skype = {{label|Q40984}} | start = Start | statistics = {{int|wikimedia-statslink}} | status = Status | surveymonkey = {{label|Q162852}} | talk to us = Talk to us | upcoming = Upcoming | twitter |tw = {{label|Q918}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = Wikimedia | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} aefuecd0ipdgkmfi2yqszf7vkodx9u6 10310 10309 2022-10-13T17:29:54Z meta>FuzzyBot 0 Updating to match new version of source page 10310 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|{{TNTN|Int string/doc}}}}</noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | closed = Closed | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = Connect | contribute = Contribute | creative commons |cc = {{label|Q43449}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | facebook = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = Frequently asked questions | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | home = Home | identi.ca |identica |ica = {{label|Q28773}} | instagram |insta = {{label|Q209330}} | leave feedback = {{int|specialinvestigate-feedback}} | limesurvey = {{label|Q1514978}} | linkedin = {{label|Q213660}} | mediawiki |mw = {{label|Q83}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | name = {{int|allmessagesname}} | ongoing = Ongoing | open = Open | photo = Photo | plan = Plan | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = Projects | references = References | research = Research | resources = Resources | qualtrics |qual = {{label|Q7268803}} | quicksurveys |qsurveys = QuickSurveys | quora |quo = {{label|Q51711}} | see also = See also | skype = {{label|Q40984}} | start = Start | statistics = {{int|wikimedia-statslink}} | status = Status | surveymonkey = {{label|Q162852}} | talk to us = Talk to us | upcoming = Upcoming | twitter |tw = {{label|Q918}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = Wikimedia | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} j2t7fac99bsevugfvjmuop80u55mpmj 10311 10310 2022-10-13T21:33:52Z meta>FuzzyBot 0 Updating to match new version of source page 10311 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|{{TNTN|Int string/doc}}}}</noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | closed = Closed | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = Connect | contribute = Contribute | creative commons |cc = {{label|Q43449}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | facebook |fb = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = Frequently asked questions | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | home = Home | identi.ca |identica |ica = {{label|Q28773}} | instagram |insta = {{label|Q209330}} | leave feedback = {{int|specialinvestigate-feedback}} | limesurvey = {{label|Q1514978}} | linkedin = {{label|Q213660}} | mediawiki |mw = {{label|Q83}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | name = {{int|allmessagesname}} | ongoing = Ongoing | open = Open | photo = Photo | plan = Plan | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = Projects | references = References | research = Research | resources = Resources | qualtrics |qual = {{label|Q7268803}} | quicksurveys |qsurveys = QuickSurveys | quora |quo = {{label|Q51711}} | see also = See also | skype = {{label|Q40984}} | start = Start | statistics = {{int|wikimedia-statslink}} | status = Status | surveymonkey = {{label|Q162852}} | talk to us = Talk to us | upcoming = Upcoming | twitter |tw = {{label|Q918}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = Wikimedia | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} eu5ahbm7ohmdwun8p8x8e9skar46z2d 10312 10311 2022-10-29T08:13:04Z meta>FuzzyBot 0 Updating to match new version of source page 10312 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|{{TNTN|Int string/doc}}}}</noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{label|Q1376568}}}} | background = Background | closed = Closed | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = Connect | contribute = Contribute | creative commons |cc = {{label|Q43449}} | discussion = {{int|talk}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | events = Events | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = Frequently asked questions | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{label|Q28773}} | instagram |insta = {{label|Q209330}} | leave feedback = {{int|specialinvestigate-feedback}} | limesurvey = {{label|Q1514978}} | linkedin = {{label|Q213660}} | main page | main | home = {{int|mainpage-description}} | mediawiki |mw = {{label|Q83}} | membership = Membership | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | notes = {{int|wm-license-artwork-notes}} | objectives = Objectives | ongoing = Ongoing | open = Open | overview = Overview | participate = Participate | photo = Photo | plan = Plan | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = Projects | references = References | reports = Reports | research = Research | resources = Resources | qualtrics |qual = {{label|Q7268803}} | quicksurveys |qsurveys = QuickSurveys | quora |quo = {{label|Q51711}} | scope = Scope | see also = See also | skype = {{label|Q40984}} | social media = {{ucfirst:{{label|Q202833}}}} | start = Start | staff = Staff | statistics = {{int|wikimedia-statslink}} | status = Status | summary = {{int|Filedesc}} | surveymonkey = {{label|Q162852}} | talk to us = Talk to us | upcoming = Upcoming | updates = Updates | twitter |tw = {{label|Q918}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = Wikimedia | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} 3sgdo96ngz1pzziffizrmqilgc70y93 10313 10312 2022-10-29T08:20:36Z meta>FuzzyBot 0 Updating to match new version of source page 10313 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|{{TNTN|Int string/doc}}}}</noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{label|Q1376568}}}} | background = Background | closed = Closed | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = Connect | contribute = Contribute | creative commons |cc = {{label|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | events = Events | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = Frequently asked questions | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{label|Q28773}} | instagram |insta = {{label|Q209330}} | leave feedback = {{int|specialinvestigate-feedback}} | limesurvey = {{label|Q1514978}} | linkedin = {{label|Q213660}} | main page | main | home = {{int|mainpage-description}} | mediawiki |mw = {{label|Q83}} | membership = Membership | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | notes = {{int|wm-license-artwork-notes}} | objectives = Objectives | ongoing = Ongoing | open = Open | overview = Overview | participate = Participate | photo = Photo | plan = Plan | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = Projects | references = References | reports = Reports | research = Research | resources = Resources | qualtrics |qual = {{label|Q7268803}} | quicksurveys |qsurveys = QuickSurveys | quora |quo = {{label|Q51711}} | scope = Scope | see also = See also | skype = {{label|Q40984}} | social media = {{ucfirst:{{label|Q202833}}}} | start = Start | staff = Staff | statistics = {{int|wikimedia-statslink}} | status = Status | summary = {{int|Filedesc}} | surveymonkey = {{label|Q162852}} | talk to us = Talk to us | type = {{int|math-wikibase-formula-type}} | upcoming = Upcoming | updates = Updates | twitter |tw = {{label|Q918}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = Wikimedia | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} i8v2awbsc3fyykq8fp0lu6exmsjf8ag 10314 10313 2022-10-29T08:50:34Z meta>FuzzyBot 0 Updating to match new version of source page 10314 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|{{TNTN|Int string/doc}}}}</noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{label|Q1376568}}}} | background = Background | closed = Closed | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = Connect | contribute = {{int|contribute}} | creative commons |cc = {{label|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | events = Events | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = Frequently asked questions | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{label|Q28773}} | instagram |insta = {{label|Q209330}} | leave feedback = {{int|specialinvestigate-feedback}} | limesurvey = {{label|Q1514978}} | linkedin = {{label|Q213660}} | main page | main | home = {{int|mainpage-description}} | mediawiki |mw = {{label|Q83}} | membership = Membership | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | notes = {{int|wm-license-artwork-notes}} | objectives = Objectives | ongoing = Ongoing | open = Open | overview = Overview | participate = Participate | photo = Photo | plan = Plan | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = Projects | references = References | reports = Reports | research = Research | resources = Resources | qualtrics |qual = {{label|Q7268803}} | quicksurveys |qsurveys = QuickSurveys | quora |quo = {{label|Q51711}} | scope = Scope | see also = See also | skype = {{label|Q40984}} | social media = {{ucfirst:{{label|Q202833}}}} | start = Start | staff = Staff | statistics = {{int|wikimedia-statslink}} | status = Status | summary = {{int|Filedesc}} | surveymonkey = {{label|Q162852}} | talk to us = Talk to us | type = {{int|math-wikibase-formula-type}} | upcoming = Upcoming | updates = Updates | twitter |tw = {{label|Q918}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = Wikimedia | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} 8bgag8s5lmc66dpd96eihf80wzgvfmw 10315 10314 2022-10-29T08:54:34Z meta>FuzzyBot 0 Updating to match new version of source page 10315 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|{{TNTN|Int string/doc}}}}</noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{label|Q1376568}}}} | background = Background | closed = Closed | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = Connect | contribute = {{int|contribute}} | creative commons |cc = {{label|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | events = Events | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{label|Q28773}} | instagram |insta = {{label|Q209330}} | leave feedback = {{int|specialinvestigate-feedback}} | limesurvey = {{label|Q1514978}} | linkedin = {{label|Q213660}} | main page | main | home = {{int|mainpage-description}} | mediawiki |mw = {{label|Q83}} | membership = Membership | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | notes = {{int|wm-license-artwork-notes}} | objectives = Objectives | ongoing = Ongoing | open = Open | overview = Overview | participate = Participate | photo = Photo | plan = Plan | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = Projects | references = References | reports = Reports | research = Research | resources = Resources | qualtrics |qual = {{label|Q7268803}} | quicksurveys |qsurveys = QuickSurveys | quora |quo = {{label|Q51711}} | scope = Scope | see also = See also | skype = {{label|Q40984}} | social media = {{ucfirst:{{label|Q202833}}}} | start = Start | staff = Staff | statistics = {{int|wikimedia-statslink}} | status = Status | summary = {{int|Filedesc}} | surveymonkey = {{label|Q162852}} | talk to us = Talk to us | type = {{int|math-wikibase-formula-type}} | upcoming = Upcoming | updates = Updates | twitter |tw = {{label|Q918}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = Wikimedia | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} b5v4shqhv7ch9tegb015ggur20sc1o6 10316 10315 2022-10-29T09:13:01Z meta>FuzzyBot 0 Updating to match new version of source page 10316 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|{{TNTN|Int string/doc}}}}</noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{label|Q1376568}}}} | background = Background | closed = Closed | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = Connect | contribute = {{int|contribute}} | creative commons |cc = {{label|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | events = Events | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{label|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{label|Q209330}} | leave feedback = {{int|specialinvestigate-feedback}} | limesurvey = {{label|Q1514978}} | linkedin = {{label|Q213660}} | main page | main | home = {{int|mainpage-description}} | mediawiki |mw = {{label|Q83}} | membership = {{ucfirst:{{label|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | notes = {{int|wm-license-artwork-notes}} | objectives = Objectives | ongoing = Ongoing | open = Open | overview = Overview | participate = Participate | plan = {{ucfirst:{{label|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = Projects | references = References | reports = Reports | research = Research | resources = Resources | qualtrics |qual = {{label|Q7268803}} | quicksurveys |qsurveys = QuickSurveys | quora |quo = {{label|Q51711}} | scope = Scope | see also = See also | skype = {{label|Q40984}} | social media = {{ucfirst:{{label|Q202833}}}} | start = Start | staff = Staff | statistics = {{int|wikimedia-statslink}} | status = Status | summary = {{int|Filedesc}} | surveymonkey = {{label|Q162852}} | talk to us = Talk to us | type = {{int|math-wikibase-formula-type}} | upcoming = Upcoming | updates = Updates | twitter |tw = {{label|Q918}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = Wikimedia | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} tcep8wlacy4osgm7xev64k58fevui15 10317 10316 2022-10-29T09:49:00Z meta>FuzzyBot 0 Updating to match new version of source page 10317 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|{{TNTN|Int string/doc}}}}</noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{label|Q1376568}}}} | background = Background | closed = Closed | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = Connect | contribute = {{int|contribute}} | creative commons |cc = {{label|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | events = Events | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{label|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{label|Q209330}} | leave feedback = {{int|specialinvestigate-feedback}} | limesurvey = {{label|Q1514978}} | linkedin = {{label|Q213660}} | main page | main | home = {{int|mainpage-description}} | mediawiki |mw = {{label|Q83}} | membership = {{ucfirst:{{label|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | notes = {{int|wm-license-artwork-notes}} | objectives = Objectives | ongoing = Ongoing | open = Open | overview = Overview | participate = Participate | plan = {{ucfirst:{{label|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | references = {{int|wm-license-artwork-references}} | reports = Reports | research = {{ucfirst:{{label|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | qualtrics |qual = {{label|Q7268803}} | quicksurveys |qsurveys = QuickSurveys | quora |quo = {{label|Q51711}} | scope = Scope | see also = See also | skype = {{label|Q40984}} | social media = {{ucfirst:{{label|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = Staff | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|Filedesc}} | surveymonkey = {{label|Q162852}} | talk to us = Talk to us | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{label|Q57248993}}}} | updates = Updates | twitter |tw = {{label|Q918}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = Wikimedia | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} j8b05e50g3f02rn6kbphtwv10ftdu9q 10318 10317 2022-10-29T09:52:29Z meta>FuzzyBot 0 Updating to match new version of source page 10318 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|{{TNTN|Int string/doc}}}}</noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{label|Q1376568}}}} | background = Background | closed = Closed | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = Connect | contribute = {{int|contribute}} | creative commons |cc = {{label|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | events = Events | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{label|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{label|Q209330}} | leave feedback = {{int|specialinvestigate-feedback}} | limesurvey = {{label|Q1514978}} | linkedin = {{label|Q213660}} | main page | main | home = {{int|mainpage-description}} | mediawiki |mw = {{label|Q83}} | membership = {{ucfirst:{{label|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | notes = {{int|wm-license-artwork-notes}} | objectives = Objectives | ongoing = Ongoing | open = Open | overview = Overview | participate = Participate | plan = {{ucfirst:{{label|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | references = {{int|wm-license-artwork-references}} | reports = Reports | research = {{ucfirst:{{label|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | qualtrics |qual = {{label|Q7268803}} | quicksurveys |qsurveys = QuickSurveys | quora |quo = {{label|Q51711}} | scope = Scope | see also = See also | skype = {{label|Q40984}} | social media = {{ucfirst:{{label|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = Staff | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|Filedesc}} | surveymonkey = {{label|Q162852}} | talk to us = Talk to us | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{label|Q57248993}}}} | updates = Updates | twitter |tw = {{label|Q918}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} i0ivwn8t3hpa0k5c0wta7jo1r7nzut4 10319 10318 2022-10-29T09:57:11Z meta>FuzzyBot 0 Updating to match new version of source page 10319 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|{{TNTN|Int string/doc}}}}</noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{label|Q1376568}}}} | background = Background | closed = Closed | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = Connect | contribute = {{int|contribute}} | creative commons |cc = {{label|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | events = Events | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{label|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{label|Q209330}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | limesurvey = {{label|Q1514978}} | linkedin = {{label|Q213660}} | main page | main | home = {{int|mainpage-description}} | mediawiki |mw = {{label|Q83}} | membership = {{ucfirst:{{label|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | notes = {{int|wm-license-artwork-notes}} | objectives = Objectives | ongoing = Ongoing | open = Open | overview = Overview | participate = Participate | plan = {{ucfirst:{{label|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | references = {{int|wm-license-artwork-references}} | reports = Reports | research = {{ucfirst:{{label|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | qualtrics |qual = {{label|Q7268803}} | quicksurveys |qsurveys = QuickSurveys | quora |quo = {{label|Q51711}} | scope = Scope | see also = See also | skype = {{label|Q40984}} | social media = {{ucfirst:{{label|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = Staff | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|Filedesc}} | surveymonkey = {{label|Q162852}} | talk to us = Talk to us | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{label|Q57248993}}}} | updates = Updates | twitter |tw = {{label|Q918}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} pccfbcat3a0irvy97ixwsy7tdobocx5 10320 10319 2022-10-29T09:59:23Z meta>FuzzyBot 0 Updating to match new version of source page 10320 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|{{TNTN|Int string/doc}}}}</noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{label|Q1376568}}}} | background = Background | closed = Closed | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = Connect | contribute = {{int|contribute}} | creative commons |cc = {{label|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | events = Events | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{label|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{label|Q209330}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | limesurvey = {{label|Q1514978}} | linkedin = {{label|Q213660}} | main page | main | home = {{int|mainpage-description}} | mediawiki |mw = {{label|Q83}} | membership = {{ucfirst:{{label|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | notes = {{int|wm-license-artwork-notes}} | objectives = Objectives | ongoing = Ongoing | open = Open | overview = Overview | participate = Participate | plan = {{ucfirst:{{label|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | references = {{int|wm-license-artwork-references}} | reports = Reports | research = {{ucfirst:{{label|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | qualtrics |qual = {{label|Q7268803}} | quicksurveys |qsurveys = QuickSurveys | quora |quo = {{label|Q51711}} | scope = Scope | see also = See also | skype = {{label|Q40984}} | social media = {{ucfirst:{{label|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = Staff | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{label|Q162852}} | talk to us = Talk to us | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{label|Q57248993}}}} | updates = Updates | twitter |tw = {{label|Q918}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} 0zz3rlufu0fnx2vzeh3ph3zk5aecbeq 10321 10320 2022-11-03T12:20:44Z meta>FuzzyBot 0 Updating to match new version of source page 10321 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|{{TNTN|Int string/doc}}}}</noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{label|Q1376568}}}} | background = Background | closed = Closed | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = Connect | contribute = {{int|contribute}} | creative commons |cc = {{label|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{label|Q22907849}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | events = Events | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{label|Q95}} | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{label|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{label|Q209330}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | limesurvey = {{label|Q1514978}} | linkedin = {{label|Q213660}} | main page | main | home = {{int|mainpage-description}} | mediawiki |mw = {{label|Q83}} | membership = {{ucfirst:{{label|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | notes = {{int|wm-license-artwork-notes}} | objectives = Objectives | ongoing = Ongoing | open = Open | overview = Overview | participate = Participate | plan = {{ucfirst:{{label|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | reddit = {{label|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = Reports | research = {{ucfirst:{{label|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | qualtrics |qual = {{label|Q7268803}} | quicksurveys |qsurveys = QuickSurveys | quora |quo = {{label|Q51711}} | scope = Scope | see also = See also | skype = {{label|Q40984}} | social media = {{ucfirst:{{label|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = Staff | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{label|Q162852}} | talk to us = Talk to us | telegram = {{label|Q15616276}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{label|Q57248993}}}} | updates = Updates | twitter |tw = {{label|Q918}} | whatsapp = {{label|Q1049511}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} ocfeoonf7t2dxj4cy7t1ufrtnnhfhc6 10322 10321 2022-11-04T20:18:13Z meta>FuzzyBot 0 Updating to match new version of source page 10322 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|{{TNTN|Int string/doc}}}}</noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{label|Q1376568}}}} | background = Background | closed = Closed | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = Connect | contribute = {{int|contribute}} | creative commons |cc = {{label|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{label|Q22907849}} | encarta |msn encarta = {{label|Q231136}} | encylopedia britannica online |encyclopædia britannica online |britannica = {{label|Q5375741}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | events = Events | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{label|Q95}} | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{label|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{label|Q209330}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | limesurvey = {{label|Q1514978}} | linkedin = {{label|Q213660}} | main page | main | home = {{int|mainpage-description}} | mediawiki |mw = {{label|Q83}} | membership = {{ucfirst:{{label|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | notes = {{int|wm-license-artwork-notes}} | objectives = Objectives | ongoing = Ongoing | open = Open | overview = Overview | participate = Participate | plan = {{ucfirst:{{label|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | reddit = {{label|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = Reports | research = {{ucfirst:{{label|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | qualtrics |qual = {{label|Q7268803}} | quicksurveys |qsurveys = QuickSurveys | quora |quo = {{label|Q51711}} | scope = Scope | see also = See also | skype = {{label|Q40984}} | social media = {{ucfirst:{{label|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = Staff | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{label|Q162852}} | talk to us = Talk to us | telegram = {{label|Q15616276}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{label|Q57248993}}}} | updates = Updates | twitter |tw = {{label|Q918}} | whatsapp = {{label|Q1049511}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} fpyt8petu210637nup6erhmf2pl5a7t 10323 10322 2022-11-04T20:50:26Z meta>FuzzyBot 0 Updating to match new version of source page 10323 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|{{TNTN|Int string/doc}}}}</noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{label|Q1376568}}}} | background = Background | closed = Closed | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = Connect | contribute = {{int|contribute}} | creative commons |cc = {{label|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{label|Q22907849}} | encarta |msn encarta = {{label|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{label|Q5375741}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | events = Events | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{label|Q95}} | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{label|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{label|Q209330}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | limesurvey = {{label|Q1514978}} | linkedin = {{label|Q213660}} | main page | main | home = {{int|mainpage-description}} | mediawiki |mw = {{label|Q83}} | membership = {{ucfirst:{{label|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | notes = {{int|wm-license-artwork-notes}} | objectives = Objectives | ongoing = Ongoing | open = Open | overview = Overview | participate = Participate | plan = {{ucfirst:{{label|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | reddit = {{label|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = Reports | research = {{ucfirst:{{label|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | qualtrics |qual = {{label|Q7268803}} | quicksurveys |qsurveys = QuickSurveys | quora |quo = {{label|Q51711}} | scope = Scope | see also = See also | skype = {{label|Q40984}} | social media = {{ucfirst:{{label|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = Staff | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{label|Q162852}} | talk to us = Talk to us | telegram = {{label|Q15616276}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{label|Q57248993}}}} | updates = Updates | twitter |tw = {{label|Q918}} | whatsapp = {{label|Q1049511}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} 0njcy8wszsjt6kjkg6c6guj8darw0nj 10324 10323 2022-11-04T20:56:29Z meta>FuzzyBot 0 Updating to match new version of source page 10324 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|{{TNTN|Int string/doc}}}}</noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{label|Q1376568}}}} | background = Background | closed = Closed | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = Connect | contribute = {{int|contribute}} | creative commons |cc = {{label|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{label|Q22907849}} | encarta |msn encarta = {{label|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{label|Q5375741}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | events = Events | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{label|Q95}} | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{label|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{label|Q209330}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | limesurvey = {{label|Q1514978}} | linkedin = {{label|Q213660}} | main page | main | home = {{int|mainpage-description}} | mediawiki |mw = {{label|Q83}} | membership = {{ucfirst:{{label|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | notes = {{int|wm-license-artwork-notes}} | objectives = Objectives | ongoing = Ongoing | open = Open | overview = Overview | participate = Participate | plan = {{ucfirst:{{label|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | reddit = {{label|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = Reports | research = {{ucfirst:{{label|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | qualtrics |qual = {{label|Q7268803}} | quicksurveys |qsurveys = QuickSurveys | quora |quo = {{label|Q51711}} | scope = Scope | see also = See also | skype = {{label|Q40984}} | social media = {{ucfirst:{{label|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = Staff | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{label|Q162852}} | talk to us = Talk to us | telegram = {{label|Q15616276}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{label|Q57248993}}}} | updates = Updates | twitter |tw = {{label|Q918}} | whatsapp = {{label|Q1049511}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | yahoo |yahoo! = {{label|Q37093}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} sbzurardwxflurre7m1x3vyxxo6mhd9 10325 10324 2022-11-04T21:04:01Z meta>FuzzyBot 0 Updating to match new version of source page 10325 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|{{TNTN|Int string/doc}}}}</noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{label|Q1376568}}}} | background = Background | closed = Closed | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = Connect | contribute = {{int|contribute}} | creative commons |cc = {{label|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{label|Q22907849}} | encarta |msn encarta = {{label|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{label|Q5375741}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | events = Events | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{label|Q95}} | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{label|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{label|Q209330}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{label|Q1514978}} | linkedin = {{label|Q213660}} | main page | main | home = {{int|mainpage-description}} | mediawiki |mw = {{label|Q83}} | membership = {{ucfirst:{{label|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | notes = {{int|wm-license-artwork-notes}} | objectives = Objectives | ongoing = Ongoing | open = Open | overview = Overview | participate = Participate | plan = {{ucfirst:{{label|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | reddit = {{label|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = Reports | research = {{ucfirst:{{label|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | qualtrics |qual = {{label|Q7268803}} | questions |questions? = Questions? | quicksurveys |qsurveys = QuickSurveys | quora |quo = {{label|Q51711}} | scope = Scope | see also = See also | skype = {{label|Q40984}} | social media = {{ucfirst:{{label|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = Staff | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{label|Q162852}} | talk to us = Talk to us | telegram = {{label|Q15616276}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{label|Q57248993}}}} | updates = Updates | twitter |tw = {{label|Q918}} | whatsapp = {{label|Q1049511}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | yahoo |yahoo! = {{label|Q37093}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} ao6v5r9959hhvtdq36mx9b4coc2qk76 10326 10325 2022-11-04T21:16:45Z meta>FuzzyBot 0 Updating to match new version of source page 10326 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|{{TNTN|Int string/doc}}}}</noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{label|Q1376568}}}} | background = Background | closed = Closed | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = Connect | contribute = {{int|contribute}} | creative commons |cc = {{label|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{label|Q22907849}} | encarta |msn encarta = {{label|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{label|Q5375741}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | events = Events | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{label|Q95}} | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{label|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{label|Q209330}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{label|Q1514978}} | linkedin = {{label|Q213660}} | main page | main | home = {{int|mainpage-description}} | mediawiki |mw = {{label|Q83}} | membership = {{ucfirst:{{label|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | notes = {{int|wm-license-artwork-notes}} | objectives = Objectives | ongoing = Ongoing | open = Open | overview = Overview | participate = Participate | plan = {{ucfirst:{{label|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | reddit = {{label|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = Reports | research = {{ucfirst:{{label|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | qualtrics |qual = {{label|Q7268803}} | questions |questions? = Questions? | quicksurveys |qsurveys = QuickSurveys | quora |quo = {{label|Q51711}} | scope = Scope | see also = See also | skype = {{label|Q40984}} | social media = {{ucfirst:{{label|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = Staff | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{label|Q162852}} | talk to us = Talk to us | telegram = {{label|Q15616276}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{label|Q57248993}}}} | updates = Updates | twitter |tw = {{label|Q918}} | whatsapp = {{label|Q1049511}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikipedia = {{label|Q52}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | yahoo |yahoo! = {{label|Q37093}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} rgyg5mqkenm2cu36rgm1bx4jem3vfwd 10327 10326 2022-11-09T09:12:43Z meta>FuzzyBot 0 Updating to match new version of source page 10327 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|{{TNTN|Int string/doc}}}}</noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{label|Q1376568}}}} | background = Background | closed = Closed | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = Connect | contribute = {{int|contribute}} | creative commons |cc = {{label|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{label|Q22907849}} | encarta |msn encarta = {{label|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{label|Q5375741}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | events = Events | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{label|Q95}} | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{label|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{label|Q209330}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{label|Q1514978}} | linkedin = {{label|Q213660}} | main page | main | home = {{int|mainpage-description}} | mediawiki |mw = {{label|Q83}} | membership = {{ucfirst:{{label|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | notes = {{int|wm-license-artwork-notes}} | objectives = Objectives | ongoing = Ongoing | open = Open | other = {{int|visualeditor-shortcuts-other}} | overview = Overview | participate = Participate | plan = {{ucfirst:{{label|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | reddit = {{label|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = Reports | research = {{ucfirst:{{label|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | qualtrics |qual = {{label|Q7268803}} | questions |questions? = Questions? | quicksurveys |qsurveys = QuickSurveys | quora |quo = {{label|Q51711}} | scope = Scope | see also = See also | skype = {{label|Q40984}} | social media = {{ucfirst:{{label|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = Staff | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{label|Q162852}} | talk to us = Talk to us | telegram = {{label|Q15616276}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{label|Q57248993}}}} | updates = Updates | twitter |tw = {{label|Q918}} | whatsapp = {{label|Q1049511}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikipedia = {{label|Q52}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | yahoo |yahoo! = {{label|Q37093}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} qyjgtl8e2vj3jhcwz6wj90xq39x8en5 10328 10327 2022-11-09T09:22:46Z meta>FuzzyBot 0 Updating to match new version of source page 10328 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|{{TNTN|Int string/doc}}}}</noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{label|Q1376568}}}} | background = Background | closed = Closed | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = Connect | contribute = {{int|contribute}} | creative commons |cc = {{label|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{label|Q22907849}} | encarta |msn encarta = {{label|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{label|Q5375741}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | events = Events | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{label|Q95}} | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{label|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{label|Q209330}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{label|Q1514978}} | linkedin = {{label|Q213660}} | main page | main | home = {{int|mainpage-description}} | mediawiki |mw = {{label|Q83}} | membership = {{ucfirst:{{label|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | notes = {{int|wm-license-artwork-notes}} | objectives = Objectives | ongoing = Ongoing | open = Open | other = {{int|visualeditor-shortcuts-other}} | overview = Overview | participate = Participate | plan = {{ucfirst:{{label|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | reddit = {{label|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = Reports | research = {{ucfirst:{{label|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | qualtrics |qual = {{label|Q7268803}} | questions |questions? = Questions? | quicksurveys |qsurveys = QuickSurveys | quora |quo = {{label|Q51711}} | scope = Scope | see also = See also | skype = {{label|Q40984}} | social media = {{ucfirst:{{label|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = Staff | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{label|Q162852}} | talk to us = Talk to us | telegram = {{label|Q15616276}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{label|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{label|Q57248993}}}} | updates = Updates | whatsapp = {{label|Q1049511}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikipedia = {{label|Q52}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | yahoo |yahoo! = {{label|Q37093}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} nafwo7dapoggx6gikbs2rr2swcefa8o 10329 10328 2022-11-09T09:29:43Z meta>FuzzyBot 0 Updating to match new version of source page 10329 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|{{TNTN|Int string/doc}}}}</noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{label|Q1376568}}}} | average = {{int|Exif-meteringmode-1}} | background = Background | closed = Closed | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = Connect | contribute = {{int|contribute}} | creative commons |cc = {{label|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{label|Q22907849}} | encarta |msn encarta = {{label|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{label|Q5375741}} | etherpad |pad = {{label|Q998543}} | eventbrite |evtb = {{label|Q5416738}} | events = Events | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{label|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{label|Q95}} | google forms |gforms = {{label|Q47014869}} | google meet |gmeet = {{label|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{label|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{label|Q209330}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{label|Q1514978}} | linkedin = {{label|Q213660}} | main page | main | home = {{int|mainpage-description}} | mediawiki |mw = {{label|Q83}} | membership = {{ucfirst:{{label|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | notes = {{int|wm-license-artwork-notes}} | objectives = Objectives | ongoing = Ongoing | open = Open | other = {{int|visualeditor-shortcuts-other}} | overview = Overview | participate = Participate | plan = {{ucfirst:{{label|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | reddit = {{label|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = Reports | research = {{ucfirst:{{label|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | qualtrics |qual = {{label|Q7268803}} | questions |questions? = Questions? | quicksurveys |qsurveys = QuickSurveys | quora |quo = {{label|Q51711}} | scope = Scope | see also = See also | skype = {{label|Q40984}} | social media = {{ucfirst:{{label|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = Staff | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{label|Q162852}} | talk to us = Talk to us | telegram = {{label|Q15616276}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{label|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{label|Q57248993}}}} | updates = Updates | whatsapp = {{label|Q1049511}} | wikibooks = {{label|Q367}} | wikidata = {{label|Q2013}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{label|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{label|Q846672}} | wikinews = {{label|Q964}} | wikipedia = {{label|Q52}} | wikiquote = {{label|Q369}} | wikisource = {{label|Q263}} | wikispecies = {{label|Q13679}} | wikitech = {{label|Q104819161}} | wikiversity = {{label|Q370}} | wikivoyage = {{label|Q373}} | wiktionary |wikt = {{label|Q151}} | yahoo |yahoo! = {{label|Q37093}} | youtube |yt = {{label|Q866}} | zoom = {{label|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} 53mibz2o7a6mmp3g8u0dqq3hbysj4x0 10330 10329 2023-01-14T18:37:33Z meta>FuzzyBot 0 Updating to match new version of source page 10330 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | average = {{int|Exif-meteringmode-1}} | background = Background | closed = Closed | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = Connect | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{labelT|Q22907849}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = Events | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | mediawiki |mw = {{labelT|Q83}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | notes = {{int|wm-license-artwork-notes}} | objectives = Objectives | ongoing = Ongoing | open = Open | other = {{int|visualeditor-shortcuts-other}} | overview = Overview | participate = Participate | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = Reports | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = Questions? | quicksurveys |qsurveys = QuickSurveys | quora |quo = {{labelT|Q51711}} | scope = Scope | see also = See also | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = Staff | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = Talk to us | telegram = {{labelT|Q15616276}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = Updates | whatsapp = {{labelT|Q1049511}} | wikibooks = {{labelT|Q367}} | wikidata = {{labelT|Q2013}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{labelT|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{labelT|Q846672}} | wikinews = {{labelT|Q964}} | wikipedia = {{labelT|Q52}} | wikiquote = {{labelT|Q369}} | wikisource = {{labelT|Q263}} | wikispecies = {{labelT|Q13679}} | wikitech = {{labelT|Q104819161}} | wikiversity = {{labelT|Q370}} | wikivoyage = {{labelT|Q373}} | wiktionary |wikt = {{labelT|Q151}} | yahoo |yahoo! = {{labelT|Q37093}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} 2pd089pbbp3difnj0o9gdeown1426vi 10331 10330 2023-01-14T18:39:34Z meta>FuzzyBot 0 Updating to match new version of source page 10331 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | average = {{int|Exif-meteringmode-1}} | background = Background | closed = Closed | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = Connect | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{labelT|Q22907849}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = Events | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | mediawiki |mw = {{labelT|Q83}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | notes = {{int|wm-license-artwork-notes}} | objectives = Objectives | ongoing = Ongoing | open = Open | other = {{int|visualeditor-shortcuts-other}} | overview = Overview | participate = Participate | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = Reports | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = Questions? | quicksurveys |qsurveys = QuickSurveys | quora |quo = {{labelT|Q51711}} | scope = Scope | see also = See also | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = Staff | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = Talk to us | telegram = {{labelT|Q15616276}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = Updates | whatsapp = {{labelT|Q1049511}} | wikibooks = {{labelT|Q367}} | wikidata = {{labelT|Q2013}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{labelT|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{labelT|Q846672}} | wikinews = {{labelT|Q964}} | wikipedia = {{labelT|Q52}} | wikiquote = {{labelT|Q369}} | wikisource = {{labelT|Q263}} | wikispecies = {{labelT|Q13679}} | wikitech = {{labelT|Q104819161}} | wikiversity = {{labelT|Q370}} | wikivoyage = {{labelT|Q373}} | wiktionary |wikt = {{labelT|Q151}} | yahoo |yahoo! = {{labelT|Q37093}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} 73ghzz7gjbghawjufjv31kjkzhbil2m 10332 10331 2023-02-08T16:47:39Z meta>FuzzyBot 0 Updating to match new version of source page 10332 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | average = {{int|Exif-meteringmode-1}} | background = Background | closed = Closed | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = Connect | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{labelT|Q22907849}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = Events | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{labelT|Q83}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | notes = {{int|wm-license-artwork-notes}} | objectives = Objectives | ongoing = Ongoing | open = Open | other = {{int|visualeditor-shortcuts-other}} | overview = Overview | participate = Participate | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = Reports | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = Questions? | quicksurveys |qsurveys = QuickSurveys | quora |quo = {{labelT|Q51711}} | scope = Scope | see also = See also | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = Staff | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = Talk to us | telegram = {{labelT|Q15616276}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = Updates | whatsapp = {{labelT|Q1049511}} | wikibooks = {{labelT|Q367}} | wikidata = {{labelT|Q2013}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{labelT|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{labelT|Q846672}} | wikinews = {{labelT|Q964}} | wikipedia = {{labelT|Q52}} | wikiquote = {{labelT|Q369}} | wikisource = {{labelT|Q263}} | wikispecies = {{labelT|Q13679}} | wikitech = {{labelT|Q104819161}} | wikiversity = {{labelT|Q370}} | wikivoyage = {{labelT|Q373}} | wiktionary |wikt = {{labelT|Q151}} | yahoo |yahoo! = {{labelT|Q37093}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} cz1aibtofuwf42nkw8g3brmfedkf4tc 10333 10332 2023-03-09T21:27:39Z meta>FuzzyBot 0 Updating to match new version of source page 10333 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | average = {{int|Exif-meteringmode-1}} | background = Background | closed = Closed | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = Connect | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{labelT|Q22907849}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = Events | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{labelT|Q83}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|createpage-no}} | notes = {{int|wm-license-artwork-notes}} | objectives = Objectives | ongoing = Ongoing | open = Open | other = {{int|visualeditor-shortcuts-other}} | overview = Overview | participate = Participate | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = Reports | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = Questions? | quicksurveys |qsurveys = QuickSurveys | quora |quo = {{labelT|Q51711}} | scope = Scope | see also = See also | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = Staff | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = Talk to us | telegram = {{labelT|Q15616276}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = Updates | whatsapp = {{labelT|Q1049511}} | wikibooks = {{labelT|Q367}} | wikidata = {{labelT|Q2013}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{labelT|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{labelT|Q846672}} | wikinews = {{labelT|Q964}} | wikipedia = {{labelT|Q52}} | wikiquote = {{labelT|Q369}} | wikisource = {{labelT|Q263}} | wikispecies = {{labelT|Q13679}} | wikitech = {{labelT|Q104819161}} | wikiversity = {{labelT|Q370}} | wikivoyage = {{labelT|Q373}} | wiktionary |wikt = {{labelT|Q151}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|createpage-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} skg4ffcym8q8s3jpov9rh4gml5ulo1l 10334 10333 2023-03-09T21:40:29Z meta>FuzzyBot 0 Updating to match new version of source page 10334 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | average = {{int|Exif-meteringmode-1}} | background = Background | closed = Closed | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = Connect | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{labelT|Q22907849}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = Events | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{labelT|Q83}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | objectives = Objectives | ongoing = Ongoing | open = Open | other = {{int|visualeditor-shortcuts-other}} | overview = Overview | participate = Participate | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = Reports | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = Questions? | quicksurveys |qsurveys = QuickSurveys | quora |quo = {{labelT|Q51711}} | scope = Scope | see also = See also | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = Staff | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = Talk to us | telegram = {{labelT|Q15616276}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = Updates | whatsapp = {{labelT|Q1049511}} | wikibooks = {{labelT|Q367}} | wikidata = {{labelT|Q2013}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{labelT|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{labelT|Q846672}} | wikinews = {{labelT|Q964}} | wikipedia = {{labelT|Q52}} | wikiquote = {{labelT|Q369}} | wikisource = {{labelT|Q263}} | wikispecies = {{labelT|Q13679}} | wikitech = {{labelT|Q104819161}} | wikiversity = {{labelT|Q370}} | wikivoyage = {{labelT|Q373}} | wiktionary |wikt = {{labelT|Q151}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} e7vcxi1g1ezrmt0lsnh24zwl786z66z 10335 10334 2023-03-14T18:04:32Z meta>FuzzyBot 0 Updating to match new version of source page 10335 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | average = {{int|Exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = Background | closed = Closed | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = Connect | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{labelT|Q22907849}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = Events | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{labelT|Q83}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | objectives = Objectives | ongoing = Ongoing | open = Open | other = {{int|visualeditor-shortcuts-other}} | overview = Overview | participate = Participate | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = Reports | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = Questions? | quicksurveys |qsurveys = QuickSurveys | quora |quo = {{labelT|Q51711}} | scope = Scope | see also = See also | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = Staff | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = Talk to us | telegram = {{labelT|Q15616276}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = Updates | whatsapp = {{labelT|Q1049511}} | wikibooks = {{labelT|Q367}} | wikidata = {{labelT|Q2013}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{labelT|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{labelT|Q846672}} | wikinews = {{labelT|Q964}} | wikipedia = {{labelT|Q52}} | wikiquote = {{labelT|Q369}} | wikisource = {{labelT|Q263}} | wikispecies = {{labelT|Q13679}} | wikitech = {{labelT|Q104819161}} | wikiversity = {{labelT|Q370}} | wikivoyage = {{labelT|Q373}} | wiktionary |wikt = {{labelT|Q151}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} m5itr2fffj2micjhnw11snjiyb5a7kz 10336 10335 2023-03-15T01:37:17Z meta>FuzzyBot 0 Updating to match new version of source page 10336 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | average = {{int|Exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = Background | category = {{int|nstab-category}} | closed = Closed | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = Connect | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{labelT|Q22907849}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = Events | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{labelT|Q83}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | objectives = Objectives | ongoing = Ongoing | open = Open | other = {{int|visualeditor-shortcuts-other}} | overview = Overview | participate = Participate | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = Reports | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = Questions? | quicksurveys |qsurveys = QuickSurveys | quora |quo = {{labelT|Q51711}} | scope = Scope | see also = See also | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = Staff | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = Talk to us | telegram = {{labelT|Q15616276}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = Updates | whatsapp = {{labelT|Q1049511}} | wikibooks = {{labelT|Q367}} | wikidata = {{labelT|Q2013}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{labelT|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{labelT|Q846672}} | wikinews = {{labelT|Q964}} | wikipedia = {{labelT|Q52}} | wikiquote = {{labelT|Q369}} | wikisource = {{labelT|Q263}} | wikispecies = {{labelT|Q13679}} | wikitech = {{labelT|Q104819161}} | wikiversity = {{labelT|Q370}} | wikivoyage = {{labelT|Q373}} | wiktionary |wikt = {{labelT|Q151}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} q3p0fshmyf48nnjkveoo31kzuvn92q9 10337 10336 2023-03-15T02:01:26Z meta>FuzzyBot 0 Updating to match new version of source page 10337 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | average = {{int|Exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = Background | category = {{int|nstab-category}} | closed = Closed | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = Connect | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{labelT|Q22907849}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = Events | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{labelT|Q83}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = Noticeboard | objectives = Objectives | ongoing = Ongoing | open = Open | other = {{int|visualeditor-shortcuts-other}} | overview = Overview | participate = Participate | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = Reports | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = Questions? | quicksurveys |qsurveys = QuickSurveys | quora |quo = {{labelT|Q51711}} | scope = Scope | see also = See also | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = Staff | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = Talk to us | telegram = {{labelT|Q15616276}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = Updates | whatsapp = {{labelT|Q1049511}} | wikibooks = {{labelT|Q367}} | wikidata = {{labelT|Q2013}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{labelT|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{labelT|Q846672}} | wikinews = {{labelT|Q964}} | wikipedia = {{labelT|Q52}} | wikiquote = {{labelT|Q369}} | wikisource = {{labelT|Q263}} | wikispecies = {{labelT|Q13679}} | wikitech = {{labelT|Q104819161}} | wikiversity = {{labelT|Q370}} | wikivoyage = {{labelT|Q373}} | wiktionary |wikt = {{labelT|Q151}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} es2h0ptovyspv6o5j1vpsjv7qt83x16 10338 10337 2023-03-28T06:07:06Z meta>FuzzyBot 0 Updating to match new version of source page 10338 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | average = {{int|Exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = Background | category = {{int|nstab-category}} | closed = Closed | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = Connect | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{labelT|Q22907849}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = Events | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{labelT|Q83}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = Noticeboard | objectives = Objectives | ongoing = Ongoing | open = Open | other = {{int|visualeditor-shortcuts-other}} | overview = Overview | participate = Participate | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = Questions? | quicksurveys |qsurveys = QuickSurveys | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = Reports | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = Roadmap | scope = Scope | see also = See also | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = Staff | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = Talk to us | telegram = {{labelT|Q15616276}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = Updates | whatsapp = {{labelT|Q1049511}} | wikibooks = {{labelT|Q367}} | wikidata = {{labelT|Q2013}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{labelT|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{labelT|Q846672}} | wikimedia projects = Wikimedia projects | wikinews = {{labelT|Q964}} | wikipedia = {{labelT|Q52}} | wikiquote = {{labelT|Q369}} | wikisource = {{labelT|Q263}} | wikispecies = {{labelT|Q13679}} | wikitech = {{labelT|Q104819161}} | wikiversity = {{labelT|Q370}} | wikivoyage = {{labelT|Q373}} | wiktionary |wikt = {{labelT|Q151}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} iqc9rxm42urnyrax13ngikx8bu4s255 10339 10338 2023-04-09T19:51:35Z meta>FuzzyBot 0 Updating to match new version of source page 10339 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | average = {{int|Exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = Background | category = {{int|nstab-category}} | closed = Closed | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = Connect | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{labelT|Q22907849}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = Events | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{labelT|Q83}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = Noticeboard | objectives = Objectives | ongoing = Ongoing | open = Open | other = {{int|visualeditor-shortcuts-other}} | overview = Overview | participate = Participate | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = Questions? | quicksurveys |qsurveys = QuickSurveys | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = Reports | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = Roadmap | scope = Scope | see also = See also | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = Staff | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = Talk to us | telegram = {{labelT|Q15616276}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = Updates | whatsapp = {{labelT|Q1049511}} | wikibooks = {{labelT|Q367}} | wikidata = {{labelT|Q2013}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{labelT|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{labelT|Q846672}} | wikimedia projects = Wikimedia projects | wikinews = {{labelT|Q964}} | wikipedia = {{labelT|Q52}} | wikiquote = {{labelT|Q369}} | wikisource = {{labelT|Q263}} | wikispecies = {{labelT|Q13679}} | wikitech = {{labelT|Q104819161}} | wikiversity = {{labelT|Q370}} | wikivoyage = {{labelT|Q373}} | wiktionary |wikt = {{labelT|Q151}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} bbybr2nhf4ohi8stvuz8fy095ferz18 10340 10339 2023-05-01T13:46:55Z meta>FuzzyBot 0 Updating to match new version of source page 10340 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | average = {{int|Exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = Background | category = {{int|nstab-category}} | closed = Closed | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = Connect | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{labelT|Q22907849}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = Events | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{labelT|Q83}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = Noticeboard | objectives = Objectives | ongoing = Ongoing | open = Open | other = {{int|visualeditor-shortcuts-other}} | overview = Overview | participate = Participate | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = Questions? | quicksurveys |qsurveys = QuickSurveys | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = Reports | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = Roadmap | scope = Scope | see also = See also | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = Staff | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = Talk to us | telegram = {{labelT|Q15616276}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = Updates | whatsapp = {{labelT|Q1049511}} | wikibooks = {{labelT|Q367}} | wikidata = {{labelT|Q2013}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{labelT|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{labelT|Q846672}} | wikimedia projects = Wikimedia projects | wikinews = {{labelT|Q964}} | wikipedia = {{labelT|Q52}} | wikiquote = {{labelT|Q369}} | wikisource = {{labelT|Q263}} | wikispecies = {{labelT|Q13679}} | wikitech = {{labelT|Q104819161}} | wikiversity = {{labelT|Q370}} | wikivoyage = {{labelT|Q373}} | wiktionary |wikt = {{labelT|Q151}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} rbckcuzvkmn8lfmvwjxkcvub0dmlt9k 10341 10340 2023-05-25T12:26:42Z meta>FuzzyBot 0 Updating to match new version of source page 10341 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|Wikilambda-function-details-table-approve}} | average = {{int|Exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = Background | category = {{int|nstab-category}} | closed = Closed | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = Connect | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{labelT|Q22907849}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = Events | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{labelT|Q83}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = Noticeboard | objectives = Objectives | ongoing = Ongoing | open = Open | other = {{int|visualeditor-shortcuts-other}} | overview = Overview | participate = Participate | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = Questions? | quicksurveys |qsurveys = QuickSurveys | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = Reports | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = Roadmap | scope = Scope | see also = See also | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = Staff | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = Talk to us | telegram = {{labelT|Q15616276}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = Updates | whatsapp = {{labelT|Q1049511}} | wikibooks = {{labelT|Q367}} | wikidata = {{labelT|Q2013}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{labelT|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{labelT|Q846672}} | wikimedia projects = Wikimedia projects | wikinews = {{labelT|Q964}} | wikipedia = {{labelT|Q52}} | wikiquote = {{labelT|Q369}} | wikisource = {{labelT|Q263}} | wikispecies = {{labelT|Q13679}} | wikitech = {{labelT|Q104819161}} | wikiversity = {{labelT|Q370}} | wikivoyage = {{labelT|Q373}} | wiktionary |wikt = {{labelT|Q151}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} oferwc3kpe2tu2qu762cwpe8nx084dg 10342 10341 2023-06-20T19:02:01Z meta>FuzzyBot 0 Updating to match new version of source page 10342 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|Wikilambda-function-details-table-approve}} | average = {{int|Exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = Background | category = {{int|nstab-category}} | closed = Closed | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = Connect | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{labelT|Q22907849}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = Events | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | introduction = {{int|Growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{labelT|Q83}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = Noticeboard | objectives = Objectives | ongoing = Ongoing | open = Open | other = {{int|visualeditor-shortcuts-other}} | overview = Overview | participate = Participate | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = Questions? | quicksurveys |qsurveys = QuickSurveys | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = Reports | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = Roadmap | scope = Scope | see also = See also | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = Staff | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = Talk to us | telegram = {{labelT|Q15616276}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = Updates | whatsapp = {{labelT|Q1049511}} | wikibooks = {{labelT|Q367}} | wikidata = {{labelT|Q2013}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{labelT|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{labelT|Q846672}} | wikimedia projects = Wikimedia projects | wikinews = {{labelT|Q964}} | wikipedia = {{labelT|Q52}} | wikiquote = {{labelT|Q369}} | wikisource = {{labelT|Q263}} | wikispecies = {{labelT|Q13679}} | wikitech = {{labelT|Q104819161}} | wikiversity = {{labelT|Q370}} | wikivoyage = {{labelT|Q373}} | wiktionary |wikt = {{labelT|Q151}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} g6xpxbbc53rqbhsmdx6c2lhgwmjxnl1 10343 10342 2023-08-11T15:04:52Z meta>FuzzyBot 0 Updating to match new version of source page 10343 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | activities = Activities | approve = {{int|Wikilambda-function-details-table-approve}} | average = {{int|Exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = Background | category = {{int|nstab-category}} | closed = Closed | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = Connect | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{labelT|Q22907849}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = Events | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | introduction = {{int|Growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{labelT|Q83}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = Noticeboard | objectives = Objectives | ongoing = Ongoing | open = Open | other = {{int|visualeditor-shortcuts-other}} | overview = Overview | participate = Participate | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = Questions? | quicksurveys |qsurveys = QuickSurveys | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = Reports | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = Roadmap | scope = Scope | see also = See also | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = Staff | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = Talk to us | telegram = {{labelT|Q15616276}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = Updates | whatsapp = {{labelT|Q1049511}} | wikibooks = {{labelT|Q367}} | wikidata = {{labelT|Q2013}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{labelT|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{labelT|Q846672}} | wikimedia projects = Wikimedia projects | wikinews = {{labelT|Q964}} | wikipedia = {{labelT|Q52}} | wikiquote = {{labelT|Q369}} | wikisource = {{labelT|Q263}} | wikispecies = {{labelT|Q13679}} | wikitech = {{labelT|Q104819161}} | wikiversity = {{labelT|Q370}} | wikivoyage = {{labelT|Q373}} | wiktionary |wikt = {{labelT|Q151}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} 44iwnqb6mrv3lgrz0bd6mrjjt7tek3a 10344 10343 2023-08-11T16:06:30Z meta>FuzzyBot 0 Updating to match new version of source page 10344 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | activities = Activities | approve = {{int|Wikilambda-function-details-table-approve}} | average = {{int|Exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = Background | category = {{int|nstab-category}} | closed = Closed | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = Connect | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{labelT|Q22907849}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = Events | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | introduction = {{int|Growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{labelT|Q83}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | minutes = Minutes | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = Noticeboard | objectives = Objectives | ongoing = Ongoing | open = Open | other = {{int|visualeditor-shortcuts-other}} | overview = Overview | participate = Participate | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = Questions? | quicksurveys |qsurveys = QuickSurveys | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = Reports | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = Roadmap | scope = Scope | see also = See also | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = Staff | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = Talk to us | telegram = {{labelT|Q15616276}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = Updates | whatsapp = {{labelT|Q1049511}} | wikibooks = {{labelT|Q367}} | wikidata = {{labelT|Q2013}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{labelT|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{labelT|Q846672}} | wikimedia projects = Wikimedia projects | wikinews = {{labelT|Q964}} | wikipedia = {{labelT|Q52}} | wikiquote = {{labelT|Q369}} | wikisource = {{labelT|Q263}} | wikispecies = {{labelT|Q13679}} | wikitech = {{labelT|Q104819161}} | wikiversity = {{labelT|Q370}} | wikivoyage = {{labelT|Q373}} | wiktionary |wikt = {{labelT|Q151}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} t25lf95kqvzyd834epuark5xeosp111 10345 10344 2023-08-12T11:47:17Z meta>FuzzyBot 0 Updating to match new version of source page 10345 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | activities = Activities | approve = {{int|Wikilambda-function-details-table-approve}} | average = {{int|Exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = Background | blog = Blog | category = {{int|nstab-category}} | closed = Closed | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = Connect | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{labelT|Q22907849}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = Events | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | introduction = {{int|Growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{labelT|Q83}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta = {{int|project-localized-name-metawiki}} | minutes = Minutes | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = Noticeboard | objectives = Objectives | ongoing = Ongoing | open = Open | other = {{int|visualeditor-shortcuts-other}} | overview = Overview | participate = Participate | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = Questions? | quicksurveys |qsurveys = QuickSurveys | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = Reports | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = Roadmap | scope = Scope | see also = See also | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = Staff | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = Talk to us | telegram = {{labelT|Q15616276}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = Updates | whatsapp = {{labelT|Q1049511}} | wikibooks = {{labelT|Q367}} | wikidata = {{labelT|Q2013}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{labelT|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{labelT|Q846672}} | wikimedia projects = Wikimedia projects | wikinews = {{labelT|Q964}} | wikipedia = {{labelT|Q52}} | wikiquote = {{labelT|Q369}} | wikisource = {{labelT|Q263}} | wikispecies = {{labelT|Q13679}} | wikitech = {{labelT|Q104819161}} | wikiversity = {{labelT|Q370}} | wikivoyage = {{labelT|Q373}} | wiktionary |wikt = {{labelT|Q151}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} ejsy3lbdzpr1mlxm75u6c8tdjs3nqh2 10346 10345 2023-10-04T00:26:16Z meta>FuzzyBot 0 Updating to match new version of source page 10346 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | activities = Activities | approve = {{int|Wikilambda-function-details-table-approve}} | average = {{int|Exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = Background | blog = Blog | category = {{int|nstab-category}} | closed = Closed | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = Connect | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{labelT|Q22907849}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = Events | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | introduction = {{int|Growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{labelT|Q83}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta |metawiki = {{int|project-localized-name-metawiki}} | minutes = Minutes | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = Noticeboard | objectives = Objectives | ongoing = Ongoing | open = Open | other = {{int|visualeditor-shortcuts-other}} | overview = Overview | participate = Participate | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = Questions? | quicksurveys |qsurveys = QuickSurveys | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = Reports | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = Roadmap | scope = Scope | see also = See also | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = Staff | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = Talk to us | telegram = {{labelT|Q15616276}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = Updates | whatsapp = {{labelT|Q1049511}} | wikibooks = {{labelT|Q367}} | wikidata = {{labelT|Q2013}} | wikimania = {{labelT|Q483279}} | wikifunctions = {{labelT|Q104587954}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{labelT|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{labelT|Q846672}} | wikimedia projects = Wikimedia projects | wikinews = {{labelT|Q964}} | wikipedia = {{labelT|Q52}} | wikiquote = {{labelT|Q369}} | wikisource = {{labelT|Q263}} | wikispecies = {{labelT|Q13679}} | wikitech = {{labelT|Q104819161}} | wikiversity = {{labelT|Q370}} | wikivoyage = {{labelT|Q373}} | wiktionary |wikt = {{labelT|Q151}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} 5y9mm24035dupidzf0rvh9op8lp5q5h 10347 10346 2023-10-14T06:53:11Z meta>FuzzyBot 0 Updating to match new version of source page 10347 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | activities = Activities | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|Wikilambda-function-details-table-approve}} | archives = Archives | average = {{int|Exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = Background | blog = Blog | category = {{int|nstab-category}} | closed = Closed | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = Connect | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{labelT|Q22907849}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = Events | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | introduction = {{int|Growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{labelT|Q83}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta |metawiki = {{int|project-localized-name-metawiki}} | minutes = Minutes | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = Noticeboard | objectives = Objectives | ongoing = Ongoing | open = Open | other = {{int|visualeditor-shortcuts-other}} | overview = Overview | participate = Participate | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = Questions? | quicksurveys |qsurveys = QuickSurveys | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = Reports | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = Roadmap | scope = Scope | see also = See also | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = Staff | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = Talk to us | telegram = {{labelT|Q15616276}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = Updates | whatsapp = {{labelT|Q1049511}} | wikibooks = {{labelT|Q367}} | wikidata = {{labelT|Q2013}} | wikimania = {{labelT|Q483279}} | wikifunctions = {{labelT|Q104587954}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{labelT|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{labelT|Q846672}} | wikimedia projects = Wikimedia projects | wikinews = {{labelT|Q964}} | wikipedia = {{labelT|Q52}} | wikiquote = {{labelT|Q369}} | wikisource = {{labelT|Q263}} | wikispecies = {{labelT|Q13679}} | wikitech = {{labelT|Q104819161}} | wikiversity = {{labelT|Q370}} | wikivoyage = {{labelT|Q373}} | wiktionary |wikt = {{labelT|Q151}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} pblr5fqls7pz8veyjilg5lu9v1l7nbd 10348 10347 2023-10-15T13:23:55Z meta>FuzzyBot 0 Updating to match new version of source page 10348 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | activities = Activities | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|Wikilambda-function-details-table-approve}} | archives = Archives | average = {{int|Exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = Background | blog = Blog | category = {{int|nstab-category}} | closed = Closed | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = Connect | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{labelT|Q22907849}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = Events | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | introduction = {{int|Growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{labelT|Q83}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta |metawiki = {{int|project-localized-name-metawiki}} | minutes = Minutes | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = Noticeboard | objectives = Objectives | ongoing = Ongoing | open = Open | other = {{int|visualeditor-shortcuts-other}} | overview = Overview | participate = Participate | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = Questions? | quicksurveys |qsurveys = QuickSurveys | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = Reports | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = Roadmap | scope = Scope | see also = See also | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = Staff | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = Talk to us | telegram = {{labelT|Q15616276}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = Updates | whatsapp = {{labelT|Q1049511}} | wikibooks = {{labelT|Q367}} | wikidata = {{labelT|Q2013}} | wikimania = {{labelT|Q483279}} | wikifunctions = {{labelT|Q104587954}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia foundation |wmf = {{labelT|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia incubator = {{labelT|Q846672}} | wikimedia projects = Wikimedia projects | wikinews = {{labelT|Q964}} | wikipedia = {{labelT|Q52}} | wikiquote = {{labelT|Q369}} | wikisource = {{labelT|Q263}} | wikispecies = {{labelT|Q13679}} | wikitech = {{labelT|Q104819161}} | wikiversity = {{labelT|Q370}} | wikivoyage = {{labelT|Q373}} | wiktionary |wikt = {{labelT|Q151}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} bwyfz5jqeu1rqunxpzw1dbhj3p3jjue 10349 10348 2024-01-19T00:16:45Z meta>FuzzyBot 0 Updating to match new version of source page 10349 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | activities = Activities | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|Wikilambda-function-details-table-approve}} | archives = Archives | average = {{int|Exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = Background | blog = Blog | category = {{int|nstab-category}} | closed = Closed | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = Connect | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{labelT|Q22907849}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = Events | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | introduction = {{int|Growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{labelT|Q83}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta |metawiki = {{int|project-localized-name-metawiki}} | minutes = Minutes | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = Noticeboard | objectives = Objectives | ongoing = Ongoing | open = Open | other = {{int|visualeditor-shortcuts-other}} | overview = Overview | participate = Participate | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = Questions? | quicksurveys |qsurveys = QuickSurveys | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = Reports | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = Roadmap | scope = Scope | see also = See also | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = Staff | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = Talk to us | telegram = {{labelT|Q15616276}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = Updates | whatsapp = {{labelT|Q1049511}} | wikibooks = {{labelT|Q367}} | wikidata = {{labelT|Q2013}} | wikimania = {{labelT|Q483279}} | wikifunctions = {{labelT|Q104587954}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{labelT|Q5760083}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{labelT|Q47467626}} | wikimedia enterprise = {{labelT|Q106204244}} | wikimedia foundation |wmf = {{labelT|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = Wikimedia Foundation projects | wikimedia enterprise = {{labelT|Q106204244}} | wikimedia incubator = {{labelT|Q846672}} | wikimedia mailservices = Wikimedia Mailservices | wikimedia phabricator = {{labelT|Q42156541}} | wikimedia projects = Wikimedia projects | wikinews = {{labelT|Q964}} | wikipedia = {{labelT|Q52}} | wikiquote = {{labelT|Q369}} | wikisource = {{labelT|Q263}} | wikispecies = {{labelT|Q13679}} | wikistats = Wikistats | wikitech = {{labelT|Q104819161}} | wikiversity = {{labelT|Q370}} | wikivoyage = {{labelT|Q373}} | wiktionary |wikt = {{labelT|Q151}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} fku61p1a8nk87gcfa0sfmeg63z6j3x7 10350 10349 2024-01-19T01:14:06Z meta>FuzzyBot 0 Updating to match new version of source page 10350 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | activities = Activities | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|Wikilambda-function-details-table-approve}} | archives = Archives | average = {{int|Exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = Background | blog = {{ucfirst:{{labelT|Q30849}}}} | category = {{int|nstab-category}} | closed = Closed | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = Connect | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{labelT|Q22907849}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = Events | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | introduction = {{int|Growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{labelT|Q83}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta |metawiki = {{int|project-localized-name-metawiki}} | minutes = Minutes | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = Noticeboard | objectives = Objectives | ongoing = Ongoing | open = Open | other = {{int|visualeditor-shortcuts-other}} | overview = Overview | participate = Participate | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = Questions? | quicksurveys |qsurveys = QuickSurveys | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = Reports | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = {{ucfirst:{{labelT|Q106485006}}}} | scope = Scope | see also = See also | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = Staff | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = Talk to us | telegram = {{labelT|Q15616276}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = Updates | whatsapp = {{labelT|Q1049511}} | wikibooks = {{labelT|Q367}} | wikidata = {{labelT|Q2013}} | wikimania = {{labelT|Q483279}} | wikifunctions = {{labelT|Q104587954}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{labelT|Q5760083}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{labelT|Q47467626}} | wikimedia enterprise = {{labelT|Q106204244}} | wikimedia foundation |wmf = {{labelT|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = Wikimedia Foundation projects | wikimedia incubator = {{labelT|Q846672}} | wikimedia mailservices = Wikimedia Mailservices | wikimedia phabricator = {{labelT|Q42156541}} | wikimedia projects = Wikimedia projects | wikinews = {{labelT|Q964}} | wikipedia = {{labelT|Q52}} | wikiquote = {{labelT|Q369}} | wikisource = {{labelT|Q263}} | wikispecies = {{labelT|Q13679}} | wikistats = Wikistats | wikitech = {{labelT|Q104819161}} | wikiversity = {{labelT|Q370}} | wikivoyage = {{labelT|Q373}} | wiktionary |wikt = {{labelT|Q151}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} haa7m2qfxj3p7j1rvkf7nq35reuide2 10351 10350 2024-01-19T01:16:50Z meta>FuzzyBot 0 Updating to match new version of source page 10351 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | activities = Activities | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|Wikilambda-function-details-table-approve}} | archives = {{ucfirst:{{labelT|Q56648173}}}} | average = {{int|Exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = Background | blog = {{ucfirst:{{labelT|Q30849}}}} | category = {{int|nstab-category}} | closed = Closed | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = Connect | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{labelT|Q22907849}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = Events | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | introduction = {{int|Growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{labelT|Q83}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta |metawiki = {{int|project-localized-name-metawiki}} | minutes = Minutes | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = Noticeboard | objectives = Objectives | ongoing = Ongoing | open = Open | other = {{int|visualeditor-shortcuts-other}} | overview = Overview | participate = Participate | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = Questions? | quicksurveys |qsurveys = QuickSurveys | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = Reports | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = {{ucfirst:{{labelT|Q106485006}}}} | scope = Scope | see also = See also | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = Staff | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = Talk to us | telegram = {{labelT|Q15616276}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = Updates | whatsapp = {{labelT|Q1049511}} | wikibooks = {{labelT|Q367}} | wikidata = {{labelT|Q2013}} | wikimania = {{labelT|Q483279}} | wikifunctions = {{labelT|Q104587954}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{labelT|Q5760083}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{labelT|Q47467626}} | wikimedia enterprise = {{labelT|Q106204244}} | wikimedia foundation |wmf = {{labelT|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = Wikimedia Foundation projects | wikimedia incubator = {{labelT|Q846672}} | wikimedia mailservices = Wikimedia Mailservices | wikimedia phabricator = {{labelT|Q42156541}} | wikimedia projects = Wikimedia projects | wikinews = {{labelT|Q964}} | wikipedia = {{labelT|Q52}} | wikiquote = {{labelT|Q369}} | wikisource = {{labelT|Q263}} | wikispecies = {{labelT|Q13679}} | wikistats = Wikistats | wikitech = {{labelT|Q104819161}} | wikiversity = {{labelT|Q370}} | wikivoyage = {{labelT|Q373}} | wiktionary |wikt = {{labelT|Q151}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} h4107rh5akushh837h2zxo7vmbsaws8 10352 10351 2024-01-19T01:18:46Z meta>FuzzyBot 0 Updating to match new version of source page 10352 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | activities = Activities | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|Wikilambda-function-details-table-approve}} | archives = {{ucfirst:{{labelT|Q56648173}}}} | average = {{int|Exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = Background | blog = {{ucfirst:{{labelT|Q30849}}}} | category = {{int|nstab-category}} | closed = Closed | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = Connect | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{labelT|Q22907849}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = Events | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | introduction = {{int|Growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{labelT|Q83}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta |metawiki = {{int|project-localized-name-metawiki}} | minutes = {{ucfirst:{{labelT|Q2085515}}}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = Noticeboard | objectives = Objectives | ongoing = Ongoing | open = Open | other = {{int|visualeditor-shortcuts-other}} | overview = Overview | participate = Participate | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = Questions? | quicksurveys |qsurveys = QuickSurveys | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = Reports | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = {{ucfirst:{{labelT|Q106485006}}}} | scope = Scope | see also = See also | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = Staff | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = Talk to us | telegram = {{labelT|Q15616276}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = Updates | whatsapp = {{labelT|Q1049511}} | wikibooks = {{labelT|Q367}} | wikidata = {{labelT|Q2013}} | wikimania = {{labelT|Q483279}} | wikifunctions = {{labelT|Q104587954}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{labelT|Q5760083}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{labelT|Q47467626}} | wikimedia enterprise = {{labelT|Q106204244}} | wikimedia foundation |wmf = {{labelT|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = Wikimedia Foundation projects | wikimedia incubator = {{labelT|Q846672}} | wikimedia mailservices = Wikimedia Mailservices | wikimedia phabricator = {{labelT|Q42156541}} | wikimedia projects = Wikimedia projects | wikinews = {{labelT|Q964}} | wikipedia = {{labelT|Q52}} | wikiquote = {{labelT|Q369}} | wikisource = {{labelT|Q263}} | wikispecies = {{labelT|Q13679}} | wikistats = Wikistats | wikitech = {{labelT|Q104819161}} | wikiversity = {{labelT|Q370}} | wikivoyage = {{labelT|Q373}} | wiktionary |wikt = {{labelT|Q151}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} 0ljimndkia4hqrw6fi4pqje547vjbuf 10353 10352 2024-01-24T01:47:01Z meta>FuzzyBot 0 Updating to match new version of source page 10353 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | about = {{int|About}} | activities = Activities | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|Wikilambda-function-details-table-approve}} | archives = {{ucfirst:{{labelT|Q56648173}}}} | average = {{int|Exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = Background | blog = {{ucfirst:{{labelT|Q30849}}}} | category = {{int|nstab-category}} | closed = Closed | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = Connect | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{labelT|Q22907849}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = Events | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | introduction = {{int|Growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{labelT|Q83}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta |metawiki = {{int|project-localized-name-metawiki}} | minutes = {{ucfirst:{{labelT|Q2085515}}}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = Noticeboard | objectives = Objectives | ongoing = Ongoing | open = Open | other = {{int|visualeditor-shortcuts-other}} | overview = Overview | participate = Participate | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = Questions? | quicksurveys |qsurveys = QuickSurveys | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = Reports | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = {{ucfirst:{{labelT|Q106485006}}}} | scope = Scope | see also = See also | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = Staff | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = Talk to us | telegram = {{labelT|Q15616276}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = Updates | whatsapp = {{labelT|Q1049511}} | wikibooks = {{labelT|Q367}} | wikidata = {{labelT|Q2013}} | wikimania = {{labelT|Q483279}} | wikifunctions = {{labelT|Q104587954}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{labelT|Q5760083}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{labelT|Q47467626}} | wikimedia enterprise = {{labelT|Q106204244}} | wikimedia foundation |wmf = {{labelT|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = Wikimedia Foundation projects | wikimedia incubator = {{labelT|Q846672}} | wikimedia mailservices = Wikimedia Mailservices | wikimedia phabricator = {{labelT|Q42156541}} | wikimedia projects = Wikimedia projects | wikinews = {{labelT|Q964}} | wikipedia = {{labelT|Q52}} | wikiquote = {{labelT|Q369}} | wikisource = {{labelT|Q263}} | wikispecies = {{labelT|Q13679}} | wikistats = Wikistats | wikitech = {{labelT|Q104819161}} | wikiversity = {{labelT|Q370}} | wikivoyage = {{labelT|Q373}} | wiktionary |wikt = {{labelT|Q151}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} qiipebyr5xinfhoenwtqted8aq9mdcd 10354 10353 2024-02-16T19:35:41Z meta>FuzzyBot 0 Updating to match new version of source page 10354 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | about = {{int|About}} | activities = Activities | agenda = {{int|wm-commonstrings-agenda}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|wikilambda-function-details-table-approve}} | archives = {{ucfirst:{{labelT|Q56648173}}}} | average = {{int|exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = Background | blog = {{ucfirst:{{labelT|Q30849}}}} | category = {{int|nstab-category}} | closed = Closed | done = {{int|upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = Connect | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{labelT|Q22907849}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = Events | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | introduction = {{int|Growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{labelT|Q83}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta |metawiki = {{int|project-localized-name-metawiki}} | minutes = {{ucfirst:{{labelT|Q2085515}}}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = Noticeboard | objectives = Objectives | ongoing = Ongoing | open = Open | other = {{int|visualeditor-shortcuts-other}} | overview = Overview | participate = Participate | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = Questions? | quicksurveys |qsurveys = QuickSurveys | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = Reports | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = {{ucfirst:{{labelT|Q106485006}}}} | scope = Scope | see also = See also | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = Staff | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = Talk to us | telegram = {{labelT|Q15616276}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = Updates | whatsapp = {{labelT|Q1049511}} | wikibooks = {{labelT|Q367}} | wikidata = {{labelT|Q2013}} | wikimania = {{labelT|Q483279}} | wikifunctions = {{labelT|Q104587954}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{labelT|Q5760083}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{labelT|Q47467626}} | wikimedia enterprise = {{labelT|Q106204244}} | wikimedia foundation |wmf = {{labelT|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = Wikimedia Foundation projects | wikimedia incubator = {{labelT|Q846672}} | wikimedia mailservices = Wikimedia Mailservices | wikimedia phabricator = {{labelT|Q42156541}} | wikimedia projects = Wikimedia projects | wikinews = {{labelT|Q964}} | wikipedia = {{labelT|Q52}} | wikiquote = {{labelT|Q369}} | wikisource = {{labelT|Q263}} | wikispecies = {{labelT|Q13679}} | wikistats = Wikistats | wikitech = {{labelT|Q104819161}} | wikiversity = {{labelT|Q370}} | wikivoyage = {{labelT|Q373}} | wiktionary |wikt = {{labelT|Q151}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} 75cyz4ekw3lhga6eg7g39w5h4jyf9pu 10355 10354 2024-02-23T07:03:49Z meta>FuzzyBot 0 Updating to match new version of source page 10355 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | about = {{int|about}} | activities = Activities | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|wikilambda-function-details-table-approve}} | archives = {{ucfirst:{{labelT|Q56648173}}}} | average = {{int|exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = {{int|wm-commonstrings-background}} | blog = {{ucfirst:{{labelT|Q30849}}}} | category = {{int|nstab-category}} | closed = {{int|wm-commonstrings-closed}} | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = {{int|wm-commonstrings-connect}} | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discussion = {{int|talk}} | discord = {{labelT|Q22907849}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = {{int|wm-commonstrings-events}} | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | introduction = {{int|growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{labelT|Q83}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta |metawiki = {{int|project-localized-name-metawiki}} | minutes = {{ucfirst:{{labelT|Q2085515}}}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = Noticeboard | objectives = {{int|wm-commonstrings-objectives}} | ongoing = {{int|wm-commonstrings-ongoing}} | open = {{int|wm-commonstrings-open}} | other = {{int|visualeditor-shortcuts-other}} | overview = {{int|wm-commonstrings-overview}} | participate = {{int|wm-commonstrings-participate}} | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = {{int|wm-commonstrings-questions}} | quicksurveys |qsurveys = {{int|ext-quicksurveys-name}} | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = {{int|wm-commonstrings-reports}} | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = {{ucfirst:{{labelT|Q106485006}}}} | scope = {{int|wm-commonstrings-scope}} | see also = {{int|wm-commonstrings-seealso}} | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | start = {{int|pagetriage-filter-predicted-class-start}} | staff = {{int|wm-commonstrings-staff}} | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = {{int|wm-commonstrings-talktous}} | telegram = {{labelT|Q15616276}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = {{int|wm-commonstrings-updates}} | whatsapp = {{labelT|Q1049511}} | wikibooks = {{labelT|Q367}} | wikidata = {{labelT|Q2013}} | wikimania = {{labelT|Q483279}} | wikifunctions = {{labelT|Q104587954}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{labelT|Q5760083}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{labelT|Q47467626}} | wikimedia enterprise = {{labelT|Q106204244}} | wikimedia foundation |wmf = {{labelT|Q180}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = {{int|wikimedia-foundation-projects-label}} | wikimedia incubator = {{int|project-localized-name-incubatorwiki}} | wikimedia mailservices = {{int|wikimedia-mailservices-label}} | wikimedia phabricator = {{labelT|Q42156541}} | wikimedia projects = {{int|wikimedia-projects-label}} | wikinews = {{labelT|Q964}} | wikipedia = {{labelT|Q52}} | wikiquote = {{labelT|Q369}} | wikisource = {{labelT|Q263}} | wikispecies = {{labelT|Q13679}} | wikistats = {{int|wikimedia-wikistats-label}} | wikitech = {{labelT|Q104819161}} | wikiversity = {{labelT|Q370}} | wikivoyage = {{labelT|Q373}} | wiktionary |wikt = {{labelT|Q151}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} 9besgund6tkyrcm4gt4po6e6bo1e28l 10356 10355 2024-02-23T07:51:05Z meta>FuzzyBot 0 Updating to match new version of source page 10356 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | about = {{int|about}} | activities = Activities | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|wikilambda-function-details-table-approve}} | archives = {{ucfirst:{{labelT|Q56648173}}}} | average = {{int|exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = {{int|wm-commonstrings-background}} | blog = {{ucfirst:{{labelT|Q30849}}}} | category = {{int|nstab-category}} | closed = {{int|wm-commonstrings-closed}} | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = {{int|wm-commonstrings-connect}} | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discord = {{labelT|Q22907849}} | discussion = {{int|talk}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = {{int|wm-commonstrings-events}} | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | introduction = {{int|growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{int|wikibase-sitelinks-sitename-mediawikiwiki}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta |metawiki = {{int|project-localized-name-metawiki}} | minutes = {{ucfirst:{{labelT|Q2085515}}}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = Noticeboard | objectives = {{int|wm-commonstrings-objectives}} | ongoing = {{int|wm-commonstrings-ongoing}} | open = {{int|wm-commonstrings-open}} | other = {{int|visualeditor-shortcuts-other}} | overview = {{int|wm-commonstrings-overview}} | participate = {{int|wm-commonstrings-participate}} | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = {{int|wm-commonstrings-questions}} | quicksurveys |qsurveys = {{int|ext-quicksurveys-name}} | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = {{int|wm-commonstrings-reports}} | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = {{ucfirst:{{labelT|Q106485006}}}} | scope = {{int|wm-commonstrings-scope}} | see also = {{int|wm-commonstrings-seealso}} | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | staff = {{int|wm-commonstrings-staff}} | start = {{int|pagetriage-filter-predicted-class-start}} | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = {{int|wm-commonstrings-talktous}} | telegram = {{labelT|Q15616276}} | test wikipedia = {{int|project-localized-name-testwiki}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = {{int|wm-commonstrings-updates}} | whatsapp = {{labelT|Q1049511}} | wikibooks = {{int|wikibase-sitelinks-wikibooks}} | wikidata = {{int|wikibase-repo-name}} | wikifunctions = {{int|wikibase-otherprojects-wikifunctions}} | wikimania = {{int|project-localized-name-wikimaniawiki}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{labelT|Q5760083}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{labelT|Q47467626}} | wikimedia enterprise = {{labelT|Q106204244}} | wikimedia foundation |wmf = {{int|wikibase-otherprojects-foundation}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = {{int|wikimedia-foundation-projects-label}} | wikimedia incubator = {{int|project-localized-name-incubatorwiki}} | wikimedia mailservices = {{int|wikimedia-mailservices-label}} | wikimedia outreach |wikimedia outreach wiki = {{int|project-localized-name-outreachwiki}} | wikimedia phabricator = {{labelT|Q42156541}} | wikimedia projects = {{int|wikimedia-projects-label}} | wikinews = {{int|wikibase-sitelinks-wikinews}} | wikipedia = {{int|wikibase-sitelinks-wikipedia}} | wikiquote = {{int|wikibase-sitelinks-wikiquote}} | wikisource = {{int|wikibase-sitelinks-wikisource}} | wikispecies = {{int|wikibase-otherprojects-species}} | wikistats = {{int|wikimedia-wikistats-label}} | wikitech = {{int|project-localized-name-labswiki}} | wikiversity = {{int|wikibase-sitelinks-wikiversity}} | wikivoyage = {{int|wikibase-sitelinks-wikivoyage}} | wiktionary |wikt = {{int|wikibase-sitelinks-wiktionary}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} 5e53qy01qtc88vq6yoglb4p4a6lqw4n 10357 10356 2024-03-06T06:38:56Z meta>FuzzyBot 0 Updating to match new version of source page 10357 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | about = {{int|about}} | activities = {{int|wm-commonstrings-activities}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|wikilambda-function-details-table-approve}} | archives = {{ucfirst:{{labelT|Q56648173}}}} | average = {{int|exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = {{int|wm-commonstrings-background}} | blog = {{ucfirst:{{labelT|Q30849}}}} | category = {{int|nstab-category}} | closed = {{int|wm-commonstrings-closed}} | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = {{int|wm-commonstrings-connect}} | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discord = {{labelT|Q22907849}} | discussion = {{int|talk}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = {{int|wm-commonstrings-events}} | external links = {{int|pagetriage-tags-externallinks-label}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | introduction = {{int|growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{int|wikibase-sitelinks-sitename-mediawikiwiki}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta |metawiki = {{int|project-localized-name-metawiki}} | minutes = {{ucfirst:{{labelT|Q2085515}}}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = {{int|wm-commonstrings-noticeboard}} | objectives = {{int|wm-commonstrings-objectives}} | ongoing = {{int|wm-commonstrings-ongoing}} | open = {{int|wm-commonstrings-open}} | other = {{int|visualeditor-shortcuts-other}} | overview = {{int|wm-commonstrings-overview}} | participate = {{int|wm-commonstrings-participate}} | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = {{int|wm-commonstrings-questions}} | quicksurveys |qsurveys = {{int|ext-quicksurveys-name}} | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = {{int|wm-commonstrings-reports}} | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = {{ucfirst:{{labelT|Q106485006}}}} | scope = {{int|wm-commonstrings-scope}} | see also = {{int|wm-commonstrings-seealso}} | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | staff = {{int|wm-commonstrings-staff}} | start = {{int|pagetriage-filter-predicted-class-start}} | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = {{int|wm-commonstrings-talktous}} | telegram = {{labelT|Q15616276}} | test wikipedia = {{int|project-localized-name-testwiki}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = {{int|wm-commonstrings-updates}} | whatsapp = {{labelT|Q1049511}} | wikibooks = {{int|wikibase-sitelinks-wikibooks}} | wikidata = {{int|wikibase-repo-name}} | wikifunctions = {{int|wikibase-otherprojects-wikifunctions}} | wikimania = {{int|project-localized-name-wikimaniawiki}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{labelT|Q5760083}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{labelT|Q47467626}} | wikimedia enterprise = {{labelT|Q106204244}} | wikimedia foundation |wmf = {{int|wikibase-otherprojects-foundation}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = {{int|wikimedia-foundation-projects-label}} | wikimedia incubator = {{int|project-localized-name-incubatorwiki}} | wikimedia mailservices = {{int|wikimedia-mailservices-label}} | wikimedia outreach |wikimedia outreach wiki = {{int|project-localized-name-outreachwiki}} | wikimedia phabricator = {{labelT|Q42156541}} | wikimedia projects = {{int|wikimedia-projects-label}} | wikinews = {{int|wikibase-sitelinks-wikinews}} | wikipedia = {{int|wikibase-sitelinks-wikipedia}} | wikiquote = {{int|wikibase-sitelinks-wikiquote}} | wikisource = {{int|wikibase-sitelinks-wikisource}} | wikispecies = {{int|wikibase-otherprojects-species}} | wikistats = {{int|wikimedia-wikistats-label}} | wikitech = {{int|project-localized-name-labswiki}} | wikiversity = {{int|wikibase-sitelinks-wikiversity}} | wikivoyage = {{int|wikibase-sitelinks-wikivoyage}} | wiktionary |wikt = {{int|wikibase-sitelinks-wiktionary}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} 15rm80pbhgg7o1ewyy9gpc14z6j0m7h 10358 10357 2024-03-06T06:48:41Z meta>FuzzyBot 0 Updating to match new version of source page 10358 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | about = {{int|about}} | activities = {{int|wm-commonstrings-activities}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|wikilambda-function-details-table-approve}} | archives = {{ucfirst:{{labelT|Q56648173}}}} | average = {{int|exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = {{int|wm-commonstrings-background}} | blog = {{ucfirst:{{labelT|Q30849}}}} | category = {{int|nstab-category}} | closed = {{int|wm-commonstrings-closed}} | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = {{int|wm-commonstrings-connect}} | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discord = {{labelT|Q22907849}} | discussion = {{int|talk}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = {{int|wm-commonstrings-events}} | external links = External links | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | introduction = {{int|growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{int|wikibase-sitelinks-sitename-mediawikiwiki}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta |metawiki = {{int|project-localized-name-metawiki}} | minutes = {{ucfirst:{{labelT|Q2085515}}}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = {{int|wm-commonstrings-noticeboard}} | objectives = {{int|wm-commonstrings-objectives}} | ongoing = {{int|wm-commonstrings-ongoing}} | open = {{int|wm-commonstrings-open}} | other = {{int|visualeditor-shortcuts-other}} | overview = {{int|wm-commonstrings-overview}} | participate = {{int|wm-commonstrings-participate}} | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = {{int|wm-commonstrings-questions}} | quicksurveys |qsurveys = {{int|ext-quicksurveys-name}} | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = {{int|wm-commonstrings-reports}} | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = {{ucfirst:{{labelT|Q106485006}}}} | scope = {{int|wm-commonstrings-scope}} | see also = {{int|wm-commonstrings-seealso}} | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | staff = {{int|wm-commonstrings-staff}} | start = {{int|pagetriage-filter-predicted-class-start}} | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = {{int|wm-commonstrings-talktous}} | telegram = {{labelT|Q15616276}} | test wikipedia = {{int|project-localized-name-testwiki}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = {{int|wm-commonstrings-updates}} | whatsapp = {{labelT|Q1049511}} | wikibooks = {{int|wikibase-sitelinks-wikibooks}} | wikidata = {{int|wikibase-repo-name}} | wikifunctions = {{int|wikibase-otherprojects-wikifunctions}} | wikimania = {{int|project-localized-name-wikimaniawiki}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{labelT|Q5760083}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{labelT|Q47467626}} | wikimedia enterprise = {{labelT|Q106204244}} | wikimedia foundation |wmf = {{int|wikibase-otherprojects-foundation}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = {{int|wikimedia-foundation-projects-label}} | wikimedia incubator = {{int|project-localized-name-incubatorwiki}} | wikimedia mailservices = {{int|wikimedia-mailservices-label}} | wikimedia outreach |wikimedia outreach wiki = {{int|project-localized-name-outreachwiki}} | wikimedia phabricator = {{labelT|Q42156541}} | wikimedia projects = {{int|wikimedia-projects-label}} | wikinews = {{int|wikibase-sitelinks-wikinews}} | wikipedia = {{int|wikibase-sitelinks-wikipedia}} | wikiquote = {{int|wikibase-sitelinks-wikiquote}} | wikisource = {{int|wikibase-sitelinks-wikisource}} | wikispecies = {{int|wikibase-otherprojects-species}} | wikistats = {{int|wikimedia-wikistats-label}} | wikitech = {{int|project-localized-name-labswiki}} | wikiversity = {{int|wikibase-sitelinks-wikiversity}} | wikivoyage = {{int|wikibase-sitelinks-wikivoyage}} | wiktionary |wikt = {{int|wikibase-sitelinks-wiktionary}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} tezjt7n2dpr5jixfyugcnd5xic154t7 10359 10358 2024-03-06T06:58:25Z meta>FuzzyBot 0 Updating to match new version of source page 10359 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | about = {{int|about}} | activities = {{int|wm-commonstrings-activities}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|wikilambda-function-details-table-approve}} | archives = {{ucfirst:{{labelT|Q56648173}}}} | average = {{int|exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = {{int|wm-commonstrings-background}} | blog = {{ucfirst:{{labelT|Q30849}}}} | category = {{int|nstab-category}} | closed = {{int|wm-commonstrings-closed}} | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = {{int|wm-commonstrings-connect}} | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discord = {{labelT|Q22907849}} | discussion = {{int|talk}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = {{int|wm-commonstrings-events}} | external links = External links | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | introduction = {{int|growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{int|wikibase-sitelinks-sitename-mediawikiwiki}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta |metawiki = {{int|project-localized-name-metawiki}} | minutes = {{ucfirst:{{labelT|Q2085515}}}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = {{int|wm-commonstrings-noticeboard}} | objectives = {{int|wm-commonstrings-objectives}} | ongoing = {{int|wm-commonstrings-ongoing}} | open = {{int|wm-commonstrings-open}} | other = {{int|visualeditor-shortcuts-other}} | overview = {{int|wm-commonstrings-overview}} | participate = {{int|wm-commonstrings-participate}} | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = {{int|wm-commonstrings-questions}} | quicksurveys |qsurveys = {{int|ext-quicksurveys-name}} | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = {{int|wm-commonstrings-reports}} | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = {{ucfirst:{{labelT|Q106485006}}}} | scope = {{int|wm-commonstrings-scope}} | see also = {{int|wm-commonstrings-seealso}} | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | staff = {{int|wm-commonstrings-staff}} | start = {{int|pagetriage-filter-predicted-class-start}} | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = {{int|wm-commonstrings-talktous}} | telegram = {{labelT|Q15616276}} | test wikipedia = {{int|project-localized-name-testwiki}} | total = {{int|Sitematrix-sitetotal}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = {{int|wm-commonstrings-updates}} | whatsapp = {{labelT|Q1049511}} | wikibooks = {{int|wikibase-sitelinks-wikibooks}} | wikidata = {{int|wikibase-repo-name}} | wikifunctions = {{int|wikibase-otherprojects-wikifunctions}} | wikimania = {{int|project-localized-name-wikimaniawiki}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{int|wikimedia-otherprojects-cloudservices}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{int|wikimedia-otherprojects-endowment}} | wikimedia enterprise = {{int|wikimedia-otherprojects-enterprise}} | wikimedia foundation |wmf = {{int|wikibase-otherprojects-foundation}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = {{int|wikimedia-foundation-projects-label}} | wikimedia incubator = {{int|project-localized-name-incubatorwiki}} | wikimedia mailservices = {{int|wikimedia-mailservices-label}} | wikimedia outreach |wikimedia outreach wiki = {{int|project-localized-name-outreachwiki}} | wikimedia phabricator = {{int|wikimedia-otherprojects-phabricator}} | wikimedia projects = {{int|wikimedia-projects-label}} | wikinews = {{int|wikibase-sitelinks-wikinews}} | wikipedia = {{int|wikibase-sitelinks-wikipedia}} | wikiquote = {{int|wikibase-sitelinks-wikiquote}} | wikisource = {{int|wikibase-sitelinks-wikisource}} | wikispecies = {{int|wikibase-otherprojects-species}} | wikistats = {{int|wikimedia-wikistats-label}} | wikitech = {{int|project-localized-name-labswiki}} | wikiversity = {{int|wikibase-sitelinks-wikiversity}} | wikivoyage = {{int|wikibase-sitelinks-wikivoyage}} | wiktionary |wikt = {{int|wikibase-sitelinks-wiktionary}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} 1nxjwvnov8m3vvsyd6emp05su1sbwua 10360 10359 2024-03-06T08:29:44Z meta>FuzzyBot 0 Updating to match new version of source page 10360 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | about = {{int|about}} | activities = {{int|wm-commonstrings-activities}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|wikilambda-function-details-table-approve}} | archives = {{ucfirst:{{labelT|Q56648173}}}} | average = {{int|exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = {{int|wm-commonstrings-background}} | blog = {{ucfirst:{{labelT|Q30849}}}} | category = {{int|nstab-category}} | closed = {{int|wm-commonstrings-closed}} | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = {{int|wm-commonstrings-connect}} | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discord = {{labelT|Q22907849}} | discussion = {{int|talk}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = {{int|wm-commonstrings-events}} | external links = External links | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | introduction = {{int|growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{int|wikibase-sitelinks-sitename-mediawikiwiki}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta |metawiki = {{int|project-localized-name-metawiki}} | minutes = {{ucfirst:{{labelT|Q2085515}}}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = {{int|wm-commonstrings-noticeboard}} | objectives = {{int|wm-commonstrings-objectives}} | ongoing = {{int|wm-commonstrings-ongoing}} | open = {{int|wm-commonstrings-open}} | other = {{int|visualeditor-shortcuts-other}} | overview = {{int|wm-commonstrings-overview}} | participate = {{int|wm-commonstrings-participate}} | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = {{int|wm-commonstrings-questions}} | quicksurveys |qsurveys = {{int|ext-quicksurveys-name}} | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = {{int|wm-commonstrings-reports}} | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = {{ucfirst:{{labelT|Q106485006}}}} | scope = {{int|wm-commonstrings-scope}} | see also = {{int|wm-commonstrings-seealso}} | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | staff = {{int|wm-commonstrings-staff}} | start = {{int|pagetriage-filter-predicted-class-start}} | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = {{int|wm-commonstrings-talktous}} | telegram = {{labelT|Q15616276}} | test wikipedia = {{int|project-localized-name-testwiki}} | total = {{int|sitematrix-sitetotal}} | translations = {{int|centralnotice-translations}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = {{int|wm-commonstrings-updates}} | whatsapp = {{labelT|Q1049511}} | wikibooks = {{int|wikibase-sitelinks-wikibooks}} | wikidata = {{int|wikibase-repo-name}} | wikifunctions = {{int|wikibase-otherprojects-wikifunctions}} | wikimania = {{int|project-localized-name-wikimaniawiki}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{int|wikimedia-otherprojects-cloudservices}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{int|wikimedia-otherprojects-endowment}} | wikimedia enterprise = {{int|wikimedia-otherprojects-enterprise}} | wikimedia foundation |wmf = {{int|wikibase-otherprojects-foundation}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = {{int|wikimedia-foundation-projects-label}} | wikimedia incubator = {{int|project-localized-name-incubatorwiki}} | wikimedia mailservices = {{int|wikimedia-mailservices-label}} | wikimedia outreach |wikimedia outreach wiki = {{int|project-localized-name-outreachwiki}} | wikimedia phabricator = {{int|wikimedia-otherprojects-phabricator}} | wikimedia projects = {{int|wikimedia-projects-label}} | wikinews = {{int|wikibase-sitelinks-wikinews}} | wikipedia = {{int|wikibase-sitelinks-wikipedia}} | wikiquote = {{int|wikibase-sitelinks-wikiquote}} | wikisource = {{int|wikibase-sitelinks-wikisource}} | wikispecies = {{int|wikibase-otherprojects-species}} | wikistats = {{int|wikimedia-wikistats-label}} | wikitech = {{int|project-localized-name-labswiki}} | wikiversity = {{int|wikibase-sitelinks-wikiversity}} | wikivoyage = {{int|wikibase-sitelinks-wikivoyage}} | wiktionary |wikt = {{int|wikibase-sitelinks-wiktionary}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} luj2aziq0zzf2aid8wh6qn8y8qzap7p 10361 10360 2024-03-12T19:39:43Z meta>FuzzyBot 0 Updating to match new version of source page 10361 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | about = {{int|about}} | activities = {{int|wm-commonstrings-activities}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|wikilambda-function-details-table-approve}} | archives = {{ucfirst:{{labelT|Q56648173}}}} | average = {{int|exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = {{int|wm-commonstrings-background}} | blog = {{ucfirst:{{labelT|Q30849}}}} | category = {{int|nstab-category}} | closed = {{int|wm-commonstrings-closed}} | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = {{int|wm-commonstrings-connect}} | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discord = {{labelT|Q22907849}} | discussion = {{int|talk}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = {{int|wm-commonstrings-events}} | external links = External links | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | introduction = {{int|growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{int|wikibase-sitelinks-sitename-mediawikiwiki}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta |metawiki = {{int|project-localized-name-metawiki}} | minutes = {{ucfirst:{{labelT|Q2085515}}}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = {{int|wm-commonstrings-noticeboard}} | objectives = {{int|wm-commonstrings-objectives}} | ongoing = {{int|wm-commonstrings-ongoing}} | open = {{int|wm-commonstrings-open}} | other = {{int|visualeditor-shortcuts-other}} | overview = {{int|wm-commonstrings-overview}} | participate = {{int|wm-commonstrings-participate}} | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | purpose = Purpose | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = {{int|wm-commonstrings-questions}} | quicksurveys |qsurveys = {{int|ext-quicksurveys-name}} | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = {{int|wm-commonstrings-reports}} | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = {{ucfirst:{{labelT|Q106485006}}}} | scope = {{int|wm-commonstrings-scope}} | see also = {{int|wm-commonstrings-seealso}} | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | staff = {{int|wm-commonstrings-staff}} | start = {{int|pagetriage-filter-predicted-class-start}} | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = {{int|wm-commonstrings-talktous}} | telegram = {{labelT|Q15616276}} | test wikipedia = {{int|project-localized-name-testwiki}} | total = {{int|sitematrix-sitetotal}} | translations = {{int|centralnotice-translations}} | twitter |tw = {{labelT|Q918}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = {{int|wm-commonstrings-updates}} | whatsapp = {{labelT|Q1049511}} | wikibooks = {{int|wikibase-sitelinks-wikibooks}} | wikidata = {{int|wikibase-repo-name}} | wikifunctions = {{int|wikibase-otherprojects-wikifunctions}} | wikimania = {{int|project-localized-name-wikimaniawiki}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{int|wikimedia-otherprojects-cloudservices}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{int|wikimedia-otherprojects-endowment}} | wikimedia enterprise = {{int|wikimedia-otherprojects-enterprise}} | wikimedia foundation |wmf = {{int|wikibase-otherprojects-foundation}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = {{int|wikimedia-foundation-projects-label}} | wikimedia incubator = {{int|project-localized-name-incubatorwiki}} | wikimedia mailservices = {{int|wikimedia-mailservices-label}} | wikimedia outreach |wikimedia outreach wiki = {{int|project-localized-name-outreachwiki}} | wikimedia phabricator = {{int|wikimedia-otherprojects-phabricator}} | wikimedia projects = {{int|wikimedia-projects-label}} | wikinews = {{int|wikibase-sitelinks-wikinews}} | wikipedia = {{int|wikibase-sitelinks-wikipedia}} | wikiquote = {{int|wikibase-sitelinks-wikiquote}} | wikisource = {{int|wikibase-sitelinks-wikisource}} | wikispecies = {{int|wikibase-otherprojects-species}} | wikistats = {{int|wikimedia-wikistats-label}} | wikitech = {{int|project-localized-name-labswiki}} | wikiversity = {{int|wikibase-sitelinks-wikiversity}} | wikivoyage = {{int|wikibase-sitelinks-wikivoyage}} | wiktionary |wikt = {{int|wikibase-sitelinks-wiktionary}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} 249wqmjh8vj2ipublf7pt0v63fvv4gb 10362 10361 2024-03-12T21:29:48Z meta>FuzzyBot 0 Updating to match new version of source page 10362 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | about = {{int|about}} | activities = {{int|wm-commonstrings-activities}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|wikilambda-function-details-table-approve}} | archives = {{ucfirst:{{labelT|Q56648173}}}} | average = {{int|exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = {{int|wm-commonstrings-background}} | blog = {{ucfirst:{{labelT|Q30849}}}} | category = {{int|nstab-category}} | closed = {{int|wm-commonstrings-closed}} | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = {{int|wm-commonstrings-connect}} | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discord = {{labelT|Q22907849}} | discussion = {{int|talk}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = {{int|wm-commonstrings-events}} | external links = External links | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | introduction = {{int|growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{int|wikibase-sitelinks-sitename-mediawikiwiki}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta |metawiki = {{int|project-localized-name-metawiki}} | minutes = {{ucfirst:{{labelT|Q2085515}}}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = {{int|wm-commonstrings-noticeboard}} | objectives = {{int|wm-commonstrings-objectives}} | ongoing = {{int|wm-commonstrings-ongoing}} | open = {{int|wm-commonstrings-open}} | other = {{int|visualeditor-shortcuts-other}} | overview = {{int|wm-commonstrings-overview}} | participate = {{int|wm-commonstrings-participate}} | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | purpose = Purpose | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = {{int|wm-commonstrings-questions}} | quicksurveys |qsurveys = {{int|ext-quicksurveys-name}} | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = {{int|wm-commonstrings-reports}} | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = {{ucfirst:{{labelT|Q106485006}}}} | scope = {{int|wm-commonstrings-scope}} | see also = {{int|wm-commonstrings-seealso}} | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | staff = {{int|wm-commonstrings-staff}} | start = {{int|pagetriage-filter-predicted-class-start}} | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = {{int|wm-commonstrings-talktous}} | telegram = {{labelT|Q15616276}} | test wikipedia = {{int|project-localized-name-testwiki}} | total = {{int|sitematrix-sitetotal}} | translations = {{int|centralnotice-translations}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = {{int|wm-commonstrings-updates}} | whatsapp = {{labelT|Q1049511}} | wikibooks = {{int|wikibase-sitelinks-wikibooks}} | wikidata = {{int|wikibase-repo-name}} | wikifunctions = {{int|wikibase-otherprojects-wikifunctions}} | wikimania = {{int|project-localized-name-wikimaniawiki}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{int|wikimedia-otherprojects-cloudservices}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{int|wikimedia-otherprojects-endowment}} | wikimedia enterprise = {{int|wikimedia-otherprojects-enterprise}} | wikimedia foundation |wmf = {{int|wikibase-otherprojects-foundation}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = {{int|wikimedia-foundation-projects-label}} | wikimedia incubator = {{int|project-localized-name-incubatorwiki}} | wikimedia mailservices = {{int|wikimedia-mailservices-label}} | wikimedia outreach |wikimedia outreach wiki = {{int|project-localized-name-outreachwiki}} | wikimedia phabricator = {{int|wikimedia-otherprojects-phabricator}} | wikimedia projects = {{int|wikimedia-projects-label}} | wikinews = {{int|wikibase-sitelinks-wikinews}} | wikipedia = {{int|wikibase-sitelinks-wikipedia}} | wikiquote = {{int|wikibase-sitelinks-wikiquote}} | wikisource = {{int|wikibase-sitelinks-wikisource}} | wikispecies = {{int|wikibase-otherprojects-species}} | wikistats = {{int|wikimedia-wikistats-label}} | wikitech = {{int|project-localized-name-labswiki}} | wikiversity = {{int|wikibase-sitelinks-wikiversity}} | wikivoyage = {{int|wikibase-sitelinks-wikivoyage}} | wiktionary |wikt = {{int|wikibase-sitelinks-wiktionary}} | x |twitter |tw = {{labelT|Q918}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} g27h3zh8btj44hxwy056a65cljqlmwq 10363 10362 2024-03-12T21:59:02Z meta>FuzzyBot 0 Updating to match new version of source page 10363 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | about = {{int|about}} | activities = {{int|wm-commonstrings-activities}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|wikilambda-function-details-table-approve}} | archives = {{ucfirst:{{labelT|Q56648173}}}} | average = {{int|exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = {{int|wm-commonstrings-background}} | blog = {{ucfirst:{{labelT|Q30849}}}} | category = {{int|nstab-category}} | closed = {{int|wm-commonstrings-closed}} | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = {{int|wm-commonstrings-connect}} | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discord = {{labelT|Q22907849}} | discussion = {{int|talk}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = {{int|wm-commonstrings-events}} | external links = External links | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | introduction = {{int|growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{int|wikibase-sitelinks-sitename-mediawikiwiki}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta |metawiki = {{int|project-localized-name-metawiki}} | minutes = {{ucfirst:{{labelT|Q2085515}}}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = {{int|wm-commonstrings-noticeboard}} | objectives = {{int|wm-commonstrings-objectives}} | ongoing = {{int|wm-commonstrings-ongoing}} | open = {{int|wm-commonstrings-open}} | other = {{int|visualeditor-shortcuts-other}} | overview = {{int|wm-commonstrings-overview}} | participate = {{int|wm-commonstrings-participate}} | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | policies and guidelines |meta-policy-guidelines |policy-guidelines = Policies and guidelines | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | purpose = Purpose | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = {{int|wm-commonstrings-questions}} | quicksurveys |qsurveys = {{int|ext-quicksurveys-name}} | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = {{int|wm-commonstrings-reports}} | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = {{ucfirst:{{labelT|Q106485006}}}} | scope = {{int|wm-commonstrings-scope}} | see also = {{int|wm-commonstrings-seealso}} | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | staff = {{int|wm-commonstrings-staff}} | start = {{int|pagetriage-filter-predicted-class-start}} | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = {{int|wm-commonstrings-talktous}} | telegram = {{labelT|Q15616276}} | test wikipedia = {{int|project-localized-name-testwiki}} | total = {{int|sitematrix-sitetotal}} | translations = {{int|centralnotice-translations}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = {{int|wm-commonstrings-updates}} | whatsapp = {{labelT|Q1049511}} | wikibooks = {{int|wikibase-sitelinks-wikibooks}} | wikidata = {{int|wikibase-repo-name}} | wikifunctions = {{int|wikibase-otherprojects-wikifunctions}} | wikimania = {{int|project-localized-name-wikimaniawiki}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{int|wikimedia-otherprojects-cloudservices}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{int|wikimedia-otherprojects-endowment}} | wikimedia enterprise = {{int|wikimedia-otherprojects-enterprise}} | wikimedia foundation |wmf = {{int|wikibase-otherprojects-foundation}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = {{int|wikimedia-foundation-projects-label}} | wikimedia incubator = {{int|project-localized-name-incubatorwiki}} | wikimedia mailservices = {{int|wikimedia-mailservices-label}} | wikimedia outreach |wikimedia outreach wiki = {{int|project-localized-name-outreachwiki}} | wikimedia phabricator = {{int|wikimedia-otherprojects-phabricator}} | wikimedia projects = {{int|wikimedia-projects-label}} | wikinews = {{int|wikibase-sitelinks-wikinews}} | wikipedia = {{int|wikibase-sitelinks-wikipedia}} | wikiquote = {{int|wikibase-sitelinks-wikiquote}} | wikisource = {{int|wikibase-sitelinks-wikisource}} | wikispecies = {{int|wikibase-otherprojects-species}} | wikistats = {{int|wikimedia-wikistats-label}} | wikitech = {{int|project-localized-name-labswiki}} | wikiversity = {{int|wikibase-sitelinks-wikiversity}} | wikivoyage = {{int|wikibase-sitelinks-wikivoyage}} | wiktionary |wikt = {{int|wikibase-sitelinks-wiktionary}} | x |twitter |tw = {{labelT|Q918}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} p64opswr2b4cfs5q1fqk57wbwzf7dnz 10364 10363 2024-03-13T20:25:21Z meta>FuzzyBot 0 Updating to match new version of source page 10364 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | about = {{int|about}} | activities = {{int|wm-commonstrings-activities}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|wikilambda-function-details-table-approve}} | archives = {{ucfirst:{{labelT|Q56648173}}}} | average = {{int|exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = {{int|wm-commonstrings-background}} | blog = {{ucfirst:{{labelT|Q30849}}}} | category = {{int|nstab-category}} | closed = {{int|wm-commonstrings-closed}} | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = {{int|wm-commonstrings-connect}} | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discord = {{labelT|Q22907849}} | discussion = {{int|talk}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = {{int|wm-commonstrings-events}} | external links = {{int|wm-commonstrings-externallinks}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | introduction = {{int|growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{int|wikibase-sitelinks-sitename-mediawikiwiki}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta |metawiki = {{int|project-localized-name-metawiki}} | minutes = {{ucfirst:{{labelT|Q2085515}}}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = {{int|wm-commonstrings-noticeboard}} | objectives = {{int|wm-commonstrings-objectives}} | ongoing = {{int|wm-commonstrings-ongoing}} | open = {{int|wm-commonstrings-open}} | other = {{int|visualeditor-shortcuts-other}} | overview = {{int|wm-commonstrings-overview}} | participate = {{int|wm-commonstrings-participate}} | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | policies and guidelines |meta-policy-guidelines |policy-guidelines = Policies and guidelines | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | purpose = Purpose | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = {{int|wm-commonstrings-questions}} | quicksurveys |qsurveys = {{int|ext-quicksurveys-name}} | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = {{int|wm-commonstrings-reports}} | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = {{ucfirst:{{labelT|Q106485006}}}} | scope = {{int|wm-commonstrings-scope}} | see also = {{int|wm-commonstrings-seealso}} | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | staff = {{int|wm-commonstrings-staff}} | start = {{int|pagetriage-filter-predicted-class-start}} | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = {{int|wm-commonstrings-talktous}} | telegram = {{labelT|Q15616276}} | test wikipedia = {{int|project-localized-name-testwiki}} | total = {{int|sitematrix-sitetotal}} | translations = {{int|centralnotice-translations}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = {{int|wm-commonstrings-updates}} | whatsapp = {{labelT|Q1049511}} | wikibooks = {{int|wikibase-sitelinks-wikibooks}} | wikidata = {{int|wikibase-repo-name}} | wikifunctions = {{int|wikibase-otherprojects-wikifunctions}} | wikimania = {{int|project-localized-name-wikimaniawiki}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{int|wikimedia-otherprojects-cloudservices}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{int|wikimedia-otherprojects-endowment}} | wikimedia enterprise = {{int|wikimedia-otherprojects-enterprise}} | wikimedia foundation |wmf = {{int|wikibase-otherprojects-foundation}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = {{int|wikimedia-foundation-projects-label}} | wikimedia incubator = {{int|project-localized-name-incubatorwiki}} | wikimedia mailservices = {{int|wikimedia-mailservices-label}} | wikimedia outreach |wikimedia outreach wiki = {{int|project-localized-name-outreachwiki}} | wikimedia phabricator = {{int|wikimedia-otherprojects-phabricator}} | wikimedia projects = {{int|wikimedia-projects-label}} | wikinews = {{int|wikibase-sitelinks-wikinews}} | wikipedia = {{int|wikibase-sitelinks-wikipedia}} | wikiquote = {{int|wikibase-sitelinks-wikiquote}} | wikisource = {{int|wikibase-sitelinks-wikisource}} | wikispecies = {{int|wikibase-otherprojects-species}} | wikistats = {{int|wikimedia-wikistats-label}} | wikitech = {{int|project-localized-name-labswiki}} | wikiversity = {{int|wikibase-sitelinks-wikiversity}} | wikivoyage = {{int|wikibase-sitelinks-wikivoyage}} | wiktionary |wikt = {{int|wikibase-sitelinks-wiktionary}} | x |twitter |tw = {{labelT|Q918}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} 058njajv4xb6e0ojdv413g2c1untc01 10365 10364 2024-03-15T02:28:47Z meta>FuzzyBot 0 Updating to match new version of source page 10365 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | about = {{int|about}} | activities = {{int|wm-commonstrings-activities}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|wikilambda-function-details-table-approve}} | archives = {{ucfirst:{{labelT|Q56648173}}}} | average = {{int|exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = {{int|wm-commonstrings-background}} | blog = {{ucfirst:{{labelT|Q30849}}}} | category = {{int|nstab-category}} | closed = {{int|wm-commonstrings-closed}} | conclusion = Conclusion | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = {{int|wm-commonstrings-connect}} | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discord = {{labelT|Q22907849}} | discussion = {{int|talk}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = {{int|wm-commonstrings-events}} | external links = {{int|wm-commonstrings-externallinks}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | introduction = {{int|growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{int|wikibase-sitelinks-sitename-mediawikiwiki}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta |metawiki = {{int|project-localized-name-metawiki}} | minutes = {{ucfirst:{{labelT|Q2085515}}}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = {{int|wm-commonstrings-noticeboard}} | objectives = {{int|wm-commonstrings-objectives}} | ongoing = {{int|wm-commonstrings-ongoing}} | open = {{int|wm-commonstrings-open}} | other = {{int|visualeditor-shortcuts-other}} | overview = {{int|wm-commonstrings-overview}} | participate = {{int|wm-commonstrings-participate}} | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | policies and guidelines |meta-policy-guidelines |policy-guidelines = Policies and guidelines | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | purpose = Purpose | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = {{int|wm-commonstrings-questions}} | quicksurveys |qsurveys = {{int|ext-quicksurveys-name}} | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = {{int|wm-commonstrings-reports}} | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = {{ucfirst:{{labelT|Q106485006}}}} | scope = {{int|wm-commonstrings-scope}} | see also = {{int|wm-commonstrings-seealso}} | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | staff = {{int|wm-commonstrings-staff}} | start = {{int|pagetriage-filter-predicted-class-start}} | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = {{int|wm-commonstrings-talktous}} | telegram = {{labelT|Q15616276}} | test wikipedia = {{int|project-localized-name-testwiki}} | total = {{int|sitematrix-sitetotal}} | translations = {{int|centralnotice-translations}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = {{int|wm-commonstrings-updates}} | whatsapp = {{labelT|Q1049511}} | wikibooks = {{int|wikibase-sitelinks-wikibooks}} | wikidata = {{int|wikibase-repo-name}} | wikifunctions = {{int|wikibase-otherprojects-wikifunctions}} | wikimania = {{int|project-localized-name-wikimaniawiki}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{int|wikimedia-otherprojects-cloudservices}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{int|wikimedia-otherprojects-endowment}} | wikimedia enterprise = {{int|wikimedia-otherprojects-enterprise}} | wikimedia foundation |wmf = {{int|wikibase-otherprojects-foundation}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = {{int|wikimedia-foundation-projects-label}} | wikimedia incubator = {{int|project-localized-name-incubatorwiki}} | wikimedia mailservices = {{int|wikimedia-mailservices-label}} | wikimedia outreach |wikimedia outreach wiki = {{int|project-localized-name-outreachwiki}} | wikimedia phabricator = {{int|wikimedia-otherprojects-phabricator}} | wikimedia projects = {{int|wikimedia-projects-label}} | wikinews = {{int|wikibase-sitelinks-wikinews}} | wikipedia = {{int|wikibase-sitelinks-wikipedia}} | wikiquote = {{int|wikibase-sitelinks-wikiquote}} | wikisource = {{int|wikibase-sitelinks-wikisource}} | wikispecies = {{int|wikibase-otherprojects-species}} | wikistats = {{int|wikimedia-wikistats-label}} | wikitech = {{int|project-localized-name-labswiki}} | wikiversity = {{int|wikibase-sitelinks-wikiversity}} | wikivoyage = {{int|wikibase-sitelinks-wikivoyage}} | wiktionary |wikt = {{int|wikibase-sitelinks-wiktionary}} | x |twitter |tw = {{labelT|Q918}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} gers3v1u4gnolxdll4zdagkrp00r40h 10366 10365 2024-03-15T14:48:01Z meta>FuzzyBot 0 Updating to match new version of source page 10366 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | about = {{int|about}} | activities = {{int|wm-commonstrings-activities}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|wikilambda-function-details-table-approve}} | archives = {{ucfirst:{{labelT|Q56648173}}}} | average = {{int|exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = {{int|wm-commonstrings-background}} | blog = {{ucfirst:{{labelT|Q30849}}}} | category = {{int|nstab-category}} | closed = {{int|wm-commonstrings-closed}} | conclusion = Conclusion | diff = {{ucfirst:{{int|diff}}}} | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = {{int|wm-commonstrings-connect}} | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discord = {{labelT|Q22907849}} | discussion = {{int|talk}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = {{int|wm-commonstrings-events}} | external links = {{int|wm-commonstrings-externallinks}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms |gforms = {{labelT|Q47014869}} | google meet |gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca |identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram |insta = {{labelT|Q209330}} | introduction = {{int|growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki |mw = {{int|wikibase-sitelinks-sitename-mediawikiwiki}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki |meta |metawiki = {{int|project-localized-name-metawiki}} | minutes = {{ucfirst:{{labelT|Q2085515}}}} | more information = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = {{int|wm-commonstrings-noticeboard}} | objectives = {{int|wm-commonstrings-objectives}} | ongoing = {{int|wm-commonstrings-ongoing}} | open = {{int|wm-commonstrings-open}} | other = {{int|visualeditor-shortcuts-other}} | overview = {{int|wm-commonstrings-overview}} | participate = {{int|wm-commonstrings-participate}} | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | policies and guidelines |meta-policy-guidelines |policy-guidelines = Policies and guidelines | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | purpose = Purpose | qualtrics |qual = {{labelT|Q7268803}} | questions |questions? = {{int|wm-commonstrings-questions}} | quicksurveys |qsurveys = {{int|ext-quicksurveys-name}} | quora |quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = {{int|wm-commonstrings-reports}} | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = {{ucfirst:{{labelT|Q106485006}}}} | scope = {{int|wm-commonstrings-scope}} | see also = {{int|wm-commonstrings-seealso}} | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | staff = {{int|wm-commonstrings-staff}} | start = {{int|pagetriage-filter-predicted-class-start}} | statistics = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us = {{int|wm-commonstrings-talktous}} | telegram = {{labelT|Q15616276}} | test wikipedia = {{int|project-localized-name-testwiki}} | total = {{int|sitematrix-sitetotal}} | translations = {{int|centralnotice-translations}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = {{int|wm-commonstrings-updates}} | whatsapp = {{labelT|Q1049511}} | wikibooks = {{int|wikibase-sitelinks-wikibooks}} | wikidata = {{int|wikibase-repo-name}} | wikifunctions = {{int|wikibase-otherprojects-wikifunctions}} | wikimania = {{int|project-localized-name-wikimaniawiki}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{int|wikimedia-otherprojects-cloudservices}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{int|wikimedia-otherprojects-endowment}} | wikimedia enterprise = {{int|wikimedia-otherprojects-enterprise}} | wikimedia foundation |wmf = {{int|wikibase-otherprojects-foundation}} | wikimedia foundation, inc. |wmf inc |wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = {{int|wikimedia-foundation-projects-label}} | wikimedia incubator = {{int|project-localized-name-incubatorwiki}} | wikimedia mailservices = {{int|wikimedia-mailservices-label}} | wikimedia outreach |wikimedia outreach wiki = {{int|project-localized-name-outreachwiki}} | wikimedia phabricator = {{int|wikimedia-otherprojects-phabricator}} | wikimedia projects = {{int|wikimedia-projects-label}} | wikinews = {{int|wikibase-sitelinks-wikinews}} | wikipedia = {{int|wikibase-sitelinks-wikipedia}} | wikiquote = {{int|wikibase-sitelinks-wikiquote}} | wikisource = {{int|wikibase-sitelinks-wikisource}} | wikispecies = {{int|wikibase-otherprojects-species}} | wikistats = {{int|wikimedia-wikistats-label}} | wikitech = {{int|project-localized-name-labswiki}} | wikiversity = {{int|wikibase-sitelinks-wikiversity}} | wikivoyage = {{int|wikibase-sitelinks-wikivoyage}} | wiktionary |wikt = {{int|wikibase-sitelinks-wiktionary}} | x |twitter |tw = {{labelT|Q918}} | yahoo |yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube |yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} t5zpw276nkzam32w13tukqn0t6wi5g6 10367 10366 2024-03-15T20:43:12Z meta>FuzzyBot 0 Updating to match new version of source page 10367 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | about = {{int|about}} | activities = {{int|wm-commonstrings-activities}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|wikilambda-function-details-table-approve}} | archives = {{ucfirst:{{labelT|Q56648173}}}} | average = {{int|exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = {{int|wm-commonstrings-background}} | blog = {{ucfirst:{{labelT|Q30849}}}} | category = {{int|nstab-category}} | closed = {{int|wm-commonstrings-closed}} | conclusion = Conclusion | diff = {{ucfirst:{{int|diff}}}} | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = {{int|wm-commonstrings-connect}} | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discord = {{labelT|Q22907849}} | discussion = {{int|talk}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = {{int|wm-commonstrings-events}} | external links = {{int|wm-commonstrings-externallinks}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms | gforms = {{labelT|Q47014869}} | google meet | gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca | identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram | insta = {{labelT|Q209330}} | introduction = {{int|growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | mainpage | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki | mw = {{int|wikibase-sitelinks-sitename-mediawikiwiki}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki | meta | metawiki = {{int|project-localized-name-metawiki}} | minutes = {{ucfirst:{{labelT|Q2085515}}}} | more information | more info = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = {{int|wm-commonstrings-noticeboard}} | objectives = {{int|wm-commonstrings-objectives}} | ongoing = {{int|wm-commonstrings-ongoing}} | open = {{int|wm-commonstrings-open}} | other = {{int|visualeditor-shortcuts-other}} | overview = {{int|wm-commonstrings-overview}} | participate = {{int|wm-commonstrings-participate}} | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | policies and guidelines | meta-policy-guidelines | policy-guidelines = Policies and guidelines | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | purpose = Purpose | qualtrics | qual = {{labelT|Q7268803}} | questions | questions? = {{int|wm-commonstrings-questions}} | quicksurveys | qsurveys = {{int|ext-quicksurveys-name}} | quora | quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = {{int|wm-commonstrings-reports}} | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = {{ucfirst:{{labelT|Q106485006}}}} | scope = {{int|wm-commonstrings-scope}} | see also |seealso = {{int|wm-commonstrings-seealso}} | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | staff = {{int|wm-commonstrings-staff}} | start = {{int|pagetriage-filter-predicted-class-start}} | statistics | stats = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us | talktous = {{int|wm-commonstrings-talktous}} | telegram = {{labelT|Q15616276}} | test wikipedia = {{int|project-localized-name-testwiki}} | total = {{int|sitematrix-sitetotal}} | translations = {{int|centralnotice-translations}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = {{int|wm-commonstrings-updates}} | whatsapp = {{labelT|Q1049511}} | wikibooks = {{int|wikibase-sitelinks-wikibooks}} | wikidata = {{int|wikibase-repo-name}} | wikifunctions = {{int|wikibase-otherprojects-wikifunctions}} | wikimania = {{int|project-localized-name-wikimaniawiki}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{int|wikimedia-otherprojects-cloudservices}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{int|wikimedia-otherprojects-endowment}} | wikimedia enterprise = {{int|wikimedia-otherprojects-enterprise}} | wikimedia foundation | wmf = {{int|wikibase-otherprojects-foundation}} | wikimedia foundation, inc. | wmf inc | wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = {{int|wikimedia-foundation-projects-label}} | wikimedia incubator = {{int|project-localized-name-incubatorwiki}} | wikimedia mailservices = {{int|wikimedia-mailservices-label}} | wikimedia outreach |wikimedia outreach wiki = {{int|project-localized-name-outreachwiki}} | wikimedia phabricator = {{int|wikimedia-otherprojects-phabricator}} | wikimedia projects = {{int|wikimedia-projects-label}} | wikinews = {{int|wikibase-sitelinks-wikinews}} | wikipedia = {{int|wikibase-sitelinks-wikipedia}} | wikiquote = {{int|wikibase-sitelinks-wikiquote}} | wikisource = {{int|wikibase-sitelinks-wikisource}} | wikispecies = {{int|wikibase-otherprojects-species}} | wikistats = {{int|wikimedia-wikistats-label}} | wikitech = {{int|project-localized-name-labswiki}} | wikiversity = {{int|wikibase-sitelinks-wikiversity}} | wikivoyage = {{int|wikibase-sitelinks-wikivoyage}} | wiktionary | wikt = {{int|wikibase-sitelinks-wiktionary}} | x | twitter | tw = {{labelT|Q918}} | yahoo | yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube | yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} 04jr6gp2kg042fzx8jpgkmd7jzkcx06 10368 10367 2024-03-16T01:25:27Z meta>FuzzyBot 0 Updating to match new version of source page 10368 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | about = {{int|about}} | activities = {{int|wm-commonstrings-activities}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|wikilambda-function-details-table-approve}} | archives = {{ucfirst:{{labelT|Q56648173}}}} | average = {{int|exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = {{int|wm-commonstrings-background}} | blog = {{ucfirst:{{labelT|Q30849}}}} | category = {{int|nstab-category}} | closed = {{int|wm-commonstrings-closed}} | conclusion = Conclusion | contact us | contactus = {{int|wm-commonstrings-contactus}} | diff = {{ucfirst:{{int|diff}}}} | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = {{int|wm-commonstrings-connect}} | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discord = {{labelT|Q22907849}} | discussion = {{int|talk}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = {{int|wm-commonstrings-events}} | external links = {{int|wm-commonstrings-externallinks}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms | gforms = {{labelT|Q47014869}} | google meet | gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca | identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram | insta = {{labelT|Q209330}} | introduction = {{int|growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | mainpage | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki | mw = {{int|wikibase-sitelinks-sitename-mediawikiwiki}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki | meta | metawiki = {{int|project-localized-name-metawiki}} | minutes = {{ucfirst:{{labelT|Q2085515}}}} | more information | more info = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = {{int|wm-commonstrings-noticeboard}} | objectives = {{int|wm-commonstrings-objectives}} | ongoing = {{int|wm-commonstrings-ongoing}} | open = {{int|wm-commonstrings-open}} | other = {{int|visualeditor-shortcuts-other}} | overview = {{int|wm-commonstrings-overview}} | participate = {{int|wm-commonstrings-participate}} | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | policies and guidelines | meta-policy-guidelines | policy-guidelines = Policies and guidelines | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | purpose = Purpose | qualtrics | qual = {{labelT|Q7268803}} | questions | questions? = {{int|wm-commonstrings-questions}} | quicksurveys | qsurveys = {{int|ext-quicksurveys-name}} | quora | quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = {{int|wm-commonstrings-reports}} | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = {{ucfirst:{{labelT|Q106485006}}}} | scope = {{int|wm-commonstrings-scope}} | see also |seealso = {{int|wm-commonstrings-seealso}} | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | staff = {{int|wm-commonstrings-staff}} | start = {{int|pagetriage-filter-predicted-class-start}} | statistics | stats = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us | talktous = {{int|wm-commonstrings-talktous}} | telegram = {{labelT|Q15616276}} | test wikipedia = {{int|project-localized-name-testwiki}} | total = {{int|sitematrix-sitetotal}} | translations = {{int|centralnotice-translations}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = {{int|wm-commonstrings-updates}} | whatsapp = {{labelT|Q1049511}} | wikibooks = {{int|wikibase-sitelinks-wikibooks}} | wikidata = {{int|wikibase-repo-name}} | wikifunctions = {{int|wikibase-otherprojects-wikifunctions}} | wikimania = {{int|project-localized-name-wikimaniawiki}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{int|wikimedia-otherprojects-cloudservices}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{int|wikimedia-otherprojects-endowment}} | wikimedia enterprise = {{int|wikimedia-otherprojects-enterprise}} | wikimedia foundation | wmf = {{int|wikibase-otherprojects-foundation}} | wikimedia foundation, inc. | wmf inc | wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = {{int|wikimedia-foundation-projects-label}} | wikimedia incubator = {{int|project-localized-name-incubatorwiki}} | wikimedia mailservices = {{int|wikimedia-mailservices-label}} | wikimedia outreach |wikimedia outreach wiki = {{int|project-localized-name-outreachwiki}} | wikimedia phabricator = {{int|wikimedia-otherprojects-phabricator}} | wikimedia projects = {{int|wikimedia-projects-label}} | wikinews = {{int|wikibase-sitelinks-wikinews}} | wikipedia = {{int|wikibase-sitelinks-wikipedia}} | wikiquote = {{int|wikibase-sitelinks-wikiquote}} | wikisource = {{int|wikibase-sitelinks-wikisource}} | wikispecies = {{int|wikibase-otherprojects-species}} | wikistats = {{int|wikimedia-wikistats-label}} | wikitech = {{int|project-localized-name-labswiki}} | wikiversity = {{int|wikibase-sitelinks-wikiversity}} | wikivoyage = {{int|wikibase-sitelinks-wikivoyage}} | wiktionary | wikt = {{int|wikibase-sitelinks-wiktionary}} | x | twitter | tw = {{labelT|Q918}} | yahoo | yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube | yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} 76r4jwzdwvesugheipno1dldeyot9sg 10369 10368 2024-03-19T11:20:37Z meta>FuzzyBot 0 Updating to match new version of source page 10369 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | about = {{int|about}} | activities = {{int|wm-commonstrings-activities}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|wikilambda-function-details-table-approve}} | archives = {{ucfirst:{{labelT|Q56648173}}}} | agenda = {{int|wm-commonstrings-agenda}} | average = {{int|exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = {{int|wm-commonstrings-background}} | blog = {{ucfirst:{{labelT|Q30849}}}} | category = {{int|nstab-category}} | closed = {{int|wm-commonstrings-closed}} | conclusion = Conclusion | contact us | contactus = {{int|wm-commonstrings-contactus}} | diff = {{ucfirst:{{int|diff}}}} | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = {{int|wm-commonstrings-connect}} | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discord = {{labelT|Q22907849}} | discussion = {{int|talk}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = {{int|wm-commonstrings-events}} | external links = {{int|wm-commonstrings-externallinks}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms | gforms = {{labelT|Q47014869}} | google meet | gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca | identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram | insta = {{labelT|Q209330}} | introduction = {{int|growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | mainpage | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki | mw = {{int|wikibase-sitelinks-sitename-mediawikiwiki}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki | meta | metawiki = {{int|project-localized-name-metawiki}} | minutes = {{ucfirst:{{labelT|Q2085515}}}} | more information | more info = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = {{int|wm-commonstrings-noticeboard}} | objectives = {{int|wm-commonstrings-objectives}} | ongoing = {{int|wm-commonstrings-ongoing}} | open = {{int|wm-commonstrings-open}} | other = {{int|visualeditor-shortcuts-other}} | overview = {{int|wm-commonstrings-overview}} | participate = {{int|wm-commonstrings-participate}} | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | policies and guidelines | meta-policy-guidelines | policy-guidelines = Policies and guidelines | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | purpose = Purpose | qualtrics | qual = {{labelT|Q7268803}} | questions | questions? = {{int|wm-commonstrings-questions}} | quicksurveys | qsurveys = {{int|ext-quicksurveys-name}} | quora | quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = {{int|wm-commonstrings-reports}} | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = {{ucfirst:{{labelT|Q106485006}}}} | scope = {{int|wm-commonstrings-scope}} | see also |seealso = {{int|wm-commonstrings-seealso}} | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | staff = {{int|wm-commonstrings-staff}} | start = {{int|pagetriage-filter-predicted-class-start}} | statistics | stats = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us | talktous = {{int|wm-commonstrings-talktous}} | telegram = {{labelT|Q15616276}} | test wikipedia = {{int|project-localized-name-testwiki}} | total = {{int|sitematrix-sitetotal}} | translations = {{int|centralnotice-translations}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = {{int|wm-commonstrings-updates}} | whatsapp = {{labelT|Q1049511}} | wikibooks = {{int|wikibase-sitelinks-wikibooks}} | wikidata = {{int|wikibase-repo-name}} | wikifunctions = {{int|wikibase-otherprojects-wikifunctions}} | wikimania = {{int|project-localized-name-wikimaniawiki}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{int|wikimedia-otherprojects-cloudservices}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{int|wikimedia-otherprojects-endowment}} | wikimedia enterprise = {{int|wikimedia-otherprojects-enterprise}} | wikimedia foundation | wmf = {{int|wikibase-otherprojects-foundation}} | wikimedia foundation, inc. | wmf inc | wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = {{int|wikimedia-foundation-projects-label}} | wikimedia incubator = {{int|project-localized-name-incubatorwiki}} | wikimedia mailservices = {{int|wikimedia-mailservices-label}} | wikimedia outreach |wikimedia outreach wiki = {{int|project-localized-name-outreachwiki}} | wikimedia phabricator = {{int|wikimedia-otherprojects-phabricator}} | wikimedia projects = {{int|wikimedia-projects-label}} | wikinews = {{int|wikibase-sitelinks-wikinews}} | wikipedia = {{int|wikibase-sitelinks-wikipedia}} | wikiquote = {{int|wikibase-sitelinks-wikiquote}} | wikisource = {{int|wikibase-sitelinks-wikisource}} | wikispecies = {{int|wikibase-otherprojects-species}} | wikistats = {{int|wikimedia-wikistats-label}} | wikitech = {{int|project-localized-name-labswiki}} | wikiversity = {{int|wikibase-sitelinks-wikiversity}} | wikivoyage = {{int|wikibase-sitelinks-wikivoyage}} | wiktionary | wikt = {{int|wikibase-sitelinks-wiktionary}} | x | twitter | tw = {{labelT|Q918}} | yahoo | yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube | yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} 8nk4s8r0r0yjdkvafaxa089w6mnfgmj 10370 10369 2024-04-03T08:58:19Z meta>FuzzyBot 0 Updating to match new version of source page 10370 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | about = {{int|about}} | activities = {{int|wm-commonstrings-activities}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|wikilambda-function-details-table-approve}} | archives = {{ucfirst:{{labelT|Q56648173}}}} | agenda = {{int|wm-commonstrings-agenda}} | average = {{int|exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = {{int|wm-commonstrings-background}} | blog = {{ucfirst:{{labelT|Q30849}}}} | category = {{int|nstab-category}} | closed = {{int|wm-commonstrings-closed}} | conclusion = {{int|wm-commonstrings-conclusion}} | contact us | contactus = {{int|wm-commonstrings-contactus}} | diff = {{ucfirst:{{int|diff}}}} | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = {{int|wm-commonstrings-connect}} | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discord = {{labelT|Q22907849}} | discussion = {{int|talk}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = {{int|wm-commonstrings-events}} | external links = {{int|wm-commonstrings-externallinks}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms | gforms = {{labelT|Q47014869}} | google meet | gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca | identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram | insta = {{labelT|Q209330}} | introduction = {{int|growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | mainpage | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki | mw = {{int|wikibase-sitelinks-sitename-mediawikiwiki}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki | meta | metawiki = {{int|project-localized-name-metawiki}} | minutes = {{ucfirst:{{labelT|Q2085515}}}} | more information | more info = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = {{int|wm-commonstrings-noticeboard}} | objectives = {{int|wm-commonstrings-objectives}} | ongoing = {{int|wm-commonstrings-ongoing}} | open = {{int|wm-commonstrings-open}} | other = {{int|visualeditor-shortcuts-other}} | overview = {{int|wm-commonstrings-overview}} | participate = {{int|wm-commonstrings-participate}} | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | policies and guidelines | meta-policy-guidelines | policy-guidelines = {{int|wm-commonstrings-policies-guidelines}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | purpose = {{int|wm-commonstrings-purpose}} | qualtrics | qual = {{labelT|Q7268803}} | questions | questions? = {{int|wm-commonstrings-questions}} | quicksurveys | qsurveys = {{int|ext-quicksurveys-name}} | quora | quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = {{int|wm-commonstrings-reports}} | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = {{ucfirst:{{labelT|Q106485006}}}} | scope = {{int|wm-commonstrings-scope}} | see also |seealso = {{int|wm-commonstrings-seealso}} | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | staff = {{int|wm-commonstrings-staff}} | start = {{int|pagetriage-filter-predicted-class-start}} | statistics | stats = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us | talktous = {{int|wm-commonstrings-talktous}} | telegram = {{labelT|Q15616276}} | test wikipedia = {{int|project-localized-name-testwiki}} | total = {{int|sitematrix-sitetotal}} | translations = {{int|centralnotice-translations}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = {{int|wm-commonstrings-updates}} | whatsapp = {{labelT|Q1049511}} | wikibooks = {{int|wikibase-sitelinks-wikibooks}} | wikidata = {{int|wikibase-repo-name}} | wikifunctions = {{int|wikibase-otherprojects-wikifunctions}} | wikimania = {{int|project-localized-name-wikimaniawiki}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{int|wikimedia-otherprojects-cloudservices}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{int|wikimedia-otherprojects-endowment}} | wikimedia enterprise = {{int|wikimedia-otherprojects-enterprise}} | wikimedia foundation | wmf = {{int|wikibase-otherprojects-foundation}} | wikimedia foundation, inc. | wmf inc | wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = {{int|wikimedia-foundation-projects-label}} | wikimedia incubator = {{int|project-localized-name-incubatorwiki}} | wikimedia mailservices = {{int|wikimedia-mailservices-label}} | wikimedia outreach |wikimedia outreach wiki = {{int|project-localized-name-outreachwiki}} | wikimedia phabricator = {{int|wikimedia-otherprojects-phabricator}} | wikimedia projects = {{int|wikimedia-projects-label}} | wikinews = {{int|wikibase-sitelinks-wikinews}} | wikipedia = {{int|wikibase-sitelinks-wikipedia}} | wikiquote = {{int|wikibase-sitelinks-wikiquote}} | wikisource = {{int|wikibase-sitelinks-wikisource}} | wikispecies = {{int|wikibase-otherprojects-species}} | wikistats = {{int|wikimedia-wikistats-label}} | wikitech = {{int|project-localized-name-labswiki}} | wikiversity = {{int|wikibase-sitelinks-wikiversity}} | wikivoyage = {{int|wikibase-sitelinks-wikivoyage}} | wiktionary | wikt = {{int|wikibase-sitelinks-wiktionary}} | x | twitter | tw = {{labelT|Q918}} | yahoo | yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube | yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} 7rhrimfm89bbo0hgp189ivp9m4od1j7 10371 10370 2024-05-22T17:44:58Z meta>FuzzyBot 0 Updating to match new version of source page 10371 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | about = {{int|about}} | activities = {{int|wm-commonstrings-activities}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|wikilambda-function-details-table-approve}} | archives = {{ucfirst:{{labelT|Q56648173}}}} | agenda = {{int|wm-commonstrings-agenda}} | average = {{int|exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = {{int|wm-commonstrings-background}} | blog = {{ucfirst:{{labelT|Q30849}}}} | category = {{int|nstab-category}} | closed = {{int|wm-commonstrings-closed}} | conclusion = {{int|wm-commonstrings-conclusion}} | contact us | contactus = {{int|wm-commonstrings-contactus}} | diff = {{ucfirst:{{int|diff}}}} | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = {{int|wm-commonstrings-connect}} | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discord = {{labelT|Q22907849}} | discussion = {{int|talk}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = {{int|wm-commonstrings-events}} | external links = {{int|wm-commonstrings-externallinks}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms | gforms = {{labelT|Q47014869}} | google meet | gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca | identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram | insta = {{labelT|Q209330}} | introduction = {{int|growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | leadership = Leadership | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | mainpage | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki | mw = {{int|wikibase-sitelinks-sitename-mediawikiwiki}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki | meta | metawiki = {{int|project-localized-name-metawiki}} | minutes = {{ucfirst:{{labelT|Q2085515}}}} | more information | more info = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = {{int|wm-commonstrings-noticeboard}} | objectives = {{int|wm-commonstrings-objectives}} | ongoing = {{int|wm-commonstrings-ongoing}} | open = {{int|wm-commonstrings-open}} | other = {{int|visualeditor-shortcuts-other}} | overview = {{int|wm-commonstrings-overview}} | participate = {{int|wm-commonstrings-participate}} | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | policies and guidelines | meta-policy-guidelines | policy-guidelines = {{int|wm-commonstrings-policies-guidelines}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | purpose = {{int|wm-commonstrings-purpose}} | qualtrics | qual = {{labelT|Q7268803}} | questions | questions? = {{int|wm-commonstrings-questions}} | quicksurveys | qsurveys = {{int|ext-quicksurveys-name}} | quora | quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = {{int|wm-commonstrings-reports}} | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = {{ucfirst:{{labelT|Q106485006}}}} | scope = {{int|wm-commonstrings-scope}} | see also |seealso = {{int|wm-commonstrings-seealso}} | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | staff = {{int|wm-commonstrings-staff}} | start = {{int|pagetriage-filter-predicted-class-start}} | statistics | stats = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us | talktous = {{int|wm-commonstrings-talktous}} | telegram = {{labelT|Q15616276}} | test wikipedia = {{int|project-localized-name-testwiki}} | total = {{int|sitematrix-sitetotal}} | translations = {{int|centralnotice-translations}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = {{int|wm-commonstrings-updates}} | whatsapp = {{labelT|Q1049511}} | wikibooks = {{int|wikibase-sitelinks-wikibooks}} | wikidata = {{int|wikibase-repo-name}} | wikifunctions = {{int|wikibase-otherprojects-wikifunctions}} | wikimania = {{int|project-localized-name-wikimaniawiki}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{int|wikimedia-otherprojects-cloudservices}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{int|wikimedia-otherprojects-endowment}} | wikimedia enterprise = {{int|wikimedia-otherprojects-enterprise}} | wikimedia foundation | wmf = {{int|wikibase-otherprojects-foundation}} | wikimedia foundation, inc. | wmf inc | wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = {{int|wikimedia-foundation-projects-label}} | wikimedia incubator = {{int|project-localized-name-incubatorwiki}} | wikimedia mailservices = {{int|wikimedia-mailservices-label}} | wikimedia outreach |wikimedia outreach wiki = {{int|project-localized-name-outreachwiki}} | wikimedia phabricator = {{int|wikimedia-otherprojects-phabricator}} | wikimedia projects = {{int|wikimedia-projects-label}} | wikinews = {{int|wikibase-sitelinks-wikinews}} | wikipedia = {{int|wikibase-sitelinks-wikipedia}} | wikiquote = {{int|wikibase-sitelinks-wikiquote}} | wikisource = {{int|wikibase-sitelinks-wikisource}} | wikispecies = {{int|wikibase-otherprojects-species}} | wikistats = {{int|wikimedia-wikistats-label}} | wikitech = {{int|project-localized-name-labswiki}} | wikiversity = {{int|wikibase-sitelinks-wikiversity}} | wikivoyage = {{int|wikibase-sitelinks-wikivoyage}} | wiktionary | wikt = {{int|wikibase-sitelinks-wiktionary}} | x | twitter | tw = {{labelT|Q918}} | yahoo | yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube | yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} 4alxmq27659t0auivl5zcecoelm64bt 10372 10371 2024-09-28T02:28:42Z meta>FuzzyBot 0 Updating to match new version of source page 10372 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | about = {{int|about}} | activities = {{int|wm-commonstrings-activities}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|wikilambda-function-details-table-approve}} | archives = {{ucfirst:{{labelT|Q56648173}}}} | agenda = {{int|wm-commonstrings-agenda}} | average = {{int|exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = {{int|wm-commonstrings-background}} | blog = {{ucfirst:{{labelT|Q30849}}}} | category = {{int|nstab-category}} | closed = {{int|wm-commonstrings-closed}} | conclusion = {{int|wm-commonstrings-conclusion}} | contact us | contactus = {{int|wm-commonstrings-contactus}} | diff = {{ucfirst:{{int|diff}}}} | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = {{int|wm-commonstrings-connect}} | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discord = {{labelT|Q22907849}} | discussion = {{int|talk}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = {{int|wm-commonstrings-events}} | external links = {{int|wm-commonstrings-externallinks}} | facebook |fb = {{labelT|Q355}} | feedback = {{int|specialblockfeedback}} | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms | gforms = {{labelT|Q47014869}} | google meet | gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca | identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram | insta = {{labelT|Q209330}} | introduction = {{int|growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | leadership = Leadership | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | mainpage | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki | mw = {{int|wikibase-sitelinks-sitename-mediawikiwiki}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki | meta | metawiki = {{int|project-localized-name-metawiki}} | minutes = {{ucfirst:{{labelT|Q2085515}}}} | more information | more info = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = {{int|wm-commonstrings-noticeboard}} | objectives = {{int|wm-commonstrings-objectives}} | ongoing = {{int|wm-commonstrings-ongoing}} | open = {{int|wm-commonstrings-open}} | other = {{int|visualeditor-shortcuts-other}} | overview = {{int|wm-commonstrings-overview}} | participate = {{int|wm-commonstrings-participate}} | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | policies and guidelines | meta-policy-guidelines | policy-guidelines = {{int|wm-commonstrings-policies-guidelines}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | purpose = {{int|wm-commonstrings-purpose}} | qualtrics | qual = {{labelT|Q7268803}} | questions | questions? = {{int|wm-commonstrings-questions}} | quicksurveys | qsurveys = {{int|ext-quicksurveys-name}} | quora | quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = {{int|wm-commonstrings-reports}} | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = {{ucfirst:{{labelT|Q106485006}}}} | scope = {{int|wm-commonstrings-scope}} | see also |seealso = {{int|wm-commonstrings-seealso}} | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | staff = {{int|wm-commonstrings-staff}} | start = {{int|pagetriage-filter-predicted-class-start}} | statistics | stats = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us | talktous = {{int|wm-commonstrings-talktous}} | telegram = {{labelT|Q15616276}} | test wikipedia = {{int|project-localized-name-testwiki}} | tiktok = {{labelT|Q48938223}} | total = {{int|sitematrix-sitetotal}} | translations = {{int|centralnotice-translations}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = {{int|wm-commonstrings-updates}} | whatsapp = {{labelT|Q1049511}} | wikibooks = {{int|wikibase-sitelinks-wikibooks}} | wikidata = {{int|wikibase-repo-name}} | wikifunctions = {{int|wikibase-otherprojects-wikifunctions}} | wikimania = {{int|project-localized-name-wikimaniawiki}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{int|wikimedia-otherprojects-cloudservices}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{int|wikimedia-otherprojects-endowment}} | wikimedia enterprise = {{int|wikimedia-otherprojects-enterprise}} | wikimedia foundation | wmf = {{int|wikibase-otherprojects-foundation}} | wikimedia foundation, inc. | wmf inc | wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = {{int|wikimedia-foundation-projects-label}} | wikimedia incubator = {{int|project-localized-name-incubatorwiki}} | wikimedia mailservices = {{int|wikimedia-mailservices-label}} | wikimedia outreach |wikimedia outreach wiki = {{int|project-localized-name-outreachwiki}} | wikimedia phabricator = {{int|wikimedia-otherprojects-phabricator}} | wikimedia projects = {{int|wikimedia-projects-label}} | wikinews = {{int|wikibase-sitelinks-wikinews}} | wikipedia = {{int|wikibase-sitelinks-wikipedia}} | wikiquote = {{int|wikibase-sitelinks-wikiquote}} | wikisource = {{int|wikibase-sitelinks-wikisource}} | wikispecies = {{int|wikibase-otherprojects-species}} | wikistats = {{int|wikimedia-wikistats-label}} | wikitech = {{int|project-localized-name-labswiki}} | wikiversity = {{int|wikibase-sitelinks-wikiversity}} | wikivoyage = {{int|wikibase-sitelinks-wikivoyage}} | wiktionary | wikt = {{int|wikibase-sitelinks-wiktionary}} | x | twitter | tw = {{labelT|Q918}} | yahoo | yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube | yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} rfbm9426g42russuy7heekyez9x4fjv 10373 10372 2024-10-24T01:59:14Z meta>FuzzyBot 0 Updating to match new version of source page 10373 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | about = {{int|about}} | activities = {{int|wm-commonstrings-activities}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|wikilambda-function-details-table-approve}} | archives = {{ucfirst:{{labelT|Q56648173}}}} | agenda = {{int|wm-commonstrings-agenda}} | average = {{int|exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = {{int|wm-commonstrings-background}} | blog = {{ucfirst:{{labelT|Q30849}}}} | category = {{int|nstab-category}} | closed = {{int|wm-commonstrings-closed}} | conclusion = {{int|wm-commonstrings-conclusion}} | contact us | contactus = {{int|wm-commonstrings-contactus}} | diff = {{ucfirst:{{int|diff}}}} | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = {{int|wm-commonstrings-connect}} | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discord = {{labelT|Q22907849}} | discussion = {{int|talk}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = {{int|wm-commonstrings-events}} | external links = {{int|wm-commonstrings-externallinks}} | facebook |fb = {{labelT|Q355}} | feedback = Feedback | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms | gforms = {{labelT|Q47014869}} | google meet | gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca | identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram | insta = {{labelT|Q209330}} | introduction = {{int|growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | leadership = Leadership | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | mainpage | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki | mw = {{int|wikibase-sitelinks-sitename-mediawikiwiki}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki | meta | metawiki = {{int|project-localized-name-metawiki}} | minutes = {{ucfirst:{{labelT|Q2085515}}}} | more information | more info = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = {{int|wm-commonstrings-noticeboard}} | objectives = {{int|wm-commonstrings-objectives}} | ongoing = {{int|wm-commonstrings-ongoing}} | open = {{int|wm-commonstrings-open}} | other = {{int|visualeditor-shortcuts-other}} | overview = {{int|wm-commonstrings-overview}} | participate = {{int|wm-commonstrings-participate}} | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | policies and guidelines | meta-policy-guidelines | policy-guidelines = {{int|wm-commonstrings-policies-guidelines}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | purpose = {{int|wm-commonstrings-purpose}} | qualtrics | qual = {{labelT|Q7268803}} | questions | questions? = {{int|wm-commonstrings-questions}} | quicksurveys | qsurveys = {{int|ext-quicksurveys-name}} | quora | quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = {{int|wm-commonstrings-reports}} | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = {{ucfirst:{{labelT|Q106485006}}}} | scope = {{int|wm-commonstrings-scope}} | see also |seealso = {{int|wm-commonstrings-seealso}} | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | staff = {{int|wm-commonstrings-staff}} | start = {{int|pagetriage-filter-predicted-class-start}} | statistics | stats = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us | talktous = {{int|wm-commonstrings-talktous}} | telegram = {{labelT|Q15616276}} | test wikipedia = {{int|project-localized-name-testwiki}} | tiktok = {{labelT|Q48938223}} | total = {{int|sitematrix-sitetotal}} | translations = {{int|centralnotice-translations}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = {{int|wm-commonstrings-updates}} | whatsapp = {{labelT|Q1049511}} | wikibooks = {{int|wikibase-sitelinks-wikibooks}} | wikidata = {{int|wikibase-repo-name}} | wikifunctions = {{int|wikibase-otherprojects-wikifunctions}} | wikimania = {{int|project-localized-name-wikimaniawiki}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{int|wikimedia-otherprojects-cloudservices}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{int|wikimedia-otherprojects-endowment}} | wikimedia enterprise = {{int|wikimedia-otherprojects-enterprise}} | wikimedia foundation | wmf = {{int|wikibase-otherprojects-foundation}} | wikimedia foundation, inc. | wmf inc | wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = {{int|wikimedia-foundation-projects-label}} | wikimedia incubator = {{int|project-localized-name-incubatorwiki}} | wikimedia mailservices = {{int|wikimedia-mailservices-label}} | wikimedia outreach |wikimedia outreach wiki = {{int|project-localized-name-outreachwiki}} | wikimedia phabricator = {{int|wikimedia-otherprojects-phabricator}} | wikimedia projects = {{int|wikimedia-projects-label}} | wikinews = {{int|wikibase-sitelinks-wikinews}} | wikipedia = {{int|wikibase-sitelinks-wikipedia}} | wikiquote = {{int|wikibase-sitelinks-wikiquote}} | wikisource = {{int|wikibase-sitelinks-wikisource}} | wikispecies = {{int|wikibase-otherprojects-species}} | wikistats = {{int|wikimedia-wikistats-label}} | wikitech = {{int|project-localized-name-labswiki}} | wikiversity = {{int|wikibase-sitelinks-wikiversity}} | wikivoyage = {{int|wikibase-sitelinks-wikivoyage}} | wiktionary | wikt = {{int|wikibase-sitelinks-wiktionary}} | x | twitter | tw = {{labelT|Q918}} | yahoo | yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube | yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} ke9bn47p2tlqfrdwl3520jra7ekqohf 10374 10373 2025-02-11T21:12:50Z meta>FuzzyBot 0 Updating to match new version of source page 10374 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | about = {{int|about}} | activities = {{int|wm-commonstrings-activities}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|wikilambda-function-details-table-approve}} | archives = {{ucfirst:{{labelT|Q56648173}}}} | agenda = {{int|wm-commonstrings-agenda}} | average = {{int|exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = {{int|wm-commonstrings-background}} | blog = {{ucfirst:{{labelT|Q30849}}}} | category = {{int|nstab-category}} | closed = {{int|wm-commonstrings-closed}} | conclusion = {{int|wm-commonstrings-conclusion}} | contact us | contactus = {{int|wm-commonstrings-contactus}} | diff = {{ucfirst:{{int|diff}}}} | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = {{int|wm-commonstrings-connect}} | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discord = {{labelT|Q22907849}} | discussion = {{int|talk}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = {{int|wm-commonstrings-events}} | external links = {{int|wm-commonstrings-externallinks}} | facebook |fb = {{labelT|Q355}} | feedback = Feedback | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms | gforms = {{labelT|Q47014869}} | google meet | gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca | identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram | insta = {{labelT|Q209330}} | introduction = {{int|growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | leadership = Leadership | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | mainpage | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki | mw = {{int|wikibase-sitelinks-sitename-mediawikiwiki}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki | meta | metawiki = {{int|project-localized-name-metawiki}} | minutes = {{ucfirst:{{labelT|Q2085515}}}} | more information | more info = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = {{int|wm-commonstrings-noticeboard}} | objectives = {{int|wm-commonstrings-objectives}} | ongoing = {{int|wm-commonstrings-ongoing}} | open = {{int|wm-commonstrings-open}} | other = {{int|visualeditor-shortcuts-other}} | overview = {{int|wm-commonstrings-overview}} | participate = {{int|wm-commonstrings-participate}} | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | policies and guidelines | meta-policy-guidelines | policy-guidelines = {{int|wm-commonstrings-policies-guidelines}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | purpose = {{int|wm-commonstrings-purpose}} | qualtrics | qual = {{labelT|Q7268803}} | questions | questions? = {{int|wm-commonstrings-questions}} | quicksurveys | qsurveys = {{int|ext-quicksurveys-name}} | quora | quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = {{int|wm-commonstrings-reports}} | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = {{ucfirst:{{labelT|Q106485006}}}} | scope = {{int|wm-commonstrings-scope}} | see also |seealso = {{int|wm-commonstrings-seealso}} | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | staff = {{int|wm-commonstrings-staff}} | start = {{int|pagetriage-filter-predicted-class-start}} | statistics | stats = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us | talktous = {{int|wm-commonstrings-talktous}} | telegram = {{labelT|Q15616276}} | test wikipedia = {{int|project-localized-name-testwiki}} | tiktok = {{labelT|Q48938223}} | total = {{int|sitematrix-sitetotal}} | translations = {{int|centralnotice-translations}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = {{int|wm-commonstrings-updates}} | whatsapp = {{labelT|Q1049511}} | wikibooks = {{int|wikibase-sitelinks-wikibooks}} | wikidata = {{int|wikibase-repo-name}} | wikifunctions = {{int|wikibase-otherprojects-wikifunctions}} | wikimania = {{int|project-localized-name-wikimaniawiki}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{int|wikimedia-otherprojects-cloudservices}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{int|wikimedia-otherprojects-endowment}} | wikimedia enterprise = {{int|wikimedia-otherprojects-enterprise}} | wikimedia foundation | wmf = {{int|wikibase-otherprojects-foundation}} | wikimedia foundation, inc. | wmf inc | wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = {{int|wikimedia-foundation-projects-label}} | wikimedia incubator = {{int|project-localized-name-incubatorwiki}} | wikimedia mailservices = {{int|wikimedia-mailservices-label}} | wikimedia outreach |wikimedia outreach wiki = {{int|project-localized-name-outreachwiki}} | wikimedia phabricator = {{int|wikimedia-otherprojects-phabricator}} | wikimedia projects = {{int|wikimedia-projects-label}} | wikinews = {{int|wikibase-sitelinks-wikinews}} | wikipedia = {{int|wikibase-sitelinks-wikipedia}} | wikiquote = {{int|wikibase-sitelinks-wikiquote}} | wikisource = {{int|wikibase-sitelinks-wikisource}} | wikispecies = {{int|wikibase-otherprojects-species}} | wikistats = {{int|wikimedia-wikistats-label}} | wikitech = {{int|project-localized-name-labswiki}} | wikiversity = {{int|wikibase-sitelinks-wikiversity}} | wikivoyage = {{int|wikibase-sitelinks-wikivoyage}} | wiktionary | wikt = {{int|wikibase-sitelinks-wiktionary}} | x | twitter | tw = {{labelT|Q918}} | yahoo | yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube | yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string]]}}</includeonly> }} oc46txq1cy19ctru43nwkw5xo5lqp4i 10375 10374 2026-02-11T17:26:52Z meta>FuzzyBot 0 Updating to match new version of source page 10375 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | about = {{int|about}} | activities = {{int|wm-commonstrings-activities}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|wikilambda-function-details-table-approve}} | archives = {{ucfirst:{{labelT|Q56648173}}}} | agenda = {{int|wm-commonstrings-agenda}} | average = {{int|exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = {{int|wm-commonstrings-background}} | blog = {{ucfirst:{{labelT|Q30849}}}} | category = {{int|nstab-category}} | closed = {{int|wm-commonstrings-closed}} | conclusion = {{int|wm-commonstrings-conclusion}} | contact us | contactus = {{int|wm-commonstrings-contactus}} | diff = {{ucfirst:{{int|diff}}}} | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = {{int|wm-commonstrings-connect}} | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discord = {{labelT|Q22907849}} | discussion = {{int|talk}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = {{int|wm-commonstrings-events}} | external links = {{int|wm-commonstrings-externallinks}} | facebook |fb = {{labelT|Q355}} | feedback = Feedback | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms | gforms = {{labelT|Q47014869}} | google meet | gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca | identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram | insta = {{labelT|Q209330}} | introduction = {{int|growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | leadership = Leadership | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | mainpage | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki | mw = {{int|wikibase-sitelinks-sitename-mediawikiwiki}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki | meta | metawiki = {{int|project-localized-name-metawiki}} | minutes = {{ucfirst:{{labelT|Q2085515}}}} | more information | more info = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = {{int|wm-commonstrings-noticeboard}} | objectives = {{int|wm-commonstrings-objectives}} | ongoing = {{int|wm-commonstrings-ongoing}} | open = {{int|wm-commonstrings-open}} | other = {{int|visualeditor-shortcuts-other}} | overview = {{int|wm-commonstrings-overview}} | participate = {{int|wm-commonstrings-participate}} | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | policies and guidelines | meta-policy-guidelines | policy-guidelines = {{int|wm-commonstrings-policies-guidelines}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | purpose = {{int|wm-commonstrings-purpose}} | qualtrics | qual = {{labelT|Q7268803}} | questions | questions? = {{int|wm-commonstrings-questions}} | quicksurveys | qsurveys = {{int|ext-quicksurveys-name}} | quora | quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = {{int|wm-commonstrings-reports}} | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = {{ucfirst:{{labelT|Q106485006}}}} | scope = {{int|wm-commonstrings-scope}} | see also |seealso = {{int|wm-commonstrings-seealso}} | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | staff = {{int|wm-commonstrings-staff}} | start = {{int|pagetriage-filter-predicted-class-start}} | statistics | stats = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us | talktous = {{int|wm-commonstrings-talktous}} | telegram = {{labelT|Q15616276}} | test wikipedia = {{int|project-localized-name-testwiki}} | tiktok = {{labelT|Q48938223}} | total = {{int|sitematrix-sitetotal}} | translations = {{int|centralnotice-translations}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = {{int|wm-commonstrings-updates}} | wayback | wayback machine | waybackmachine = {{labelT|Q648266}} | whatsapp = {{labelT|Q1049511}} | wikibooks = {{int|wikibase-sitelinks-wikibooks}} | wikidata = {{int|wikibase-repo-name}} | wikifunctions = {{int|wikibase-otherprojects-wikifunctions}} | wikimania = {{int|project-localized-name-wikimaniawiki}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{int|wikimedia-otherprojects-cloudservices}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{int|wikimedia-otherprojects-endowment}} | wikimedia enterprise = {{int|wikimedia-otherprojects-enterprise}} | wikimedia foundation | wmf = {{int|wikibase-otherprojects-foundation}} | wikimedia foundation, inc. | wmf inc | wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = {{int|wikimedia-foundation-projects-label}} | wikimedia incubator = {{int|project-localized-name-incubatorwiki}} | wikimedia mailservices = {{int|wikimedia-mailservices-label}} | wikimedia outreach |wikimedia outreach wiki = {{int|project-localized-name-outreachwiki}} | wikimedia phabricator = {{int|wikimedia-otherprojects-phabricator}} | wikimedia projects = {{int|wikimedia-projects-label}} | wikinews = {{int|wikibase-sitelinks-wikinews}} | wikipedia = {{int|wikibase-sitelinks-wikipedia}} | wikiquote = {{int|wikibase-sitelinks-wikiquote}} | wikisource = {{int|wikibase-sitelinks-wikisource}} | wikispecies = {{int|wikibase-otherprojects-species}} | wikistats = {{int|wikimedia-wikistats-label}} | wikitech = {{int|project-localized-name-labswiki}} | wikiversity = {{int|wikibase-sitelinks-wikiversity}} | wikivoyage = {{int|wikibase-sitelinks-wikivoyage}} | wiktionary | wikt = {{int|wikibase-sitelinks-wiktionary}} | x | twitter | tw = {{labelT|Q918}} | yahoo | yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube | yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string]]}}</includeonly> }} kguuc2nw70mhup14z3i4kez1p7z3x0h 10376 10375 2026-02-11T17:30:53Z meta>FuzzyBot 0 Updating to match new version of source page 10376 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | about = {{int|about}} | activities = {{int|wm-commonstrings-activities}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|wikilambda-function-details-table-approve}} | archives = {{ucfirst:{{labelT|Q56648173}}}} | agenda = {{int|wm-commonstrings-agenda}} | average = {{int|exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = {{int|wm-commonstrings-background}} | blog = {{ucfirst:{{labelT|Q30849}}}} | category = {{int|nstab-category}} | closed = {{int|wm-commonstrings-closed}} | conclusion = {{int|wm-commonstrings-conclusion}} | contact us | contactus = {{int|wm-commonstrings-contactus}} | diff = {{ucfirst:{{int|diff}}}} | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = {{int|wm-commonstrings-connect}} | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discord = {{labelT|Q22907849}} | discussion = {{int|talk}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = {{int|wm-commonstrings-events}} | external links = {{int|wm-commonstrings-externallinks}} | facebook |fb = {{labelT|Q355}} | feedback = Feedback | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms | gforms = {{labelT|Q47014869}} | google meet | gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca | identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram | insta = {{labelT|Q209330}} | introduction = {{int|growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | leadership = Leadership | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | mainpage | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki | mw = {{int|wikibase-sitelinks-sitename-mediawikiwiki}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki | meta | metawiki = {{int|project-localized-name-metawiki}} | minutes = {{ucfirst:{{labelT|Q2085515}}}} | more information | more info = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = {{int|wm-commonstrings-noticeboard}} | objectives = {{int|wm-commonstrings-objectives}} | ongoing = {{int|wm-commonstrings-ongoing}} | open = {{int|wm-commonstrings-open}} | other = {{int|visualeditor-shortcuts-other}} | overview = {{int|wm-commonstrings-overview}} | participate = {{int|wm-commonstrings-participate}} | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | policies and guidelines | meta-policy-guidelines | policy-guidelines = {{int|wm-commonstrings-policies-guidelines}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | purpose = {{int|wm-commonstrings-purpose}} | qualtrics | qual = {{labelT|Q7268803}} | questions | questions? = {{int|wm-commonstrings-questions}} | quicksurveys | qsurveys = {{int|ext-quicksurveys-name}} | quora | quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = {{int|wm-commonstrings-reports}} | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = {{ucfirst:{{labelT|Q106485006}}}} | scope = {{int|wm-commonstrings-scope}} | see also |seealso = {{int|wm-commonstrings-seealso}} | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | staff = {{int|wm-commonstrings-staff}} | start = {{int|pagetriage-filter-predicted-class-start}} | statistics | stats = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us | talktous = {{int|wm-commonstrings-talktous}} | telegram = {{labelT|Q15616276}} | test wikipedia = {{int|project-localized-name-testwiki}} | tiktok = {{labelT|Q48938223}} | total = {{int|sitematrix-sitetotal}} | translations = {{int|centralnotice-translations}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = {{int|wm-commonstrings-updates}} | wayback | wayback machine | waybackmachine = {{labelT|Q648266}} | whatsapp = {{labelT|Q1049511}} | wikibooks = {{int|wikibase-sitelinks-wikibooks}} | wikidata = {{int|wikibase-repo-name}} | wikifunctions = {{int|wikibase-otherprojects-wikifunctions}} | wikimania = {{int|project-localized-name-wikimaniawiki}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{int|wikimedia-otherprojects-cloudservices}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{int|wikimedia-otherprojects-endowment}} | wikimedia enterprise = {{int|wikimedia-otherprojects-enterprise}} | wikimedia foundation | wmf = {{int|wikibase-otherprojects-foundation}} | wikimedia foundation, inc. | wmf inc | wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = {{int|wikimedia-foundation-projects-label}} | wikimedia incubator = {{int|project-localized-name-incubatorwiki}} | wikimedia mailservices = {{int|wikimedia-mailservices-label}} | wikimedia outreach |wikimedia outreach wiki = {{int|project-localized-name-outreachwiki}} | wikimedia phabricator = {{int|wikimedia-otherprojects-phabricator}} | wikimedia projects = {{int|wikimedia-projects-label}} | wikinews = {{int|wikibase-sitelinks-wikinews}} | wikipedia = {{int|wikibase-sitelinks-wikipedia}} | wikiquote = {{int|wikibase-sitelinks-wikiquote}} | wikisource = {{int|wikibase-sitelinks-wikisource}} | wikispecies = {{int|wikibase-otherprojects-species}} | wikistats = {{int|wikimedia-wikistats-label}} | wikitech = {{int|project-localized-name-labswiki}} | wikiversity = {{int|wikibase-sitelinks-wikiversity}} | wikivoyage = {{int|wikibase-sitelinks-wikivoyage}} | wiktionary | wikt = {{int|wikibase-sitelinks-wiktionary}} | x | twitter | tw = {{labelT|Q918}} | yahoo | yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube | yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} 6jrms5xlq71lah8bam0y53e2zfjzhzp 10377 10376 2026-08-24T13:01:00Z RAPTOR7762 18 123 revisions imported from [[:meta:Template:Int_string/en]] 10376 wikitext text/x-wiki <noinclude><languages /> {{Help translate/Common messages}} {{documentation|Template:Int string/doc}} </noinclude>{{#switch: {{lc:{{{1|{{{string|}}}}}}}} | about = {{int|about}} | activities = {{int|wm-commonstrings-activities}} | appendix = {{ucfirst:{{labelT|Q1376568}}}} | approve = {{int|wikilambda-function-details-table-approve}} | archives = {{ucfirst:{{labelT|Q56648173}}}} | agenda = {{int|wm-commonstrings-agenda}} | average = {{int|exif-meteringmode-1}} | back to top = {{ucfirst:{{int|monobook-jumptotop}}}} | background = {{int|wm-commonstrings-background}} | blog = {{ucfirst:{{labelT|Q30849}}}} | category = {{int|nstab-category}} | closed = {{int|wm-commonstrings-closed}} | conclusion = {{int|wm-commonstrings-conclusion}} | contact us | contactus = {{int|wm-commonstrings-contactus}} | diff = {{ucfirst:{{int|diff}}}} | done = {{int|Upload-dialog-button-done}} | commons = {{int|wikibase-sitelinks-sitename-commonswiki}} | connect = {{int|wm-commonstrings-connect}} | contribute = {{int|contribute}} | creative commons |cc = {{labelT|Q43449}} | description = {{int|upload-form-label-infoform-description}} | discord = {{labelT|Q22907849}} | discussion = {{int|talk}} | encarta |msn encarta = {{labelT|Q231136}} | encyclopedia britannica online |encyclopædia britannica online |britannica = {{labelT|Q5375741}} | etherpad |pad = {{labelT|Q998543}} | eventbrite |evtb = {{labelT|Q5416738}} | events = {{int|wm-commonstrings-events}} | external links = {{int|wm-commonstrings-externallinks}} | facebook |fb = {{labelT|Q355}} | feedback = Feedback | frequently asked questions |faq = {{int|donate_interface-faqs}} | google = {{labelT|Q95}} | google forms | gforms = {{labelT|Q47014869}} | google meet | gmeet = {{labelT|Q56669074}} | guidelines = {{int|growthexperiments-help-panel-suggestededits-tips-vector-visualeditor-link-recommendation-header-rules1}} | history = {{int|history_short}} | identi.ca | identica |ica = {{labelT|Q28773}} | image | photo = {{int|visualeditor-media-title-image}} | instagram | insta = {{labelT|Q209330}} | introduction = {{int|growthexperiments-structuredtask-onboarding-dialog-title}} | leave feedback = {{ucfirst:{{lc:{{int|specialinvestigate-feedback}}}}}} | leadership = Leadership | legend = {{int|interwiki-legend-label}} | limesurvey = {{labelT|Q1514978}} | lingua libre = {{labelT|Q60024037}} | linkedin = {{labelT|Q213660}} | main page | main | mainpage | home = {{int|mainpage-description}} | matrix = {{labelT|Q22906785}} | mediawiki | mw = {{int|wikibase-sitelinks-sitename-mediawikiwiki}} | membership = {{ucfirst:{{labelT|Q60844538}}}} | meta-wiki | meta | metawiki = {{int|project-localized-name-metawiki}} | minutes = {{ucfirst:{{labelT|Q2085515}}}} | more information | more info = {{int|visualeditor-dialog-media-info-moreinfo}} | name = {{int|allmessagesname}} | no = {{int|confirmable-no}} | notes = {{int|wm-license-artwork-notes}} | noticeboard = {{int|wm-commonstrings-noticeboard}} | objectives = {{int|wm-commonstrings-objectives}} | ongoing = {{int|wm-commonstrings-ongoing}} | open = {{int|wm-commonstrings-open}} | other = {{int|visualeditor-shortcuts-other}} | overview = {{int|wm-commonstrings-overview}} | participate = {{int|wm-commonstrings-participate}} | phabricator | phab = {{labelT|Q16509734}} | plan = {{ucfirst:{{labelT|Q1371819}}}} | policies and guidelines | meta-policy-guidelines | policy-guidelines = {{int|wm-commonstrings-policies-guidelines}} | position = {{int|checkuser-investigateblock-notice-position-label}} | projects = {{int|centralnotice-projects}} | purpose = {{int|wm-commonstrings-purpose}} | qualtrics | qual = {{labelT|Q7268803}} | questions | questions? = {{int|wm-commonstrings-questions}} | quicksurveys | qsurveys = {{int|ext-quicksurveys-name}} | quora | quo = {{labelT|Q51711}} | reddit = {{labelT|Q1136}} | references = {{int|wm-license-artwork-references}} | reports = {{int|wm-commonstrings-reports}} | research = {{ucfirst:{{labelT|Q42240}}}} | resources = {{int|growthexperiments-mentor-dashboard-resources-headline}} | roadmap = {{ucfirst:{{labelT|Q106485006}}}} | scope = {{int|wm-commonstrings-scope}} | see also |seealso = {{int|wm-commonstrings-seealso}} | skype = {{labelT|Q40984}} | social media = {{ucfirst:{{labelT|Q202833}}}} | staff = {{int|wm-commonstrings-staff}} | start = {{int|pagetriage-filter-predicted-class-start}} | statistics | stats = {{int|wikimedia-statslink}} | status = {{int|centralauth-rename-table-status}} | summary = {{int|filedesc}} | surveymonkey = {{labelT|Q162852}} | talk to us | talktous = {{int|wm-commonstrings-talktous}} | telegram = {{labelT|Q15616276}} | test wikipedia = {{int|project-localized-name-testwiki}} | tiktok = {{labelT|Q48938223}} | total = {{int|sitematrix-sitetotal}} | translations = {{int|centralnotice-translations}} | type = {{int|math-wikibase-formula-type}} | upcoming = {{ucfirst:{{labelT|Q57248993}}}} | updates = {{int|wm-commonstrings-updates}} | wayback | wayback machine | waybackmachine = {{labelT|Q648266}} | whatsapp = {{labelT|Q1049511}} | wikibooks = {{int|wikibase-sitelinks-wikibooks}} | wikidata = {{int|wikibase-repo-name}} | wikifunctions = {{int|wikibase-otherprojects-wikifunctions}} | wikimania = {{int|project-localized-name-wikimaniawiki}} | wikimedia = {{int|wikimediaapiportal-skin-site-name-main}} | wikimedia cloud services = {{int|wikimedia-otherprojects-cloudservices}} | wikimedia commons = {{int|project-localized-name-commonswiki}} | wikimedia endowment = {{int|wikimedia-otherprojects-endowment}} | wikimedia enterprise = {{int|wikimedia-otherprojects-enterprise}} | wikimedia foundation | wmf = {{int|wikibase-otherprojects-foundation}} | wikimedia foundation, inc. | wmf inc | wmf inc. = {{int|wikibase-page-schema-publisher-name}} | wikimedia foundation projects = {{int|wikimedia-foundation-projects-label}} | wikimedia incubator = {{int|project-localized-name-incubatorwiki}} | wikimedia mailservices = {{int|wikimedia-mailservices-label}} | wikimedia outreach |wikimedia outreach wiki = {{int|project-localized-name-outreachwiki}} | wikimedia phabricator = {{int|wikimedia-otherprojects-phabricator}} | wikimedia projects = {{int|wikimedia-projects-label}} | wikinews = {{int|wikibase-sitelinks-wikinews}} | wikipedia = {{int|wikibase-sitelinks-wikipedia}} | wikiquote = {{int|wikibase-sitelinks-wikiquote}} | wikisource = {{int|wikibase-sitelinks-wikisource}} | wikispecies = {{int|wikibase-otherprojects-species}} | wikistats = {{int|wikimedia-wikistats-label}} | wikitech = {{int|project-localized-name-labswiki}} | wikiversity = {{int|wikibase-sitelinks-wikiversity}} | wikivoyage = {{int|wikibase-sitelinks-wikivoyage}} | wiktionary | wikt = {{int|wikibase-sitelinks-wiktionary}} | x | twitter | tw = {{labelT|Q918}} | yahoo | yahoo! = {{labelT|Q37093}} | yes = {{int|confirmable-yes}} | youtube | yt = {{labelT|Q866}} | zoom = {{labelT|Q94979732}} | <includeonly>#default = {{{1|{{{string|}}}}}}{{#if:{{{1|{{{string|}}}}}}|[[Category:Pages with missing string in Template:Int string{{#translation:}}]]|[[Category:Pages with incorrect usage of Template:Int string{{#translation:}}]]}}</includeonly> }} 6jrms5xlq71lah8bam0y53e2zfjzhzp Tempilet:LabelT 10 1257 10378 2023-01-14T18:15:00Z meta>Pols12 0 Created page with "{{label |1={{{item|{{{1|}}}}}} |2={{{lang|{{{2|{{PAGELANGUAGE}}}}}}}} |link={{{link|-}}} |capitalization={{{capitalization|none}}} |show_id={{{show_id|}}} }}<noinclude> {{documentation|Template:Label/doc}} </noinclude>" 10378 wikitext text/x-wiki {{label |1={{{item|{{{1|}}}}}} |2={{{lang|{{{2|{{PAGELANGUAGE}}}}}}}} |link={{{link|-}}} |capitalization={{{capitalization|none}}} |show_id={{{show_id|}}} }}<noinclude> {{documentation|Template:Label/doc}} </noinclude> 7eenosg8ddpis34kimc1qck1y416dqi 10379 10378 2023-01-15T18:01:10Z meta>MusikBot II 0 Protected "[[Template:LabelT]]": High-risk template or module ([[User:MusikBot II/TemplateProtector|more info]]) ([Edit=Allow only autoconfirmed users] (indefinite)) 10378 wikitext text/x-wiki {{label |1={{{item|{{{1|}}}}}} |2={{{lang|{{{2|{{PAGELANGUAGE}}}}}}}} |link={{{link|-}}} |capitalization={{{capitalization|none}}} |show_id={{{show_id|}}} }}<noinclude> {{documentation|Template:Label/doc}} </noinclude> 7eenosg8ddpis34kimc1qck1y416dqi 10380 10379 2024-03-06T18:06:08Z meta>MusikBot II 0 Changed protection settings for "[[Template:LabelT]]": High-risk template or module ([[User:MusikBot II/TemplateProtector|more info]]) ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) 10378 wikitext text/x-wiki {{label |1={{{item|{{{1|}}}}}} |2={{{lang|{{{2|{{PAGELANGUAGE}}}}}}}} |link={{{link|-}}} |capitalization={{{capitalization|none}}} |show_id={{{show_id|}}} }}<noinclude> {{documentation|Template:Label/doc}} </noinclude> 7eenosg8ddpis34kimc1qck1y416dqi 10381 10380 2026-08-24T13:01:00Z RAPTOR7762 18 3 revisions imported from [[:meta:Template:LabelT]] 10378 wikitext text/x-wiki {{label |1={{{item|{{{1|}}}}}} |2={{{lang|{{{2|{{PAGELANGUAGE}}}}}}}} |link={{{link|-}}} |capitalization={{{capitalization|none}}} |show_id={{{show_id|}}} }}<noinclude> {{documentation|Template:Label/doc}} </noinclude> 7eenosg8ddpis34kimc1qck1y416dqi Tempilet:Bole Wikimedians User Group/footer 10 1263 10401 2026-08-24T13:07:54Z RAPTOR7762 18 RAPTOR7762 moved page [[Tempilet:Bole Wikimedians User Group/footer]] to [[Tempilet:Bole Wikimedians User Group]] 10401 wikitext text/x-wiki #REDIRECT [[Tempilet:Bole Wikimedians User Group]] 16b61ebn4jsy3hpvisjr5tsotbmi1yk Tempilet:Top icon 10 1264 10405 2025-09-08T19:55:47Z en>RMCD bot 0 Removing notice of move discussion 10405 wikitext text/x-wiki <includeonly><nowiki /><!-- This nowiki tag helps prevent whitespace at the top of articles. -->{{#tag:indicator|[[File:{{{image|{{{imagename|{{{1|}}}}}}}}}|{{#if:{{{width|}}}|{{Str number/trim|{{{width}}}}}|20}}x{{#if:{{{height|}}}|{{Str number/trim|{{{height}}}}}|20}}px<!-- --> {{#ifeq:{{{link|+}}}|{{{link|-}}}|{{!}}link={{{link}}}|{{#ifeq:{{{wikilink|+}}}|{{{wikilink|-}}}|{{!}}link={{{wikilink}}}|{{#ifeq:{{{2|+}}}|{{{2|-}}}|{{!}}link={{{2}}}|}}}}}}<!-- --> {{#if:{{{alt|}}}|{{!}}alt={{{alt}}}}}<!-- --> {{#if:{{{skin-invert|}}}|{{!}}class=skin-invert}}<!-- --> |{{{text|{{{description|{{{3|icon}}}}}}}}}]] |name = {{#if:{{{sortkey|}}}|{{{sortkey}}}-}}{{#if:{{{name|}}}|{{{name}}}|{{#if:{{{id|}}}|{{{id}}}|{{{image|{{{imagename|{{{1|}}}}}}}}}}}}}}}{{Category handler |user = {{{usercat|}}} |main = {{{maincat|}}} |subpage = {{{subpage|no}}} |nocat = {{{nocat|}}} }}<!-- Tracking categories -->{{#invoke:Check for unknown parameters|check|unknown=[[Category:Pages using Top icon with unknown parameters|_VALUE_{{PAGENAME}}]]|preview=Page using [[Template:Top icon]] with unknown parameter "_VALUE_"|showblankpositional=1| 1 | 2 | 3 | alt | description | height | id | image | imagename | link | maincat | name | nocat | sortkey | subpage | text | usercat | width | wikilink | skin-invert }}<!-- --></includeonly><noinclude> {{Documentation}} </noinclude> b5ha3emi1ayijkuc7vdxbblcmrqpf8c 10406 10405 2026-08-24T13:15:01Z RAPTOR7762 18 1 revision imported from [[:en:Template:Top_icon]] 10405 wikitext text/x-wiki <includeonly><nowiki /><!-- This nowiki tag helps prevent whitespace at the top of articles. -->{{#tag:indicator|[[File:{{{image|{{{imagename|{{{1|}}}}}}}}}|{{#if:{{{width|}}}|{{Str number/trim|{{{width}}}}}|20}}x{{#if:{{{height|}}}|{{Str number/trim|{{{height}}}}}|20}}px<!-- --> {{#ifeq:{{{link|+}}}|{{{link|-}}}|{{!}}link={{{link}}}|{{#ifeq:{{{wikilink|+}}}|{{{wikilink|-}}}|{{!}}link={{{wikilink}}}|{{#ifeq:{{{2|+}}}|{{{2|-}}}|{{!}}link={{{2}}}|}}}}}}<!-- --> {{#if:{{{alt|}}}|{{!}}alt={{{alt}}}}}<!-- --> {{#if:{{{skin-invert|}}}|{{!}}class=skin-invert}}<!-- --> |{{{text|{{{description|{{{3|icon}}}}}}}}}]] |name = {{#if:{{{sortkey|}}}|{{{sortkey}}}-}}{{#if:{{{name|}}}|{{{name}}}|{{#if:{{{id|}}}|{{{id}}}|{{{image|{{{imagename|{{{1|}}}}}}}}}}}}}}}{{Category handler |user = {{{usercat|}}} |main = {{{maincat|}}} |subpage = {{{subpage|no}}} |nocat = {{{nocat|}}} }}<!-- Tracking categories -->{{#invoke:Check for unknown parameters|check|unknown=[[Category:Pages using Top icon with unknown parameters|_VALUE_{{PAGENAME}}]]|preview=Page using [[Template:Top icon]] with unknown parameter "_VALUE_"|showblankpositional=1| 1 | 2 | 3 | alt | description | height | id | image | imagename | link | maincat | name | nocat | sortkey | subpage | text | usercat | width | wikilink | skin-invert }}<!-- --></includeonly><noinclude> {{Documentation}} </noinclude> b5ha3emi1ayijkuc7vdxbblcmrqpf8c Tempilet:FULLROOTPAGENAME 10 1265 10407 2022-01-02T08:54:02Z en>Dinoguy1000 0 fix "|=foo" bug 10407 wikitext text/x-wiki {{ safesubst:<noinclude/>#if: {{ safesubst:<noinclude/>Ns has subpages | {{ safesubst:<noinclude/>#if:{{{1|}}}|{{ safesubst:<noinclude/>NAMESPACE:{{{1}}}}}|{{ safesubst:<noinclude/>NAMESPACE}}}} }} | {{ safesubst:<noinclude/>#titleparts:{{ safesubst:<noinclude/>#if:{{{1|}}}|{{{1}}}|{{ safesubst:<noinclude/>FULLPAGENAME}}}}|1}} | {{ safesubst:<noinclude/>#if:{{{1|}}}|{{{1}}}|{{ safesubst:<noinclude/>FULLPAGENAME}}}} }}<noinclude> {{documentation}} </noinclude> tk494gglkhfogc40do2k58d4bbttx9o 10408 10407 2026-08-24T13:15:11Z RAPTOR7762 18 1 revision imported from [[:en:Template:FULLROOTPAGENAME]] 10407 wikitext text/x-wiki {{ safesubst:<noinclude/>#if: {{ safesubst:<noinclude/>Ns has subpages | {{ safesubst:<noinclude/>#if:{{{1|}}}|{{ safesubst:<noinclude/>NAMESPACE:{{{1}}}}}|{{ safesubst:<noinclude/>NAMESPACE}}}} }} | {{ safesubst:<noinclude/>#titleparts:{{ safesubst:<noinclude/>#if:{{{1|}}}|{{{1}}}|{{ safesubst:<noinclude/>FULLPAGENAME}}}}|1}} | {{ safesubst:<noinclude/>#if:{{{1|}}}|{{{1}}}|{{ safesubst:<noinclude/>FULLPAGENAME}}}} }}<noinclude> {{documentation}} </noinclude> tk494gglkhfogc40do2k58d4bbttx9o Tempilet:Ns has subpages 10 1266 10409 2022-03-02T10:43:18Z en>Trialpears 0 Changed protection settings for "[[Template:Ns has subpages]]": [[WP:High-risk templates|Highly visible template]] ([Edit=Require administrator access] (indefinite) [Move=Require administrator access] (indefinite)) 10409 wikitext text/x-wiki {{<includeonly>safesubst:</includeonly>#invoke:Ns has subpages|main}}<noinclude> {{documentation}} <!-- Categories go on the /doc subpage and interwikis go on Wikidata. --> </noinclude> 0pg457y46td6p53rdt8tyc76jeg9pa8 10410 10409 2026-08-24T13:15:11Z RAPTOR7762 18 1 revision imported from [[:en:Template:Ns_has_subpages]] 10409 wikitext text/x-wiki {{<includeonly>safesubst:</includeonly>#invoke:Ns has subpages|main}}<noinclude> {{documentation}} <!-- Categories go on the /doc subpage and interwikis go on Wikidata. --> </noinclude> 0pg457y46td6p53rdt8tyc76jeg9pa8 Module:Ns has subpages 828 1267 10411 2024-02-17T04:01:43Z en>Pppery 0 Changed protection settings for "[[Module:Ns has subpages]]": Per template ([Edit=Require administrator access] (indefinite) [Move=Require administrator access] (indefinite)) 10411 Scribunto text/plain -- This module implements [[Template:Ns has subpages]]. -- While the template is fairly simple, this information is made available to -- Lua directly, so using a module means that we don't have to update the -- template as new namespaces are added. local p = {} function p._main(ns, frame) -- Get the current namespace if we were not passed one. if not ns then ns = mw.title.getCurrentTitle().namespace end -- Look up the namespace table from mw.site.namespaces. This should work -- for a majority of cases. local nsTable = mw.site.namespaces[ns] -- Try using string matching to get the namespace from page names. -- Do a quick and dirty bad title check to try and make sure we do the same -- thing as {{NAMESPACE}} in most cases. if not nsTable and type(ns) == 'string' and not ns:find('[<>|%[%]{}]') then local nsStripped = ns:gsub('^[_%s]*:', '') nsStripped = nsStripped:gsub(':.*$', '') nsTable = mw.site.namespaces[nsStripped] end -- If we still have no match then try the {{NAMESPACE}} parser function, -- which should catch the remainder of cases. Don't use a mw.title object, -- as this would increment the expensive function count for each new page -- tested. if not nsTable then frame = frame or mw.getCurrentFrame() local nsProcessed = frame:callParserFunction('NAMESPACE', ns) nsTable = nsProcessed and mw.site.namespaces[nsProcessed] end return nsTable and nsTable.hasSubpages end function p.main(frame) local ns = frame:getParent().args[1] if ns then ns = ns:match('^%s*(.-)%s*$') -- trim whitespace ns = tonumber(ns) or ns end local hasSubpages = p._main(ns, frame) return hasSubpages and 'yes' or '' end return p qb0b1z2vff7kifnw21v205d791esbiz 10412 10411 2026-08-24T13:15:12Z RAPTOR7762 18 1 revision imported from [[:en:Module:Ns_has_subpages]] 10411 Scribunto text/plain -- This module implements [[Template:Ns has subpages]]. -- While the template is fairly simple, this information is made available to -- Lua directly, so using a module means that we don't have to update the -- template as new namespaces are added. local p = {} function p._main(ns, frame) -- Get the current namespace if we were not passed one. if not ns then ns = mw.title.getCurrentTitle().namespace end -- Look up the namespace table from mw.site.namespaces. This should work -- for a majority of cases. local nsTable = mw.site.namespaces[ns] -- Try using string matching to get the namespace from page names. -- Do a quick and dirty bad title check to try and make sure we do the same -- thing as {{NAMESPACE}} in most cases. if not nsTable and type(ns) == 'string' and not ns:find('[<>|%[%]{}]') then local nsStripped = ns:gsub('^[_%s]*:', '') nsStripped = nsStripped:gsub(':.*$', '') nsTable = mw.site.namespaces[nsStripped] end -- If we still have no match then try the {{NAMESPACE}} parser function, -- which should catch the remainder of cases. Don't use a mw.title object, -- as this would increment the expensive function count for each new page -- tested. if not nsTable then frame = frame or mw.getCurrentFrame() local nsProcessed = frame:callParserFunction('NAMESPACE', ns) nsTable = nsProcessed and mw.site.namespaces[nsProcessed] end return nsTable and nsTable.hasSubpages end function p.main(frame) local ns = frame:getParent().args[1] if ns then ns = ns:match('^%s*(.-)%s*$') -- trim whitespace ns = tonumber(ns) or ns end local hasSubpages = p._main(ns, frame) return hasSubpages and 'yes' or '' end return p qb0b1z2vff7kifnw21v205d791esbiz Tempilet:Red 10 1268 10413 2025-10-08T22:40:37Z en>Jonesey95 0 dark mode is fine; it's the semantic meaning that is the problem 10413 wikitext text/x-wiki <noinclude>{{Ombox|type=content|text=This template should '''NOT''' be used for generic error messages and warnings, because it does not have any semantic meaning embedded. Please use {{tl|error-small}} for errors, and {{tl|destructive}} for everything else.}}</noinclude><span style="color: red;">{{{1}}}</span><noinclude> <!-- Add categories to the /doc subpage, not here! --> {{Documentation}} </noinclude> m79c5js0z99vot4odxdkn6bawoqind2 10414 10413 2026-08-24T13:15:12Z RAPTOR7762 18 1 revision imported from [[:en:Template:Red]] 10413 wikitext text/x-wiki <noinclude>{{Ombox|type=content|text=This template should '''NOT''' be used for generic error messages and warnings, because it does not have any semantic meaning embedded. Please use {{tl|error-small}} for errors, and {{tl|destructive}} for everything else.}}</noinclude><span style="color: red;">{{{1}}}</span><noinclude> <!-- Add categories to the /doc subpage, not here! --> {{Documentation}} </noinclude> m79c5js0z99vot4odxdkn6bawoqind2 Tempilet:TL 10 1269 10415 2021-02-12T22:06:43Z en>Xqbot 0 Bot: Fixing double redirect to [[Template:Template link]] 10415 wikitext text/x-wiki #REDIRECT [[Template:Template link]] {{Redirect category shell|{{R from modification}}{{R from template shortcut}}}} onl6temnxdxt9c7lpcv0rsjntpg1ryd 10416 10415 2026-08-24T13:15:12Z RAPTOR7762 18 1 revision imported from [[:en:Template:TL]] 10415 wikitext text/x-wiki #REDIRECT [[Template:Template link]] {{Redirect category shell|{{R from modification}}{{R from template shortcut}}}} onl6temnxdxt9c7lpcv0rsjntpg1ryd Tempilet:T1 10 1270 10417 2022-01-01T05:36:39Z en>Xaosflux 0 {{Rcat shell|{{R from template shortcut}}}} 10417 wikitext text/x-wiki #REDIRECT [[Template:Template link]] {{Rcat shell|{{R from template shortcut}}}} agft1wgq288u2uoq25oey2z7oz8m2sa 10418 10417 2026-08-24T13:15:12Z RAPTOR7762 18 1 revision imported from [[:en:Template:T1]] 10417 wikitext text/x-wiki #REDIRECT [[Template:Template link]] {{Rcat shell|{{R from template shortcut}}}} agft1wgq288u2uoq25oey2z7oz8m2sa Tempilet:Caution 10 1271 10419 2026-01-08T16:18:01Z en>HouseBlaster 0 +{{[[TM:Editnotice EXPECTUNUSEDTEMPLATE|Editnotice EXPECTUNUSEDTEMPLATE]]}} 10419 wikitext text/x-wiki {{Mbox | name = Caution | demospace = {{{demospace|}}} | style = {{{style|}}} | subst = <includeonly>{{subst:substcheck}}</includeonly> | type = style | image = {{#if:{{{image|}}} |[[File:{{{image}}}|{{{imagesize|40px}}}|Caution|link={{{imagelink|}}}]] |[[File:Ambox warning yellow.svg|{{{imagesize|40px}}}|Caution|link={{{imagelink|}}}]]}} | small = {{{small|}}} | smallimage = {{#if:{{{image|}}} |[[File:{{{image}}}|{{{imagesize|40px}}}|Caution|link={{{imagelink|}}}]] |[[File:Ambox warning yellow.svg|30px|Caution|link={{{imagelink|}}}]]}} | imageright = {{#if:{{{imageright|}}} |{{{imageright}}} |{{#if:{{{shortcut|{{{shortcut1|}}}}}} |{{Ombox/shortcut|{{{shortcut|{{{shortcut1|}}}}}}|{{{shortcut2|}}}|{{{shortcut3|}}}|{{{shortcut4|}}}|{{{shortcut5|}}}}}}} }} | textstyle = {{{textstyle|{{{align|text-align: {{#if:{{{center|}}}|center|left}};}}}}}} | text = {{#if:{{{header|{{{heading|{{{title|}}}}}}}}} |<div style="text-align:{{#if:{{{center|}}}|center|left}};">'''{{{header|{{{heading|{{{title|}}}}}}}}}'''</div>}}<!-- -->{{{text|{{{content|{{{reason|{{{1}}}}}}}}}}}} }}{{Editnotice EXPECTUNUSEDTEMPLATE}}<noinclude>{{Documentation}}</noinclude> s5y2taqjeoezacsy1lfwe91a86uw26b 10420 10419 2026-08-24T13:15:12Z RAPTOR7762 18 1 revision imported from [[:en:Template:Caution]] 10419 wikitext text/x-wiki {{Mbox | name = Caution | demospace = {{{demospace|}}} | style = {{{style|}}} | subst = <includeonly>{{subst:substcheck}}</includeonly> | type = style | image = {{#if:{{{image|}}} |[[File:{{{image}}}|{{{imagesize|40px}}}|Caution|link={{{imagelink|}}}]] |[[File:Ambox warning yellow.svg|{{{imagesize|40px}}}|Caution|link={{{imagelink|}}}]]}} | small = {{{small|}}} | smallimage = {{#if:{{{image|}}} |[[File:{{{image}}}|{{{imagesize|40px}}}|Caution|link={{{imagelink|}}}]] |[[File:Ambox warning yellow.svg|30px|Caution|link={{{imagelink|}}}]]}} | imageright = {{#if:{{{imageright|}}} |{{{imageright}}} |{{#if:{{{shortcut|{{{shortcut1|}}}}}} |{{Ombox/shortcut|{{{shortcut|{{{shortcut1|}}}}}}|{{{shortcut2|}}}|{{{shortcut3|}}}|{{{shortcut4|}}}|{{{shortcut5|}}}}}}} }} | textstyle = {{{textstyle|{{{align|text-align: {{#if:{{{center|}}}|center|left}};}}}}}} | text = {{#if:{{{header|{{{heading|{{{title|}}}}}}}}} |<div style="text-align:{{#if:{{{center|}}}|center|left}};">'''{{{header|{{{heading|{{{title|}}}}}}}}}'''</div>}}<!-- -->{{{text|{{{content|{{{reason|{{{1}}}}}}}}}}}} }}{{Editnotice EXPECTUNUSEDTEMPLATE}}<noinclude>{{Documentation}}</noinclude> s5y2taqjeoezacsy1lfwe91a86uw26b Tempilet:Template link universal 10 1272 10421 2021-04-19T02:44:56Z en>JJMC89 0 JJMC89 moved page [[Template:Tlu]] to [[Template:Template link universal]]: [[Wikipedia:Requested moves|requested move]]; consensus at [[Template talk:Template link universal]] 10421 wikitext text/x-wiki <nowiki>{{</nowiki>{{#if:{{{subst|}}}| [[WP:SUBST|subst]]:|}}[[{{{1}}}]]<!-- -->{{#if:{{{2|}}}| &#124;{{{2}}} }}<!-- -->{{#if:{{{3|}}}| &#124;{{{3}}} }}<!-- -->{{#if:{{{4|}}}| &#124;{{{4}}} }}<!-- -->{{#if:{{{5|}}}| &#124;{{{5}}} }}<!-- -->{{#if:{{{6|}}}| &#124;{{{6}}} }}<!-- -->{{#if:{{{7|}}}| &#124;{{{7}}} }}<!-- -->{{#if:{{{8|}}}| &#124;{{{8}}} }}<!-- -->{{#if:{{{9|}}}| &#124;{{{9}}} }}<!-- -->{{#if:{{{10|}}}| &#124;{{{10}}} }}<!-- -->{{#if:{{{11|}}}| &#124;{{{11}}} }}<!-- -->{{#if:{{{12|}}}| &#124;''...'' }}<nowiki>}}</nowiki><noinclude> <!-- Add categories and interwikis to the /doc page, not here, thanks --> {{documentation}} </noinclude> 30ovkveb7p8ndyenifstivsiipoqr05 10422 10421 2026-08-24T13:15:12Z RAPTOR7762 18 1 revision imported from [[:en:Template:Template_link_universal]] 10421 wikitext text/x-wiki <nowiki>{{</nowiki>{{#if:{{{subst|}}}| [[WP:SUBST|subst]]:|}}[[{{{1}}}]]<!-- -->{{#if:{{{2|}}}| &#124;{{{2}}} }}<!-- -->{{#if:{{{3|}}}| &#124;{{{3}}} }}<!-- -->{{#if:{{{4|}}}| &#124;{{{4}}} }}<!-- -->{{#if:{{{5|}}}| &#124;{{{5}}} }}<!-- -->{{#if:{{{6|}}}| &#124;{{{6}}} }}<!-- -->{{#if:{{{7|}}}| &#124;{{{7}}} }}<!-- -->{{#if:{{{8|}}}| &#124;{{{8}}} }}<!-- -->{{#if:{{{9|}}}| &#124;{{{9}}} }}<!-- -->{{#if:{{{10|}}}| &#124;{{{10}}} }}<!-- -->{{#if:{{{11|}}}| &#124;{{{11}}} }}<!-- -->{{#if:{{{12|}}}| &#124;''...'' }}<nowiki>}}</nowiki><noinclude> <!-- Add categories and interwikis to the /doc page, not here, thanks --> {{documentation}} </noinclude> 30ovkveb7p8ndyenifstivsiipoqr05 Tempilet:Tlu 10 1273 10423 2021-10-14T06:25:48Z en>Paine Ellsworth 0 add [[WP:RCAT|rcat template]] 10423 wikitext text/x-wiki #REDIRECT [[Template:Template link universal]] {{Redirect category shell| {{R from move}} {{R from template shortcut}} }} nzv89op3qvdvw5gdl6t34bdtinpv9yv 10424 10423 2026-08-24T13:15:12Z RAPTOR7762 18 1 revision imported from [[:en:Template:Tlu]] 10423 wikitext text/x-wiki #REDIRECT [[Template:Template link universal]] {{Redirect category shell| {{R from move}} {{R from template shortcut}} }} nzv89op3qvdvw5gdl6t34bdtinpv9yv Tempilet:Clc 10 1274 10425 2019-04-24T04:30:59Z en>JJMC89 0 actual template is in the category 10425 wikitext text/x-wiki #REDIRECT [[Template:Category link with count]] 092gm3mu5vr84eif0gc6y7q98csnc9h 10426 10425 2026-08-24T13:15:13Z RAPTOR7762 18 1 revision imported from [[:en:Template:Clc]] 10425 wikitext text/x-wiki #REDIRECT [[Template:Category link with count]] 092gm3mu5vr84eif0gc6y7q98csnc9h Tempilet:Category link with count 10 1275 10427 2021-06-11T18:13:44Z en>GKFX 0 Support wider range of (valid) input format 10427 wikitext text/x-wiki [[:Category:{{#invoke:string|replace|1={{{1}}}|2=^:?[Cc]ategory:|3=|plain=false}}|<!-- -->{{#if:{{{name|}}}|{{{name}}}|Category:{{#invoke:string|replace|1={{{1}}}|2=^:?[Cc]ategory:|3=|plain=false}}}}<!-- -->]]&nbsp;({{PAGESINCATEGORY:{{#invoke:string|replace|1={{{1}}}|2=^:?[Cc]ategory:|3=|plain=false}}|{{{2|all}}}}})<noinclude> {{Documentation}} </noinclude> t44qc0k3i1yz2ecwxpiksck04hyz7rx 10428 10427 2026-08-24T13:15:13Z RAPTOR7762 18 1 revision imported from [[:en:Template:Category_link_with_count]] 10427 wikitext text/x-wiki [[:Category:{{#invoke:string|replace|1={{{1}}}|2=^:?[Cc]ategory:|3=|plain=false}}|<!-- -->{{#if:{{{name|}}}|{{{name}}}|Category:{{#invoke:string|replace|1={{{1}}}|2=^:?[Cc]ategory:|3=|plain=false}}}}<!-- -->]]&nbsp;({{PAGESINCATEGORY:{{#invoke:string|replace|1={{{1}}}|2=^:?[Cc]ategory:|3=|plain=false}}|{{{2|all}}}}})<noinclude> {{Documentation}} </noinclude> t44qc0k3i1yz2ecwxpiksck04hyz7rx Tempilet:Top icon templates 10 1276 10433 2026-07-09T15:55:38Z en>Gommeh 0 adding, since a lot of users have tons of GAs that would clog up a userpage if they listed them all 10433 wikitext text/x-wiki {{Navbox | name = Top icon templates | title = [[Template:Top icon|Top icons]] | state = {{{state<includeonly>|collapsed</includeonly>}}} | listclass = hlist | group1 = [[:Category:Top icon content award templates|Content]] | list1 = * {{Tl|Featured article}} * {{Tl|Featured list}} * {{Tl|Good article}} * {{Tl|Spoken Wikipedia}} | group2 = [[:Category:Protection templates|Protection]] | list2 = * {{Tl|Pp}} * {{Tl|Pp-blp}} * {{Tl|Pp-dispute}} * {{Tl|Pp-move}} * {{Tl|Pp-move-dispute}} * {{Tl|Pp-move-vandalism}} * {{Tl|Pp-office}} * {{Tl|Pp-pc}} * {{Tl|Pp-semi-indef}} * {{Tl|Pp-sock}} * {{Tl|Pp-template}} * {{Tl|Pp-usertalk}} * {{Tl|Pp-vandalism}} | group3 = [[:Category:User top icon usergroup templates|User rights]] | list3 = * {{Tl|Accountcreator topicon}} * {{Tl|Administrator topicon}} * {{Tl|Administrator baton topicon}} * {{Tl|AfC topicon}} * {{Tl|Arbitrator fez topicon}} * {{Tl|Autoconfirmed topicon}} * {{Tl|Autopatrolled topicon}} * {{Tl|Bot topicon}} * {{Tl|Bureaucrat topicon}} * {{Tl|Checkuser topicon}} * {{Tl|Checkuser, oversighter, and administrator top icon}} * {{Tl|Confirmed topicon}} * {{Tl|Edit filter helpers topicon}} * {{Tl|Edit filter manager topicon}} * {{Tl|Event coordinator topicon}} * {{Tl|Extended confirmed topicon}} * {{Tl|File mover topicon}} * {{Tl|Global abuse filter helper topicon}} * {{Tl|Global abuse filter maintainer topicon}} * {{Tl|Global renamer topicon}} * {{Tl|Global rollbacker topicon}} * {{Tl|Global sysop topicon}} * {{Tl|Importers topicon}} * {{Tl|Interface administrator topicon}} * {{Tl|Mass message sender topicon}} * {{Tl|New page reviewer topicon}} * {{Tl|Not admin topicon}} * {{Tl|Not an admin topicon}} * {{Tl|Oversight topicon}} * {{Tl|Page mover topicon}} * {{Tl|Redirect autopatrolled topicon}} * {{Tl|Registered topicon}} * {{Tl|Reviewer topicon}} * {{Tl|Rollback topicon}} * {{Tl|Steward topicon}} * {{Tl|Template editor topicon}} * {{Tl|Temporary account IP viewers topicon}} * {{Tl|User topicon}} | group4 = [[:Category:User top icon membership templates|Membership]] | list4 = {{Navbox|child | group1 = Membership | list1 = * {{Tl|Year topicon}} ** {{Tl|5 Year topicon}} ** {{Tl|10 Year topicon}} ** {{Tl|15 Year topicon}} ** {{Tl|20 Year topicon}} ** {{Tl|25 Year topicon}} * {{Tl|Arbitration clerk topicon}} * {{Tl|Arbitrator topicon}} * {{Tl|Article Rescue Squadron topicon}} * {{Tl|Birthday Committee topicon}} * {{Tl|BAG topicon}} * {{Tl|CP Clerk topicon}} * {{Tl|CVU topicon}} * {{Tl|DPL topicon}} * {{Tl|DRN topicon}} * {{Tl|Feedback topicon}} * {{Tl|GLAM Ambassador topicon}} * {{Tl|Mediator topicon}} * {{Tl|Online Ambassador topicon}} * {{Tl|RC patroller topicon}} * {{Tl|SPI clerk topicon}} * {{Tl|SVT topicon}} * {{Tl|SWMT topicon}} * {{Tl|Teahouse topicon}} * {{Tl|Teahouse Host topicon}} * {{Tl|User mentor topicon}} * {{Tl|Volunteer Response Team topicon 1}} * {{Tl|Volunteer Response Team topicon 2}} * {{Tl|Welcoming committee topicon}} | group2 = WikiProjects | list2 = * {{Tl|MLV task force topicon}} * {{Tl|WikiProject Animals topicon}} * {{Tl|WikiProject Anime and manga top icon}} * {{Tl|WikiProject Astronomy topicon}} * {{Tl|WikiProject Automobiles topicon}} * {{Tl|WikiProject Aviation topicon}} * {{Tl|WikiProject Biography top icon}} * {{Tl|WikiProject Birds topicon}} * {{Tl|WikiProject Canoeing and Kayaking topicon}} * {{Tl|WikiProject Citation cleanup topicon}} * {{Tl|WikiProject Christianity topicon}} * {{Tl|WikiProject Comedy topicon}} * {{Tl|WikiProject Computing topicon}} * {{Tl|WikiProject Council top icon}} * {{Tl|WikiProject country member top icon|country{{=}}}} * {{Tl|WikiProject COVID-19 topicon}} * {{Tl|WikiProject Cricket topicon}} * {{Tl|WikiProject Crusades topicon}} * {{Tl|WikiProject Cryptocurrency topicon}} * {{Tl|WikiProject Democracy topicon}} * {{Tl|WikiProject Democracy topicon alt}} * {{Tl|WikiProject Film topicon}} * {{Tl|WikiProject Formula One topicon}} * {{Tl|WikiProject Guild of Copy Editors topicon}} * {{Tl|WikiProject Insects topicon}} * {{Tl|WikiProject Insects topicon 2}} * {{Tl|WikiProject Intertranswiki topicon}} * {{Tlu|Wikipedia:WikiProject Insects/ant task force/topicon}} * {{Tl|WikiProject Jennifer Lopez top icon}} * {{Tl|WikiProject Judaism topicon}} * {{Tl|WikiProject Languages topicon}} * {{Tl|WikiProject Military history Coordinator topicon}} * {{Tl|WikiProject Medicine topicon}} * {{Tl|WikiProject Motorsport topicon}} * {{Tl|WikiProject Numbers topicon}} * {{Tl|WikiProject Numismatics topicon}} * {{Tl|WikiProject Olympics topicon}} * {{Tl|WikiProject Orphanage topicon}} * {{Tl|WikiProject Pharmacology topicon}} * {{Tl|WikiProject Photography topicon}} * {{Tl|WikiProject Plants topicon}} * {{Tl|WikiProject Politics topicon}} * {{Tl|WikiProject Professional wrestling topicon}} * {{Tl|WikiProject Redirect topicon}} * {{Tl|WikiProject Royalty and Nobility topicon}} * {{Tl|WikiProject Short descriptions topicon}} * {{Tl|WikiProject Socialism topicon}} * {{Tl|WikiProject Soviet Union topicon}} * {{Tl|WikiProject Spaceflight topicon}} * {{Tl|WikiProject Spam topicon}} * {{Tl|WikiProject Spoken Wikipedia topicon}} * {{Tl|WikiProject Syria topicon}} * {{Tl|WikiProject Tirana topicon}} * {{Tl|WikiProject Trading card game topicon}} * {{Tl|WikiProject Unreferenced articles topicon}} * {{Tl|WikiProject Userboxes topicon}} * {{Tl|WikiProject Video games topicon}} * {{Tl|WikiProject Wikify topicon}} * {{Tl|WikiProject Yorkshire topicon}} }} |group5= Sister projects |list5= {{Navbox|child | group1 = Membership | list1 = * {{Tl|User Commons/topicon}} * {{T1|User Wikidata/topicon}} * {{Tl|User Wikivoyage/topicon}} * {{Tl|User meta/topicon}} | group2 = User Rights | list2 = * {{Tl|Commons Administrator topicon}} * {{Tl|Commons Filemover topicon}} * {{Tl|Meta autopatroller topicon}} * {{Tl|Meta patroller topicon}} * {{Tl|Meta-Wiki Autoconfirmed topicon}} * {{Tl|Meta-Wiki Administrator topicon}} * {{Tl|Wikispecies Administrator topicon}} * {{Tl|Wikispecies Autoconfirmed topicon}} }} |group6= [[:Category:User top icon content award templates|Awards]] |list6= * {{Tl|Article Rescue Squadron medal}} * {{TL|Crown topicon}} * {{Tl|DYK user topicon}} * {{Tl|Editor of the Week topicon}} * {{Tl|FA user topicon}} * {{Tl|FAC user topicon}} * {{Tl|FL user topicon}} * {{Tl|FLC user topicon}} * {{Tl|FP user topicon}} * {{Tl|FT user topicon}} * {{Tl|GAN user topicon}} * {{Tl|GA user topicon}} ** {{Tl|User Good articles topicon}} * {{Tl|GAR user topicon}} * {{Tl|GA review user topicon}} * {{Tl|GT user topicon}} * {{Tl|ITN user topicon}} * {{Tl|MA user topicon}} * {{Tl|SA user topicon}} * {{Tl|TC user topicon}} * {{Tl|TFA user topicon}} * {{T1|TFL user topicon}} * {{Tl|100KE user topicon}} * {{Tl|4award topicon}} * {{Tl|4A user topicon}} * {{Tl|Precious topicon}} ** [[Template:Alternative precious topicon|alternative]] |group7= [[:Category:User top icon content award templates|Editor Service Awards]] and<br/> [[:Category:Administrative service award templates|Administrative Service Awards]] |list7= * {{Tl|Registered Editor topicon}} * {{Tl|Novice Editor topicon}} * {{Tl|Apprentice Editor topicon}} * {{Tl|Apprentice Editor Level 2 topicon}} * {{Tl|Journeyman Editor topicon}} * {{Tl|Yeoman Editor topicon}} * {{Tl|Experienced Editor topicon}} * {{Tl|Veteran Editor topicon}} * {{Tl|Veteran Editor II topicon}} * {{Tl|Veteran Editor III topicon}} * {{Tl|Veteran Editor IV topicon}} * {{Tl|Senior Editor topicon}} * {{Tl|Senior Editor II topicon}} * {{Tl|Senior Editor III topicon}} * {{Tl|Master Editor topicon}} * {{Tl|Master Editor II topicon}} * {{Tl|Master Editor III topicon}} * {{Tl|Master Editor IV topicon}} * {{Tl|Grandmaster Editor topicon}} * {{Tl|Grandmaster Editor First-Class topicon}} * {{Tl|Vanguard Editor topicon}} * {{Tl|Senior Vanguard Editor topicon}} * {{Tl|Ultimate Vanguard Editor topicon}} * {{Tl|New Administrator Topicon}} * {{Tl|Novice Administrator Topicon}} * {{Tl|Apprentice Administrator Topicon}} * {{Tl|Journeyman Administrator Topicon}} * {{Tl|Yeoman Administrator Topicon}} * {{Tl|Experienced Administrator Topicon}} * {{Tl|Veteran Administrator Topicon}} * {{Tl|Veteran Administrator II Topicon}} * {{Tl|Veteran Administrator III Topicon}} * {{Tl|Veteran Administrator IV Topicon}} * {{Tl|Senior Administrator Topicon}} * {{Tl|Senior Administrator II Topicon}} * {{Tl|Senior Administrator III Topicon}} * {{Tl|Master Administrator Topicon}} * {{Tl|Master Administrator II Topicon}} * {{Tl|Master Administrator III Topicon}} * {{Tl|Master Administrator IV Topicon}} * {{Tl|Grandmaster Administrator Topicon}} * {{Tl|Grandmaster Administrator First-Class Topicon}} * {{Tl|Vanguard Administrator Topicon}} |group8 = [[:Category:User top icon usergroup templates|Tools]] |list8 = * {{Tl|AWB topicon}} * {{Tl|AntiVandal topicon}} * {{Tl|Discord topicon}} * {{Tl|CopyPatrol topicon}} * {{Tl|HotCat topicon}} * {{Tl|Huggle topicon}} * {{Tl|Igloo topicon}} * {{Tl|IRC topicon}} * {{Tl|Lupin antivandal topicon}} * {{Tl|Navigation popups topicon}} * {{Tl|RedWarn topicon}} * {{Tl|RedWarn topicon 2}} * {{Tl|Snuggle topicon}} * {{Tl|STiki topicon}} * {{Tl|SWViewer topicon}} * {{Tl|Twinkle topicon}} * {{Tl|Ultraviolet topicon}} * {{Tl|wikEd topicon}} * {{Tl|WPCleaner topicon}} |group9 = [[:Category:WikiFauna top icon templates|WikiFauna]] |list9 = * {{Tl|WikiCat topicon}} * {{Tl|WikiDodo topicon}} * {{Tl|WikiDog topicon}} * {{Tl|WikiDragon topicon}} * {{Tl|WikiElf topicon}} * {{Tl|WikiEngineer topicon}} * {{Tl|WikiFairy topicon}} * {{Tl|WikiGnome topicon}} * {{Tl|WikiJanitor topicon}} * {{Tl|WikiOgre topicon}} * {{Tl|WikiOtter topicon}} * {{Tl|WikiPlatypus topicon}} * {{Tl|WikiPrairie dog topicon}} * {{Tl|WikiPrincess topicon}} * {{Tl|WikiPuma topicon}} * {{Tl|WikiQuatch topicon}} * {{Tl|WikiSloth topicon}} * {{Tl|WikiSquirrel topicon}} * {{Tl|WikiWitch topicon}} |group10 = [[:Category:Top icon templates|Other]] |list10 = * {{Tl|Altacc topicon}} * {{Tl|Apple Music topicon}} * {{Tl|Archive topicon}} * {{Tl|Bot operator topicon}} * {{Tl|Busy topicon}} * {{Tl|Committed identity topicon}} * {{Tl|Cookiewelcome}} * {{Tl|Die Fliege}} * {{Tl|Email user topicon}} * {{Tl|Email user notification}} * {{Tl|Foolicon}} * {{Tl|Gmail email user topicon}} * {{Tl|GitHub topicon}} * {{Tl|Guestbook topicon}} * {{Tl|Identified topicon}} * {{Tl|Identified topicon1}} * {{Tl|MusicBrainz editor topicon}} * {{Tl|RC patroller topicon}} * {{Tl|Script user topicon}} * {{Tl|Signpost user topicon}} * {{Tl|Stress user topicon}} * {{Tl|Top text}} * {{Tl|Trout me}} * {{Tl|User Wikipedia/topicon}} * {{Tl|ValidAlt topicon}} * {{Tl|Spotify listener topicon}} * {{Tl|YouTube Music listener topicon}} }}<noinclude> {{documentation}} </noinclude> t22gil04457lw4ecafcs9anftnvj5e5 10434 10433 2026-08-24T13:15:13Z RAPTOR7762 18 1 revision imported from [[:en:Template:Top_icon_templates]] 10433 wikitext text/x-wiki {{Navbox | name = Top icon templates | title = [[Template:Top icon|Top icons]] | state = {{{state<includeonly>|collapsed</includeonly>}}} | listclass = hlist | group1 = [[:Category:Top icon content award templates|Content]] | list1 = * {{Tl|Featured article}} * {{Tl|Featured list}} * {{Tl|Good article}} * {{Tl|Spoken Wikipedia}} | group2 = [[:Category:Protection templates|Protection]] | list2 = * {{Tl|Pp}} * {{Tl|Pp-blp}} * {{Tl|Pp-dispute}} * {{Tl|Pp-move}} * {{Tl|Pp-move-dispute}} * {{Tl|Pp-move-vandalism}} * {{Tl|Pp-office}} * {{Tl|Pp-pc}} * {{Tl|Pp-semi-indef}} * {{Tl|Pp-sock}} * {{Tl|Pp-template}} * {{Tl|Pp-usertalk}} * {{Tl|Pp-vandalism}} | group3 = [[:Category:User top icon usergroup templates|User rights]] | list3 = * {{Tl|Accountcreator topicon}} * {{Tl|Administrator topicon}} * {{Tl|Administrator baton topicon}} * {{Tl|AfC topicon}} * {{Tl|Arbitrator fez topicon}} * {{Tl|Autoconfirmed topicon}} * {{Tl|Autopatrolled topicon}} * {{Tl|Bot topicon}} * {{Tl|Bureaucrat topicon}} * {{Tl|Checkuser topicon}} * {{Tl|Checkuser, oversighter, and administrator top icon}} * {{Tl|Confirmed topicon}} * {{Tl|Edit filter helpers topicon}} * {{Tl|Edit filter manager topicon}} * {{Tl|Event coordinator topicon}} * {{Tl|Extended confirmed topicon}} * {{Tl|File mover topicon}} * {{Tl|Global abuse filter helper topicon}} * {{Tl|Global abuse filter maintainer topicon}} * {{Tl|Global renamer topicon}} * {{Tl|Global rollbacker topicon}} * {{Tl|Global sysop topicon}} * {{Tl|Importers topicon}} * {{Tl|Interface administrator topicon}} * {{Tl|Mass message sender topicon}} * {{Tl|New page reviewer topicon}} * {{Tl|Not admin topicon}} * {{Tl|Not an admin topicon}} * {{Tl|Oversight topicon}} * {{Tl|Page mover topicon}} * {{Tl|Redirect autopatrolled topicon}} * {{Tl|Registered topicon}} * {{Tl|Reviewer topicon}} * {{Tl|Rollback topicon}} * {{Tl|Steward topicon}} * {{Tl|Template editor topicon}} * {{Tl|Temporary account IP viewers topicon}} * {{Tl|User topicon}} | group4 = [[:Category:User top icon membership templates|Membership]] | list4 = {{Navbox|child | group1 = Membership | list1 = * {{Tl|Year topicon}} ** {{Tl|5 Year topicon}} ** {{Tl|10 Year topicon}} ** {{Tl|15 Year topicon}} ** {{Tl|20 Year topicon}} ** {{Tl|25 Year topicon}} * {{Tl|Arbitration clerk topicon}} * {{Tl|Arbitrator topicon}} * {{Tl|Article Rescue Squadron topicon}} * {{Tl|Birthday Committee topicon}} * {{Tl|BAG topicon}} * {{Tl|CP Clerk topicon}} * {{Tl|CVU topicon}} * {{Tl|DPL topicon}} * {{Tl|DRN topicon}} * {{Tl|Feedback topicon}} * {{Tl|GLAM Ambassador topicon}} * {{Tl|Mediator topicon}} * {{Tl|Online Ambassador topicon}} * {{Tl|RC patroller topicon}} * {{Tl|SPI clerk topicon}} * {{Tl|SVT topicon}} * {{Tl|SWMT topicon}} * {{Tl|Teahouse topicon}} * {{Tl|Teahouse Host topicon}} * {{Tl|User mentor topicon}} * {{Tl|Volunteer Response Team topicon 1}} * {{Tl|Volunteer Response Team topicon 2}} * {{Tl|Welcoming committee topicon}} | group2 = WikiProjects | list2 = * {{Tl|MLV task force topicon}} * {{Tl|WikiProject Animals topicon}} * {{Tl|WikiProject Anime and manga top icon}} * {{Tl|WikiProject Astronomy topicon}} * {{Tl|WikiProject Automobiles topicon}} * {{Tl|WikiProject Aviation topicon}} * {{Tl|WikiProject Biography top icon}} * {{Tl|WikiProject Birds topicon}} * {{Tl|WikiProject Canoeing and Kayaking topicon}} * {{Tl|WikiProject Citation cleanup topicon}} * {{Tl|WikiProject Christianity topicon}} * {{Tl|WikiProject Comedy topicon}} * {{Tl|WikiProject Computing topicon}} * {{Tl|WikiProject Council top icon}} * {{Tl|WikiProject country member top icon|country{{=}}}} * {{Tl|WikiProject COVID-19 topicon}} * {{Tl|WikiProject Cricket topicon}} * {{Tl|WikiProject Crusades topicon}} * {{Tl|WikiProject Cryptocurrency topicon}} * {{Tl|WikiProject Democracy topicon}} * {{Tl|WikiProject Democracy topicon alt}} * {{Tl|WikiProject Film topicon}} * {{Tl|WikiProject Formula One topicon}} * {{Tl|WikiProject Guild of Copy Editors topicon}} * {{Tl|WikiProject Insects topicon}} * {{Tl|WikiProject Insects topicon 2}} * {{Tl|WikiProject Intertranswiki topicon}} * {{Tlu|Wikipedia:WikiProject Insects/ant task force/topicon}} * {{Tl|WikiProject Jennifer Lopez top icon}} * {{Tl|WikiProject Judaism topicon}} * {{Tl|WikiProject Languages topicon}} * {{Tl|WikiProject Military history Coordinator topicon}} * {{Tl|WikiProject Medicine topicon}} * {{Tl|WikiProject Motorsport topicon}} * {{Tl|WikiProject Numbers topicon}} * {{Tl|WikiProject Numismatics topicon}} * {{Tl|WikiProject Olympics topicon}} * {{Tl|WikiProject Orphanage topicon}} * {{Tl|WikiProject Pharmacology topicon}} * {{Tl|WikiProject Photography topicon}} * {{Tl|WikiProject Plants topicon}} * {{Tl|WikiProject Politics topicon}} * {{Tl|WikiProject Professional wrestling topicon}} * {{Tl|WikiProject Redirect topicon}} * {{Tl|WikiProject Royalty and Nobility topicon}} * {{Tl|WikiProject Short descriptions topicon}} * {{Tl|WikiProject Socialism topicon}} * {{Tl|WikiProject Soviet Union topicon}} * {{Tl|WikiProject Spaceflight topicon}} * {{Tl|WikiProject Spam topicon}} * {{Tl|WikiProject Spoken Wikipedia topicon}} * {{Tl|WikiProject Syria topicon}} * {{Tl|WikiProject Tirana topicon}} * {{Tl|WikiProject Trading card game topicon}} * {{Tl|WikiProject Unreferenced articles topicon}} * {{Tl|WikiProject Userboxes topicon}} * {{Tl|WikiProject Video games topicon}} * {{Tl|WikiProject Wikify topicon}} * {{Tl|WikiProject Yorkshire topicon}} }} |group5= Sister projects |list5= {{Navbox|child | group1 = Membership | list1 = * {{Tl|User Commons/topicon}} * {{T1|User Wikidata/topicon}} * {{Tl|User Wikivoyage/topicon}} * {{Tl|User meta/topicon}} | group2 = User Rights | list2 = * {{Tl|Commons Administrator topicon}} * {{Tl|Commons Filemover topicon}} * {{Tl|Meta autopatroller topicon}} * {{Tl|Meta patroller topicon}} * {{Tl|Meta-Wiki Autoconfirmed topicon}} * {{Tl|Meta-Wiki Administrator topicon}} * {{Tl|Wikispecies Administrator topicon}} * {{Tl|Wikispecies Autoconfirmed topicon}} }} |group6= [[:Category:User top icon content award templates|Awards]] |list6= * {{Tl|Article Rescue Squadron medal}} * {{TL|Crown topicon}} * {{Tl|DYK user topicon}} * {{Tl|Editor of the Week topicon}} * {{Tl|FA user topicon}} * {{Tl|FAC user topicon}} * {{Tl|FL user topicon}} * {{Tl|FLC user topicon}} * {{Tl|FP user topicon}} * {{Tl|FT user topicon}} * {{Tl|GAN user topicon}} * {{Tl|GA user topicon}} ** {{Tl|User Good articles topicon}} * {{Tl|GAR user topicon}} * {{Tl|GA review user topicon}} * {{Tl|GT user topicon}} * {{Tl|ITN user topicon}} * {{Tl|MA user topicon}} * {{Tl|SA user topicon}} * {{Tl|TC user topicon}} * {{Tl|TFA user topicon}} * {{T1|TFL user topicon}} * {{Tl|100KE user topicon}} * {{Tl|4award topicon}} * {{Tl|4A user topicon}} * {{Tl|Precious topicon}} ** [[Template:Alternative precious topicon|alternative]] |group7= [[:Category:User top icon content award templates|Editor Service Awards]] and<br/> [[:Category:Administrative service award templates|Administrative Service Awards]] |list7= * {{Tl|Registered Editor topicon}} * {{Tl|Novice Editor topicon}} * {{Tl|Apprentice Editor topicon}} * {{Tl|Apprentice Editor Level 2 topicon}} * {{Tl|Journeyman Editor topicon}} * {{Tl|Yeoman Editor topicon}} * {{Tl|Experienced Editor topicon}} * {{Tl|Veteran Editor topicon}} * {{Tl|Veteran Editor II topicon}} * {{Tl|Veteran Editor III topicon}} * {{Tl|Veteran Editor IV topicon}} * {{Tl|Senior Editor topicon}} * {{Tl|Senior Editor II topicon}} * {{Tl|Senior Editor III topicon}} * {{Tl|Master Editor topicon}} * {{Tl|Master Editor II topicon}} * {{Tl|Master Editor III topicon}} * {{Tl|Master Editor IV topicon}} * {{Tl|Grandmaster Editor topicon}} * {{Tl|Grandmaster Editor First-Class topicon}} * {{Tl|Vanguard Editor topicon}} * {{Tl|Senior Vanguard Editor topicon}} * {{Tl|Ultimate Vanguard Editor topicon}} * {{Tl|New Administrator Topicon}} * {{Tl|Novice Administrator Topicon}} * {{Tl|Apprentice Administrator Topicon}} * {{Tl|Journeyman Administrator Topicon}} * {{Tl|Yeoman Administrator Topicon}} * {{Tl|Experienced Administrator Topicon}} * {{Tl|Veteran Administrator Topicon}} * {{Tl|Veteran Administrator II Topicon}} * {{Tl|Veteran Administrator III Topicon}} * {{Tl|Veteran Administrator IV Topicon}} * {{Tl|Senior Administrator Topicon}} * {{Tl|Senior Administrator II Topicon}} * {{Tl|Senior Administrator III Topicon}} * {{Tl|Master Administrator Topicon}} * {{Tl|Master Administrator II Topicon}} * {{Tl|Master Administrator III Topicon}} * {{Tl|Master Administrator IV Topicon}} * {{Tl|Grandmaster Administrator Topicon}} * {{Tl|Grandmaster Administrator First-Class Topicon}} * {{Tl|Vanguard Administrator Topicon}} |group8 = [[:Category:User top icon usergroup templates|Tools]] |list8 = * {{Tl|AWB topicon}} * {{Tl|AntiVandal topicon}} * {{Tl|Discord topicon}} * {{Tl|CopyPatrol topicon}} * {{Tl|HotCat topicon}} * {{Tl|Huggle topicon}} * {{Tl|Igloo topicon}} * {{Tl|IRC topicon}} * {{Tl|Lupin antivandal topicon}} * {{Tl|Navigation popups topicon}} * {{Tl|RedWarn topicon}} * {{Tl|RedWarn topicon 2}} * {{Tl|Snuggle topicon}} * {{Tl|STiki topicon}} * {{Tl|SWViewer topicon}} * {{Tl|Twinkle topicon}} * {{Tl|Ultraviolet topicon}} * {{Tl|wikEd topicon}} * {{Tl|WPCleaner topicon}} |group9 = [[:Category:WikiFauna top icon templates|WikiFauna]] |list9 = * {{Tl|WikiCat topicon}} * {{Tl|WikiDodo topicon}} * {{Tl|WikiDog topicon}} * {{Tl|WikiDragon topicon}} * {{Tl|WikiElf topicon}} * {{Tl|WikiEngineer topicon}} * {{Tl|WikiFairy topicon}} * {{Tl|WikiGnome topicon}} * {{Tl|WikiJanitor topicon}} * {{Tl|WikiOgre topicon}} * {{Tl|WikiOtter topicon}} * {{Tl|WikiPlatypus topicon}} * {{Tl|WikiPrairie dog topicon}} * {{Tl|WikiPrincess topicon}} * {{Tl|WikiPuma topicon}} * {{Tl|WikiQuatch topicon}} * {{Tl|WikiSloth topicon}} * {{Tl|WikiSquirrel topicon}} * {{Tl|WikiWitch topicon}} |group10 = [[:Category:Top icon templates|Other]] |list10 = * {{Tl|Altacc topicon}} * {{Tl|Apple Music topicon}} * {{Tl|Archive topicon}} * {{Tl|Bot operator topicon}} * {{Tl|Busy topicon}} * {{Tl|Committed identity topicon}} * {{Tl|Cookiewelcome}} * {{Tl|Die Fliege}} * {{Tl|Email user topicon}} * {{Tl|Email user notification}} * {{Tl|Foolicon}} * {{Tl|Gmail email user topicon}} * {{Tl|GitHub topicon}} * {{Tl|Guestbook topicon}} * {{Tl|Identified topicon}} * {{Tl|Identified topicon1}} * {{Tl|MusicBrainz editor topicon}} * {{Tl|RC patroller topicon}} * {{Tl|Script user topicon}} * {{Tl|Signpost user topicon}} * {{Tl|Stress user topicon}} * {{Tl|Top text}} * {{Tl|Trout me}} * {{Tl|User Wikipedia/topicon}} * {{Tl|ValidAlt topicon}} * {{Tl|Spotify listener topicon}} * {{Tl|YouTube Music listener topicon}} }}<noinclude> {{documentation}} </noinclude> t22gil04457lw4ecafcs9anftnvj5e5 Tempilet:Top icon/doc 10 1277 10435 2025-02-25T13:08:14Z en>Remsense 0 /* Template data */ ce 10435 wikitext text/x-wiki {{Documentation subpage}} {{High-use}} {{caution|Do not use images with licenses requiring attribution in a top icon if you are going to link to somewhere other than the image description page. Not linking to the image is likely to violate the license.}} {{Template display|nomobile}} This is a metatemplate used to help build top icons, the little (usually 20x20 pixels) icons in the top-right area of a page. The template uses the [[mw:Help:Page status indicators|page status indicator]] system. ==Usage== <syntaxhighlight lang="wikitext" style="overflow: auto;"> {{Top icon | imagename = Image file to use as icon. | wikilink = The page to link to. This is where you will be taken when clicking the icon. | description = The tooltip will display this text when the mouse pointer hovers over the icon. | id = A unique id is required when using different top icons on the same page. }}</syntaxhighlight> Extra options: <syntaxhighlight lang="wikitext" style="overflow: auto;"> | sortkey = Allows ordering the icons according to the sortkey given. | width = Uses a different width for the images. Default is 20. | height = Uses a different height for the images. Default is 20. | usercat = Adds a category to be added in userspace. | maincat = Adds a category to be added in article mainspace. | subpage = For categorization on subpages (default = no). | nocat = Disables the automatically added category (default = no). | skin-invert = Sets the `skin-invert` CSS class (which inverts the value of colors when viewed in dark mode) on the image. Intended for default-black icons or others that require this for dark mode visibility. </syntaxhighlight> Top icons are automatically sorted for consistency in articles. For that reason, {{para|sortkey}} should only be used in user top icons. Sort keys are sorted alphabetically, so, for example, "19" will sort before "2". If you want to use numbers as sort keys, and you have more than 10 top icons on a page, you must add leading zeroes, e.g. {{para|sortkey|01}}, {{para|sortkey|02}}, etc. {{para|width}} and {{para|height}} are restrictive, meaning when one parameter is not set explicitly, the default acts as a maximum, even if the other parameter is set higher. To increase the overall size, both must be specified. The following parameters are obsolete and no longer functional: {{para|{{red|number}}}}, {{para|{{red|icon_nr}}}}, {{para|{{red|offset}}}}, {{para|{{red|extra-offset}}}}, {{para|{{red|class}}}} and {{para|{{red|style}}}}. ===Example=== <syntaxhighlight lang="wikitext"> {{Accountcreator topicon}} {{Rollback topicon}} {{Autopatrolled topicon}} </syntaxhighlight> ===Example with blank space=== <syntaxhighlight lang="wikitext"> {{Admin topicon|sortkey=1}} {{Top icon|imagename=Blank 50px.png|sortkey=2}} {{Oversighter topicon|sortkey=3}} {{Checkuser topicon|sortkey=4}} </syntaxhighlight> ==Tracking category== * {{clc|Pages using Top icon with unknown parameters}} ** The following parameters are obsolete, "unknown", and no longer functional: {{para|{{red|number}}}}, {{para|{{red|icon_nr}}}}, {{para|{{red|offset}}}}, {{para|{{red|extra-offset}}}}, {{para|{{red|class}}}} and {{para|{{red|style}}}}. ==See also== * [[mw:Help:Page status indicators]] {{top icon templates}} == Template data == <templatedata> { "description": "The topicon meta-template", "params": { "imagename": { "label": "Image name", "description": "Image file to use as icon", "aliases": [ "image", "1" ], "required": true, "example": "Crystal 128 penguin.png", "type": "wiki-file-name" }, "wikilink": { "label": "Link", "description": "The page to link to. This is where you will be taken when clicking the icon. Do not use images with licenses requiring attribution in a top icon if you are going to link to somewhere other than the image description page, as that is likely to violate the license", "aliases": [ "link", "2" ], "suggested": true, "example": "User:Anomie/Penguin Cabal", "type": "wiki-page-name" }, "description": { "label": "Description", "description": "Text displayed in a tooltip when hovering over the icon", "aliases": [ "text", "3" ], "suggested": true, "example": "This user is in the Penguin Cabal", "type": "string" }, "id": { "label": "Id", "description": "A unique id, required when using different top icons on the same page", "aliases": [ "name" ], "example": "penguin-cabal-topicon", "type": "string" }, "alt": { "label": "Alternative text", "description": "The alternative text for the image", "type": "string" }, "sortkey": { "label": "Sort key", "description": "Allows ordering the icons according to the sort key given", "example": "2", "type": "string" }, "width": { "label": "Width", "description": "Sets a different width for the images", "default": "20", "type": "number" }, "height": { "label": "Height", "description": "Sets a different height for the images", "default": "20", "type": "number" }, "usercat": { "label": "Category in userspace", "description": "Adds a category to be included in userspace", "type": "wiki-page-name", "example": "[[Category:Penguins]]" }, "maincat": { "label": "Category in the article mainspace", "description": "Adds a category to be included in the article mainspace", "type": "wiki-page-name", "example": "[[Category:Penguins]]" }, "subpage": { "label": "Subpage category", "description": "For categorization on subpages", "default": "no", "type": "string" }, "nocat": { "label": "Disable all categories", "description": "Disables the automatically added category", "default": "no", "type": "string" }, "skin-invert": { "label": "Invert brightness in dark mode", "description": "Inverts the icon's brightness when using dark mode", "example": "yes", "type": "string" } } } </templatedata> <includeonly>{{Sandbox other|| <!-- Categories below this line, please; interwikis at Wikidata --> [[Category:Title templates]] [[Category:Top icon templates]] [[Category:User top icon templates| ]] }}</includeonly> gm56pmg2shn98a557mqq7lholo68iae 10436 10435 2026-08-24T13:15:13Z RAPTOR7762 18 1 revision imported from [[:en:Template:Top_icon/doc]] 10435 wikitext text/x-wiki {{Documentation subpage}} {{High-use}} {{caution|Do not use images with licenses requiring attribution in a top icon if you are going to link to somewhere other than the image description page. Not linking to the image is likely to violate the license.}} {{Template display|nomobile}} This is a metatemplate used to help build top icons, the little (usually 20x20 pixels) icons in the top-right area of a page. The template uses the [[mw:Help:Page status indicators|page status indicator]] system. ==Usage== <syntaxhighlight lang="wikitext" style="overflow: auto;"> {{Top icon | imagename = Image file to use as icon. | wikilink = The page to link to. This is where you will be taken when clicking the icon. | description = The tooltip will display this text when the mouse pointer hovers over the icon. | id = A unique id is required when using different top icons on the same page. }}</syntaxhighlight> Extra options: <syntaxhighlight lang="wikitext" style="overflow: auto;"> | sortkey = Allows ordering the icons according to the sortkey given. | width = Uses a different width for the images. Default is 20. | height = Uses a different height for the images. Default is 20. | usercat = Adds a category to be added in userspace. | maincat = Adds a category to be added in article mainspace. | subpage = For categorization on subpages (default = no). | nocat = Disables the automatically added category (default = no). | skin-invert = Sets the `skin-invert` CSS class (which inverts the value of colors when viewed in dark mode) on the image. Intended for default-black icons or others that require this for dark mode visibility. </syntaxhighlight> Top icons are automatically sorted for consistency in articles. For that reason, {{para|sortkey}} should only be used in user top icons. Sort keys are sorted alphabetically, so, for example, "19" will sort before "2". If you want to use numbers as sort keys, and you have more than 10 top icons on a page, you must add leading zeroes, e.g. {{para|sortkey|01}}, {{para|sortkey|02}}, etc. {{para|width}} and {{para|height}} are restrictive, meaning when one parameter is not set explicitly, the default acts as a maximum, even if the other parameter is set higher. To increase the overall size, both must be specified. The following parameters are obsolete and no longer functional: {{para|{{red|number}}}}, {{para|{{red|icon_nr}}}}, {{para|{{red|offset}}}}, {{para|{{red|extra-offset}}}}, {{para|{{red|class}}}} and {{para|{{red|style}}}}. ===Example=== <syntaxhighlight lang="wikitext"> {{Accountcreator topicon}} {{Rollback topicon}} {{Autopatrolled topicon}} </syntaxhighlight> ===Example with blank space=== <syntaxhighlight lang="wikitext"> {{Admin topicon|sortkey=1}} {{Top icon|imagename=Blank 50px.png|sortkey=2}} {{Oversighter topicon|sortkey=3}} {{Checkuser topicon|sortkey=4}} </syntaxhighlight> ==Tracking category== * {{clc|Pages using Top icon with unknown parameters}} ** The following parameters are obsolete, "unknown", and no longer functional: {{para|{{red|number}}}}, {{para|{{red|icon_nr}}}}, {{para|{{red|offset}}}}, {{para|{{red|extra-offset}}}}, {{para|{{red|class}}}} and {{para|{{red|style}}}}. ==See also== * [[mw:Help:Page status indicators]] {{top icon templates}} == Template data == <templatedata> { "description": "The topicon meta-template", "params": { "imagename": { "label": "Image name", "description": "Image file to use as icon", "aliases": [ "image", "1" ], "required": true, "example": "Crystal 128 penguin.png", "type": "wiki-file-name" }, "wikilink": { "label": "Link", "description": "The page to link to. This is where you will be taken when clicking the icon. Do not use images with licenses requiring attribution in a top icon if you are going to link to somewhere other than the image description page, as that is likely to violate the license", "aliases": [ "link", "2" ], "suggested": true, "example": "User:Anomie/Penguin Cabal", "type": "wiki-page-name" }, "description": { "label": "Description", "description": "Text displayed in a tooltip when hovering over the icon", "aliases": [ "text", "3" ], "suggested": true, "example": "This user is in the Penguin Cabal", "type": "string" }, "id": { "label": "Id", "description": "A unique id, required when using different top icons on the same page", "aliases": [ "name" ], "example": "penguin-cabal-topicon", "type": "string" }, "alt": { "label": "Alternative text", "description": "The alternative text for the image", "type": "string" }, "sortkey": { "label": "Sort key", "description": "Allows ordering the icons according to the sort key given", "example": "2", "type": "string" }, "width": { "label": "Width", "description": "Sets a different width for the images", "default": "20", "type": "number" }, "height": { "label": "Height", "description": "Sets a different height for the images", "default": "20", "type": "number" }, "usercat": { "label": "Category in userspace", "description": "Adds a category to be included in userspace", "type": "wiki-page-name", "example": "[[Category:Penguins]]" }, "maincat": { "label": "Category in the article mainspace", "description": "Adds a category to be included in the article mainspace", "type": "wiki-page-name", "example": "[[Category:Penguins]]" }, "subpage": { "label": "Subpage category", "description": "For categorization on subpages", "default": "no", "type": "string" }, "nocat": { "label": "Disable all categories", "description": "Disables the automatically added category", "default": "no", "type": "string" }, "skin-invert": { "label": "Invert brightness in dark mode", "description": "Inverts the icon's brightness when using dark mode", "example": "yes", "type": "string" } } } </templatedata> <includeonly>{{Sandbox other|| <!-- Categories below this line, please; interwikis at Wikidata --> [[Category:Title templates]] [[Category:Top icon templates]] [[Category:User top icon templates| ]] }}</includeonly> gm56pmg2shn98a557mqq7lholo68iae Tempilet:Editnotice EXPECTUNUSEDTEMPLATE 10 1278 10437 2026-01-08T04:44:45Z en>HouseBlaster 0 protection padlock provided by [[TM:documentation]] 10437 wikitext text/x-wiki {{#ifeq:Template:Editnotices|{{FULLROOTPAGENAME}}|__EXPECTUNUSEDTEMPLATE__}}<noinclude>{{documentation}}</noinclude> 1zwqf3zeqxnh21v7kbtjaygvxm2lqko 10438 10437 2026-08-24T13:15:14Z RAPTOR7762 18 1 revision imported from [[:en:Template:Editnotice_EXPECTUNUSEDTEMPLATE]] 10437 wikitext text/x-wiki {{#ifeq:Template:Editnotices|{{FULLROOTPAGENAME}}|__EXPECTUNUSEDTEMPLATE__}}<noinclude>{{documentation}}</noinclude> 1zwqf3zeqxnh21v7kbtjaygvxm2lqko Tempilet:Bole Wikimedians User Group/mobile 10 1279 10462 2026-08-24T14:58:09Z RAPTOR7762 18 Created page with "<div> {{subst:Bole Wikimedians User Group}} </div>" 10462 wikitext text/x-wiki <div> {{Navbox | name = Bole Wikimedians User Group | title = Bole Wikimedians User Group | state = autocollapse | image = [[File:Bole Wikimedians User Group Logo.svg|200px]] | bodyclass = hlist | bodystyle = font-family:'Segoe UI', Arial, sans-serif; font-size: 13px; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 6px; line-height: 1.3; | basestyle = background: #202122; color: white; font-weight: bold; | titlestyle = background: linear-gradient(90deg, #1e3a8a, #3b82f6); color: white; padding: 4px 10px; border-radius: 4px 4px 0 0; | groupstyle = background: #f8f9fa; color: #202122; font-weight: 600; padding: 3px 8px; border-right: 1px solid #e2e8f0; text-align: right; | liststyle = padding: 3px 8px; background: #ffffff; | group1 = <!--T:2--> Getting involved! | list1 = *[[meta:Special:MyLanguage/Bole Wikimedians User Group/Membership|<!--T:3--> Join us!]] | group2 = <!--T:4--> Community Events | list2 = * [[meta:Special:MyLanguage/Bole Wikimedians User Group/Events|<!--T:33--> All time events!]] | group3 = Annual Reports | list3 = * [[meta:Bole Wikimedians User Group/Reports/Annual_Report_2023|2023]] • [[meta:Bole Wikimedians User Group/Reports/Annual_Report_2024|2024]] • [[meta:Bole Wikimedians User Group/Annual_Report_2025|2025]] • [[meta:Bole Wikimedians User Group/Reports/Annual_Report_2026|2026]] | group4 = Community Meetings | list4 = {{Bole Wikimedians User Group/Meetings}} | group5 = <!--T:38--> Hubs/Networks | list5 = * [[meta:Special:MyLanguage/Bole Wikimedians Yobe Network|<!--T:40--> Yobe Network]] • [[meta:Special:MyLanguage/Bole Wikimedians Gombe Network|<!--T:39--> Gombe Network]] | group6 = <!--T:20--> Newsletter | list6 = * [[meta:Special:MyLanguage/Bole Wikimedians User Group/News|All news]] | belowstyle = background: #f1f5f9; color: #475569; border-top: 1px solid #e2e8f0; padding: 5px; border-radius: 0 0 4px 4px; font-size: 12px; | below = [[File:2023 Facebook icon.svg|frameless|13px|alt={{Name|Facebook}}|link=]] '''[https://www.facebook.com/61590521903033/ Bole Wikimedians User Group]'''&nbsp;•&nbsp;[[File:Email social icon.svg|frameless|13px|alt=<!--T:10--> Email address|link=]] '''{{nospam|bolewikimediansusergroup|gmail.com}}''' }} </div> l7y2pw76k88uhs7vrl0mc308mk9vyh8 10463 10462 2026-08-24T15:04:41Z RAPTOR7762 18 10463 wikitext text/x-wiki <div> {{Box | header = <div style="background: linear-gradient(90deg, #1e3a8a, #3b82f6); color: white; padding: 4px 10px; border-radius: 4px 4px 0 0; text-align:center; font-size: 12pt;"><b>Bole Wikimedians User Group</b></div> | content = {{Bole Wikimedians User Group/content}} }} {{Navbox | name = Bole Wikimedians User Group | title = Bole Wikimedians User Group | state = autocollapse | image = [[File:Bole Wikimedians User Group Logo.svg|200px]] | bodyclass = hlist | bodystyle = font-family:'Segoe UI', Arial, sans-serif; font-size: 13px; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 6px; line-height: 1.3; | basestyle = background: #202122; color: white; font-weight: bold; | titlestyle = background: linear-gradient(90deg, #1e3a8a, #3b82f6); color: white; padding: 4px 10px; border-radius: 4px 4px 0 0; | groupstyle = background: #f8f9fa; color: #202122; font-weight: 600; padding: 3px 8px; border-right: 1px solid #e2e8f0; text-align: right; | liststyle = padding: 3px 8px; background: #ffffff; | group1 = <!--T:2--> Getting involved! | list1 = *[[meta:Special:MyLanguage/Bole Wikimedians User Group/Membership|<!--T:3--> Join us!]] | group2 = <!--T:4--> Community Events | list2 = * [[meta:Special:MyLanguage/Bole Wikimedians User Group/Events|<!--T:33--> All time events!]] | group3 = Annual Reports | list3 = * [[meta:Bole Wikimedians User Group/Reports/Annual_Report_2023|2023]] • [[meta:Bole Wikimedians User Group/Reports/Annual_Report_2024|2024]] • [[meta:Bole Wikimedians User Group/Annual_Report_2025|2025]] • [[meta:Bole Wikimedians User Group/Reports/Annual_Report_2026|2026]] | group4 = Community Meetings | list4 = {{Bole Wikimedians User Group/Meetings}} | group5 = <!--T:38--> Hubs/Networks | list5 = * [[meta:Special:MyLanguage/Bole Wikimedians Yobe Network|<!--T:40--> Yobe Network]] • [[meta:Special:MyLanguage/Bole Wikimedians Gombe Network|<!--T:39--> Gombe Network]] | group6 = <!--T:20--> Newsletter | list6 = * [[meta:Special:MyLanguage/Bole Wikimedians User Group/News|All news]] | belowstyle = background: #f1f5f9; color: #475569; border-top: 1px solid #e2e8f0; padding: 5px; border-radius: 0 0 4px 4px; font-size: 12px; | below = [[File:2023 Facebook icon.svg|frameless|13px|alt={{Name|Facebook}}|link=]] '''[https://www.facebook.com/61590521903033/ Bole Wikimedians User Group]'''&nbsp;•&nbsp;[[File:Email social icon.svg|frameless|13px|alt=<!--T:10--> Email address|link=]] '''{{nospam|bolewikimediansusergroup|gmail.com}}''' }} </div> 1ty1mhx1lfnvcsi1xckcb5p3kxmygrs 10464 10463 2026-08-24T15:06:17Z RAPTOR7762 18 10464 wikitext text/x-wiki <div> {{Box | header = <div style="background: linear-gradient(90deg, #1e3a8a, #3b82f6); color: white; padding: 4px 10px; border-radius: 4px 4px 0 0; text-align:center; font-size: 12pt;"><b>Bole Wikimedians User Group</b></div> | content = [[File:Bole Wikimedians User Group Logo.svg|center|200px]]{{Bole Wikimedians User Group/content}} }} {{Navbox | name = Bole Wikimedians User Group | title = Bole Wikimedians User Group | state = autocollapse | image = [[File:Bole Wikimedians User Group Logo.svg|200px]] | bodyclass = hlist | bodystyle = font-family:'Segoe UI', Arial, sans-serif; font-size: 13px; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 6px; line-height: 1.3; | basestyle = background: #202122; color: white; font-weight: bold; | titlestyle = background: linear-gradient(90deg, #1e3a8a, #3b82f6); color: white; padding: 4px 10px; border-radius: 4px 4px 0 0; | groupstyle = background: #f8f9fa; color: #202122; font-weight: 600; padding: 3px 8px; border-right: 1px solid #e2e8f0; text-align: right; | liststyle = padding: 3px 8px; background: #ffffff; | group1 = <!--T:2--> Getting involved! | list1 = *[[meta:Special:MyLanguage/Bole Wikimedians User Group/Membership|<!--T:3--> Join us!]] | group2 = <!--T:4--> Community Events | list2 = * [[meta:Special:MyLanguage/Bole Wikimedians User Group/Events|<!--T:33--> All time events!]] | group3 = Annual Reports | list3 = * [[meta:Bole Wikimedians User Group/Reports/Annual_Report_2023|2023]] • [[meta:Bole Wikimedians User Group/Reports/Annual_Report_2024|2024]] • [[meta:Bole Wikimedians User Group/Annual_Report_2025|2025]] • [[meta:Bole Wikimedians User Group/Reports/Annual_Report_2026|2026]] | group4 = Community Meetings | list4 = {{Bole Wikimedians User Group/Meetings}} | group5 = <!--T:38--> Hubs/Networks | list5 = * [[meta:Special:MyLanguage/Bole Wikimedians Yobe Network|<!--T:40--> Yobe Network]] • [[meta:Special:MyLanguage/Bole Wikimedians Gombe Network|<!--T:39--> Gombe Network]] | group6 = <!--T:20--> Newsletter | list6 = * [[meta:Special:MyLanguage/Bole Wikimedians User Group/News|All news]] | belowstyle = background: #f1f5f9; color: #475569; border-top: 1px solid #e2e8f0; padding: 5px; border-radius: 0 0 4px 4px; font-size: 12px; | below = [[File:2023 Facebook icon.svg|frameless|13px|alt={{Name|Facebook}}|link=]] '''[https://www.facebook.com/61590521903033/ Bole Wikimedians User Group]'''&nbsp;•&nbsp;[[File:Email social icon.svg|frameless|13px|alt=<!--T:10--> Email address|link=]] '''{{nospam|bolewikimediansusergroup|gmail.com}}''' }} </div> 86mz0fr9lf6d2qwtt3yr8ko8ox0lnfd 10465 10464 2026-08-24T15:38:00Z El-hussain14 25 10465 wikitext text/x-wiki <div> {{Box | header = <div style="background: linear-gradient(90deg, #1e3a8a, #3b82f6); color: white; padding: 4px 10px; border-radius: 4px 4px 0 0; text-align:center; font-size: 12pt;"><b>Bole Wikimedians User Group</b></div> | content = [[File:Bole Wikimedians User Group Logo.svg|center|200px]]{{Bole Wikimedians User Group/content}} }} {{Navbox | name = Bole Wikimedians User Group | title = Bole Wikimedians User Group | state = autocollapse | image = [[File:Bole Wikimedians User Group Logo.svg|200px]] | bodyclass = hlist | bodystyle = font-family:'Segoe UI', Arial, sans-serif; font-size: 13px; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 6px; line-height: 1.3; | basestyle = background: #202122; color: white; font-weight: bold; | titlestyle = background: linear-gradient(90deg, #1e3a8a, #3b82f6); color: white; padding: 4px 10px; border-radius: 4px 4px 0 0; | groupstyle = background: #f8f9fa; color: #202122; font-weight: 600; padding: 3px 8px; border-right: 1px solid #e2e8f0; text-align: right; | liststyle = padding: 3px 8px; background: #ffffff; | group1 = <!--T:2--> Getting involved! | list1 = *[[meta:Special:MyLanguage/Bole Wikimedians User Group/Membership|<!--T:3--> Join us!]] | group2 = <!--T:4--> Community Events | list2 = * [[meta:Special:MyLanguage/Bole Wikimedians User Group/Events|<!--T:33--> All time events!]] | group3 = Annual Reports | list3 = * [[meta:Bole Wikimedians User Group/Reports/Annual_Report_2026|2026]] | group4 = Community Meetings | list4 = {{Bole Wikimedians User Group/Meetings}} | group5 = <!--T:38--> Hubs/Networks | list5 = * [[meta:Special:MyLanguage/Bole Wikimedians Yobe Network|<!--T:40--> Yobe Network]] • [[meta:Special:MyLanguage/Bole Wikimedians Gombe Network|<!--T:39--> Gombe Network]] | group6 = <!--T:20--> Newsletter | list6 = * [[meta:Special:MyLanguage/Bole Wikimedians User Group/News|All news]] | belowstyle = background: #f1f5f9; color: #475569; border-top: 1px solid #e2e8f0; padding: 5px; border-radius: 0 0 4px 4px; font-size: 12px; | below = [[File:2023 Facebook icon.svg|frameless|13px|alt={{Name|Facebook}}|link=]] '''[https://www.facebook.com/61590521903033/ Bole Wikimedians User Group]'''&nbsp;•&nbsp;[[File:Email social icon.svg|frameless|13px|alt=<!--T:10--> Email address|link=]] '''{{nospam|bolewikimedia|gmail.com}}''' }} </div> fvbslrnasviwxeim1c5qz9n97cn4y7e 10496 10465 2026-08-25T06:05:54Z RAPTOR7762 18 10496 wikitext text/x-wiki <div class="mobileonly"> {{Box | header = <div style="background: linear-gradient(90deg, #1e3a8a, #3b82f6); color: white; padding: 4px 10px; border-radius: 4px 4px 0 0; text-align:center; font-size: 12pt;"><b>Bole Wikimedians User Group</b></div> | content = [[File:Bole Wikimedians User Group Logo.svg|center|200px]]{{Bole Wikimedians User Group/content}} }} </div> qiw7hlvqf7y1o5yvn9ua4ltaeaaai5p 10498 10496 2026-08-25T06:11:01Z RAPTOR7762 18 10498 wikitext text/x-wiki <div class="mobile-only"> {{Box | header = <div style="background: linear-gradient(90deg, #1e3a8a, #3b82f6); color: white; padding: 4px 10px; border-radius: 4px 4px 0 0; text-align:center; font-size: 12pt;"><b>Bole Wikimedians User Group</b></div> | content = [[File:Bole Wikimedians User Group Logo.svg|center|200px]]{{Bole Wikimedians User Group/content}} }} </div> 16ll7d8wh6kaujnzx6un340glamhgqm Tempilet:Bole Wikimedians User Group/content 10 1280 10485 2026-08-24T23:19:26Z RAPTOR7762 18 /* */ 10485 wikitext text/x-wiki {| | style="background: #f8f9fa; color: #202122; font-weight: 600; padding: 3px 8px; border-right: 1px solid #e2e8f0; text-align: right; width: 25%;" | bbb | nnb |} gx2ya0681vbxc5u7idusiz2d4e13p9p 10487 10485 2026-08-24T23:37:09Z RAPTOR7762 18 /* */ 10487 wikitext text/x-wiki {| | style="background: #f8f9fa; color: #202122; font-weight: 600; padding: 3px 8px; border-right: 1px solid #e2e8f0; text-align: right; width: 25%;" | Getting involved! | style="padding: 3px 8px; background: #ffffff;" | [[meta:Special:MyLanguage/Bole Wikimedians User Group/Membership|<!--T:3--> Join us!]] |} 2zn506a4k40hb78lpu1sjhyn4afj7hs 10493 10487 2026-08-25T05:55:48Z RAPTOR7762 18 10493 wikitext text/x-wiki {| style="font-size: 9pt;" | style="background: #f8f9fa; color: #202122; font-weight: 600; padding: 3px 8px; border-right: 1px solid #e2e8f0; text-align: right; width: 25%;" | Getting involved! | style="padding: 3px 8px; background: #ffffff;" | [[meta:Special:MyLanguage/Bole Wikimedians User Group/Membership|<!--T:3--> Join us!]] |} 2tophzcqoy1yzha4ee2sitwo7x9tpws 10494 10493 2026-08-25T06:02:19Z RAPTOR7762 18 10494 wikitext text/x-wiki {| style="font-size: 12px;" | style="background: #f8f9fa; color: #202122; font-weight: 600; padding: 3px 8px; border-right: 1px solid #e2e8f0; text-align: right; width: 25%;" | Getting involved! | style="padding: 3px 8px; background: #ffffff;" | [[meta:Special:MyLanguage/Bole Wikimedians User Group/Membership|<!--T:3--> Join us!]] |- | style="background: #f8f9fa; color: #202122; font-weight: 600; padding: 3px 8px; border-right: 1px solid #e2e8f0; text-align: right; width: 25%;" | Community Events | style="padding: 3px 8px; background: #ffffff;" | [[meta:Special:MyLanguage/Bole Wikimedians User Group/Events|<!--T:33--> All time events!]] |- | style="background: #f8f9fa; color: #202122; font-weight: 600; padding: 3px 8px; border-right: 1px solid #e2e8f0; text-align: right; width: 25%;" | Annual Reports | style="padding: 3px 8px; background: #ffffff;" | [[meta:Bole Wikimedians User Group/Reports/Annual_Report_2023|2023]] • [[meta:Bole Wikimedians User Group/Reports/Annual_Report_2024|2024]] • [[meta:Bole Wikimedians User Group/Annual_Report_2025|2025]] • [[meta:Bole Wikimedians User Group/Reports/Annual_Report_2026|2026]] |- | style="background: #f8f9fa; color: #202122; font-weight: 600; padding: 3px 8px; border-right: 1px solid #e2e8f0; text-align: right; width: 25%;" | Hubs/Networks | style="padding: 3px 8px; background: #ffffff;" | [[meta:Special:MyLanguage/Bole Wikimedians Yobe Network|<!--T:40--> Yobe Network]] • [[meta:Special:MyLanguage/Bole Wikimedians Gombe Network|<!--T:39--> Gombe Network]] |- | style="background: #f8f9fa; color: #202122; font-weight: 600; padding: 3px 8px; border-right: 1px solid #e2e8f0; text-align: right; width: 25%;" | Newsletter | style="padding: 3px 8px; background: #ffffff;" | [[meta:Special:MyLanguage/Bole Wikimedians User Group/News|All news]] |- | colspan="2"; style="background: #f1f5f9; color: #475569; border-top: 1px solid #e2e8f0; padding: 5px; border-radius: 0 0 4px 4px; font-size: 12px; text-align: center" | [[File:2023 Facebook icon.svg|frameless|13px|alt={{Name|Facebook}}|link=]] '''[https://www.facebook.com/61590521903033/ Bole Wikimedians User Group]'''&nbsp;•&nbsp;[[File:Email social icon.svg|frameless|13px|alt=<!--T:10--> Email address|link=]] '''{{nospam|bolewikimediansusergroup|gmail.com}}''' |} srdghqfy8kqupfe4wjtfqx1c7fxpyb9 10495 10494 2026-08-25T06:03:58Z RAPTOR7762 18 10495 wikitext text/x-wiki {| style="font-size: 12px;" | style="background: #f8f9fa; color: #202122; font-weight: 600; padding: 3px 8px; border-right: 1px solid #e2e8f0; text-align: right; width: 25%;" | Getting involved! | style="padding: 3px 8px; background: #ffffff;" | [[meta:Special:MyLanguage/Bole Wikimedians User Group/Membership|<!--T:3--> Join us!]] |- | style="background: #f8f9fa; color: #202122; font-weight: 600; padding: 3px 8px; border-right: 1px solid #e2e8f0; text-align: right; width: 25%;" | Community Events | style="padding: 3px 8px; background: #ffffff;" | [[meta:Special:MyLanguage/Bole Wikimedians User Group/Events|<!--T:33--> All time events!]] |- | style="background: #f8f9fa; color: #202122; font-weight: 600; padding: 3px 8px; border-right: 1px solid #e2e8f0; text-align: right; width: 25%;" | Meetings | style="padding: 3px 8px; background: #ffffff;" | {{Bole Wikimedians User Group/Meetings}} |- | style="background: #f8f9fa; color: #202122; font-weight: 600; padding: 3px 8px; border-right: 1px solid #e2e8f0; text-align: right; width: 25%;" | Annual Reports | style="padding: 3px 8px; background: #ffffff;" | [[meta:Bole Wikimedians User Group/Reports/Annual_Report_2023|2023]] • [[meta:Bole Wikimedians User Group/Reports/Annual_Report_2024|2024]] • [[meta:Bole Wikimedians User Group/Annual_Report_2025|2025]] • [[meta:Bole Wikimedians User Group/Reports/Annual_Report_2026|2026]] |- | style="background: #f8f9fa; color: #202122; font-weight: 600; padding: 3px 8px; border-right: 1px solid #e2e8f0; text-align: right; width: 25%;" | Hubs/Networks | style="padding: 3px 8px; background: #ffffff;" | [[meta:Special:MyLanguage/Bole Wikimedians Yobe Network|<!--T:40--> Yobe Network]] • [[meta:Special:MyLanguage/Bole Wikimedians Gombe Network|<!--T:39--> Gombe Network]] |- | style="background: #f8f9fa; color: #202122; font-weight: 600; padding: 3px 8px; border-right: 1px solid #e2e8f0; text-align: right; width: 25%;" | Newsletter | style="padding: 3px 8px; background: #ffffff;" | [[meta:Special:MyLanguage/Bole Wikimedians User Group/News|All news]] |- | colspan="2"; style="background: #f1f5f9; color: #475569; border-top: 1px solid #e2e8f0; padding: 5px; border-radius: 0 0 4px 4px; font-size: 12px; text-align: center" | [[File:2023 Facebook icon.svg|frameless|13px|alt={{Name|Facebook}}|link=]] '''[https://www.facebook.com/61590521903033/ Bole Wikimedians User Group]'''&nbsp;•&nbsp;[[File:Email social icon.svg|frameless|13px|alt=<!--T:10--> Email address|link=]] '''{{nospam|bolewikimediansusergroup|gmail.com}}''' |} bvsjmadl5rdgvryccvfnhggkykluu6z 10497 10495 2026-08-25T06:06:53Z RAPTOR7762 18 10497 wikitext text/x-wiki {| style="font-size: 12px;" | style="background: #f8f9fa; color: #202122; font-weight: 600; padding: 3px 8px; border-right: 1px solid #e2e8f0; text-align: right; width: 25%;" | Getting involved! | style="padding: 3px 8px; background: #ffffff;" | [[meta:Special:MyLanguage/Bole Wikimedians User Group/Membership|<!--T:3--> Join us!]] |- | style="background: #f8f9fa; color: #202122; font-weight: 600; padding: 3px 8px; border-right: 1px solid #e2e8f0; text-align: right; width: 25%;" | Community Events | style="padding: 3px 8px; background: #ffffff;" | [[meta:Special:MyLanguage/Bole Wikimedians User Group/Events|<!--T:33--> All time events!]] |- | style="background: #f8f9fa; color: #202122; font-weight: 600; padding: 3px 8px; border-right: 1px solid #e2e8f0; text-align: right; width: 25%;" | Meetings | style="padding: 3px 8px; background: #ffffff;" | {{Bole Wikimedians User Group/Meetings}} |- | style="background: #f8f9fa; color: #202122; font-weight: 600; padding: 3px 8px; border-right: 1px solid #e2e8f0; text-align: right; width: 25%;" | Annual Reports | style="padding: 3px 8px; background: #ffffff;" | [[meta:Bole Wikimedians User Group/Reports/Annual_Report_2023|2023]] • [[meta:Bole Wikimedians User Group/Reports/Annual_Report_2024|2024]] • [[meta:Bole Wikimedians User Group/Annual_Report_2025|2025]] • [[meta:Bole Wikimedians User Group/Reports/Annual_Report_2026|2026]] |- | style="background: #f8f9fa; color: #202122; font-weight: 600; padding: 3px 8px; border-right: 1px solid #e2e8f0; text-align: right; width: 25%;" | Hubs/Networks | style="padding: 3px 8px; background: #ffffff;" | [[meta:Special:MyLanguage/Bole Wikimedians Yobe Network|<!--T:40--> Yobe Network]] • [[meta:Special:MyLanguage/Bole Wikimedians Gombe Network|<!--T:39--> Gombe Network]] |- | style="background: #f8f9fa; color: #202122; font-weight: 600; padding: 3px 8px; border-right: 1px solid #e2e8f0; text-align: right; width: 25%;" | Newsletter | style="padding: 3px 8px; background: #ffffff;" | [[meta:Special:MyLanguage/Bole Wikimedians User Group/News|All news]] |- | colspan="2"; style="background: #f1f5f9; color: #475569; border-top: 1px solid #e2e8f0; padding: 5px; border-radius: 0 0 4px 4px; font-size: 12px; text-align: center; width=100%;" | [[File:2023 Facebook icon.svg|frameless|13px|alt={{Name|Facebook}}|link=]] '''[https://www.facebook.com/61590521903033/ Bole Wikimedians User Group]'''&nbsp;•&nbsp;[[File:Email social icon.svg|frameless|13px|alt=<!--T:10--> Email address|link=]] '''{{nospam|bolewikimediansusergroup|gmail.com}}''' |} 2gf683xpfh1a2sz8mti17c61vot4qsr 10503 10497 2026-08-25T08:42:39Z RAPTOR7762 18 10503 wikitext text/x-wiki {| style="font-size: 13px;" | style="background: #f8f9fa; color: #202122; font-weight: 600; padding: 3px 8px; border-right: 1px solid #e2e8f0; text-align: right; width: 25%;" | Getting involved! | style="padding: 3px 8px; background: #ffffff;" | [[meta:Special:MyLanguage/Bole Wikimedians User Group/Membership|<!--T:3--> Join us!]] |- | style="background: #f8f9fa; color: #202122; font-weight: 600; padding: 3px 8px; border-right: 1px solid #e2e8f0; text-align: right; width: 25%;" | Community Events | style="padding: 3px 8px; background: #ffffff;" | [[meta:Special:MyLanguage/Bole Wikimedians User Group/Events|<!--T:33--> All time events!]] |- | style="background: #f8f9fa; color: #202122; font-weight: 600; padding: 3px 8px; border-right: 1px solid #e2e8f0; text-align: right; width: 25%;" | Meetings | style="padding: 3px 8px; background: #ffffff;" | {{Bole Wikimedians User Group/Meetings}} |- | style="background: #f8f9fa; color: #202122; font-weight: 600; padding: 3px 8px; border-right: 1px solid #e2e8f0; text-align: right; width: 25%;" | Annual Reports | style="padding: 3px 8px; background: #ffffff;" | [[meta:Bole Wikimedians User Group/Reports/Annual_Report_2023|2023]] • [[meta:Bole Wikimedians User Group/Reports/Annual_Report_2024|2024]] • [[meta:Bole Wikimedians User Group/Annual_Report_2025|2025]] • [[meta:Bole Wikimedians User Group/Reports/Annual_Report_2026|2026]] |- | style="background: #f8f9fa; color: #202122; font-weight: 600; padding: 3px 8px; border-right: 1px solid #e2e8f0; text-align: right; width: 25%;" | Hubs/Networks | style="padding: 3px 8px; background: #ffffff;" | [[meta:Special:MyLanguage/Bole Wikimedians Yobe Network|<!--T:40--> Yobe Network]] • [[meta:Special:MyLanguage/Bole Wikimedians Gombe Network|<!--T:39--> Gombe Network]] |- | style="background: #f8f9fa; color: #202122; font-weight: 600; padding: 3px 8px; border-right: 1px solid #e2e8f0; text-align: right; width: 25%;" | Newsletter | style="padding: 3px 8px; background: #ffffff;" | [[meta:Special:MyLanguage/Bole Wikimedians User Group/News|All news]] |- | colspan="2"; style="background: #f1f5f9; color: #475569; border-top: 1px solid #e2e8f0; padding: 5px; border-radius: 0 0 4px 4px; font-size: 12px; text-align: center; width=100%;" | [[File:2023 Facebook icon.svg|frameless|13px|alt={{Name|Facebook}}|link=]] '''[https://www.facebook.com/61590521903033/ Bole Wikimedians User Group]'''&nbsp;•&nbsp;[[File:Email social icon.svg|frameless|13px|alt=<!--T:10--> Email address|link=]] '''{{nospam|bolewikimediansusergroup|gmail.com}}''' |} o7psa7k3x2i3ctdzhmu31lvmpsdglbn 10504 10503 2026-08-25T08:43:05Z RAPTOR7762 18 10504 wikitext text/x-wiki {| style="font-size: 13.5px;" | style="background: #f8f9fa; color: #202122; font-weight: 600; padding: 3px 8px; border-right: 1px solid #e2e8f0; text-align: right; width: 25%;" | Getting involved! | style="padding: 3px 8px; background: #ffffff;" | [[meta:Special:MyLanguage/Bole Wikimedians User Group/Membership|<!--T:3--> Join us!]] |- | style="background: #f8f9fa; color: #202122; font-weight: 600; padding: 3px 8px; border-right: 1px solid #e2e8f0; text-align: right; width: 25%;" | Community Events | style="padding: 3px 8px; background: #ffffff;" | [[meta:Special:MyLanguage/Bole Wikimedians User Group/Events|<!--T:33--> All time events!]] |- | style="background: #f8f9fa; color: #202122; font-weight: 600; padding: 3px 8px; border-right: 1px solid #e2e8f0; text-align: right; width: 25%;" | Meetings | style="padding: 3px 8px; background: #ffffff;" | {{Bole Wikimedians User Group/Meetings}} |- | style="background: #f8f9fa; color: #202122; font-weight: 600; padding: 3px 8px; border-right: 1px solid #e2e8f0; text-align: right; width: 25%;" | Annual Reports | style="padding: 3px 8px; background: #ffffff;" | [[meta:Bole Wikimedians User Group/Reports/Annual_Report_2023|2023]] • [[meta:Bole Wikimedians User Group/Reports/Annual_Report_2024|2024]] • [[meta:Bole Wikimedians User Group/Annual_Report_2025|2025]] • [[meta:Bole Wikimedians User Group/Reports/Annual_Report_2026|2026]] |- | style="background: #f8f9fa; color: #202122; font-weight: 600; padding: 3px 8px; border-right: 1px solid #e2e8f0; text-align: right; width: 25%;" | Hubs/Networks | style="padding: 3px 8px; background: #ffffff;" | [[meta:Special:MyLanguage/Bole Wikimedians Yobe Network|<!--T:40--> Yobe Network]] • [[meta:Special:MyLanguage/Bole Wikimedians Gombe Network|<!--T:39--> Gombe Network]] |- | style="background: #f8f9fa; color: #202122; font-weight: 600; padding: 3px 8px; border-right: 1px solid #e2e8f0; text-align: right; width: 25%;" | Newsletter | style="padding: 3px 8px; background: #ffffff;" | [[meta:Special:MyLanguage/Bole Wikimedians User Group/News|All news]] |- | colspan="2"; style="background: #f1f5f9; color: #475569; border-top: 1px solid #e2e8f0; padding: 5px; border-radius: 0 0 4px 4px; font-size: 12px; text-align: center; width=100%;" | [[File:2023 Facebook icon.svg|frameless|13px|alt={{Name|Facebook}}|link=]] '''[https://www.facebook.com/61590521903033/ Bole Wikimedians User Group]'''&nbsp;•&nbsp;[[File:Email social icon.svg|frameless|13px|alt=<!--T:10--> Email address|link=]] '''{{nospam|bolewikimediansusergroup|gmail.com}}''' |} nrk8fb37rw4bjfxd3yclgm9a5sl4c53