Wikipedia tetwiki https://tet.wikipedia.org/wiki/P%C3%A1jina_Mahuluk MediaWiki 1.47.0-wmf.9 first-letter Media Espesiál Diskusaun Uza-na'in Diskusaun Uza-na'in Wikipedia Diskusaun Wikipedia Imajen Diskusaun Imajen MediaWiki Diskusaun MediaWiki Template Diskusaun Template Ajuda Diskusaun Ajuda Kategoria Diskusaun Kategoria TimedText TimedText talk Módulo Módulo Discussão Evento Evento Discussão Template:Bots 10 2370 73037 58454 2024-07-08T13:57:55Z en>Remsense 0 Restored revision 1045698529 by [[Special:Contributions/Primefac|Primefac]] ([[User talk:Primefac|talk]]) 73037 wikitext text/x-wiki {{#if:{{#invoke:String|match|{{{optout}}}|MassMessage|ignore_errors=1}}|[[Category:Wikipedians who opt out of message delivery]]}}<noinclude>{{Documentation}}</noinclude> tumq6m7ne2n7kp4e247jvyuev2aogcc 73038 69732 2026-07-02T15:52:18Z Robertsky 10424 1 versaun husi [[:en:Template:Bots]] 69732 wikitext text/x-wiki <br clear=all> {| class="toccolours" style="margin: auto;" ! style="background:#ccccff" align="center" width="100%" | [[Wikipedia:Bot sira|"Bot" iha Wikipédia tetun]] || [[File:Wikipedia-logo-v2-tet.svg|50px]] |- | align="center" style="font-size: 90%;" colspan="2" | [[User:CommonsDelinker|CommonsDelinker]] | [[User:Kimberley-nia Bot|Kimberley-nia Bot]]<br />'''Interwiki-only bots'''<br />[[User:Escarbot|Escarbot]] | [[User:JAnDbot|JAnDbot]] | [[User:Le Pied-bot|Le Pied-bot]] | [[User:MalafayaBot|MalafayaBot]] | [[User:Robbot|Robbot]] | [[User:SieBot|SieBot]] | [[User:TXiKiBoT|TXiKiBoT]] | [[User:Thijs!bot|Thijs!bot]] | [[User:VolkovBot|VolkovBot]] |} hue4zarr0tqabkq0r0k6ee8pexlex9g Olsztyn 0 3679 73059 64537 2026-07-03T00:37:04Z InternetArchiveBot 8082 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 73059 wikitext text/x-wiki {{Sidade | sidade = Olsztyn | rai = Polónia | subdivizaun1 = Voivoida | subdivizaun_naran1 = [[Warmia-Masuria (Voivodia)|Warmia-Masuria]] | subdivizaun2 = | subdivizaun_naran2 = | subdivizaun3 = | subdivizaun_naran3 = | imagem_brasaun = POL Olsztyn COA.svg | imagem_bandeira = POL Olsztyn flag.svg | image_localizasaun = POL Olsztyn map.svg | área = 88,33 | populasaun = 176.463 | tinan = 2010 | densidade = 1997,8 | sítiu_ofisiál = olsztyn.eu | category = Sidade iha Polónia | imajen = Olsztyn, stary ratusz..jpg | text = }} '''Olsztyn''' ([[lia-alemaun|alemaun]]: ''Allenstein'') mak sai sidade iha [[Polónia]]. Olsztyn ne'e sisade kapitál [[Warmia-Masuria (Voivodia)|Warmia-Masuria]] nian. === Ligasaun ba li'ur === {{commons|Olsztyn}} * [http://www.olsztyn.eu Sítiu ofisiál] {{Webarchive|url=https://web.archive.org/web/20230128054004/https://www.olsztyn.eu/ |date=2023-01-28 }} [[Kategoria:Sidade Polónia nian]] bjxyzj9qyxkitpdek7xg7adyhqdnbkr Irabin Leten 0 5307 72995 65970 2026-07-02T13:02:32Z Domingos de Carvalho Nuno 11543 72995 wikitext text/x-wiki {| class="wikitable float-right" align="right" width="300" | border="1" colspan="2" align=center style="background:#000000; color:white" |'''Irabin Leten''' |- | colspan="2" bgcolor="#000000"|[[Imajen:Uatucarbau posto administrativo.png|300px]] |- | '''Área''' | align="center" |13,18 km²<ref name=Census2010-2>[http://dne.mof.gov.tl/published/2010%20and%202011%20Publications/Pub%202%20English%20web/Publication%202%20FINAL%20%20English%20Fina_Website.pdf Direcção Nacional de Estatística: Population Distribution by Administrative Areas Volume 2 English] {{Webarchive|url=https://web.archive.org/web/20170105061852/http://dne.mof.gov.tl/published/2010%20and%202011%20Publications/Pub%202%20English%20web/Publication%202%20FINAL%20%20English%20Fina_Website.pdf |date=2017-01-05 }} (Census 2010; PDF; 22,6 MB)</ref> |- | '''Populasaun''' | align="center" |660 <small>(tinan 2015)</small><ref name="SR2015">{{webarchive |url=https://web.archive.org/web/20161231161557/http://www.statistics.gov.tl/wp-content/uploads/2016/11/1_2015-V4-Households-Population-by-5-year-age-group.xls |date=2016-12-31 | title=Timor-Leste Population And Housing Census 2015}}</ref> |- | '''Xefe Suku''' | align="center" |Lino Martins<br/><small>(Eleisaun 2009)</small><ref>[http://www.stae.tl/elections/2009/community/results/ Secretariado Técnico de Administração Eleitoral STAE: Eleições para Liderança Comunitária 2009 – Resultados]</ref> |} '''Irabin Leten''' (iha [[lia-portugés]]: ''Irabin de Cima'') suku ida iha [[Timór Lorosa'e]]. Suku ne'e iha postu administrativu [[Watucarbau (postu administrativu)|Watucarbau]] (munisípiu [[Vikeke (munisípiu)|Vikeke]]). Iha tinan 2015 total populasaun hamutuk 660.<ref name="SR2015" /> Área 13,18 km².<ref name=Census2010-2 /> Suku Irabin Leten iha aldeia rua mak hanesan: Caida Ho O, Tetumori, Cao Oli O, Mar Rae, Uatubita.<ref name=JdR>[http://www.jornal.gov.tl/public/docs/2009/serie_1/serie1_no33.pdf Jornal da Républica mit dem Diploma Ministerial n.° 199/09] {{Webarchive|url=https://web.archive.org/web/20100203110707/http://www.jornal.gov.tl/public/docs/2009/serie_1/serie1_no33.pdf |date=2010-02-03 }} (Portugiesisch; PDF; 323 kB)</ref> == Ligasaun ba li'ur == * [http://www.mof.gov.tl/wp-content/uploads/2011/10/viqueque-irabin-de-cima-fo-fila-fali-Tetun-FINAL.pdf Sensus Fo Fila Fali 2010] ([[Tetun]]; PDF; 8,6 MB) == Referensia == <references /> {{Suku Watucarbau postu administrativu}} [[Kategoria:Vikeke (munisípiu)]] [[Kategoria:Suku Timor-Leste nian]] 56cv293djbrwzcoyszwtrnvylk7fao0 72996 72995 2026-07-02T13:03:28Z Domingos de Carvalho Nuno 11543 72996 wikitext text/x-wiki {| class="wikitable float-right" align="right" width="300" | border="1" colspan="2" align=center style="background:#000000; color:white" |'''Irabin Leten''' |- | colspan="2" bgcolor="#000000"|[[Imajen:Uatucarbau posto administrativo.png|300px]] |- | '''Área''' | align="center" |13,18 km²<ref name=Census2010-2>[http://dne.mof.gov.tl/published/2010%20and%202011%20Publications/Pub%202%20English%20web/Publication%202%20FINAL%20%20English%20Fina_Website.pdf Direcção Nacional de Estatística: Population Distribution by Administrative Areas Volume 2 English] {{Webarchive|url=https://web.archive.org/web/20170105061852/http://dne.mof.gov.tl/published/2010%20and%202011%20Publications/Pub%202%20English%20web/Publication%202%20FINAL%20%20English%20Fina_Website.pdf |date=2017-01-05 }} (Census 2010; PDF; 22,6 MB)</ref> |- | '''Populasaun''' | align="center" |660 <small>(tinan 2015)</small><ref name="SR2015">{{webarchive |url=https://web.archive.org/web/20161231161557/http://www.statistics.gov.tl/wp-content/uploads/2016/11/1_2015-V4-Households-Population-by-5-year-age-group.xls |date=2016-12-31 | title=Timor-Leste Population And Housing Census 2015}}</ref> |- | '''Xefe Suku''' | align="center" |Lino Martins<br/><small>(Eleisaun 2009)</small><ref>[http://www.stae.tl/elections/2009/community/results/ Secretariado Técnico de Administração Eleitoral STAE: Eleições para Liderança Comunitária 2009 – Resultados]</ref> |} '''Irabin Leten''' (iha [[lia-portugés]]: ''Irabin de Cima'') suku ida iha [[Timór Lorosa'e]]. Suku ne'e iha postu administrativu [[Watucarbau (postu administrativu)|Watucarbau]] (munisípiu [[Vikeke (munisípiu)|Vikeke]]). Iha tinan 2015 total populasaun hamutuk 660.<ref name="SR2015" /> Área 13,18 km².<ref name=Census2010-2 /> Suku Irabin Leten iha aldeia rua mak hanesan: Caida Ho O, Tetumori, Uatobita, Cao Oli O, Mar Rae.<ref name=JdR>[http://www.jornal.gov.tl/public/docs/2009/serie_1/serie1_no33.pdf Jornal da Républica mit dem Diploma Ministerial n.° 199/09] {{Webarchive|url=https://web.archive.org/web/20100203110707/http://www.jornal.gov.tl/public/docs/2009/serie_1/serie1_no33.pdf |date=2010-02-03 }} (Portugiesisch; PDF; 323 kB)</ref> == Ligasaun ba li'ur == * [http://www.mof.gov.tl/wp-content/uploads/2011/10/viqueque-irabin-de-cima-fo-fila-fali-Tetun-FINAL.pdf Sensus Fo Fila Fali 2010] ([[Tetun]]; PDF; 8,6 MB) == Referensia == <references /> {{Suku Watucarbau postu administrativu}} [[Kategoria:Vikeke (munisípiu)]] [[Kategoria:Suku Timor-Leste nian]] 27vfz9j73cx06r2jc7bu4our7zxv4fl 72997 72996 2026-07-02T13:04:14Z Domingos de Carvalho Nuno 11543 72997 wikitext text/x-wiki {| class="wikitable float-right" align="right" width="300" | border="1" colspan="2" align=center style="background:#000000; color:white" |'''Irabin Leten''' |- | colspan="2" bgcolor="#000000"|[[Imajen:Uatucarbau posto administrativo.png|300px]] |- | '''Área''' | align="center" |13,18 km²<ref name=Census2010-2>[http://dne.mof.gov.tl/published/2010%20and%202011%20Publications/Pub%202%20English%20web/Publication%202%20FINAL%20%20English%20Fina_Website.pdf Direcção Nacional de Estatística: Population Distribution by Administrative Areas Volume 2 English] {{Webarchive|url=https://web.archive.org/web/20170105061852/http://dne.mof.gov.tl/published/2010%20and%202011%20Publications/Pub%202%20English%20web/Publication%202%20FINAL%20%20English%20Fina_Website.pdf |date=2017-01-05 }} (Census 2010; PDF; 22,6 MB)</ref> |- | '''Populasaun''' | align="center" |660 <small>(tinan 2015)</small><ref name="SR2015">{{webarchive |url=https://web.archive.org/web/20161231161557/http://www.statistics.gov.tl/wp-content/uploads/2016/11/1_2015-V4-Households-Population-by-5-year-age-group.xls |date=2016-12-31 | title=Timor-Leste Population And Housing Census 2015}}</ref> |- | '''Xefe Suku''' | align="center" |Lino Martins<br/><small>(Eleisaun 2009)</small><ref>[http://www.stae.tl/elections/2009/community/results/ Secretariado Técnico de Administração Eleitoral STAE: Eleições para Liderança Comunitária 2009 – Resultados]</ref> |} '''Irabin Leten''' (iha [[lia-portugés]]: ''Irabin de Cima'') suku ida iha [[Timór Lorosa'e]]. Suku ne'e iha postu administrativu [[Watucarbau (postu administrativu)|Watucarbau]] (munisípiu [[Vikeke (munisípiu)|Vikeke]]). Iha tinan 2015 total populasaun hamutuk 660.<ref name="SR2015" /> Área 13,18 km².<ref name=Census2010-2 /> Suku Irabin Leten iha aldeia rua mak hanesan: Caida Ho O, Tetumori, Uatobita, Marra'e no Cao Oli O.<ref name=JdR>[http://www.jornal.gov.tl/public/docs/2009/serie_1/serie1_no33.pdf Jornal da Républica mit dem Diploma Ministerial n.° 199/09] {{Webarchive|url=https://web.archive.org/web/20100203110707/http://www.jornal.gov.tl/public/docs/2009/serie_1/serie1_no33.pdf |date=2010-02-03 }} (Portugiesisch; PDF; 323 kB)</ref> == Ligasaun ba li'ur == * [http://www.mof.gov.tl/wp-content/uploads/2011/10/viqueque-irabin-de-cima-fo-fila-fali-Tetun-FINAL.pdf Sensus Fo Fila Fali 2010] ([[Tetun]]; PDF; 8,6 MB) == Referensia == <references /> {{Suku Watucarbau postu administrativu}} [[Kategoria:Vikeke (munisípiu)]] [[Kategoria:Suku Timor-Leste nian]] c8kpcqwjt9dtdnaqy49ffa2952n3bzj Android (Sistema Operasaun) 0 5745 73055 70199 2026-07-03T00:06:07Z InternetArchiveBot 8082 Rescuing 12 sources and tagging 0 as dead.) #IABot (v2.0.9.5 73055 wikitext text/x-wiki Android mak móvel operasaun sistema ida ne ' ebé dezenvolve hosi Google, bazeia ba Linux kernel no dezeña prinsipalmente ba touchscreen devices móvel hanesan smartphones no galaxy. Eletrónikus uzuáriu android nian prinsipalmente bazeia ba manipulasaun direta, ne ' ebé uza mss fuan sira-ne ' ebé vagamente koresponde ba bein-mundu asaun, hanesan swiping, tapping no pinching, ba buat ruma atu kontrola on-screen objetu, hamutuk ho keyboard virtual ida ba testu input. Aleinde touchscreen devices, Google tan dezenvolve tiha ona Android TV ba televizaun ne'e, Auto Android ba karreta no Android ida Taka ba wrist watches, ida-idak ho eletrónikus uzuáriu espesializada ida. Variants Android uza mós kona-ba notebooks, game consoles, cctv dijitál maior parte, no seluk eletrónika. Android iha baze instalasaun boot liu hotu-hotu operasaun sistema (OS) kualkér. Android sai di'ak liu ne ' ebé fa'an OS kona-ba galaxy, hahú husi tinan 2013, no kona-ba smartphones mak domina husi kualkér metric.<ref name="manjoomurky"><cite class="citation news">Manjoo, Farhad (May 27, 2015). </cite></ref><ref name="dominating">{{Cite web|url=http://gs.statcounter.com/#mobile_os-ww-monthly-201601-201601-map|title=Top Mobile Operating Systems Per Country, Jan 2016|work=statcounter.com}}</ref> -Ne ' ebé Android, Inc., ne ' ebé Google sosa iha tinan 2005, hahú dezenvolve Android mak unveiled iha tinan 2007, hamutuk ho hahú Loke Handset Aliansa nian – konsórsiu hardware, software, no oras empreza determina atu avansa ba oin padraun sira ne ' ebé nakloke ba devices móvel. Iha fulan-Jullu tinan 2013, loja Google sira Halo ona tokon ida Android kandidatura ("apps") publika – inklui barak "negósiu terseira klase apps" ne ' ebé rival plataforma móvel kompetisaun entre – no liu billaun 50 kandidatura relatoriu. Ida fulan Abril – Maiu 2013 levantamentu kona-ba aplikasaun móvel developers hetan 71% developers ne ' ebé kria ona rekerimentu ba Android, no levantamentu tinan 2015 nian ida ne ' ebé hetan katak 40% hosi totál developers profisionál haree Android hanesan sira-nia prioridade alvu plataforma, ne ' ebé mak bele halo komparasaun ba iOS Apple nian kona-ba 37% ho plataforma rua ne'e aas liu dook ema seluk. Iha fulan Setembru tinan 2015, Android iha billaun 1.4 devices ativu fulan-fulan.  <ref><cite class="citation news">Callaham, John (September 29, 2015). </cite></ref> [[Category:Articles containing potentially dated statements from July 2013|Category:Articles containing potentially dated statements from July 2013]] [[Category:All articles containing potentially dated statements|Category:All articles containing potentially dated statements]] Kódigu fonte android nian ne'e lansa husi Google tuir fonte nakloke lisensa, maske maioria devices Android ikus mai ró-ahi ho teatru ida kona-ba fonte sira ne ' ebé nakloke no software compete, ne ' ebé inklui software compete ne ' ebé presiza atu hetan asesu ba servisu Google. Android mak populár ho empreza teknolojia ne ' ebé ezije ready-made, kustu ki'ik no customizable operasaun sistema ida ba devices tech aas. Ninia natureza ne ' ebé loke ona enkoraja komunidade ida ne ' ebé boot developers no enthusiasts atu uza kódigu fonte-nakloke hanesan hun ba mai husi komunidade tanba projetu sira, ne ' ebé halo aktualizasaun ba devices boot, aumenta karakterístika foun ba uzuáriu sira ne ' ebé avansadu ka halo Android devices ne ' ebé orijinalmente shipped ho sistema operasaun sira seluk. Susesu Android halo ida-neʼe ida alvu ba litigasaun patent (no direitu autór) hanesan parte husi, neʼebé ema bolu nuʼudar "smartphone funu" entre empreza teknolojia .<ref name="cnet2011">{{Cite web|last=Reardon|first=Marguerite|url=http://news.cnet.com/8301-30686_3-20092399-266/google-just-bought-itself-patent-protection/|title=Google just bought itself patent protection|publisher=News.cnet.com|date=August 15, 2011|accessdate=May 1, 2013|access-date=May 1, 2013}}</ref><ref name="tomsguide">{{Cite web|author=Douglas Perry|url=http://www.tomsguide.com/us/google-android-installations-app-downloads,news-11861.html|title=Google Android Now on 135 Million Devices|publisher=Tomsguide.com|date=July 16, 2011|accessdate=May 1, 2013|access-date=May 1, 2013}}</ref> == History == [[Imajen:Android_logo_(2007-2014).svg|thumb|250x250px|Former Android logo wordmark (2007-2014)]] Android, Inc. ne'e harii iha Palo Alto, California iha fulan-Outubru tinan 2003 husi Andy Rubin (fundadór kooperasaun kona-ba Perigu), Rich Miner (fundadór ko-Wildfire Komunikasaun, Inc.), Nick Sears (dala ida VP iha T-Móvel), no Chris White (xefia konsepsaun no eletrónikus dezenvolvimentu iha WebTV) atu dezenvolve, iha Rubin sira-nia liafuan, "smarter móvel devices ne ' ebé mak hatene liu kona-ba ninia proprietáriu nian fatin no preferénsia". Intensaun sedu ba empreza sira atu dezenvolve sistema operasaun avansada ida ba cctv dijitál maior parte. Maibé, kuandu hatene katak merkadu devices ne ' ebé mak la sufisiente, empreza diverted esforsu kona-ba realizasaun smartphone operasaun sistema ida ne ' ebé sei rival Symbian no Microsoft Kona Móvel. Maski accomplishments kotuk fundadór no funsionáriu sira ne ' ebé sedu, Android Inc. hala'o subasubar deʼit, fó sai de'it ne ' ebé nia servisu kona-ba instalasaun sira ba uzu ba telefoni. Tinan ne ' ebé hanesan, Rubin halai sai husi osan. Steve Perlman, belun besik ho Rubin, lori ba nia $10,000 iha osan iha pakote ida, no lakohi ai-riin Hotu ne ' ebé klaru iha empreza.<ref name="StevePerlman">{{Cite web|url=http://www.businessweek.com/magazine/the-edison-of-silicon-valley-07272011.html|title=Steve Perlman's Wireless Fix|last=Vance|first=Ashlee|date=July 27, 2011|work=Bloomberg Businessweek|publisher=Bloomberg|accessdate=November 3, 2012|access-date=November 3, 2012}}</ref> Iha fulan-Jullu tinan 2005, Google hetan Android Inc. ba 50 tokon $, funsionáriu xave ninian, ne ' ebé inklui Rubin, Miner no Mutin, hela iha kompañia depois sosa. Barak la hatene neʼe kona-ba Android Inc. iha tempu, maibé barak asume katak Google halo planu atu tama iha merkadu telemóvel, ho movimentu ida ne'e. Iha Google, ekipa ne ' ebé lidera husi Rubin dezenvolve pesoal móvel plataforma powered husi Linux kernel. Google marketed plataforma handset na'in no karreira kona-ba promesa fó sistema ida ne ' ebé fleksivel, upgradeable. Google ona bá oin-oin kona-ba parseiru komponente no software hardware no signaled ba karreira ne'e nakloke ba oin-oin-oin kooperasaun kona-ba sira-nia parte. <ref name="EngadgetMobileOS">{{Cite web|url=http://www.engadget.com/2007/08/28/google-is-working-on-a-mobile-os-and-its-due-out-shortly|title=Google is working on a mobile OS, and it's due out shortly|last=Block|first=Ryan|work=[[Engadget]]|date=August 28, 2007|accessdate=February 17, 2012|access-date=February 17, 2012}}</ref><ref name="WSJ"><cite class="citation news">Sharma, Amol; Delaney, Kevin J. (August 2, 2007). </cite></ref><ref name="DT">{{Cite web|archiveurl=https://web.archive.org/web/20070703031543/http://www.directtraffic.org/OnlineNews/Google_admits_to_mobile_phone_plan_18094880.html|archivedate=July 3, 2007|url=http://www.directtraffic.org/OnlineNews/Google_admits_to_mobile_phone_plan_18094880.html|title=Google admits to mobile phone plan|work=directtraffic.org|publisher=Google News|date=March 20, 2007|accessdate=February 17, 2012|access-date=February 17, 2012}}</ref> Espekulasaun kona-ba intensaun Google nian ne ' ebé atu tama iha merkadu komunikasaun móvel sira kontinua halo liu hosi fulan-Dezembru tinan-2006. Codenamed prototype uluk "Tama" iha resemblance ida ne ' ebé besik liu ba telefone BlackBerry ida, ho la touchscreen, no ida keyboard fíziku, QWERTY, maibé ne'e depois fila fali engineered atu apoia touchscreen ida, atu bele kompete ho devices announced seluk hanesan 2006 LG Prada no 2007 Apple iPhone. Iha fulan Setembru tinan 2007, InformationWeek kobre ida Evalueserve estudu relatoriu Google ona aprezenta kandidatura patent oin-oin iha área telephony móvel Clear All .<ref name="IWpatents"><cite class="citation news">Claburn, Thomas (September 19, 2007). </cite></ref><ref name="MNpatents">{{Cite web|url=http://www.moconews.net/entry/419-googles-strong-mobile-related-patent-portfolio|title=Google's Strong Mobile-Related Patent Portfolio|last=Pearce|first=James Quintana|work=mocoNews.net|date=September 20, 2007|accessdate=February 17, 2012|access-date=February 17, 2012}} {{Webarchive|url=https://web.archive.org/web/20081216114815/http://www.moconews.net/entry/419-googles-strong-mobile-related-patent-portfolio/ |date=December 16, 2008 }}</ref> [[Imajen:A_Press_Conference_for_the_Launch_of_Nexus_7_on_September_27,_2012_in_Seoul_from_acrofan_3.JPG|thumb|Eric Schmidt, Andy Rubin no Barra Hugo ne ' ebé iha tinan 2012 konferénsia imprensa ida hodi fó sai Google nian Nexus 7 ai-kabelak <br> ]] Iha loron 5, fulan Novembru tinan 2007, mak Loke Handset Aliansa, konsórsiu empreza teknolojia ne ' ebé inklui Google, pesoal manufacturers hanesan HTC, Sony no Tablet, karreira wireless hanesan Sprint Nextel no T-Móvel, no na'in chipset hanesan Qualcomm no Texas Instrumentu, unveiled rasik, ho objetivu ida atu dezenvolve padraun sira ne ' ebé nakloke ba devices móvel. Loron neʼe, Android mak unveiled hanesan ninia dahuluk, plataforma pesoal móvel ida ne ' ebé harii iha Linux kernel. Smartphone komersialmente dahuluk ne ' ebé suli Android ne'e Mehi HTC, fó sai iha loron 22 fulan-Outubru tinan 2008 <ref name="gizmodo-g1">{{Cite web|url=http://gizmodo.com/5053264/t+mobile-g1-full-details-of-the-htc-dream-android-phone|title=T-Mobile G1: Full Details of the HTC Dream Android Phone|author=Mark Wilson|publisher=gizmodo.com|date=September 23, 2008|accessdate=December 27, 2013|access-date=December 27, 2013}} {{Webarchive|url=https://web.archive.org/web/20140209042117/http://gizmodo.com/5053264/t+mobile-g1-full-details-of-the-htc-dream-android-phone |date=February 9, 2014 }}</ref> Dezde 2008, Android haree ona aktualizasaun lubuk ida ne ' ebé iha incrementally diak liu tan sistema operasaun, aumenta karakterístika foun no estaka rasik bugs iha imprensa ne ' ebé uluk. Imprensa ida-idak ne ' ebé boot ida naran tuir orden alfabétika ida dessert ka trata sugary; porezemplu, versaun 1.5 "Cupcake" tuir kedas ho 1.6 "Donut". Iha tinan 2010, Google lansa tiha ona ninia Nexus oin-oin devices – liña smartphones no galaxy ne ' ebé suli ba sistema operasaun Android, no harii hosi parseiru manufatura. HTC servisu hamutuk ho Google atu husik livre ba dahuluk Nexus smartphone, Nexus Ida. Google ona tanba informa ba oin-oin ho devices foun sira, hanesan telefone Nexus 5 ne ' ebé (halo husi LG) no ba Nexus 7 ai-kabelak (halo husi Asus). Google releases selular Nexus no galaxy atu atua hanesan sira liuhusi emblema: Android devices, hodi hatudu Android nia ikus software no hardware karakterístika. Husi tinan 2013 to'o tinan 2015, Google oferese devices Edisaun Halimar Google oin-oin kona-ba Google sira Halo. Maske la lori Google Nexus ne ' ebé branding, sira-neʼe mak selular Android Google-liu, no mós katak, galaxy halai versaun ikus ba Android, livre husi retifika manufacturer ka karreira.  Tinan 2010 to'o tinan 2013, Hugo Barra serbí nu'udar porta produtu, reprezenta Android iha konferénsia imprensa no Google I/O, Google nian foka developer konferénsia anuál. Barra nian produtu envolvimentu inklui ekosistema Android tomak kona-ba instalasaun no hardware, ne ' ebé inklui Honeycomb, Sandwich Ice Cream, Jelly Bean KitKat lansa sistema operasaun, smartphones Nexus 4 no Nexus 5, galaxy Nexus 7 no Nexus 10 no produtu seluk ne ' ebé relasiona ho hanesan Agora Google no Google Lian Peskiza, Google nia diskursu rekoñesimentu produtu ne ' ebé natoon atu Siri Apple nian. Iha tinan 2013, Barra husik hela ekipa Android ba smartphone [[Xina]] kria Xiaomi. Tinan ida ne'e, Larry Page fó sai iha postu blog katak Andy Rubin nia muda husi divizaun Android ba foti kona-ba projetu sira ne ' ebé foun iha Google. Nia mak troka husi Sundar Pichai ne ' ebé sai xefe Android no Chrome OS foun, no, liu tiha, Hiroshi Lockheimer kuandu Pichai CEO Google .<ref>{{Cite web|url=http://www.androidcentral.com/sundar-pichai-promotes-hiroshi-lockheimer-oversee-android-chrome-os-and-chromecast|title=Sundar Pichai promotes Hiroshi Lockheimer to oversee Android, Chrome OS and Chromecast|work=Android Central}}</ref> Iha tinan 2014, Google lansa Android Ida, liña smartphones ne ' ebé prinsipalmente tarjetu ba kliente sira iha mundu hela dezenvolvimentu nia laran. Iha fulan-Maiu tinan 2015, Google anunsia Brillo Projetu ne ' ebé hanesan versaun Android ne ' ebé uza ninia nivel ki'ik (exklui eletrónikus uzuáriu), tesi tun ida destina ba "Internet kona-ba buat Neʼebé" (IoT) sistema ligasaun metin. Universidade Cambridge peskiza iha tinan 2015, ne ' ebé konklui katak kuaze 90% hosi Android laiha telefone tiha ona iha uzu hatene ona maibé seguransa unpatched vulnerabilidade tanba la aktualizasaun sira no apoiu. Iha tinan ida, (meadus-tinan 2015) ne ' ebé mak hato'o, diʼak liu billaun ida ne ' ebé Android smartphones faʼan tiha ona (barak liu duké durante deʼit billion faʼan iha tinan-2014); no 5.0 Android (ho seguransa di'ak) no tuirmai, fila husi merkadu 5.4% fahe ba over ne ' ebé dadaun ne'e metade, ne'ebe liu ona signifika katak númeru 90% tenke tebes; agora provavelmente selular sira reprezenta menus hosi metade hosi selular Android hotu-hotu. Devices ne ' ebé foin halo aktualizasaun sira seguransa nian; Android 5.0 introdusaun sistema atualizasaun sentralizadu ne ' ebé di'ak liu ida <ref>{{Cite web|url=https://source.android.com/devices/tech/ota/|title=OTA Updates|quote=Android devices in the field can receive and install over-the-air (OTA) updates to the system and application software. [..] This section describes the OTA system as of the Android 5.x release}}</ref><ref>{{Cite web|url=https://source.android.com/devices/tech/ota/block.html|title=Block-Based OTAs|quote=Android 5.0 and later versions use block OTA updates to ensure that each device uses the exact same partition. [..] Android 4.4 and earlier versions used file OTA updates}}</ref> == Karakterístika == === Interface === Android nia onorárius uzuáriu eletrónikus prinsipalmente bazeia ba manipulasaun direta, ne ' ebé uza input fuan sira-ne ' ebé vagamente koresponde ba bein-mundu asaun, hanesan swiping, tapping, pinching no pinching aleinde ba buat ruma atu kontrola on-screen objetu, hamutuk ho keyboard virtual ida. Controllers mós no keyboards fíziku full-size hetan suporta liuhusi Bluetooth ka USB. Responde ba uzuáriu sujestaun dezeina hodi sai imediatu no fornese eletrónikus instável fuan ida, no dala barak uza kapabilidade vibration kona-ba pesoal atu fornese komentáriu haptic ba uzuáriu. Hardware interna, hanesan accelerometers, gyroscopes no sensors besik sira uza husi aplikasaun balun hodi responde ba asaun uzuáriu adisionál sira, porezemplu ajusta tais husi portrait ba regular ne ' ebé depende ba oinsá ba pesoal mak orientada ne, ka permiti uzuáriu ba steer hanesan veíkulu iha mós racing ida husi rotativa pesoal, ne ' ebé simulating kontrolu nian ida naran ezekusaun wheel.<ref>{{Cite web|url=http://phandroid.com/2011/12/22/real-racing-2-speeds-into-the-android-market-leaves-part-1-in-the-dust/|title=Real Racing 2 Speeds Into The Android Market – Leaves Part 1 In The Dust|publisher=Phandroid.com|date=September 22, 2011|accessdate=September 15, 2012|access-date=September 15, 2012}}</ref> Android devices boot ba homescreen, navegasaun primáriu no informasaun "sentru" kona-ba Android devices ne ' ebé ho desktop ne ' ebé hetan iha komputadór pesoal. (Android mós halai ba regulár pesoal komputadór, hanesan deskrebe iha kraik). Android homescreens ne'e normalmente kompostu hosi app icons no widgets; app icons lansamentu app asosiadu, konsidera katak widgets hatudu konteúdu moris, auto-hato'o, hanesan previzaun tempu, uzuáriu ninian email inbox ka ticker notísia ida diretamente kona-ba homescreen. Homescreen ida bele kompostu husi pájina oin-oin, ne ' ebé entre ne uzuáriu bele swipe fali no hakerek, maske Android nia homescreen eletrónikus customisable maka'as, permite uzuáriu atu ajusta haree no sente kona-ba devices ba tastes sira. Apps terseiru ne ' ebé disponivel iha Google Halimar no loja app seluk bele makaas tebes re-tema homescreen, no mós mimic haree kona-ba operasaun sistema sira seluk, hanesan Telefone Kona. Manufacturers barak, no karreira wireless balun, customise haree no sente kona-ba sira-nia devices Android ba diferensa sira-nia an hosi nia kompetitór sira. Kandidatura sira ne ' ebé atende interaksaun ho homescreen ne ' ebé iha naran "launchers" tanba sira, entre seluk tan, lansamentu ba kandidatura sira ne ' ebé ona kona-ba pesoal ida. Tuir kedan ekran mak estatutu ida ordem dos, hatudu katak informasaun kona-ba pesoal, no nia ligasaun. Advogadu estatutu ida-ne'e bele hetan "dada-" atu hateten sai ekran notifikasaun ida ne'ebe apps hatudu informasaun sira ne ' ebé importante ka aktualizasaun sira, hanesan email hetan ne ' ebé foun ka SMS testu, iha maneira ida-ne ' ebé la imediatamente hapara ka inconvenience uzuáriu. Notifikasaun ne'e persistente to'o lee hosi tapping, ne ' ebé loke app relevante, ka demisaun husi sliding pontu ekran. Hahú iha Android 4.1, "habelar notifikasaun" bele hatudu detalle sira ne ' ebé aumenta ka functionality adisionál; porezemplu, player múzika ida bele hatudu playback kontrole, no ida notifikasaun "maka bolu" fornese buttons bolu fali, ka haruka mensajen SMS ida ba ema sira-ne'e. <ref name="notifications">{{Cite web|url=http://developer.android.com/design/patterns/notifications.html|title=Notifications &#124; Android Developers|publisher=Developer.android.com|date=|accessdate=September 15, 2012|access-date=September 15, 2012}}</ref> Android fornese kapasidade atu kandidatura sira ne ' ebé muda launcher onorárius, no tan neʼe nabilan no hahalok ne ' ebé visivel externally Android nian. Mudansa buat hirak-ne'e inklui ida pájina multi ne'e atraka ka la ne'e atraka, no barak liu tan mudansa ba karakterístika fundamentál sira kona-ba uzuáriu interfase.<ref>{{Cite web|url=https://play.google.com/store/search?q=launcher&c=apps|title=Launchers|publisher=google.com|date=|accessdate=February 3, 2014|access-date=February 3, 2014}}</ref> === Kandidatura === Applications ("apps"), which extend the functionality of devices, are written using the Android software development kit (SDK) and, often, the Java programming language that has complete access to the Android APIs. Java may be combined with C/C++, together with a hili naun-onorárius runtimes ne ' ebé fó apoiu C++ di'ak liu; lian programming Bá mós hetan apoiu husi ninia versaun 1.4, ne ' ebé bele mós uza eskluzivamente ho lubuk ida ne ' ebé limitada husi Android APIs. SDK, inklui lubuk ida ne ' ebé komprensivu kona-ba dezenvolvimentu instrumentu, ne ' ebé inklui debugger ida, instalasaun biblioteka, emulator handset bazeia ba QEMU, dokumentasaun, kódigu amostra no tutorials. Uluk, ambiente dezenvolvimentu integradu apoia Google nian (IDE) mak Eclipse ne ' ebé uza ba plugin Instrumentu Dezenvolvimentu Android (ADT); iha fulan-Dezembru tinan 2014, Google fó Studio Android, ne ' ebé bazeia ba IntelliJ IDEA, hanesan ninia IDE prinsipál ba dezenvolvimentu Android sira-nia aplikasaun. Instrumentu dezenvolvimentu seluk mak disponivel, ne ' ebé inklui ida dezenvolvimentu direitus kit (NDK) ba kandidatura ka inefetivu iha C ka C++, Google App Inventor, ambiente ida ne ' ebé visual ba novice programmers no oin-oin plataforma hakat web móvel kandidatura enkuadramentu. Iha fulan-Janeiru tinan 2014, Google unveiled kuadru ida ne ' ebé bazeia ba Apache Cordova ba porting Chrome HTML 5 web kandidatura ba Android, ne ' ebé falun ida shel direitus sira-nia aplikasaunl.<ref>{{Cite web|last=Savov|first=Vlad|url=http://www.theverge.com/2014/1/28/5355064/chrome-apps-are-coming-to-ios-and-android|title=Chrome Apps are coming to iOS and Android|work=The Verge|date=January 28, 2014|accessdate=February 2, 2014|access-date=February 2, 2014}}</ref> Android iha selesaun ida ne ' ebé sa'e ba kandidatura terseiru nian, ne ' ebé bele sosa ho uzuáriu downloading no instaladóra ba aplikasaun APK (aplikasaun Android pakote) arkivu, ka hosi downloading sira uza sira-nia aplikasaun ida haloot programa sira-ne ' ebé utilizadór sira atu instala, atualiza no hasai tiha kandidatura hosi devices sira. Google Halimar Loja ne‟e loja prinsipál sira-nia aplikasaun ne ' ebé ona kona-ba devices Android ne ' ebé halo tuir rekerimentus kompatibilidade Google nian no fó lisensa ba projetu instalasaun Servisu Móvel Google. Google Halimar Loja ba utilizadór browse, download no atualiza kandidatura sira ne ' ebé publika hosi Google no terseiru developers; iha fulan-Jullu tinan 2013, iha viable kandidatura liu millaun ida ba Android iha Loja sira Halo. Iha fulan-Jullu tinan 2013, kandidatura biliaun 50 iha ona tiha ona. Karreira balun ne ' ebé oferese karreira direta faturamentu ba Google sira Halo aplikasaun kompras, iha kustu ba aplikasaun dehan tan ba uzuáriu ninian mensál projeitu lei ne'e.<ref>{{Cite web|url=http://android-developers.blogspot.com/2011/04/new-carrier-billing-options-on-android.html|title=Android Developers Blog: New Carrier Billing Options on Android Market|last=Chu|first=Eric|publisher=android-developers.blogspot.com|date=April 13, 2011|accessdate=May 15, 2011|access-date=May 15, 2011}}</ref> [[Category:Articles containing potentially dated statements from July 2013|Category:Articles containing potentially dated statements from July 2013]] [[Category:All articles containing potentially dated statements|Category:All articles containing potentially dated statements]] [[Category:Articles containing potentially dated statements from July 2013|Category:Articles containing potentially dated statements from July 2013]] [[Category:All articles containing potentially dated statements|Category:All articles containing potentially dated statements]] Tanba natureza nakloke Android nian, aplikasaun terseiru merkadu lubuk ida mós eziste Android, laʼós atu fornese substitutu ba devices ne ' ebé mak labele ró-ahi ho Loja Halimar Google, fornese kandidatura sira ne ' ebé la bele oferese ba Loja Halimar Google tanba violasaun polítika, ka tanba razaun sira seluk. Ezemplu kona-ba loja parte datoluk sira-ne'e inklui ona Amazon Appstore, GetJar no SlideMe. F-Droid, merkadu alternativa seluk, ne ' ebé buka atu fó de'it kandidatura sira ne ' ebé mak fahe ho livre no lokesource licenses.<ref name="ars-irongrip"/><ref name="wired_alt_app_stores"><cite class="citation news">Ganapati, Priya (June 11, 2010). </cite></ref><ref name="ars-fossexperiment">{{Cite web|title=The great Ars experiment—free and open source software on a smartphone?!|url=http://arstechnica.com/gadgets/2014/07/exploring-the-world-of-foss-android-can-a-smartphone-be-open-source/|accessdate=October 6, 2014|access-date=October 6, 2014}}</ref><ref name="ars-adblockingevicted">{{Cite web|title=Google evicts ad-blocking software from Google Play store|url=http://arstechnica.com/gadgets/2013/03/google-evicts-ad-blocking-software-from-google-play-store/|accessdate=October 6, 2014|access-date=October 6, 2014}}</ref> === Jestaun memória === Tanba Android devices normalmente battery-powered, Android mak dezeña hodi jere prosesu atu mantein poder konsumu minimu. Kuandu ida ne'e la uza iha sistema suspends nia funsionamentu tan katak, enkuantu disponivel ba uza imediata duké sei taka tiha, nia la uza battery podér no rekursu CPU Clear All.<ref name="phonedogtask">{{Cite web|url=http://www.phonedog.com/2011/06/26/the-truth-about-android-task-killers-and-why-you-don-t-need-them/|title=The truth about Android task killers and why you don't need them|publisher=PhoneDog|date=June 26, 2011|accessdate=October 30, 2012|access-date=October 30, 2012}}</ref><ref>{{Cite web|url=http://grail.cba.csuohio.edu/~matos/notes/cis-493/lecture-notes/Android-Chapter03-Life-Cycle.pdf|archiveurl=https://web.archive.org/web/20140222153131/http://grail.cba.csuohio.edu/~matos/notes/cis-493/lecture-notes/Android-Chapter03-Life-Cycle.pdf|title=Lesson 3: Android Application's Life Cycle|date=September 9, 2013|accessdate=April 15, 2014|access-date=April 15, 2014|archivedate=February 22, 2014|author=Victor Matos|publisher=Cleveland State University|work=grail.cba.csuohio.edu|format=PDF}} {{Webarchive|url=https://web.archive.org/web/20140222153131/http://grail.cba.csuohio.edu/~matos/notes/cis-493/lecture-notes/Android-Chapter03-Life-Cycle.pdf |date=February 22, 2014 }}</ref> Android maneja kandidatura sira rai hela iha memória automatikamente: bainhira memória ki'ik, sistema ne'e sei hahú invisibly no automatikamente taka prosesu la ativu, ne ' ebé hahú ho sira-ne ' ebé mak la ativu ba parseria kontínuu. Lifehacker relata iha tinan 2011 no killers konjunta parte datoluk sira halo estragu barak liu duké di'ak. === Realidade virtual === Iha Google I/O iha fulan-Maiu tinan 2016, Google anunsia Daydream, realidade virtual plataforma ida-ne ' ebé depende ba smartphone ida no fornese VR kapabilidade liu husi realidade virtual headset no controller ne ' ebé dezeña husi Google rasik ida. Plataforma ne'e harii iha Android hahú ho Android Nougat, no nia susár distinge husi standalone apoiu ba kapabilidade VR. Instalasaun ne ' ebé mak disponivel ba developers, no fó sai iha tinan 2016.  == <span id="HWREQ"></span>Hardware == [[Imajen:HTC_Android_T-Mobile_G1.jpg|thumb|250x250px|HTC Mehi ou T-Móvel G1, pesoal fo-sai komersialmente dahuluk ne ' ebé suli Android (2008).<br> ]] Plataforma hardware prinsipál ba Android mak LIMAN (ARMv7 no architectures ARMv8-A), ho x86 no architectures MIPS mós ofisialmente fó apoiu iha versaun ikus anteriór nian Android. Dezde 5.0 Android "Lollipop", 64-bit variants kona-ba plataforma sira ne ' ebé hotu-hotu hetan suporta aleinde variants 32 bit. Projetu Android-x86 unofficial ne ' ebé fó apoiu ba x86 architectures futuru ba ofisiál apoiu. Arkitetura MIPS mós hetan apoiu antes Google ne ' ebé halo. Iha tinan 2012, devices Android ho Intel processors hahú mosu, inklui uzu ba telefoni no galaxy. Kuandu nia hetan apoiu ba plataforma sira 64-bit, Android uluk halo halai kona-ba x86 64 bit no depois neʼe kona-ba ARM64. Rekizitu ba montante RAM mínimu ba devices ne ' ebé halai Android 5.1 nivel husi MB 512 nian RAM ba normál refleta screens, atu besik GB 1.8 ba high-density screens. Rekomendasaun ba Android 4.4 ne ' ebé mak atu hetan pelumenus MB 512 RAM nian, enkuantu devices "RAM ki'ik" 340 MB mak montante mínimu presiza katak la inklui memória ne ' ebé dedika ba komponente hardware oin-oin hanesan baseband processor. Android 4.4 ezije ARMv7 32-bit ida, MIPS ka x86 arkitetura processor (rua ikus liu husi portu unofficial), hamutuk ho OpenGL ES 2.0 prosesamentu graphics kompatível unidade ida (GPU). Android apoia OpenGL ES 1.1, 2.0, 3.0, 3.1 no to'o iha ikus boot versaun, 3.2 no Vulkan. Aplikasaun balun bele esplisitamente ezije balu versaun ida OpenGL ES, no hardware GPU adekuadu sei presiza atu halai hirak ne'e nia aplikasaun s.<ref name="android-opengl-2.0">{{Cite web|url=http://source.android.com/devices/graphics.html|title=Android Developers: Graphics|accessdate=November 15, 2013|access-date=November 15, 2013}}</ref> Android devices enkuadra barak hardware opsionál komponente, ne ' ebé inklui nafatin ka cctv maior parte vídeo, GPS, orientasaun sensors, kontrole gaming ne, accelerometers, gyroscopes, barometers, magnetometers, proximidade sensors, presaun sensors, thermometers, no touchscreens. Komponente hardware balu mak la presiza, maibé sira sai padraun iha devices, hanesan smartphones, sira-nia kategoria balu no rekizitu sira ne ' ebé adisionál aplika se ema ida-ne'e. Hardware seluk balun hetan ona, maibé rekizitu sira iha ona kriteria ka eliminasaun hamutuk. Porezemplu, hanesan Android mak dezenvolve ona hanesan telefone OS, hardware hanesan microphones mak presiza, no ba tempu funsaun telefone sai opsionál. Android ne ' ebé uza hodi ezije camera autofocus ida, ne ' ebé mak kriteria ba camera data-foku ida se ida-ne'e, dezde camera ne ' ebé mak tun no rekizitu hotu bainhira Android hahú uza iha kaixa nian lubuk-leten. Aleinde halai ba smartphones no galaxy, fornesedores sira ne ' ebé oin-oin la'o Android natively hardware PC regulár ho keyboard no mouse. Hatutan tan ba sira nia disponibilidade ba hardware komersialmente, hanesan PC belun hardware versaun anteriór sira Android mak disponivel livre hosi projetu Android-x86, inklui 4.4 Android liu. Uza emulator Android ne ' ebé mak parte Android SDK, ka tanba sira uza BlueStacks ka Andy, Android bele mós la'o naun-natively x86. Empreza xina Nian sira harii PC no sistema operasaun móvel, Android, bazeia ba "kompete diretamente ho Windows Microsoft no Google Android". Akademia Xinés Enjeñaria nian ne ' ebé nota katak "liu ida dozen" empreza sira customising Android ne ' ebé tuir bandu xina Nian ida kona-ba uza 8 Kona ba governu PCs.<ref>{{Cite web|url=http://www.bbc.com/news/technology-28928369|title=BBC News – China plans new PC operating system in October|work=BBC News|accessdate=November 1, 2014|access-date=November 1, 2014}}</ref><ref>{{Cite web|url=http://online.wsj.com/news/articles/SB10001424127887324539404578342132324098420?mg=reno64-wsj|title=China Criticizes Android's Dominance|author=Paul Mozur|date=March 5, 2013|work=WSJ|accessdate=November 1, 2014|access-date=November 1, 2014}}</ref><ref>{{Cite web|url=http://www.reuters.com/article/2014/08/24/us-china-technology-idUSKBN0GO08H20140824|title=China targets own operating system to take on likes of Microsoft, Google|work=Reuters|accessdate=November 1, 2014|access-date=November 1, 2014}}</ref> == Dezenvolvimentu == [[Imajen:Android_green_figure,_next_to_its_original_packaging.jpg|right|thumb|Android green figure, next to its original packaging]] Android dezenvolve iha privadu husi Google to'o ikus mudansa no aktualizasaun sira besik ona atu sai livre ona, iha espesialidade kódigu fonte mak disponível iha ema hotu nia oin. Kódigu fonte ida ne'e sei deit ne'ebe la muda iha devices selesionadu, normalmente Nexus devices oin-oin. Kódigu fonte ne'e, hodi adapta husi manufacturers ekipamentu original (OEMs) atu partisipa iha sira-nia hardware. Kódigu fonte android nian la inklui iha kondutór pesoal compete dala barak ne ' ebé presiza ba komponente hardware balu.<ref name="android1">{{Cite web|title=Building for devices|work=Android Open Source Project|accessdate=December 20, 2012|access-date=December 20, 2012|url=http://source.android.com/source/building-devices.html}} {{Webarchive|url=https://web.archive.org/web/20120107123505/http://source.android.com/source/building-devices.html |date=January 7, 2012 }}</ref> Idistrito tinan 2007, ministériu Android matak mak dezeña ba Google husi graphic designer Irina Blok. Ekipa dezeñu ne'e diretamente ho projetu ida atu kria prestíjiu ida-ne ' ebé obriga identifiable ho inkluzaun espesífiku robot ida iha dezeñu finál. Hafoin lubuk ida dezeñu evolusaun bazeia ba siénsia-ficção no fatin filme, ekipa ikusmai buka inspirasaun husi símbolu umanu iha odamatan restroom no hatudu iha figura ba investimentu robot ida. Hanesan Android loke-mai, nia mak konkorda katak ministériu tenke nune‟e mós, no hahú kedas ninia lansamentu iha variasaun rihun ba rihun iha dezeñu orijinál reinterpreted ona ministériu matak<ref name="androidlogo4"><cite class="citation news">Kennedy, Pagan (October 11, 2013). </cite></ref> === Tabela atualizasaun === Google fornese atualiza adisional ne ' ebé boot ba Android kada fulan neen ba sia, ho naran confectionery-pontu, ne 'ebé devices ne' ebé barac barak liu mak bele simu kona-ba anin. Imprensa liu husi barak liu mak Android 7.0 "Nougat". Kompara ho ninia prinsipál rivaál móvel operasaun sistema, iOS, aktualizasaun Android normalmente to'o devices oin-oin ho atrazu sira ne ' ebé signifikativu. Exetu se devices ho preokupasaun Google Nexus hirak, aktualizasaun sira dala barak to'o fulan nia laran hafoin imprensa versaun foun, ka la iha ema hotu-hotu. Ida ne'e parsialmente tanba iha estensivu variedade konsideradu iha hardware nian devices Android, ne ' ebé-ne ' ebé realiza ida-idak tenke espesifikamente adaptadu, hanesan kódigu fonte Google ofisiál de'it halai kona-ba sira-nia devices Nexus. Porting Android ba hardware espesífiku, hanesan prosesu tempu - no rekursu-konsumu ba pesoal manufacturers, ne ' ebé fó prioridade ba sira-nia devices karakterístiku no dala barak sai ema sira ne ' ebé boot husi. Tan neʼe, smartphones boot beibeik la halo nafatin atualizasaun ba se manufacturer nian hola desizaun ida ne'e la folin-boot ba investimentu iha rekursu, maske pesoal ne ' ebé mak kompatível. Problema ida ne'e, tendensia bainhira manufacturers customize Android ho sira-nia eletrónikus no apps, ne ' ebé tenke reapplied komunikadu ida-idak ne ' ebé foun. Atrazu sira adisionál bele introduz husi karreira wireless ne ' ebé, hafoin simu aktualizasaun manufacturers, tan customize no preokupasaun hirak Android ba sira-nia nesesidade no halo teste estensivu kona-ba sira-nia rede molok haruka realiza ba utilizadores internet <ref name="alliance">{{Cite web|last=Cunningham|first=Andrew|url=http://arstechnica.com/gadgets/2012/06/what-happened-to-the-android-update-alliance/|title=What happened to the Android Update Alliance?|publisher=Ars Technica|date=June 27, 2012|accessdate=September 15, 2012|access-date=September 15, 2012}}</ref> Falta apoiu fa'an impaktu husi manufacturers no karreira iha ona halekar criticized husi grupu konsumidór no teknolojia komunikasaun sosiál. Komentadór balun nota katak indústria, iha insentivu finanseiru ida atu atualiza devices sira, hanesan falta aktualizasaun ba devices eziste halo sosa foun sira, hanoin deskreve hanesan "hasaʼe". Ema kesar katak metodu distribuisaun ba aktualizasaun mak komplikadu tanba de'it manufacturers no karreira iha dezeñu neʼe dalan. Iha tinan 2011, Google halo parseria ho lubuk ida kona-ba indústria jogadór anunsia proposta "Android Atualizasaun Aliansa ida", ne ' ebé pledging atu salva aktualizasaun tempu oportunu ba pesoal hotu-hotu ba fulan 18 tiha husi kadeia ninian; maibé, iha tiha kona-ba aliansa neʼe hahú fó sai ninia liafuan ofisiál seluk.<ref name="alliance"/><ref>{{Cite web|url=http://blogs.computerworld.com/android/23528/android-upgrade-standard|title=It's time to rethink the Android upgrade standard|author=JR Raphael|publisher=Computerworld Inc.|date=February 13, 2014|accessdate=March 6, 2014|access-date=March 6, 2014}}</ref> Iha tinan 2012, Google hahú decoupling aspetu balu kona-ba sistema operasaun (liu-liu prinsipál kandidatura) tan neʼe, sira bele informa liuhosi Google Halimar loja Ne‟e la haree ba sistema operasaun. Komponente hirak ne'e, Google Halimar Servisu, ida ne'e hanesan nivel sistema taka-fonte prosesu, fornese APIs Google servisu, ne ' ebé ona automatikamente kona-ba devices kuaze hotu-hotu ne ' ebé suli versaun Android 2.2 no aas liu. Ho mudansa hirak-ne'e, Google bele aumenta functionality operasaun sistema foun liu husi Servisu ne ' ebé Halimar no aktualizasaun sira-nia aplikasaun la fahe realiza ida ba sistema operasaun ne'e rasik. Hanesan rezultadu, Android 4.2 no 4.3 tama relativamente menus hasoru uzuáriu mudansa, foka liu ba mudansa menor no plataforma progresu.<ref name="ars-irongrip"/><ref name="ars-googleplayservices">{{Cite web|title=Balky carriers and slow OEMs step aside: Google is defragging Android|url=http://arstechnica.com/gadgets/2013/09/balky-carriers-and-slow-oems-step-aside-google-is-defragging-android/|work=Ars Technica|accessdate=September 3, 2013|access-date=September 3, 2013}}</ref> Iha fulan-Maiu tinan 2016, anunsia katak Google hanoin "shaming" smartphone na'in ne ' ebé falla atu husik livre atualizadu versaun anteriór sira Android ba devices sira.<ref>{{Cite web|url=https://www.yahoo.com/tech/google-plans-shame-smartphone-makers-083035486.html|title=Google to shame smartphone makers to fix one of the problems with Android|last=|first=|date=May 26, 2016|accessdate=May 26, 2016|access-date=May 26, 2016}}</ref> === Linux kernel === Kernel android nian bazeia ba ramu apoiu (LTS) longu prazu Linux kernel ida. Desde fulan Abril tinan 2014, Android devices prinsipalmente uza versaun anteriór 3.4, 3.10 ka 3.18 Linux kernel. Versaun kernel espesífiku ne ' ebé depende ba pesoal Android atuál no ninia plataforma hardware; Android uza oin-oin kernel versaun anteriór hahú kedas iha versaun 2.6.25 ne ' ebé uza iha Android 1.0. <ref name="kernels">{{Cite web|url=http://elinux.org/Android_Kernel_Versions|title=Android Kernel Versions|date=July 7, 2011|accessdate=November 3, 2013|access-date=November 3, 2013}}</ref> Variant android nian kona-ba Linux kernel iha tan arkitetónika ho mudansa ne ' ebé implementa hosi Google liʼur ne'e típiku Linux kernel dezenvolvimentu siklu, hanesan komponente hanesan Binder, ashmem, pmem, logger, wakelocks no tratamentu oin-oin trigu-nian-memória (OOM) nian. Karakterístika balun ne ' ebé Google kontribui atu fila fali ba kernel Linux, liu-liu podér jestaun ne'ebe hanaran "wakelocks", sira la simu developers mainline kernel parsialmente tanba sira sente katak Google mak la hatudu kualkér intensaun atu mantein kódigu rasik. Google fó sai iha Abril 2010 katak sira sei selu funsionáriu rua atu servisu ho komunidade kernel Linux, maibé Greg Kroah-Hartman, ba atuál Linux kernel maintainer ba ramu estavel, hatete iha Dezembru 2010 katak nia mak preokupasaun katak Google mak la koko atu halo mudansa kódigu sira ne ' ebé inklui iha mainstream Linux. Balun developers Google Android hinted katak "ekipa Android mak atu fó-han ho prosesu ne'e," tanba sira ekipa ki'ik oan ida, no iha servisu ne ' ebé urjente liu atu halo kona-ba Android. <ref>{{Cite web|url=http://blogs.computerworld.com/16900/android_linux_kernel_fight_continues|title=Android/Linux kernel fight continues|publisher=[[Computerworld]]|author=Steven J. Vaughan-Nichols|date=September 7, 2010|accessdate=February 20, 2012|access-date=February 20, 2012}}</ref> Iha fulan Agostu 2011, Torvalds, lino, hatete katak "ikusmai Android no Linux fila fali ba kernel ida-ne ' ebé komún, maibé karik la duni ba tinan haat lima nia laran". Iha fulan-Dezembru tinan 2011, Greg Kroah-Hartman anunsia patches hahú Android Mainlining Projetu nian, ne ' ebé iha objetivu atu tau kondutór Android balun, no karakterístika fila ba Linux kernel, hahú iha Linux 3.3. Linux inklui kapabilidade autosleep no wakelocks iha 3.5 kernel, hafoin hala'o tiha tentativa uluk nian ne ' ebé barak iha merger. Interfaces nian maka hanesan maibé implementasaun Linux explorasaun permite ba rua ne ' ebé diferente suspende modu: memória (tradisionál ba suspende katak Android uza), no disk (hibernate, mós hatene kona-ba desktop). Google mantein repository kódigu públiku ne ' ebé sira fó sira-nia servisu esperimentál hodi halo hikas fali Android pontu ba ikus estavel Linux versaun anteriór.<ref>{{Cite web|url=https://www.phoronix.com/scan.php?page=news_item&px=MTMxMzc|title=Google Working On Android Based On Linux 3.8|date=February 28, 2013|accessdate=February 28, 2013|access-date=February 28, 2013}}</ref><ref>{{Cite web|url=http://www.pocketdroid.net/google-working-on-experimental-linux-kernel-3-10-for-android/|title=Google working on experimental Linux Kernel 3.10 for Android|publisher=Pocketdroid.net|date=|accessdate=September 3, 2013|access-date=September 3, 2013}}</ref> Armazenamentu ne ' ebé akontese iha Android devices mak mosu ba partitions oin-oin, hanesan /system ba sistema operasaun ne'e rasik, no /data ba uzuáriu instalasaun dadus no sira-nia aplikasaun. Kontrariu ho distribuisaun Linux desktop pesoal Android nain sira la abut ne ' ebé fó asesu ba sistema operasaun no partitions sensitivu hanesan /system sira lee deit. Maibé, asesu abut bele halo servisu aproveita buat neʼebé seguransa defeitu iha Android, ne ' ebé mak uza beibeik husi komunidade fonte-nakloke atu hametin kapabilidade sira devices, maibé mós hosi parte basá instala virus no malwarel.<ref>{{Cite web|author=Jools Whitehorn&nbsp;|url=http://www.techradar.com/news/phone-and-communications/mobile-phones/android-malware-gives-itself-root-access-1062294|title=Android malware gives itself root access &#124; News|publisher=TechRadar|date=|accessdate=September 15, 2012|access-date=September 15, 2012}}</ref> Android mak distribuisaun Linux ida tuir Fundasaun Linux, Google nia fonte-nakloke xefe Chris DiBona no jornalista sira ne ' ebé oin-oin. Ema seluk, hanesan Google engineer Patrick Brady, hatete katak Android mak la Linux iha sentidu distribuisaun Linux Unix-hanesan tradisionál nian; Android la inklui GNU C Biblioteka (ne'e uza Bionic nu'udar ida biblioteka alternativa C) no balu kona-ba komponente seluk ne ' ebé hetan normalmente iha distribuisaun Linux.<ref name="APIs">{{Cite web|last=Paul|first=Ryan|url=http://arstechnica.com/gadgets/2009/02/an-introduction-to-google-android-for-developers/|title=Dream(sheep++): A developer’s introduction to Google Android|work=[[Ars Technica]]|date=February 24, 2009|accessdate=April 3, 2013|access-date=April 3, 2013}}</ref> === Software stack === [[Imajen:Android-System-Architecture.svg|right|thumb|350x350px|Android's architecture diagram]] Husi parte Linux kernel, iha neʼebá mak middleware, biblioteka no APIs ne ' ebé hakerek iha C, no instalasaun sira-nia aplikasaun ne ' ebé suli kona-ba kuadru sira-nia aplikasaun ida ne ' ebé inklui biblioteka Java-kompatível. Dezenvolvimentu Linux kernel kontinua to'o Android seluk fonte kódigu baze To'o versaun 5.0, Android uza Dalvik nu'udar makina virtual prosesu ida ho baze iha sira-neʼe hetan-iha-tempu (JIT) kontein halai Dalvik "dex-kódigu" (Dalvik Executable), ne ' ebé mak normalmente katak: husi Java bytecode. Tuir liña-baze JIT prinsípiu sira, aleinde bainhira interpreta artigu sira kódigu sira-nia aplikasaun, maioria Dalvik ezekuta ne'e kontein no ezekusaun direitus kona-ba kódigu selesionadu ne ' ebé hala'o beibeik populasaun ("ain-fatin") tempu ida-idak ne ' ebé aplikasaun ida ne'e lansa tiha ona. Android 4.4 aprezentadu Runtime Android (ARTE) hanesan foun runtime ambiente ida, ne ' ebé uza ahead kona-ba-dala (AOT) kontein totalmente compile bytecode aplikasaun ba makina kódigu ba instalasaun ida nia aplikasaun. Iha Android 4.4, ARTE akontese esperimentál ida no la bele hala'o husi onorárius; ida-neʼe nia oan mak opsaun runtime ne ' ebé de'it, iha versaun boot tuirmai 5.0 Android. <ref>{{Cite web|url=http://www.androidpolice.com/2013/11/06/meet-art-part-1-the-new-super-fast-android-runtime-google-has-been-working-on-in-secret-for-over-2-years-debuts-in-kitkat/|title=Meet ART, Part 1: The New Super-Fast Android Runtime Google Has Been Working On In Secret For Over 2 Years Debuts In KitKat|first=Cody|last=Toombs|work=Android Police|date=November 6, 2013|accessdate=April 27, 2014|access-date=April 27, 2014}}</ref> Ba ninia biblioteka Java, plataforma Android uza subkonjuntu husi projetu Armonia Apache discontinued agora. Iha fulan-Dezembru tinan 2015, Google anunsia katak versaun ne ' ebé tuirmai nian Android sei muda implementasaun Java bazeia ba OpenJDK .<ref name="vb-openjdk">{{Cite web|title=Google confirms next Android version won’t implement Oracle’s proprietary Java APIs|url=http://venturebeat.com/2015/12/29/google-confirms-next-android-version-wont-use-oracles-proprietary-java-apis/|accessdate=December 30, 2015|access-date=December 30, 2015}}</ref> Android nian padraun C biblioteka, Bionic, tiha ona husi Google espesifikamente ba Android, hanesan derivation ida kona-ba BSD nian padraun C biblioteka kódigu. Ne'e sei Bionic rasik ho oin-oin boot karakterístika espesífika ba Linux kernel. Rezultadu prinsipál uza Bionic duké GNU C Biblioteka (glibc) ka uClibc sira ninia pegada runtime ki'ik, no buka ba CPUs frekuénsia ki'ik. Iha tempu hanesan, Bionic mak lisensa tuir BSD lisensa, ne ' ebé Google hetan adekuadu liu ba jeral modelu lisensiamentu Android nian. <ref name="brady_dissects_android">{{Cite web|url=http://www.zdnet.com/blog/burnette/patrick-brady-dissects-android/584|title=Patrick Brady dissects Android|first=Ed|last=Burnette|work=[[ZDNet]]|date=June 4, 2008|accessdate=April 27, 2014|access-date=April 27, 2014}}</ref> Ho objetivu ba modelu lisensiamentu oin-oin ida, ba tinan 2012, nia rohan Google switched Bluetooth stack iha Android husi BlueZ GPL lisensa ba BlueDroid lisensa Apache. <ref>{{Cite web|url=https://lwn.net/Articles/597293/|title=Returning BlueZ to Android|date=May 6, 2014|publisher=[[LWN.net]]}}</ref> Android la iha Sistema Janela X direitus husi onorárius, la halo ida-neʼe apoia konjuntu ne ' ebé kompletu kona-ba padraun GNU biblioteka. Ida-neʼe halo ida-neʼe susar ba portu eziste biblioteka atu Android, ka aplikasaun Linux to'o versaun r5 Kit Android Dezenvolvimentu Direitus nian fó apoiu ba kandidatura sira ne ' ebé hakerek ona kompletamente iha C ka C++. Biblioteka sira ne ' ebé hakerek iha C bele mós uza iha aplikasaun tama shim ida-ne ' ebé ki'ik no uzu ba JNI. <ref name="sdlandroid">{{Cite web|url=http://www.libsdl.org/tmp/SDL/README.android|title=Simple DirectMedia Layer for Android|work=[[Simple DirectMedia Layer|SDL]]|date=August 12, 2012|archiveurl=https://web.archive.org/web/20120604080429/http://www.libsdl.org/tmp/SDL/README.android|archivedate=June 4, 2012}}</ref> Since Marshmallow, "Toybox", a collection of command line utilities (mostly for use by apps, as Android doesn't provide a command line interface by default), replaced similar "Toolbox" collection.<ref name="toyboxmarsmallow">[https://lwn.net/Articles/629362/ Android gets a toybox] on lwn.net by Jake Edge (January 14, 2015)</ref> Android iha operasaun sistema sira seluk, Trusty OS, iha ne'e, hanesan parte ida kona-ba "Trusty" "software komponente apoiu Trusted Ezekusaun Ambiente ida (TEE) kona-ba devices móvel." "Trusty no Trusty API sai objetu ba mudansa. [..] Kandidatura ba Trusty OS bele hakerek iha C/C++ (C++ apoiu ne'e limitadu), no sira hetan asesu ba biblioteka C ki'ik ida. [..] Kandidatura Trusty hotu-hotu ne ' ebé mak ida-threaded; multithreading iha Trusty userspace daudaun ne'e mak unsupported. [..] Parte datoluk sira-nia aplikasaun dezenvolvimentu la hetan apoiu ba"versaun ne ' ebé oras ne'e, no instalasaun sira ne ' ebé suli kona-ba OS no processor tanba ida-neʼe, sira halai ba"DRM enkuadramentu ba konteúdu protesaun. [..] Sira seluk uza barak ba TEE ida hanesan pagamentu móvel, bankária ne ' ebé seguru, encryption disk tomak, fatór sira ne ' ebé multi authentication, pesoal reset protesaun, protesaun replay persistente armazenamentu, wireless hatudu ("dada") konteúdu protesaun, PIN ne ' ebé seguru no fingerprint prosesamentu, no mós identifika malware."<ref>{{Cite web|url=https://source.android.com/security/trusty/index.html|title=Trusty TEE}}</ref> === <span id="AOSP"></span>Open-source community === Android iha komunidade ida ne ' ebé ativu developers no enthusiasts ne ' ebé uza kódigu fonte Android Nakloke Fonte Projetu (AOSP) atu dezenvolve no fahe sira nia versaun anteriór ho sistema operasaun. Imprensa dezenvolve komunidade hirak ne'e dala barak lori karakterístika foun no aktualizasaun ba devices lalais liu fali liu hosi kanál ofisiál manufacturer/karreira, ho nível ida ne ' ebé bele halo komparasaun kona-ba kualidade; fó apoiu nafatin ba devices boot ne ' ebé la simu aktualizasaun ofisiál sira; ka halo Android devices ne ' ebé mak ofisialmente lansa halai operasaun sistema sira seluk, hanesan HP TouchPad. Dala barak, komunidade imprensa mai rooted pré no inklui retifika ne ' ebé fornese hosi vendor orijinál, hanesan kapasidade atu overclock ka durante / undervolt processor pesoal nian. CyanogenMod hanesan firmware komunidade sira ne ' ebé uza barak liu, ho fundasaun ida hanesan ba ema seluk lubuk ida. Android-x86 mak versaun Android ba compatibles PC BALUN. Iha mós ona tentativa ho degrau oi-oin kona-ba susesu ba portu Android ba iPhones, liu-liu ba iDroid Projetu. <ref>{{Cite web|url=http://idroidproject.org/|title=Main Page|work=idroidproject.org|accessdate=August 1, 2015|access-date=August 1, 2015}}</ref> Istorikamente, manufacturers pesoal no karreira móvel normalmente ona unsupportive firmware terseiru dezenvolvimentu nian. Manufacturers hato'o preokupasaun kona-ba funsionamentu ne‟ebé devices ne ' ebé suli unofficial software no kustu apoiu ne ' ebé rezulta husi ida-neʼe. Aleinde ne'e, atu modifika firmwares hanesan CyanogenMod dala ruma fó karakterístika, hanesan tethering, ba karreira sei la husik siciedade. Hanesan rezultadu, obstákulu téknika sira ne ' ebé inklui bootloaders xave metin hela no asesu ne ' ebé limitada ba permissions abut sira komún iha devices barak. Maibé, hanesan instalasaun ne ' ebé komunidade dezenvolve tiha ona populár, no tuir mai ne'e deklarasaun ida husi Librarian Kongresu Estadus Unidus ne ' ebé husik halo ba "jailbreaking" devices móvel, manufacturers no karreira iha softened sira-nia pozisaun kona-ba dezenvolvimentu terseiru, ho balun, inklui HTC, Motorola, Tablet no Sony, fó apoiu no fó aten-brani dezenvolvimentu. Nu'udar rezultadu hosi ida-neʼe, tempu ba tempu nesesidade hodi kontorna hardware restrisaun ba instala unofficial firmware ona lessened hanesan devices lubuk ida mak shipped ho unlocked ka unlockable bootloaders, hanesan ho Nexus oin-oin kona-ba uzu ba telefoni, maske normalmente presiza katak uzuáriu renunsia devices sira garante atu halo ida-neʼe. Maibé, maske manufacturer aseitasaun, karreira balun iha [[Estadu Naklibur Sira Amérika Nian|estadus unidus]] AMÉRIKA-sei ezije katak uzu ba telefoni xave, frustrating developers no kliente.<ref name="verge-c">{{Cite web|last=Kopstein|first=Joshua|url=http://www.theverge.com/2012/11/20/3666668/access-denied-android-unlocked-bootloaders|title=Access Denied: why Android's broken promise of unlocked bootloaders needs to be fixed|publisher=The Verge|date=November 20, 2012|accessdate=November 24, 2012|access-date=November 24, 2012}}</ref> == <span id="APP-OPS"></span>Seguransa no privasidade == === Ámbitu fiskalizasaun ho instituisaun públika sira === Hanesan parte husi disclosures fiskalizasaun masa 2013 luan liu ida-neʼe mak hatudu iha fulan Setembru tinan 2013 katak ajénsia intelijénsia Amerikanu no Britániku, Ajénsia Seguransa Nasionál (NSA) no Governu Komunikasaun kuartél Jerál (GCHQ), respetivamente, iha asesu ba dadus uzuáriu kona-ba iPhone, BlackBerry no Android devices. Sira ne'ebe bele lee iha informasaun smartphone kuaze hotu-hotu, inklui SMS, fatin, emails no haree. Iha fulan-Janeiru tinan 2014, liután relatóriu sira hatudu ajénsia intelijénsia kapabilidade ba tendensia informasaun pesoál ne ' ebé fó ukun-fuan iha Internet rede-servisu sosiál no aplikasaun populár seluk hanesan Manu hirus Tebes, ne ' ebé halibur informasaun pesoál sira-nia uzuáriu tanba razaun komersiál advertising no seluk. GCHQ ona, tuir Ema Nian, matadalan wiki-estilu apps oin-oin no rede publisidade no oin-oin dadus ne ' ebé bele siphoned husi ida-idak. Katak semana, developer Manu Hirus Finlándia Rovio anunsia katak ida-neʼe mak reconsidering ninia relasaun ho ninia plataforma publisidade tuir revelations hirak ne'e, no bolu indústria ne ' ebé luan liu atu halo hanesan.<ref>{{Cite web|url=http://www.theguardian.com/world/2014/jan/28/angry-birds-rovio-respond-nsa-spying-revelations|title=Angry Birds firm calls for industry to respond to NSA spying revelations &#124; World news|date=January 28, 2014|publisher=theguardian.com|author=James Ball|accessdate=February 2, 2014|access-date=February 2, 2014}}</ref> Dokumentu hirak ne'e hatudu esforsu ida-ne ' ebé tan intelijénsia ajénsia sira ba tendensia buskas Mapa Google no queries ne ' ebé aprezenta husi smartphones Android no seluk atu halibur informasaun fatin iha maior parte. NSA no GCHQ insiste sira-nia atividade ne ' ebé mak hodi kumpre lei hotu-hotu relevante internasionál no doméstika, maski Ema ida ne ' ebé hateten "disclosures ikus bele mos aumenta aumenta preokupasaun públiku kona-ba oinsá setór teknolojia halibur no uza informasaun, liu-liu ba sira neʼebé iha liʼur estadus UNIDUS, ne ' ebé bele goza protesaun privasidade uitoan de'it kompara ho Americans.""<ref name="angrybirdsatgchq">{{Cite web|url=http://www.theguardian.com/world/2014/jan/27/nsa-gchq-smartphone-app-angry-birds-personal-data|title=Angry Birds and 'leaky' phone apps targeted by NSA and GCHQ for user data &#124; World news|date=|publisher=theguardian.com|author=James Ball|accessdate=February 2, 2014|access-date=February 2, 2014}}</ref> === Ameasa seguransa komun === Peskiza husi seguransa empreza Mikro Tendénsia lista siciedade abuzu funsaun nu'udar tipu komún hosi malware Android, ne ' ebé iha mensajen testu sira haruka hosi uzu ba telefoni tanba númeru telefone siciedade taxa ne ' ebé laiha konsentimentu ka koñesimentu ne ' ebé mós kona-ba uzuáriu. Malware seluk hatudu iklan unwanted no intrusive kona-ba pesoal, ka haruka informasaun pesoál ba unauthorised terseira parte sira. Ameasa seguransa ne ' ebé iha Android tuir relatoriu aumenta terrenu indústrial; maski nune'e, enjeñeiru Google iha argumentu katak ameasa malware no apela ba Android mak sai tendénsia hosi empreza seguransa ba razaun sira ne ' ebé komersiál, no akuza indústria seguransa husi kantadór tauk atu fa'an sasan iha instalasaun protesaun virus utilizadores internet. Google mantein katak malware perigozu tebes duni asinatura, no levantamentu ida ne ' ebé hala'o husi F-Asegura ne ' ebé hatudu katak 0.5% de'it hosi malware Android ne ' ebé relata mai husi loja Halimar Google.<ref>{{Cite web|url=http://www.phonearena.com/news/Android-malware-perspective-only-0.5-comes-from-the-Play-Store_id36696|title=Android malware perspective: only 0.5% comes from the Play Store|date=|publisher=Phonearena.com|accessdate=March 14, 2013|access-date=March 14, 2013}}</ref> Hotu android nian mak hanesan problema ida ba seguransa, tanba patches ba bugs ne ' ebé hetan iha sistema operasaun prinsipál dala barak la hetan uzuáriu devices boot no ki'ik-folin. Lubuk ida kona-ba peskizadór hatete katak fallansu fornesedores sira hodi apoia devices boot ho patches no aktualizasaun husik devices ativu liu 87% vulneravel. Maski nune'e, natureza fonte-nakloke Android permite seguransa kontraente sira atu foti devices ne ' ebé eziste no adapta ba uza ho seguru. Porezemplu, Tablet serbisu tiha ona ho Dynamics Jerál liu husi sira-nia sosa Labs Kernel Nakloke atu harii Jelly Bean husi parte sira-nia microvisor martelu ba projetu "Knox".<ref>{{Cite web|url=http://www.theregister.co.uk/2013/02/28/general_dynamics/|title=Air-to-ground rocket men flog top-secret mobe-crypto to Brad in accounts|date=February 28, 2013|publisher=The Register|accessdate=August 8, 2013|access-date=August 8, 2013}}</ref><ref>{{Cite web|url=http://www.nytimes.com/2013/02/28/technology/samsung-armors-android-to-take-on-blackberry.html|title=Samsung Armors Android to Take On BlackBerry|date=February 28, 2013|work=The New York Times}}</ref> Android smartphones iha kapasidade atu fó fatin ba rede Wi-Fi asesu pontu, ne ' hanesan uzuáriu telefone la'o hamutuk, atu harii baze dadus ezisti hatama fatin fíziku ba rihun ba pontu asesu ne'e. Hirak ne'e baze dadus benefisiariu transferensia forma mapa eletróniku atu nafatin smartphones, ne ' ebé permiti sira atu halai apps hanesan Foursquare, Holanda Google, Facebook Fatin, no atu salva ads ne ' ebé bazeia ba fatin. Terseiru monitorizasaun software ne ' ebé hanesan TaintDroid ida akadémiku peskiza finansia projetu, bele, iha kazu balun, identifika bainhira mak atu haruka ba informasaun pesoál nian husi aplikasaun ba servidór remota. <ref><cite class="citation news">Ganapati, Priya (September 30, 2010). </cite></ref> === Seguransa téknika karakterístika === Kandidatura android halai sandbox ida, área izoladu ida kona-ba sistema ne ' ebé la iha asesu ba sira seluk kona-ba rekursu sira ba sistema ida ne'e, exetu se permissions asesu ne'e esplisitamente fó husi uzuáriu bainhira sira-nia aplikasaun, harii ona. Molok instaladora ida nia aplikasaun, Halimar Loja hatudu permissions obrigasaun hotu-hotu: ida mós bele presiza atu permite vibration ka salva dadus ba kartaun SD ida, porezemplu, maibé la presiza atu lee mensajen SMS ka hetan asesu ba phonebook. Depois de halo revizaun permissions hirak ne'e, uzuáriu sira bele hili atu aprova ka rejeita sira, instaladóra aplikasaun se sira simu. Sistema sandboxing no permissions lessens impaktu vulnerabilidade no bugs iha kandidatura, maibé developer konfuzaun no dokumentasaun ne ' ebé limitadu rezulta iha aplikasaun ne ' ebé husu routinely permissions la nesesariu, ne ' ebé hamenus nia efikásia. Google ona no dudu pontu situasaun ba Android Apps Verifika diak, ne ' ebé sei hala'o agora iha antesedénsia atu identifika prosesu basá no crack sira. <ref>{{Cite web|author=Ojas Kulkarni|url=http://www.gadgetcluster.com/2014/04/google-goes-hard-on-malware-for-android-platform/|title=Google goes hard on Malware for Android platform|publisher=Gadgetcluster.com|date=April 10, 2014|accessdate=April 15, 2014|access-date=April 15, 2014}}</ref>  Iha Android 6.0 Marshmallow, sistema permissions muda atu permite uzuáriu atu kontrola permissions aplikasaun ida ida-idak, ba bloku kandidatura se kaan hosi asesu ba pesoal sira-nia kontaktu, kalendáriu, telefone, sensors, SMS, fatin, microphone no camera. Kontrolu lisensa tomak ne'e hala'o ho abut asesu ba pesoal. <ref>{{Cite web|url=http://www.androidpolice.com/2013/06/23/xprivacy-gives-you-massive-control-over-what-your-installed-apps-are-allowed-to-do/|title=<nowiki>[New App</nowiki>&#93; XPrivacy Gives You Massive Control Over What Your Installed Apps Are Allowed To Do|publisher=Androidpolice.com|date=June 23, 2013|accessdate=February 19, 2014|access-date=February 19, 2014}}</ref> Google uza Google Bouncer malware scanner atu tau matan ba no scan kandidatura ne ' ebé iha Loja Halimar Google. Hakarak atu harii apps bandeira no la uzuáriu sira kona-ba kualkér ameasa potensiál ho aplikasaun ida molok sira download ida-neʼe. Versaun android 4.2 Jelly Bean fó sai iha tinan 2012, ho karakterístika seguransa ne ' ebé maka'as liu, inklui scanner malware ida ne ' ebé harii iha sistema ne'e, ne ' ebé serbisu ho Ativu Google teatru maibé bele scan apps ona husi fonte terseiru nune'e, no sistema alerta ida ne ' ebé lai uzuáriu bainhira app ida ne ' ebé koko atu haruka mensajen testu siciedade taxa, blocking mensajen se uzuáriu esplisitamente authorises ida-neʼe. Oin-oin seguransa kompañia, hanesan Seguransa Móvel Lookout, AVG Teknolojia no McAfee, mak livre software antivirus ba Android devices. Instalasaun ida ne'e la efetivu hanesan sandboxing mós aplika ba kandidatura hirak ne'e, limita sira-nia abilidade atu scan sistema ne ' ebé kle'an liu ba ameasa. <ref name="extremetech">{{Cite web|url=http://www.extremetech.com/computing/104827-android-antivirus-apps-are-useless-heres-what-to-do-instead/2|title=Android antivirus apps are useless, here's what to do instead|accessdate=April 10, 2012|access-date=April 10, 2012}}</ref><ref>{{Cite web|url=http://www.androidauthority.com/state-antivirus-android-523684/|title=The State of Antivirus for Android|date=September 14, 2014|accessdate=November 18, 2014|access-date=November 18, 2014|author=Jason Nova}} {{Webarchive|url=https://web.archive.org/web/20170621003547/http://www.androidauthority.com/state-antivirus-android-523684/ |date=June 21, 2017 }}</ref> Iha fulan Agostu tinan 2013, Google fó Android Pesoal Jestor (ADM), komponente ida ne ' ebé utilizadór sira atu lakohi akompaña, nafatin, no nuʼudar sasin ba sira-nia pesoal Android liuhosi eletrónikus web ida. Iha fulan-Dezembru tinan 2013, Google fó ADM hanesan aplikasaun Android ida kona-ba loja Halimar Google, ne ' ebé disponivel ba devices ne ' ebé suli Android versaun 2.2 no aas liu. <ref>{{Cite web|url=http://www.andromint.com/download-apk-android-device-manager-available-play-store/|title=Android Device Manager Now Available in Play Store|date=December 12, 2013|publisher=andromint.com|accessdate=December 16, 2013|access-date=December 16, 2013}} {{Webarchive|url=https://web.archive.org/web/20131216054949/http://www.andromint.com/download-apk-android-device-manager-available-play-store/ |date=December 16, 2013 }}</ref><ref>{{Cite web|url=http://www.engadget.com/2013/12/11/android-device-manager/|title=Android Device Manager now available for downloading on Google Play|date=December 11, 2013|publisher=engadget.com|accessdate=December 16, 2013|access-date=December 16, 2013}}</ref> == Lisensiamentu == Kódigu fonte ba Android mak fonte-nakloke: ida mak dezenvolve ona iha privadu husi Google, ho fonte kódigu husik livre ema hotu nia oin kuandu versaun foun ida kona-ba Android publika. Google publika kódigu (inklui stacks rede no telephony) tuir versaun naun-copyleft Lisensa Apache 2.0 barak liu. ne'ebe permite levantamentu no hikas distribuisaun. Lisensa la fó direitu atu iha "Android" trademark, manufacturers pesoal tan neʼe, no karreira wireless ona atu fó lisensa ba projetu ida-neʼe husi Google kontratu sira ne ' ebé individuál. Mudansa kernel Linux asosiadu livre ona tuir copyleft Lisensa Públiku Jerál GNU versaun 2, ne ' ebé dezenvolve ona husi Aliansa Handset Nakloke, ho fonte kódigu disponibiliza hotu dala ida. Normalmente, Google kolabora ho manufacturer hardware ida atu prodús pesoal liuhusi emblema: (parte oin-oin Nexus) ho versaun foun ba Android, depois halo kódigu fonte disponivel depois pesoal katak iha livre ona. Honeycomb livre ba imprensa Android de'it sira-ne ' ebé mak la kedas sai disponivel hanesan fonte kódigu 3.0 ai-kabelak deit. Razaun ne'e, tuir Andy Rubin iha postu blog Android ofisiál ida, ne'e tanba Honeycomb nia halai tama ba produsaun Motorola Xoom, no sira lakohi parte datoluk sira hodi kria ida "esperiénsia uzuáriu sira ne ' ebé aat ne ' ebé loos" hodi buka atu tau ba smartphones versaun Android ne ' ebé destina ba galaxy ida.<ref>{{Cite web|author=Jerry Hildenbrand|url=http://www.androidcentral.com/google-not-open-sourcing-honeycomb-says-bloomberg|title=Honeycomb won't be open-sourced? Say it ain't so!|publisher=Androidcentral.com|date=March 24, 2011|accessdate=February 16, 2012|access-date=February 16, 2012}}</ref>  De'it baze Android operasaun sistema nian (inklui kandidatura balun) mak fonte-nakloke software, konsidera katak devices Android barak mak ró-ahi ho montante ida ne ' ebé substantivu kona-ba instalasaun compete, hanesan Servisu Móvel Google, ne ' ebé inklui mós aplikasaun hanesan Loja Halimar Google, Buka Google, no Google Halimar Servisu – ozonu software ida ne ' ebé prevee APIs integrasaun ho servisu Google-fornese, entre sira seluk. Kandidatura hirak ne'e tenke hetan lisensa husi Google husi na'in pesoal, no bele de'it sai shipped kona-ba devices ne ' ebé hasoru ninia kompatibilidade orientasaun no rekizitu sira seluk. Distribuisaun kostume, auténtika husi Android ne ' ebé prodús hosi manufacturers (hanesan TouchWiz no Sentidu HTC) bele mós troka apps Android balun ne ' ebé stock ho sira-nia variants compete no aumenta software adisionál sira ne ' ebé la inklui iha sistema stock operasaun Android. Bele mós iha kondutór "binary blob" ne ' ebé presiza ba komponente hardware balun iha ba pesoal. <ref name="ars-irongrip"><cite class="citation web">[https://arstechnica.com/gadgets/2013/10/googles-iron-grip-on-android-controlling-open-source-by-any-means-necessary "Google's iron grip on Android: Controlling open source by any means necessary"]. </cite></ref><ref name="android1"/> Balun kandidatura stock iha kódigu AOSP ne ' ebé uluk uza husi versaun anteriór sira Android, hanesan Peskiza, Múzika no Kalendáriu, iha ne'e, husik hela husi Google afavór naun-livre raparásaun fahe liuhosi Loja Ativu (Buka Google, Múzika Halimar Google no Google Kalendáriu) ne ' ebé mak la fonte-nakloke. Aleinde ne'e, variants fonte-nakloke ba kandidatura balun iha mós esklui funsaun sira ne ' ebé mak marka prezensa iha sira-nia naun-livre versaun anteriór, hanesan Photosphere panoramas Camera, no pájina Agora Google ida ba onorárius uma ekran (esklusivu ba versaun compete "Google Agora Launcher", kódigu sé-nia mak hakerek iha laran ba aplikasaun Google prinsipál).<ref name="ars-irongrip"/><ref>{{Cite web|last=Amadeo|first=Ron|title="Google Now Launcher" hits Play Store, brings Google homescreen to GPE & Nexus devices|url=http://arstechnica.com/gadgets/2014/02/google-now-launcher-hits-play-store-brings-google-homescreen-to-gpe-nexus-devices/|date=February 26, 2014|accessdate=February 27, 2014|access-date=February 27, 2014|work=Ars Technica}}</ref><ref>{{Cite web|url=http://www.anandtech.com/show/7516/android-44-factory-images-now-available-for-nexus-4-7-2012-and-2013-and-10|title=Android 4.4 Factory Images Now Available for Nexus 4, 7 (2012 and 2013), and 10|date=November 14, 2013|accessdate=November 19, 2013|access-date=November 19, 2013|author=Brian Klug|publisher=[[AnandTech]]}} {{Webarchive|url=https://web.archive.org/web/20131119003547/http://www.anandtech.com/show/7516/android-44-factory-images-now-available-for-nexus-4-7-2012-and-2013-and-10 |date=November 19, 2013 }}</ref><ref name="ars-n5launcher">{{Cite web|title=The Nexus 5’s "exclusive" launcher suspiciously receives support for other devices|url=http://arstechnica.com/gadgets/2013/11/the-nexus-5s-exclusive-launcher-suspiciously-receives-support-for-other-devices/|work=Ars Technica|accessdate=November 19, 2013|access-date=November 19, 2013}}</ref> Richard Stallman no Fundasaun Software Livre ona husi Android no rekomenda uzu alternativa hirak hanesan Replicant, tanba kondutór no firmware ne ' ebé importante tebes ba funsionamentu própriu Android devices compete normalmente, no tanba ne'e nia aplikasaun Google Halimar loja Ne‟e bele halakon forsadamente instala ka deinstall kandidatura no, hanesan rezultadu, konvida software naun-livre. <ref name="stallman2011"><cite class="citation news">Stallman, Richard (September 19, 2011). </cite></ref><ref>{{Cite web|url=https://www.gnu.org/philosophy/android-and-users-freedom.html|title=Android and Users' Freedom – Support the Free Your Android campaign|first=Richard|last=Stallman|publisher=[[Free Software Foundation]]|work=GNU.org|date=August 5, 2012|accessdate=September 9, 2012|access-date=September 9, 2012}}</ref> === Influensa ba manufacturasaun === Google licenses software Google Móvel Servisu sira, hamutuk ho trademarks Android de'it ba hardware manufacturers ba devices ne ' ebé tuir padraun kompatibilidade Google nian saida mak espesifika ona iha dokumentu Android Kompatibilidade Programa ne'e. Nune'e, forks Android ne ' ebé halo mudansa ba sistema operasaun ne'e rasik la inklui komponente naun-livre Google nian ida, hela inkompativel ho aplikasaun ne ' ebé presiza ba sira, no tenke ró-ahi ho merkadu software alternativu ida suspensa Google Halimar Loja. Ezemplu kona-ba forks Android hirak ne'e mak Amazon nian Ahi OS (ne ' ebé uza iha liña Ahi Kindle galaxy, no ne ' ebé orienta ba servisu Amazon), Nokia X Software Plataforma (fork ida ne ' ebé uza hosi família Nokia X, orienta liuliu ba Nokia no Microsoft servisu), no forks seluk ne ' ebé esklui Google apps tanba unavailability en-jerál servisu Google iha rejiaun balun (hanesan Xina). Iha tinan 2014, Google mós komesa atu ezije katak devices Android hotu-hotu ne ' ebé fó lisensa ba projetu instalasaun Servisu Móvel Google hatudu ministériu ida-ne ' ebé importante tebetebes "Powered husi Android" kona-ba sira-nia screens liu husi Clear All.<ref name="geek-poweredby">{{Cite web|title=Google mandates ‘Powered by Android’ branding on new devices|url=http://www.geek.com/android/google-mandates-powered-by-android-branding-on-new-devices-1589253/|work=Geek.com|accessdate=March 28, 2014|access-date=March 28, 2014}} {{Webarchive|url=https://web.archive.org/web/20140328203431/http://www.geek.com/android/google-mandates-powered-by-android-branding-on-new-devices-1589253/ |date=March 28, 2014 }}</ref> Membru Aliansa Handset Nakloke, ne ' ebé inklui maioria Android OEMs, sira mós sai proibidu husi produs devices Android ne ' ebé bazeia ba forks OS nian; iha tinan 2012, Acer Inc. mak obriga husi Google atu hapara produsaun pesoal ida ne ' ebé powered husi Grupu Alibaba Aliyun OS ho ameasa hasai tiha husi OHA, hanesan Google konsidera plataforma sai versaun ida ne ' ebé inkompativel Android nian. Grupu Alibaba defende alegasaun hirak ne'e, haksesuk-malu katak OS ne'e mak plataforma ida ne ' ebé diferente husi Android (ema HTML5 apps uza prinsipalmente), maibé portions inkorpora kona-ba plataforma Android nian atu permite backwards kompatibilidade ho terseiru software Android. Tuir loloos, devices ne ' ebé mak ró-ahi ho aplikasaun loja ida-ne ' ebé oferese Android apps; maibé, sira barak mak pirated.<ref name="cnet-alibabawrong">{{Cite web|title=Alibaba: Google just plan wrong about our OS|url=http://www.cnet.com/news/alibaba-google-just-plain-wrong-about-our-os/|work=CNET|accessdate=March 28, 2014|access-date=March 28, 2014}}</ref><ref>{{Cite web|last=Brodkin|first=Jon|url=http://arstechnica.com/gadgets/2012/09/google-blocked-acers-rival-phone-to-prevent-android-fragmentation/|title=Google blocked Acer’s rival phone to prevent Android "fragmentation"|work=Ars Technica|date=|accessdate=March 28, 2014|access-date=March 28, 2014}}</ref><ref name="arstechnica-2012-09-17">{{Cite web|url=http://arstechnica.com/gadgets/2012/09/pirated-android-apps-featured-prominently-on-aliyun-app-store/|title=Pirated Android apps featured prominently on Aliyun app store|date=September 17, 2012|accessdate=March 28, 2014|access-date=March 28, 2014|author=Jon Brodkin|work=Ars Technica}}</ref> == Recepsaun == [[Imajen:Android_x86_on_EeePC_701_4G.jpg|right|thumb|Android-x86 running on an ASUS EeePC netbook; Android has been unofficially ported to traditional PCs for use as a desktop operating system.]] Android simu reasaun lukewarm kuandu unveiled iha tinan 2007. Maski analista sira sai hakfodak ho kompañia teknolojia ne ' ebé respeita sira ne ' ebé nia halo parseria ho Google hodi forma Aliansa Handset Nakloke, neʼe la klaru se manufacturers telemóvel sei prontu atu troka sira-nia sistema operasaun eziste ho Android. Ideia kona-ba plataforma fonte-nakloke, bazeia ba Linux dezenvolvimentu ida ne ' ebé dada interese, maibé, iha preokupasaun adisionál boot kona-ba Android ne ' ebé hasoru kompetisaun maka'as husi ajente ne ' ebé estabelese iha merkadu smartphone, hanesan Nokia no Microsoft no rivaál Linux móvel operasaun sistema ne ' ebé sira iha dezenvolvimentu. Ida ne'e estabelese partisipantis sira skeptical: Nokia mak temi hanesan dehan "ita la haree ida-ne'e hanesan ameasa ida", no membru ekipa Móvel Kona Microsoft nian ne ' ebé hateten "Haʼu la komprende impaktu ne ' ebé mak sira sei iha." <ref name="lol">{{Cite web|url=http://www.engadget.com/2007/11/05/symbian-nokia-microsoft-and-apple-downplay-android-relevance/|title=Symbian, Nokia, Microsoft and Apple downplay Android relevance|publisher=Engadget|date=|accessdate=November 9, 2012|access-date=November 9, 2012}}</ref> Desde tempu Android tiha ona atu sai sistema operasaun smartphone uza barak liu no "ida ne'e fastest móvel esperiénsia disponivel." Reviewers subliña tiha ona ba natureza fonte-nakloke sistema operasaun nu'udar ninia kbiit ne ' ebé defining, permite empreza hanesan Nokia (Nokia X família), Amazon (Kindle Ahi), Barnes & Salaun (Nook), Ouya, Baidu no ema seluk atu fork hardware software no imprensa halai sira-nia versaun customised Android nian. Hanesan rezultadu, ida-neʼe iha ona deskreve hosi teknolojia portál Ars Technica "pratikamente onorárius operasaun sistema ba realizasaun hardware foun" ba kompañia sira ne ' ebé la iha sira nia plataforma móvel. Ne'e abertura no fleksibilidade mós sai ida-ne'e iha nivel uzuáriu rohan: Android permite customisation estensivu husi devices hosi nain ba armas no apps disponivel livre hosi naun-Google app loja no terseiru sitiu internet. Ida ne'e iha ona hateten entre vantajen prinsipál ba Android uzu ba telefoni kona-ba ema seluk.<ref name="ars5th">{{Cite web|last=Brodkin|first=Jon|url=http://arstechnica.com/gadgets/2012/11/on-androids-5th-birthday-5-things-we-love-about-android/|title=On its 5th birthday, 5 things we love about Android|work=[[Ars Technica]]|date=November 5, 2012}}</ref><ref>{{Cite web|url=http://www.androidauthority.com/best-apps-customizing-personalizing-android-phones-100685/|title=Best Android apps for personalizing and customizing your phone|publisher=Androidauthority.com|date=July 13, 2012|accessdate=November 9, 2012|access-date=November 9, 2012}}</ref> Maske popularidade Android nian, inklui ativasaun ida evaluasaun dala tolu katak iOS, iha ona relatóriu ne ' ebé Google seidauk bele fó influensa ba sira seluk produtu no servisu web ho susesu hodi transforma Android kria osan ne ' ebé analista sira neʼebé hein. Konferénsia ne'e sujere katak Google mak lakon kontrola Android tanba customization estensiva no konsistentamentu apps naun-Google no servisu – Ahi Kindle Amazon nian liña uza Ahi OS, fork ida ne ' ebé ho maka'as hosi Android ne ' ebé la inklui ka fó apoiu ba komponente compete Google nian, no ezije katak uzuáriu hetan software husi Appstore Amazon kompetisaun ninia duké Halimar Loja. Iha tinan 2014, iha esforsu ida atu hadi'a sira-nia naran ba preokupasaun hirak Android, Google hahú atu ezije katak devices ne ' ebé ho ninia komponente compete hatudu ministériu ida-ne ' ebé Android kona-ba tais liu husi. <ref name="geek-poweredby"/> Android ona sofre "hotu", situasaun ida ne ' ebé iha oin-oin devices Android, kona-ba variasaun hardware no diferensa sira iha instalasaun ne ' ebé suli kona-ba sira, halo knaar dezenvolve kandidatura sira ne ' ebé servisu beibeik iha ekosistema nian liu plataforma rivaál sira hanesan iOS bainhira hardware no software diferensa menus. Pur ezemplu, tuir dadus hosi OpenSignal iha fulan-Jullu tinan 2013, iha sira-modelu 11,868 pesoal Android, medida lubuk ida ba tais diferente no versaun Android OS ualu anteriór simultaneamente iha uzu, enkuantu maioria boot iOS uzuáriu iha upgraded ba iteration ikus nian ne'e OS. Critics hanesan Apple Insider asserted katak hotu liuhusi hardware no software dudu kresimentu Android nian ne ' ebé maka boot ki'ik nia rohan, liuhosi priced orsamentu devices halai versaun boot anteriór nian Android. Sira mantein ne'e forsa developers Android atu hakerek ba iha "lowest komun denominator" atu to'o ba uzuáriu barak liu, ne ' ebé hetan insentivu ne ' ebé uitoan liu atu uza ba ikus hardware no software karakterístika de'it disponivel kona-ba persentajen ki'ik husi devices. Maski nune'e, OpenSignal, ne ' ebé dezenvolve apps Android no iOS, konklui katak maske hotu bele halo dezenvolvimentu trickier, Android nia paizes globál bele mos aumenta kolen potensiál. <ref name="guardianfrag">{{Cite web|last=Arthur|first=Charles|title=Android fragmentation 'worse than ever' – but OpenSignal says that's good|url=http://www.theguardian.com/technology/2013/jul/30/android-fragmentation-visualised-opensignal|publisher=The Guardian|accessdate=August 1, 2013|access-date=August 1, 2013|date=July 30, 2013}}</ref> === Proporsaun merkadu === Peskiza empreza Canalys kalkula iha trimestre daruak tinan 2009, no katak Android iha proporsaun 2.8% hosi shipments smartphone mundu tomak. To'o trimestre dahaat nian iha tinan 2010, ne'e sa'e ona ba merkadu ne ' ebé sai fa'an leten smartphone plataforma, ultrapasa Symbian 33%. Husi terseiru trimestre tinan 2011, Gartner kalkula katak liu metade (52.5%) hosi smartphone ne ' ebé fa'an labele Android. Husi tolu ba kuartu 2012 Android iha proporsaun 75% ba merkadu smartphone globál, tuir peskiza empreza IDC <ref name="idcQ3">{{Cite web|url=http://www.idc.com/getdoc.jsp?containerId=prUS23771812|title=Android Marks Fourth Anniversary Since Launch with 75.0% Market Share in Third Quarter, According to IDC – prUS23771812|publisher=Idc.com|date=|accessdate=November 3, 2012|access-date=November 3, 2012}} {{Webarchive|url=https://web.archive.org/web/20121103041944/http://www.idc.com/getdoc.jsp?containerId=prUS23771812 |date=November 3, 2012 }}</ref> iha Jullu 2011, Google dehan katak 550,000 Android devices sira hetan bainhira sai loron-loron, no husi 400,000 kada loron iha Maiu, no liu tokon 100 devices tiha ona bele ho kresimentu 4.4% kada semana. Iha fulan Setembru tinan 2012, devices tokon 500 tiha ona bele ho activations 1.3 millaun kada loron. Iha fulan Maiu 2013, iha Google I/O, Sundar Pichai anunsia katak tokon 900 devices Android tiha ona bele.<ref name="900 million">{{Cite web|title=Google: 900 million Android activations to date, 48 billion app installs|publisher=[[The Verge]]|date=May 15, 2013|url=http://www.theverge.com/2013/5/15/4333584/total-android-activations-900-million}}</ref> Merkadu android diferente husi fatin. Iha fulan-Jullu 2012, "subscribers móvel tinan 13 +" iha Estadus Unidus uza Android sira to'o 52%, ba sa'e ba 90% iha Xina. Durante terseiru trimestre tinan 2012, Android nia smartphone mundiál karegamentu merkadu fahe ona 75%, ho tokon 750 devices ativu iha totál. Iha fulan Abril tinan 2013 Android iha millaun 1,5 activations kada loron. No Maiu 2013, 48 billaun kandidatura ("apps") hetan tiha ninia husi loja Halimar Google, no fulan Setembru tinan 2013, dólar amerikanu millaun ida rihun devices Android tiha ona bele.<ref name="1bn">{{Cite web|url=http://plus.google.com/+VicGundotra/posts/8CVJ79nPQwN|first=Vic|last=Gundotra <!--work=? Google+ -->|title=Just back from a whirlwind trip to Asia visiting our…|publisher=Plus.google.com|date=|accessdate=September 3, 2013|access-date=September 3, 2013}}</ref> [[Category:Articles containing potentially dated statements from May 2013|Category:Articles containing potentially dated statements from May 2013]] [[Category:All articles containing potentially dated statements|Category:All articles containing potentially dated statements]] Iha fulan-Jullu tinan 2013, loja Google sira Halo ona tokon ida Android kandidatura publika tiha ona, no liu billaun 50 kandidatura relatoriu. Levantamentu developer ida ne ' ebé hala'o iha fulan Abril – Maiu 2013 hetan katak Android uza 71% hosi developers móvel. Susesu sistema operasaun halo ida-neʼe ida alvu ba litigasaun patent hanesan parte husi, neʼebé ema bolu nuʼudar "smartphone funu" entre empreza teknolojia.<ref name="cnet2011"/><ref name="tomsguide"/> [[Category:Articles containing potentially dated statements from July 2013|Category:Articles containing potentially dated statements from July 2013]] [[Category:All articles containing potentially dated statements|Category:All articles containing potentially dated statements]] Android devices konsiderasaun ba smartphone fa'an iha merkadu barak, inklui mós estadus UNIDUS, enkuantu "[[Japaun]] iha de'it mak Apple kona-ba leten" liu metade (númeru Setembru – Novembru 2013). Iha tinan 2013 nia rohan, liu billaun 1.5 smartphones Android faʼan iha tinan haat dezde 2010, halo Android barak ne ' ebé fa'an telefone no ai-kabelak OS. Smartphones Android billaun tolu iha estimativa katak atu fa'an to'o tinan 2014 (inklui tinan liubá). Tuir Gartner peskiza empreza, devices ne ' ebé bazeia ba Android outsold contenders hotu-hotu, tinan-tinan dezde tinan 2012. Iha tinan 2013, ida-neʼe outsold 2.8:1 Kona ka 573 millaun. Iha tinan 2015, Android iha baze boot instalasaun sistema operasaun hotu-hotu; Hahú tinan 2013, devices ne ' ebé suli mós fa'an liu duké Kona, iOS no devices Mac OS X kombina. <ref name="best_selling"><cite class="citation news">Yarow, Jay (March 28, 2014). </cite></ref> [[Category:Articles containing potentially dated statements from 2015|Category:Articles containing potentially dated statements from 2015]] [[Category:All articles containing potentially dated statements|Category:All articles containing potentially dated statements]] Tuir StatCounter, ne ' ebé rekolha de'it uza ba browsing web nian, Android mak sistema operasaun móvel populár liu dezde fulan-Agostu tinan 2013. Android ne ' ebé mak sistema operasaun populár liu ba web browsing iha India no nasaun oin-oin sira seluk (ezemplu pratikamente hotu ne ' ebé Ázia, ho exesaun Japaun no Korea Norte nian). Tuir StatCounter, Android liu uza ba móvel iha país Afrikanu sira ne ' ebé hotu-hotu, no hateten katak, "uzu móvel iha ona solusaun desktop iha país oin-oin ne ' ebé inklui India, Áfrika Súl no Arábia arábia Saudita", ho país sira ne ' ebé pratikamente hotu-hotu iha Áfrika no halo tuir ona (exetu se nasaun hitu, inklui Ejitu), hanesan Etiópia no Kenya ne ' ebé iha ne'ebe uzu móvel (inklui galaxy) mak 90.46% (Android de'it , konta 75.81% kona-ba ema hotu-hotu uza iha<ref>http://gs.statcounter.com/#all-os-KE-monthly-201401-201608</ref>).<ref>{{Cite web|url=http://gs.statcounter.com/#all-comparison-KE-monthly-201401-201608|publisher=StatCounter|title=Global Stats – Browser, OS, Search Engine including Mobile Usage Share|accessdate=September 23, 2016|access-date=September 23, 2016}}</ref> Enkuantu Android laiha telefone tiha ona iha rai riku barak inklui add-ons compete Google nian (hanesan Google Halimar) ba sistema operasaun kontráriu fonte-nakloke, ida-ne'e la aumenta kazu iha merkadu tabik; "Peskiza ABI reklama katak devices 65 milhoens shipped globalmente ho fonte-nakloke Android iha trimester daruak [2014], aumentu husi millaun 54 iha trimestre uluk"; depende ba nasaun, porsentu kona-ba uzu ba telefoni atu bazeia de'it ba kódigu fonte Android nian (AOSP), iha estimativa forgoing Android trademark: Tailándia (44%), Filipina (38%), Indonézia (31%), India (21%), Malázia (24%), Méxiku (18%), Brazil(9%).<ref>{{Cite web|url=http://www.androidauthority.com/google-certification-over-aosp-541700|title=Google hoping to lure smaller manufacturers to Google’s Android, over AOSP|first=Andrew|last=Grush|date=October 21, 2014|work=Android Authority|accessdate=October 22, 2014|access-date=October 22, 2014}} {{Webarchive|url=https://web.archive.org/web/20141022015948/http://www.androidauthority.com/google-certification-over-aosp-541700/ |date=October 22, 2014 }}</ref> Tuir ida Janeiru 2015 Gartner relatóriu, "Android ultrapasa shipments billaun ida kona-ba devices iha tinan 2014, no sei kontinua ho ritmu ida-ne ' ebé díjitu-oan iha tinan 2015, ho aumentu porsentu 26 tinan ida ba tinan." Ida-neʼe halo nia dahuluk ne ' ebé uzuáriu ikus liu billaun ida iha tinan ida nia laran, kualkér sistema operasaun general-purpose atinji ona: husi to'o besik billaun 1.16 uzuáriu nia rohan iha tinan 2014, Android shipped ba dala haat liu fali iOS no OS X hamutuk, no ba dala tolu liu fali Windows Microsoft. Gartner hein merkadu telemóvel tomak atu "to'o unidade rua billaun iha tinan 2016", inklui Android. <ref>{{Cite web|url=http://www.gartner.com/newsroom/id/2954317|publisher=Gartner|title=Tablet Sales Continue to Be Slow in 2015: Tablet Sales to Reach 8 Percent Growth in 2015 While PC Market to Grow 1 Percent|date=January 5, 2015|accessdate=January 23, 2015|access-date=January 23, 2015}}</ref> Tuir estimativa Statistica ida, Android smartphones iha baze ida ne ' ebé instalasaun nian hanesan biliaun 1.8 unidade iha tinan 2015, ne ' ebé mak 76% hosi númeru totál estimadu smartphones ne ' ebé mundu tomak. Android iha boot instalasaun baze kona-ba kualkér operasaun sistema móvel no, hahú husi tinan 2013, liu-fa'an operasaun sistema en-jerál ho fa'an iha tinan 2012, tinan 2013 no 2014 besik baze instalasaun PCs hotu-hotu. Iha trimestre tolu iha tinan 2015, iha merkadu globál smartphone karegamentu Android nia proporsaun mak 84.7%, aas liu nia. Iha loron 28, fulan Setembru tinan 2016, ho proporsaun merkadu 52.5%, Tablet nafatin OEM rezulta ba hola Android ne ' ebé suli smartphoens no galaxy, tuir fali mak tuir fali LG, Huawei, Motorola, Lenovo, Sony, HTC, Asus, Alcatel no Xiaomi. Husi fulan Agostu tinan 2016, kontinente boot rua tiha ona móvel-maioria, tesi-lia tuir uza web ("desktop" iha 46.92% – 55.16% uza mundiál, depende ba loron-semana, ne ' ebé halo semana balu desktop-ki'ik; fulan tomak ne ' ebé ki'ik liu ne ' ebé mak iha 50.05%); tanba Android (haree uzu fahe sistema operasaun), ne ' ebé iha maioria ne ' ebé uza iha smartphones iha nasaun hotu-hotu pratikamente (kontinente hotu-hotu tiha ona Android-maioria nian, ne ' ebé inklui Amérika Norte, exetu se Oceania tanba Austrália), ho esesaun uitoan (ne'e hotu ona iOS-maioria); iha estadus UNIDUS, Android besik iOS, hodi troka pozisaun maioria dala balun, Kanada no tuir mai ne‟e mós esesaun: Japaun, Filipina, Austrália no exesaun ne ' ebé de'it iha Europa mak reinu Unidu, Béljika nasaun Nordic Dinamarca, Nian, Sweden no Noruega no Suésia. <ref>http://gs.statcounter.com/#mobile+tablet-os-eu-monthly-201608-201608-map</ref> Iha tinan 2016, Android neʼe kona-ba maioria smartphones iha nasaun sira ne ' ebé pratikamente hotu-hotu iha mundu, exklui Estadus Unidus no Kanada (bainhira inklui Amérika-Norte kontinente hotu), Austrália no Japaun. Nasaun balu, hanesan reinu Unidu, lakon Android-maioria se galaxy sira. === Adosaun ba galaxy === [[Imajen:Front_view_of_Nexus_7_(cropped).png|thumb|Ba first-generation Nexus 7 ai-kabelak, halai Android 4.1 Jelly Bean<br> ]] Maski nia susesu kona-ba smartphones, adosaun ba ai-kabelak Android uluk mak neineik. Kauza prinsipál ida mak, chicken ka situasaun egg ne ' ebé iha konsumidór sira tenta atu sosa ai-kabelak ida Android tanba falta kualidade aas kona-ba ai-kabelak kandidatura, maibé developers sira tenta atu gasta tempu no rekursu ne ' ebé dezenvolve hela kandidatura ai-kabelak toʼo iha merkadu ida ne ' ebé signifikante ba sira. Ba konteúdu no app "ekosistema" hatudu katak importante liu fali hardware specs pontu selling ba galaxy. Tanba laiha ai-kabelak espesífiku Android kandidatura iha tinan 2011, galaxy Android sedu iha atu halo ho eziste smartphone kandidatura ne ' ebé mak konitua-suited ba medida tais boot, konsidera katak dominasaun iPad Apple nian ne'e reforsa liu-hosi barak kona-ba ai-kabelak espesífiku iOS kandidatura. <ref name="tabs">{{Cite web|url=http://www.zdnet.com/blog/mobile-news/why-there-arent-more-android-tablet-apps-by-the-numbers/7218|title=Why there aren't more Android tablet apps, by the numbers|publisher=ZDNet|date=March 21, 2012|accessdate=November 9, 2012|access-date=November 9, 2012}}</ref><ref><cite class="citation news">Poeter, Damon (December 7, 2012). </cite></ref> Maski app apoiu iha ninia infancy, ida ne ' ebé barak iha Android galaxy (hamutuk ho sira neʼebé uza sistema operasaun seluk, hanesan HP TouchPad no BlackBerry PlayBook) sira halai ba merkadu iha tentativa atu foti vantajen hosi susesu iPad nian. InfoWorld sujere katak manufacturers Android balu hahú trata galaxy sira-ne ' ebé uluk hanesan "Frankenphone negósiu ida", oportunidade ki'ik-investimentu kurtu-prazu ne ' ebé tau ida optimál smartphone Android OS (antes Honeycomb 3.0 Android ba galaxy mak disponivel) kona-ba pesoal ida bainhira fó eletrónikus uzuáriu. Ida-neʼe hakbesik, hanesan ho Dell Streak, la bele hetan merkadu trasaun ho konsumidór sira nomós estragus reputasaun galaxy Android sedu. Hatutan tan ne'e, Android oin-oin tablets ne'e hanesan Motorola Xoom sira priced hanesan ka boot liu fali iPad, neʼebé halo aat ba fa'an. Exesaun ida mak Amazon Kindle Ahi, ne ' ebé depende ba presu ki'ik liu no mós asesu ba ekosistema Amazon nia kandidatura no content.applications. <ref name="tabs"/><ref>{{Cite web|last=Hiner|first=Jason|url=http://www.techrepublic.com/blog/hiner/why-android-tablets-failed-a-postmortem/10011|title=Why Android tablets failed: A postmortem|publisher=TechRepublic|date=January 5, 2012|accessdate=November 9, 2012|access-date=November 9, 2012}}</ref> Ida-neʼe hahú atu muda iha tinan 2012, ho lansamentu 7 Nexus kustu ladún karu no motiva husi Google ba developers hakerek di'ak liu kona-ba ai-kabelak kandidatura. Tuir Dadus Korporasaun Internasionál, shipments galaxy Android powered numeru kotajen iPads iha Q3 tinan 2012.<ref>{{Cite web|last=Kovach|first=Steve|title=Android Now Ahead Of Apple's iOS In Tablet Market Share|url=http://www.businessinsider.com/android-ahead-of-ios-tablet-market-share-2013-5|publisher=Business Insider}}</ref> Iha tinan 2013 nia rohan, galaxy Android liu millaun 191.6 faʼan tiha iha tinan tolu hosi tinan 2011. Ida-neʼe halo galaxy Android tipu faʼan barak kona-ba ai-kabelak iha 2013, komitmentu iPads iha trimestre daruak tinan 2013. <ref>{{Cite web|url=https://www.abiresearch.com/press/android-ecosystem-takes-the-baton-from-apple-ipad-|title=Android Ecosystem Takes the Baton from Apple iPad in the Tablet Race|publisher=ABIresearch|date=September 27, 2013|accessdate=September 10, 2014|access-date=September 10, 2014}}</ref> According to the StatCounter's June 2015 web use statistics, Android tablets represent the majority of tablet devices used on the South American<ref>{{Cite web|url=http://gs.statcounter.com/#tablet-os-sa-monthly-201504-201507|title=StatCounter Global Stats – Browser, OS, Search Engine including Mobile Usage Share|work=statcounter.com|accessdate=August 1, 2015|access-date=August 1, 2015}}</ref> (then lost majority) and [[Áfrika|African]] continents (60.23%),<ref>{{Cite web|url=http://gs.statcounter.com/#tablet-os-af-monthly-201403-201506|title=Top 7 Tablet OSs in Africa from Mar 2014 to Jun 2015|accessdate=March 19, 2015|access-date=March 19, 2015}}</ref> while they have equaled with the iPad's market share in major nasaun sira ne ' ebé iha kontinente hotu-hotu (ho Amérika Norte hanesan exesaun ida, maibé iha Android El Salvador iha maioria), no besik reprezenta maioria iha kontinente Aziátiku tomak no halo tiha ona tan neʼe, iha India (65.9%), Indonézia (62.22%), no nasaun Médiu-Orientál barak. Iha kuaze metade hosi país Europeu, galaxy Android iha proporsaun merkadu maioria. Xina mak exesaun ida ba iha boot nasaun iha Android ne phablets (klasifika hanesan smartphones no hanesan iha dimensaun galaxy) mak populár liu galaxy Android ka iPads. Husi fulan-Marsu tinan 2016, Infoworld hateten galaxy Android smartphones bele sai nudar "loloos ó-nia negósiu [.] ema la iha razaun ida atu kontinua Android iha durasaun liman nian. Ida agora ne'e hanesan integrál ba ita-nia portofoliu móvel hanesan devices iOS Apple nian"no sira iha"negósiu terseira klase apps", la ' ós de'it"OK ba email". Iha tinan 2015, sira hateten katak "Microsoft nia Eskritóriu UI mak di'ak liu kona-ba iOS no Android" duké iha Microsoft nian nain móvel app Kona ba. === Platform usage === Dezenna iha seksaun ida ne'e fornese breakdowns versaun anteriór Android, bazeia ba devices ne ' ebé hetan ásesu ba Loja Halimar Google iha períodu loron hitu ida ne ' ebé remata iha loron 7, fulan Novembru tinan 2016. Tanba ne'e, dadus hirak ne'e esklui devices ne ' ebé suli forks Android oin-oin ne ' ebé la hetan asesu ba Loja Halimar Google, hanesan tablets.id Ahi Amazon nian"duké iha Microsoft nian nain móvel app Kona ba.ore, these statistics exclude devices running various Android forks that do not access the Google Play Store, such as Amazon's Fire tablets. {| class="wikitable sortable" style="margin-bottom: 10px;" ! Version ! Code name ! Release date ! API level ! DVM/ART ! Distribution ! First devices to run version |- | style="text-align:center;" | '''7.1''' | Nougat | 000000002016-10-04-0000October 4, 2016 | 25 | ART | less than 0.1% |- | style="text-align:center;" | '''7.0''' | Nougat | 000000002016-08-22-0000August 22, 2016 | 24 | ART | 0.3% | Nexus 5X, Nexus 6P |- | style="text-align:center;" | '''6.0''' | Marshmallow | 000000002015-10-05-0000October 5, 2015 | 23 | ART | 24.0% | Nexus 5X, Nexus 6P |- | style="text-align:center;" | '''5.1''' | rowspan="2" | Lollipop | 000000002015-03-09-0000March 9, 2015 | 22 | ART | 22.8% | Android One |- | style="text-align:center;" | '''5.0''' | 000000002014-11-03-0000November 3, 2014 | 21 | ART 2.1.0 | 11.3% | Nexus 6 |- | style="text-align:center;" | '''4.4''' | KitKat | 000000002013-10-31-0000October 31, 2013 | 19 | DVM <small>(and ART&nbsp;1.6.0)</small> | 25.2% | Nexus 5 |- | style="text-align:center;" | '''4.3''' | rowspan="3" | Jelly Bean | 000000002013-07-24-0000July 24, 2013 | 18 | DVM | 2.0% | Nexus 7 2013 |- | style="text-align:center;" | '''4.2''' | 000000002012-11-13-0000November 13, 2012 | 17 | DVM | 6.8% | Nexus 4, Nexus 10 |- | style="text-align:center;" | '''4.1''' | 000000002012-07-09-0000July 9, 2012 | 16 | DVM | 4.9% | Nexus 7 |- | style="text-align:center;" | '''4.0''' | Ice Cream Sandwich | 000000002011-12-16-0000December 16, 2011 | 15 | DVM | 1.3% | Galaxy Nexus |- | style="text-align:center;" | '''2.3.3+''' | Gingerbread | 000000002011-02-09-0000February 9, 2011 | 10 | DVM 1.4.0 | 1.3% | Nexus S |- | style="text-align:center;" | '''2.2''' | Froyo | 000000002010-05-20-0000May 20, 2010 | 8 | DVM | 0.1% | Droid 2 |}  Dezde fulan-Maiu tinan 2016, metade hosi devices iha ES OpenGL 3.0 ka aas liu. === Aplikasaun pirataria === Iha jerál, kandidatura Android vensimentu bele fasil atu hetan pirated. Iha entrevista Maiu 2012 ida ho Eurogamer, developers nian Futubol Jerente haktuir katak, proporsaun hosi ajente pirated vs lejítimu jogadór 9:1 ba Handheld Jerente Futubol game. Maski nune'e, developer hotu la konkorda ona katak numeru pirataria mak hanesan problema ida; pur ezemplu, iha fulan-Jullu 2012 developers kona-ba game Wind-up Knight hateten katak nivel pirataria sira mós iha deit 12% no pirataria ne'e barak liu ne ' ebé mai hosi Xina, ne ' ebé iha fatin neʼebé ema la bele sosa apps husi Google sira Halo. Iha tinan 2010, Google fó sai iha instrumentu ida hodi halo validasaun ba kompras autorizasaun ba uza iha laran apps, maibé developers kesar katak ida-neʼe la sufisiente no neʼebé kiʼik crack. Google responde katak ferramenta, liu-liu ninia inisiál imprensa, ne'e destina nu'udar kuadru amostra ba developers modifika no harii ba depende ba sira-nia nesesidade, la hanesan solusaun pirataria hotu ona. Android "Jelly Bean" introdús kapasidade ba kandidatura sira ne ' ebé pagamentu ba encrypted, nuneʼe sira bele servisu de'it kona-ba pesoal sira ne ' ebé ne sira mak sosa ona. <ref name="ars-appencrypt">{{Cite web|title=Update: Google posts DRM workaround for paid Android Wear apps|url=http://arstechnica.com/gadgets/2014/07/google-drm-bug-blocks-paid-android-wear-apps/|accessdate=September 7, 2015|access-date=September 7, 2015}}</ref><ref>{{Cite web|last=McAllister|first=Neil|url=http://www.theregister.co.uk/2012/08/08/android_drm_disabled/|title=Android app DRM quietly disabled due to bug|publisher=The Register|date=August 8, 2012|accessdate=June 10, 2012|access-date=June 10, 2012}}</ref> == Asuntu sira ne ' ebé legál == Android no Android telefone manufacturers envolve tiha ona iha proseu legal patent lubuk ida. Iha loron 12 fulan Agostu tinan 2010, Oracle de'it Google kona-ba violasaun reklama copyrights no patente ne ' ebé mak iha relasaun ho Java ba programa sira-nia lian. Orijinalmente oracle buka estragus to'o biliaun $6.1, maibé avaliasaun ida ne'e hetan rejeisaun Estadus Unidus federál, juís ne ' ebé husu Oracle atu apresia ba estimativa. Iha resposta, Google aprezenta liña oin-oin kona-ba defeza, ne ' ebé counterclaiming Android la infringe kona-ba Oracle nian prezidente ka direitu autór, prezidente Oracle neʼe mak folin-laek, no seluk defenses oin-oin. Sira dehan katak Android nia Java runtime ambiente ne'e, bazeia ba Apache Armonia, implementasaun sala clean biblioteka klase Java, no makina virtual dezenvolvidu independente ida naran Dalvik. Iha fulan-Maiu tinan 2012, juri iha kazu ida ne'e hetan katak Google la infringe kona-ba prezidente Oracle nian, no tesi-lia naʼin julgamentu ne ' ebé ukun katak estrutura APIs Java ne ' ebé uza hosi Google ne'e la copyrightable. Parte sira konkorda atu zero dolar iha estragus estatutária ba montante ida ne ' ebé ki'ik ba kódigu copied. Iha loron 9 fulan-Maiu tinan 2014, Knua Federál parsialmente bá tribunál distritál ukun, ukun favor Oracle nian kona-ba asuntu copyrightability no remanding kestaun kona-ba utilizasaun ne ' ebé justu ba tribunál distritál. <ref name="cnet appeals"><cite class="citation news">Rosenblatt, Seth (May 9, 2014). </cite></ref><ref name="cafc 13-1021">{{Cite web|url=http://www.cafc.uscourts.gov/images/stories/opinions-orders/13-1021.Opinion.5-7-2014.1.PDF|title=ORACLE AMERICA, INC. , Plaintiff – Appellant, v. GOOGLE INC., Defendant – Cross – Appellant.|publisher=Court of Appeals for the Federal Circuit|date=May 9, 2014|accessdate=May 10, 2014|access-date=May 10, 2014}} {{Webarchive|url=https://web.archive.org/web/20140601064614/http://www.cafc.uscourts.gov/images/stories/opinions-orders/13-1021.Opinion.5-7-2014.1.PDF |date=June 1, 2014 }}</ref> Iha fulan-Dezembru tinan 2015, Google anunsia katak imprensa boot tuirmai Android (Android Nougat) sei muda OpenJDK, ne ' ebé mak ofisiál fonte-nakloke implementasaun kona-ba plataforma Java, duké uza projetu Armonia Apache discontinued agora hanesan ninia runtime. Kódigu ne'ebe refleta mudansa ida ne'e hetan mós kolokasaun ba repository fonte AOSP. Iha ninia anúnsiu, Google reklama ida-ne'e mak halo parte iha esforsu ida atu kria ida "komún kódigu baze" entre Java kona-ba plataforma Android no seluk. Google admitidu tiha iha ida tribunál liu katak ida-neʼe halo parte iha esforsu ida atu rezolve disputa ho Oracle, hanesan uza ba kódigu OpenJDK mak regula tuir ba GNU Jerál Públiku Lisensa (GPL) ho esesaun ida-ne ' ebé linking, no katak "kualkér estragus reklamasaun ne ' ebé relasiona ho iha versaun anteriór foun, ne ' ebé klaru lisensa husi Oracle tuir OpenJDK sei presiza análize ida ne ' ebé separadu kona-ba estragus husi imprensa ne ' ebé uluk". Iha fulan-Juñu tinan 2016, tribunál federál Estadus Unidus ukun na'in Google, ne ' ebé hateten katak nia uza APIs ba neʼe, uza ne ' ebé justu. <ref name="ars-googlebeatsoracle">{{Cite web|title=Google beats Oracle—Android makes "fair use" of Java APIs|url=http://arstechnica.com/tech-policy/2016/05/google-wins-trial-against-oracle-as-jury-finds-android-is-fair-use/|accessdate=June 30, 2016|access-date=June 30, 2016}}</ref> Idistrito hatutan tan ba kazu kontra Google diretamente, prokurasaun oin-oin ne ' ebé funu iha ona median hasoru Android integra ho tarjetu ba manufacturers Android devices, ho efeitu manufacturers discouraging husi adosaun plataforma hodi aumenta kustu lori pesoal Android ida ba merkadu. Apple no Microsoft iha de'it manufacturers oin-oin ba violasaun patent, ho Apple nian asaun jurídika kontinua hasoru Tablet ne ' ebé hetan kazu liu-liu aas-perfíl ida. Iha fulan Outubru 2011, Microsoft dehan sira iha asina akordu lisensa patent ho Android sanulu pesoal manufacturers, sé-nia konsiderasaun ba produtu sira kona-ba "70% iha estadus unidus". no reseita mundiál ba Android devices 55%. Ne'e inklui Tablet no HTC. Akordu patent Tablet nian ho Microsoft inklui akordu ida hodi aloka rekursu barak hodi dezenvolve no komersializasaun laiha telefone tiha Telefone Kona halai Microsoft nia sistema operasaun. Microsoft ona mós kesi nia rasik software Android ba lisensa patent, presiza bundling kandidatura Microsoft Eskritóriu Móvel no Skype Android devices kona-ba fó subsídiu ba onoráriu lisensiamentu, enkuantu iha ajuda tempu hanesan atu promove ninia liña software.<ref name="supersite-androidpatents">{{Cite web|last1=Trent|first1=Rod|title=Microsoft Inside: 20 New Android Device Manufacturers Sign-on to Pre-Install Office and Skype|url=http://winsupersite.com/mobile/microsoft-inside-20-new-android-device-manufacturers-sign-pre-install-office-and-skype|publisher=Penton|accessdate=August 23, 2016|access-date=August 23, 2016}}</ref><ref name="verge-xiaomims">{{Cite web|title=Xiaomi will bundle Microsoft’s Office and Skype apps on its Android devices|url=http://www.theverge.com/2016/6/1/11827268/microsoft-xiaomi-skype-office-android-apps-patent-deal|accessdate=August 23, 2016|access-date=August 23, 2016}}</ref> Google públiku hatudu ona ninia frustrasaun ba regular patent atuál iha Estadus Unidus, duun Apple, Oracle no Microsoft koko atu lori tun Android liuhosi litigasaun patent, duké innovating no kompetisaun ho produtu no servisu di'ak liu. Iha fulan Setembru tinan 2011, Google sosa Mobilidade Motorola ba US$ 12.5 billaun, ne ' ebé mak haree iha parte hanesan medida ida-ne ' ebé defensive atu proteje Android, tanba Mobilidade Motorola hala'o prezidente 17,000 liu. Iha fulan-Dezembru tinan 2011, Google sosa kona-ba prezidente rihun ida husi IBM.<ref name="arsibm">{{Cite web|url=http://arstechnica.com/gadgets/news/2012/01/google-buys-another-round-of-ibm-patents-as-oracle-trial-nears.ars|title=Google buys another round of IBM patents as its Oracle trial nears|publisher=[[Ars Technica]]|last=Paul|first=Ryan|date=January 4, 2012|accessdate=February 16, 2012|access-date=February 16, 2012}}</ref> Iha tinan 2013, FairSearch, organizasaun lobbying ne ' ebé hetan apoiu husi Microsoft, Oracle no ema seluk, sira aprezenta kesar kona-ba Android ho Komisaun Europeia nian, ne ' ebé grupu katak ninia modelu distribuisaun livre-nian-gratuitu proessu anti-kompetitivu predatory presu sira. Ne'e Livre Software Fundasaun Europa, doadór sira-nia inklui Google, disputa alegasoens Fairsearch. Iha loron 20, fulan Abril tinan 2016, UE aprezenta formál antitrust keixa ida kontra Google ne ' ebé bazeia ba alegasoens FairSearch, haksesuk-malu katak ninia vantajen ba fornesedores Android, ne ' ebé inklui obrigatóriu bundling nian suite tomak kona-ba instalasaun Google compete, hindering kapasidade ba fornesedór buka malu atu bele integra Android, no enkuantu limiti fornesedores sira husi realizasaun devices ne ' ebé suli forks Android, proessu prátika anti-kompetitivu. <ref name="bbc-euandroidantitrust">{{Cite web|title=Google faces EU charge over Android 'abuse of dominance'|url=http://www.bbc.com/news/technology-36092441|accessdate=April 20, 2016|access-date=April 20, 2016}}</ref> == Uza seluk == [[Imajen:OUYA-Console-set-h.png|right|thumb| Ouya console mós vídeo ida ne ' ebé halai Android<br> ]] Natureza nakloke no customizable Android permite atu uza ba eletrónika seluk mos smartphones no galaxy, ne ' ebé inklui laptops no netbooks, smartbooks, nomós TVs (Android TV, Google TV) no cctv maior parte (N.e. Galaxy Camera). Aleinde ne'e, sistema operasaun Android haree ona kandidatura kona-ba nomós glasses (Google fó Kopu), smartwatches, headphones, ajente CD no DVD kareta, mirrors, ajente doasaun komunikasaun sosiál, fiksu no Lian kona-ba uzu ba telefoni IP. Ouya console mós vídeo ida halai Android, sai ba ema ida kona-ba kampaña Kickstarter susesu liu, crowdfunding US$ 8. 5m ba ninia dezenvolvimentu, no depois tuir kedas ho seluk bazeia ba Android consoles, hanesan Nvidia nia Shield Doasaun – pesoal ida ne ' ebé Android iha mós vídeo controller forma fatór.<ref><cite class="citation news">[http://www.engadget.com/2013/07/21/nvidia-shield-ships-july-31st/ "NVIDIA Shield ships July 31st, barely meets delayed launch window"]. </cite></ref> Iha tinan 2011, Google hatudu "Android@Home", teknolojia automation uma ida ne ' ebé uza Android atu kontrola devices uma-kain sira ne ' ebé inklui switches naroman, poder sockets no thermostats lubuk ida. Prototype naroman bulbs sira fó sai katak bele kontrola husi ida telefone Android ka ai-kabelak, maibé xefe Android Andy Rubin nia an atu nota katak "hasees-an lightbulb ida kona-ba no pontu buat ida ne ' ebé foun", la hatudu ba lubuk ida servisu automation uma. Google, nia dehan, nia hanoin liu ambitiously no intensaun mak atu uza sira-nia pozisaun hanesan kalohan servisu nian ba fornesedór sira atu hatama produtu Google ba kliente sira-nia uma.<ref>{{Cite web|author=Nilay Patel|url=http://www.theverge.com/2012/2/27/2827615/android-home-automation-cloud-services-andy-rubin|title=Home in the clouds: Google's home automation platform to have major services integration|publisher=The Verge|date=February 27, 2012|accessdate=November 2, 2012|access-date=November 2, 2012}}</ref><ref>{{Cite web|url=http://gigaom.com/2013/05/07/why-the-time-has-come-for-android-home-to-finally-make-a-splash/|title=Why the time has come for Android @Home to finally make a splash by Janko Roettgers|publisher=}} {{Webarchive|url=https://web.archive.org/web/20130907222859/http://gigaom.com/2013/05/07/why-the-time-has-come-for-android-home-to-finally-make-a-splash/ |date=2013-09-07 }}</ref> Parrot unveiled kareta ne ' ebé bazeia ba Android stereo sistema ida koñesidu hanesan Asteroid iha tinan 2011, tuir fali susesór ida, ne'e bazeia ba touchscreen Asteroid Nomós, iha tinan 2012. Iha tinan 2013, Clarion fó rasik kareta ne ' ebé bazeia ba Android stereo, AX1 nian. Iha fulan-Janeiru tinan 2014, iha ba Konsumidór Eletrónika Hatudu (CES), Google anunsia formasaun Nakloke Automotive Aliansa nian, grupu ida, inklui na'in automobile boot (Audi, Truk en-Jerál, Hyundai no Honda) no Nvidia, ne ' ebé hakarak atu prodús Android bazeia ba iha sistema halimar kareta la'o ba oin-oin, "[lori] di'ak Android ba automobile ne'e ho maneira ida ne ' ebé seguru no seamless."<ref name="verge-autoalliance">{{Cite web|title=Google launches the Android-based Open Automotive Alliance with Audi, Honda, GM, and more|url=http://www.theverge.com/2014/1/6/5279116/google-open-automotive-alliance-android-car-announcement|work=[[The Verge]]|first1=Aaron|last1=Souppouris|date=January 6, 2014|accessdate=January 24, 2014|access-date=January 24, 2014}}</ref> Iha loron 18 fulan-Marsu tinan 2014, Google anunsia Android Uza, hanesan bazeia ba Android plataforma espesifikamente iha intensaun smartwatches no devices wearable seluk; de'it ida developer preview halo disponibiliza. Ida-ne'e tuir kedas ho unveiling rua Android Taka-bazeia ba devices, LG G Hadeer no Moto 360.<ref>{{Cite web|last=Palladino|first=Valentina|url=http://www.theverge.com/2014/3/18/5522226/google-reveals-android-wear-an-operating-system-designed-for|title=Google reveals Android Wear, an operating system for smartwatches|publisher=The Verge|date=September 30, 2013|accessdate=March 20, 2014|access-date=March 20, 2014}}</ref> Iha loron 25, fulan-Juñu tinan 2014, iha Google I/O, anunsia katak TV Android, plataforma TV Nomós ida, ne'e muda TV Google fo-sai tiha ona. Google mós anunsia Android Auto ba uza iha karreta. <ref><cite class="citation news">[http://www.cbsnews.com/news/google-io-android-tv-smart-homes-wearables-and-more/ "Google I/O: Android TV, Smart Cars, Wearables, and More"]. </cite></ref> <span id="DESKTOP"></span>Android mai preinstalled kona-ba laptops balun (functionality ida ne ' ebé hanesan kona-bá kandidatura Android ne'e mós iha OS Chrome Google nian), no bele sai tiha ona mós kona-ba komputadór pesoal husi uzuáriu nia rohan. Kona-ba plataforma sira Android fornese functionality adisionál keyboards fíziku no mice, hamutuk ho teatru xave "Alt-Tab" ba switching kandidatura lalais ho keyboard ida. Iha fulan-Dezembru tinan 2014, reviewer ida komenta "katak sistema notifikasaun Android nian vastly liu kompletu no forte liu iha liu", no katak Android "absolutamente uza" hanesan ema ida mak operasaun sistema desktop prinsipál.<ref><cite class="citation news">Lunduke, Bryan (December 1, 2014). </cite></ref> Iha fulan-Outubru tinan 2015, The Journal Estrada Didin relata katak Android sei serve hanesan Google nia futuru laptop prinsipál operasaun sistema, ho planu atu fold Chrome OS ba ida-neʼe husi tinan 2017. Sundar Pichai Google nian, ne ' ebé lori ba dezenvolvimentu Android, esplika katak "móvel hanesan paradigma computing ida mak ikusmai sei blend ho saida mak ita hanoin hanesan desktop ohin." no iha tinan 2009, Google ko fundadór Brin Sergey rasik hatete katak Chrome OS no Android sei "karik converge tempu ba tempu." Lockheimer, ne ' ebé substitui Pichai nu'udar xefe Android no Chrome OS, responde ba reklamasaun ne'e hanesan ofisiál Google blog post hateten katak "Bainhira ita atividade servisu kona-ba dalan atu lori hamutuk di'ak liu kona-ba sistema operasaun rua ne'e, katak laiha planu atu retira Chrome OS [ne'ebe iha] garante auto-aktualizasaun ba tinan lima nia laran". Ida ne'e mak la hanesan ho fatin Android apoiu ne'e badak ho "data EOL [sai …] pelumenus tinan 3 [ba futuru] ba galaxy Android ba edukasaun".l..<ref>{{Cite web|title=Android End of Life policy - Chrome for Work and Education Help|url=https://support.google.com/chrome/a/answer/6220366?hl=en}}</ref> == See also == == Notes == <div class="reflist columns references-column-width" style="-moz-column-width: 40em; -webkit-column-width: 40em; column-width: 40em; list-style-type: lower-alpha;"> <references group="lower-alpha" /></div> == References == {{Reflist|30em}} 7j7p7nc08ij7ebaro6dta7okrrah355 Enjeñaria 0 5813 72998 71048 2026-07-02T13:15:21Z Domingos de Carvalho Nuno 11543 /* Website li'ur */ 72998 wikitext text/x-wiki '''Enjeñaria''' hanesan [[siensia|siénsia]] no [[teknolojia]] ida atu rezolve dezafiu sira ne'ebe ema hasoru liu husi edukasaun enjeñaria nian hanesan: [[siensia|siénsia]], [[matematika]] no [[esperiensia|esperiénsia]]. Rezolve mós ho prátika ne'ebé barak ho [[objetu filojofia (filojofia)|objetivu]] ka [[prosesu]] ne'ebe mak iha benifisiu. Ema ne'ebe implementa Enjeñaria iha nia profissionalidade hanaran [[enjineiru|enjiñeiru]] (Lisensiatura iha Enjeñaria). Tuir istoria, ema sientista barak mak deskobre katak ema ida-idak iha nia Enjeñaria rasik ne'ebe mai naturalmente. Ne'ebe mak iha tempu uluk ema uza nia tékniku hodi halo fatuk sai hanesan material uza lorloron nian. Ho liafuan seluk katak Enjeñaria hanesan serbisu ne'ebe mak halo hahu'u husi koko no to'o hetan nia rezultadu. No iha mundu ohin loron, [[Siensia aprendijajen|Siensia aprendijazen]] komesa la'o ho modernu, no muda ema nia hanoin kona-ba maneira serbisu natureza nian. Ho mudansa siensia no hanoin ida ne'e mak muda ema nia matenek hodi halo Enjeñaria sai ona hanesan siénsia ida. Ho dezenvolve siensia Enjeñaria mak bele ona prodúz ema atu servisu hodi sai hanesan ema tékniku ida iha mundu ohin loron nian. == Sanak sira husi siensia Enjeñaria nian == * [[Enjeñaria fizika|Enjeñaria Fizika]] * [[Enjeñaria kimika|Enjeñaria Kimika]] * [[Enjeñaria jeolojia|Enjeñaria Jeolojia]] * [[Enjeñaria jeofizika]] * Enjeñaria [[Jeodesia]] no [[Jeomatika]] * [[Enjeñaria mineral|Enjeñaria mineral]] * [[Enjeñaria petroliu|Enjeñaria petroliu]] * Enjeñaria [[metalurgia]] no [[materiais]] * [[Enjeñaria mekanika|Enjeñaria Mekanika]] * Enjeñaria [[Astronauta|Astronautika]] no [[Aeronautikas]] * [[Enjeñaria otomotivu]] * [[Enjeñaria biomedika]] * [[Enjeñaria elektro]] * [[Informatika|Enjeñaria Informatika]] * [[Enjeñaria Komputador]] * [[Enjeñaria Nuklear]] * [[Enjeñaria Telekomunikasaun]] * [[Enjeñaria Otomasi Industria]] * [[Enjeñaria Mekatronika]] * [[Enjeñaria marina]] * [[Enjeñaria ro]] * [[Enjeñaria sistema roo]] * [[Enjeñaria Industria]] * [[Enjeñaria dezenvolvimentu sidade]] * [[Enjeñaria Sivil]] * [[Enjeñaria ambiente]] * [[Enjeñaria no dezenvolve rekursu bee]] * [[Enjeñaria bee no rai]] * [[Enjeñaria freskedu no dezenvolve ar]] * [[Enjeñaria Molekular]] * [[Enjeñaria Bioenerjia]] * [[Enjeñaria Bioprosesa]] * [[Enjeñaria Biosistema]] * [[Enjeñaria veternaria]] * [[Enjeñaria agrikultura]] * [[Enjeñaria konsumu]] * [[Enjeñaria konsumu|Enjeñaria Mekanika]] == Website li'ur == 3mnf794jnxo3bkx8d8ewgncrg78t73v Dono 0 6985 73056 68359 2026-07-03T00:10:40Z InternetArchiveBot 8082 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 73056 wikitext text/x-wiki [[File:Dono Warkop.jpg|thumb|Dono]] '''Wahjoe Sardono''' (30 Setembru 1951 – 30 Dezembru 2001), konhesidu ho naran mononim '''Dono''' ka '''Dono Warkop''', maka'as nudar ator, komediante, no profesor ho nasaun Indonézia. Nia mak hanesan membru ida husi grupu komédiu Warkop. Karreira nian hahu ona wainhira nia estudante sosiolojia iha [[Universitas Indonesia]] (UI). Nia servisu mos nudar assistente ba professor [[Selo Soemardjan]] hamutuk ho [[Paulus Wirutomo]].<ref name="donomahasiswakritis">{{cite web |url=https://historia.id/kultur/articles/dono-mahasiswa-kritis-PKlYx/page/1 |title=Dono Mahasiswa Kritis |author=Hanggoro, Hendaru Tri |date=2020-07-24 |website=Historia |access-date=2024-05-29 |archive-url=https://web.archive.org/web/20210627065226/https://historia.id/kultur/articles/dono-mahasiswa-kritis-PKlYx/page/1 |archive-date=2021-06-27 |dead-url=no }} {{Webarchive|url=https://web.archive.org/web/20210627065226/https://historia.id/kultur/articles/dono-mahasiswa-kritis-PKlYx/page/1 |date=2021-06-27 }}</ref> Hafoin remata estudu, Dono kria popularidade hamutuk ho grupu Warkop ho partisipasaun iha film komédiu hamutuk 34 iha periodu tinan 1980 to'o 1995. Nia mós ativu hela iha eskrita romansa no artigu kona-ba asuntu sosial iha mídia masiva to'o ba uluk nia moris. Dono mate iha fulan Dezembru tinan 2001 tanba moras kanser pulmón.<ref name="donowafat">{{cite web |url=https://www.liputan6.com/news/read/26282/dono-warkop-meninggal-dunia |title=Dono Warkop Meninggal Dunia |date=2001-12-30 |website=[[Liputan 6]] |access-date=2024-05-29 |archive-url=https://web.archive.org/web/20220505042238/https://www.liputan6.com/news/read/26282/dono-warkop-meninggal-dunia |archive-date=2022-05-05 |dead-url=no }}</ref> ==References== 3b9kt4upuaaureejjm2qd3catkdy7ry Enjeñaria sivíl 0 7448 73057 71170 2026-07-03T00:10:49Z InternetArchiveBot 8082 Rescuing 2 sources and tagging 0 as dead.) #IABot (v2.0.9.5 73057 wikitext text/x-wiki '''Enjeñaria sivíl''' maka dixiplina enjeñaria profisionál ida ne'ebe trata kona-ba dezeñu, konstrusaun, no manutensaun ba ambiente fíziku no naturál ne'ebe hari'i, inklui obra públika sira hanesan estrada, ponte, kanál, barrajen, aeroportu, sistema drainagem, Bee Mos, komponente estruturál edifísiu sira-nian, no estrada ferroviária sira . <ref>{{Cite web|title=History and Heritage of Civil Engineering|publisher=[[American Society of Civil Engineers]]|url=https://live.asce.org/hh/index.mxml?versionChecked=true|access-date=2007-08-08}} {{Webarchive|url=https://web.archive.org/web/20070216235716/http://live.asce.org/hh/index.mxml?versionChecked=true |date=2007-02-16 }}</ref> <ref>{{Cite web|url=https://ice.org.uk/careers-and-professional-development/what-is-civil-engineering|title=What is Civil Engineering|publisher=[[Institution of Civil Engineers]]|access-date=2017-05-15}}</ref> Enjeñaria sivíl tradisionalmente fahe ba sub-disiplina lubuk ida. Ida-ne'e konsidera hanesan dixiplina enjeñaria nian ne'ebé tuan liu daruak hafoin enjeñaria militár, <ref name="CSCE">{{Cite web|title=What is Civil Engineering?|publisher=[[Canadian Society for Civil Engineering]]|url=https://whatiscivilengineering.csce.ca/civil1.htm|access-date=2007-08-08}} {{Webarchive|url=https://web.archive.org/web/20070812030647/http://whatiscivilengineering.csce.ca/civil1.htm |date=2007-08-12 }}</ref> no ida-ne'e define atu distinge enjeñaria la'ós-militár hosi enjeñaria militár. Enjeñaria sivíl bele akontese iha setór públiku husi departamentu obra públika munisipál sira to'o ajénsia governu nasionál sira, no iha setór privadu husi empreza sira ne'ebé bazeia iha fatin lokál to'o empreza sira <nowiki><i id="mwNw">Fortune</i></nowiki> Global 500 nian . <ref name="sector">{{Cite web|title=Working in the Public Sector Versus Private Sector for Civil Engineering Professionals|url=https://engineeringmanagementinstitute.org/tcep-119-public-sector-versus-private-sector|publisher=Engineering Management Institute}}</ref> [[Imajen:Evora.aqueduct.jpg|miniaturadaimagem|alt=Bee-dalan iha Portugál|Enjeñaria Sivíl Istóriku: Bee-dalan (Aqueduto) Romanu iha Evora, Portugál]] Enjeñaria Sivil mak siénsia ida ne'ebé estuda kona-ba oinsá atu planeia, dezaina, hari'i, no manutensaun infraestrutura oioin hanesan edifísiu, estrada, ponte, barajen, no irrigasaun, atu nune'e bele seguru, forte, efisiente, no benefisia ba komunidade. Objetivu prinsipál Enjeñaria Sivil mak harii infraestrutura ne'ebé seguru, forte, ekonómiku, amigável ba ambiente, no benefisia ba komunidade. Área sira iha Enjenaria Sivil: * Estrutura: Dezaina edifísiu, ponte, no konstrusaun sira atu nune'e bele forte no seguru. * Transportasaun: Planeia estrada, trilha komboiu, aeroportu, no sistema transportasaun. * Rekursu Bee: Dezaina barajen, irrigasaun, drenajém, no kontrolu husi inundasaun. * Jeotekniku: Estuda rai no fundasaun husi edifísiu. * Jestaun Konstrusaun: Jere implementasaun projetu atu nune'e remata iha tempu ne'ebé loos, tuir orsamentu, no satisfás padraun kualidade. * Enjenaria Ambientál: Dezaina sistema tratamentu bee moos, bee lixu, no jestaun ambientál. ==Referensia== <references/> * W.F. Chen; J.Y. Richard Liew, ed. (2002). The Civil Engineering Handbook. CRC Press. ISBN 978-0-8493-0958-8. * Jonathan T. Ricketts; M. Kent Loftin; Frederick S. Merritt, ed. (2004). Standard handbook for civil engineers (Edisi 5). McGraw Hill. ISBN 978-0-07-136473-7. * Muir Wood, David (2012). Civil Engineering: a very short introduction. New York: Oxford University Press. ISBN 978-0-19-957863-4. * Blockley, David (2014). Structural Engineering: a very short introduction. New York: Oxford University Press. ISBN 978-0-19-967193-9. == Ligasaun ba li'ur == {{Commons|Category:Civil engineering|Enjeñaria Sivil}} oz7esyogi8lhgzmbc1hs7skmflqj9n4 Fósil 0 7465 73058 71219 2026-07-03T00:16:12Z InternetArchiveBot 8082 Rescuing 2 sources and tagging 0 as dead.) #IABot (v2.0.9.5 73058 wikitext text/x-wiki [[Imajen:Fossil_Diversity.png|miniaturadaimagem|300x300px|Ezemplu sira hosi animál nia fósil sira. Iha sentidu relójiu nian husi leten karuk: ''Onychocrinus'', ''Palaeosinopa'', ''Gryphaea'', no ''Harpactocarcinus'']] '''Fósil''' (husi lian Latin Klásiku fossilis, lit. ' ) mak kualkér restu prezervadu, impresaun, ka vestíjiu hosi buat ruma ne'ebé uluk moris hosi idade jeolójika pasadu. Ezemplu sira inklui ruin sira, koncha sira, exoskeleton sira, imprime fatuk nian hosi animál ka mikróbiu sira, objetu sira ne'ebé prezerva iha ámbar, fuuk, ai ne'ebé sai fatuk no restu sira DNA nian . Totalidade fósil sira nian koñesidu hanesan ''rejistu fósil nian'' . Maski rejistu fósil la kompletu, estudu barak hatudu ona katak iha informasaun sufisiente ne'ebé disponivel atu fó komprensaun di'ak kona-ba padraun diversifikasaun moris nian iha Rai. Aleinde ne'e, rejistu fósil bele prenxe lakuna sira iha ita-nia komprensaun kona-ba sekuénsia evolusaun iha rai, hanesan hatudu hosi deskoberta ''Tiktaalik'' iha ártiku [[Kanadá]] nian. Paleontolojia no Paleontolojia inklui estudu kona-ba fósil sira: sira nia idade, métodu formasaun, no signifikadu evolusaun nian. Espesímen sira dalaruma konsidera hanesan fósil sira se sira iha tinan 10,000 liu. Fósil sira ne'ebé tuan liu maka tinan biliaun 3.48 to'o tinan biliaun 4.1. Observasaun iha sékulu XIX katak fósil balu asosiadu ho estratu fatuk balu lori ba rekoñesimentu hosi eskala tempu jeolójiku no idade relativu hosi fósil oioin. Dezenvolvimentu hosi tékniku sira datasaun radiométriku nian iha inísiu sékulu XX nian permite sientista sira atu sukat ho kuantitativu idade absoluta sira hosi fatuk sira no fósil sira ne'ebé sira simu. Iha prosesu barak ne'ebé lori ba '''[[wiktionary:Special:Search/fossilize|fosilizasaun]]''', inklui permineralizasaun, fundisaun no molde sira, mineralizasaun autijéniku, substituisaun no rekristalizasaun, apresaun, karbonizasaun, no bioimurasaun. Fósil sira iha medida oioin hosi mikrometru ida (1&nbsp;μm) baktéria ba dinozauru no ai-hun sira, ho naruk metru barak no ho todan tonelada barak. Ida ne'ebé boot liu ne'ebé agora daudaun koñesidu maka ''Sequoia'' sp. ho medida 88 m (289 ft) iha naruk iha Coaldale, Nevada. Fósil ida normalmente prezerva de'it parte ida hosi organizmu mate, normalmente parte ne'ebé maka parsialmente mineralizadu durante moris, hanesan ruin no nehan sira hosi vertebradu sira, ka ezoeskeletu kitinozu ka kalkáriu hosi invertebradu sira . Fósil sira bele mós kompostu hosi marka sira ne'ebé husik hela hosi organizmu bainhira nia sei moris, hanesan animál nia rasta ka fezes ( koprolitu sira ). Tipu fósil sira-ne'e hanaran fósil trasu ka ''ichnofósil'', la hanesan ho ''fósil isin nian'' . Fósil balu maka biokímiku no hanaran ''kimiofósil'' ka biosignatura sira . == Istória estudu nian == Halibur fósil sira hahú pelumenus iha inísiu istória ne'ebé rejista ona. Fósil sira ne'e rasik hanaran rejistu fósil. Rejistu fósil maka fonte ida hosi dadus dahuluk sira ne'ebé subjasente ba estudu [[evolusaun]] nian no kontinua sai relevante ba istória moris nian iha Rai . Paleontólogu sira ezamina rejistu fósil sira hodi komprende prosesu evolusaun no maneira oinsá espésie partikulár sira evolui ona. === Sivilizasaun antigu sira === [[Imajen:Hyperborean-gryphon-persepolis-protoceratops-psittacosaurus-skeletons.jpg|direita|miniaturadaimagem|Ulun-ruin husi seratopsian sira maka komún iha foho-lolon Dzungarian Gate iha Ázia, área ida ne'ebé uluk famozu ba mina osan-mean no anin malirin. Ida-ne'e atribui ona ba lejenda sira kona-ba grifo sira no rai Hyperborea nian.]] Fósil sira sai vizivel no komún iha maioria istória naturál, no nune'e interasaun ema nian ne'ebé dokumentadu ho sira hahú kedas iha istória ne'ebé rejista ona, ka antes liu. Iha ezemplu barak hosi katana fatuk Paleolítiku nian iha Europa, ho ekinoderma fósil sira ne'ebé tau loloos iha liman-fuan, ne'ebé hahú hosi ''Homo heidelbergensis'' no Neandertal sira .<ref name="prehistoric">{{Cite web|url=https://www.geolsoc.org.uk/Geoscientist/Archive/June-2012/Prehistoric-fossil-collectors|title=Prehistoric Fossil Collectors|access-date=16 February 2019}}</ref> Povu antigu sira-ne'e mós fura kuak sira iha sentru hosi kulit fósil redonda sira-ne'e, aparentemente uza sira hanesan kontas ba kolár sira. Ema Ejitu antigu sira halibur fósil sira hosi espésie sira ne'ebé hanesan ruin hosi espésie modernu sira ne'ebé sira adora. Maromak Set asosiadu ho hipopótamu, tanba ne'e ruin fosilizadu sira hosi espésie sira ne'ebé hanesan hipopótamu rai iha divindade ne'e nia templu sira.<ref>{{Cite web|url=http://www.wondersandmarvels.com/2016/09/ancient-egyptians-collected-fossils.html|title=Ancient Egyptians Collected Fossils|access-date=9 February 2019|date=5 September 2016}}</ref> Kaska fósil ho raiu lima hosi ursu tasi nian asosiadu ho divindade Sopdu, Fitun Dadeer nian, ekivalente ba Vénus iha mitolojia Roma nian.<ref name="prehistoric"/> [[Imajen:Micraster_coranguinum.4_-_Cretacico_superior.JPG|direita|miniaturadaimagem|Kaska fósil sira hosi ursu tasi nian iha era kretáseu, Micraster, uza iha tempu medievál hanesan koroa bibi-atan nian hodi proteje uma sira, no hanesan paun fada nian ne'ebé pinta hosi padaria sira hodi lori sorte ba sira nia halo paun.]] Fósil sira parese kontribui diretamente ba mitolojia sivilizasaun barak nian, inklui Gregu antigu sira. Adrienne Mayor sujere katak Ulun-ruin ''Protoceratops nian'' inspira lejenda sira kona-ba griffin ; hipóteze ida-ne'e hetan kontestasaun hosi paleontólogu sira hanesan Mark P. Witton no Richard Hing. Matenek-na'in gregu ida tuirmai, Aristóteles, ikusmai realiza katak fósil konxa sira hosi fatuk sira hanesan ho sira ne'ebé hetan iha tasi-ibun, ne'ebé indika katak fósil sira-ne'e uluk hanesan animál moris sira. Antes ne'e nia esplika ona sira iha termu sira exalasaun vaporoza nian, ne'ebé maka polímata [[Iraun|Pérsia]] Avicenna modifika ba teoria kona-ba fluidu sira ne'ebé maka halo fatuk ( succus lapidificatus ). Rekoñesimentu ba koncha tasi nian fósil sira hanesan orijen iha tasi harii iha sékulu 14 hosi Alberto de Saxonia, no aseita iha forma ruma hosi maioria naturalista sira iha sékulu 16. Naturalista Romanu Plinio Katuas hakerek kona-ba " fatuk iha nanál ", ne'ebé nia hanaran glossopetra . Ne'e maka tubaraun nia fósil nehan, ne'ebé kultura klásiku balu hanoin katak hanesan ema ka samea nia nanál.<ref name="sharkteeth">{{Cite web|url=http://www.gwydir.demon.co.uk/jo/fossils/cartilage.htm|title=Cartilaginous fish|access-date=16 February 2019}} {{Webarchive|url=https://web.archive.org/web/20170730044544/http://gwydir.demon.co.uk/jo/fossils/cartilage.htm |date=30 July 2017 }}</ref> Nia mós hakerek kona-ba dikur sira Ammon nian, ne'ebé maka ammonites fósil sira, ne'ebé maka grupu polvo-primu sira ne'ebé iha koncha ikusmai hetan nia naran modernu. Plinio mós halo referénsia ida ne'ebé koñesidu uluk ba toadstones, ne'ebé hanoin to'o sékulu 18 hanesan ai-moruk májiku ida ba venenu ne'ebé mai hosi samea nia ulun, maibé ne'ebé maka nehan fósil hosi ''Lepidotes'', ikan ida ho fulun raiu Kretáseu nian .<ref>{{Cite web|url=http://www.gwydir.demon.co.uk/jo/fossils/pliny.htm|title=References to fossils by Pliny the Elder|access-date=16 February 2019}} {{Webarchive|url=https://web.archive.org/web/20190102155131/http://gwydir.demon.co.uk/jo/fossils/pliny.htm |date=2 January 2019 }}</ref> Suku sira Planísie nian iha Amérika Norte hanoin katak iha fósil sira ne'ebé asosiadu hanesan, hanesan fósil pterosauru barak ne'ebé intaktu ne'ebé espozitu naturalmente iha rejiaun, ho sira nia mitolojia rasik kona-ba manu-trovoada . Laiha ligasaun mitolójika direta hanesan ne'e ne'ebé koñesidu hosi Áfrika pré-istóriku, maibé iha evidénsia konsideravel hosi suku sira iha ne'ebá ne'ebé ke'e no muda fósil sira ba fatin serimónia sira, aparentemente trata sira ho reverénsia ruma.<ref>{{Cite web|last=Helm|first=Charles|url=http://theconversation.com/how-we-know-that-ancient-african-people-valued-fossils-and-rocks-110321|title=How we know that ancient African people valued fossils and rocks|accessdate=9 February 2019}}</ref> Iha Japaun, tubaraun nia fósil nehan sira asosiadu ho tengu mítiku, ne'ebé hanoin katak hanesan kriatura nia kukun ne'ebé maka'as hanesan navalha, ne'ebé maka dokumenta iha tempu balun hafoin sékulu VIII AD.<ref name="sharkteeth"/> Iha Xina medievál, ruin fósil sira hosi mamíferu antigu sira inklui ''Homo erectus'' dala barak ema hanoin sala ho "ruin dragão nian " no uza hanesan ai-moruk no afrodisíaku . Aleinde ne'e, ruin fósil sira-ne'e balun halibur hanesan "arte" hosi matenek-na'in sira, ne'ebé husik hela eskrita sira iha artefaktu oioin, hodi indika tempu ne'ebé sira aumenta ba kolesaun ida. Ezemplu di'ak ida maka matenek-na'in famozu Huang Tingjian hosi dinastia Song durante sékulu XI, ne'ebé rai fósil koncha tasi nian espesífiku ida ho nia poema rasik ne'ebé grava iha leten. Iha nia ''Dream Pool Essays'' ne'ebé publika iha tinan 1088, matenek-na'in-ofisiál xinés dinastia Song nian , Shen Kuo, halo hipoteze katak fósil tasi nian ne'ebé hetan iha estratu jeolójiku foho nian ne'ebé lokaliza iha kilómetru atus resin hosi Oseanu Pasífiku maka evidénsia katak tasi-ibun pré-istóriku ida eziste ona iha ne'ebá no muda ona iha tempu sékulu barak nia laran . Ninia observasaun ba bambu petrifikadu iha zona klimátika norte maran ne'ebé agora hanaran Yan'an, provínsia Shaanxi, Xina, lori nia atu avansa ideia sira uluk nian kona-ba mudansa klimátika graduál tanba bambu ne'ebé moris naturalmente iha área klimátika ne'ebé udan liu.<ref name="nj" /><ref name="Rafferty 2012 p. 6">Rafferty, John P. (2012). ''Geological Sciences; Geology: Landforms, Minerals, and Rocks''. New York: Britannica Educational Publishing, p. 6. {{ISBN|9781615305445}}</ref> Iha Kristaun medievál, kriatura tasi nian ne'ebé fosilizadu iha foho-lolon sira haree hanesan prova hosi diluviu bíbliku hosi Noé nia Arka . Hafoin observa ezisténsia koncha tasi nian iha foho sira, filozofu Gregu antigu Xenophanes (c. 570 – 478 molok Kristu) halo espekulasaun katak mundu uluk hetan inundasaun iha inundasaun boot ida ne'ebé hakoi kriatura moris sira iha rai-henek ne'ebé maran.<ref name="Rafferty 2012 pp 5–6">Rafferty, John P. (2012). ''Geological Sciences; Geology: Landforms, Minerals, and Rocks''. New York: Britannica Educational Publishing, pp. 5–6. {{ISBN|9781615305445}}.</ref>   Husi sékulu XIII to'o ohin loron, matenek-na'in sira hatudu katak kabun-been fósil sira hosi Deinotherium giganteum, ne'ebé hetan iha Kreta no Grésia, bele interpreta hanesan kabun-been sira hosi Cyclopes hosi mitolojia Gregu nian, no karik hanesan orijen hosi mitu Gregu ne'ebá.<ref>{{Cite web|url=https://www.nationalgeographic.com/science/2003/02/news-deinotherium-fossils-crete-mythology-paleontology/|title=Cyclops Myth Spurred by 'One-Eyed' Fossils?|access-date=16 February 2019|date=5 February 2003}}</ref><ref>{{Cite web|url=http://mentalfloss.com/article/64093/8-types-imaginary-creatures-discovered-fossils|title=8 Types of Imaginary Creatures "Discovered" In Fossils|access-date=16 February 2019|date=19 May 2015}}</ref> Sira nia kakutak parese iha matan-kuak ida de'it iha oin, hanesan ho sira nia primu elefante modernu sira, maski tuir loloos ida-ne'e maka abertura ba sira nia isin. Iha mitolojia nórdiku, echinoderm nia kulit sira (botaun redonda ho parte lima ne'ebé restu hosi ursu tasi nian) asosiadu ho maromak Thor, la'ós de'it inkorpora iha fatuk-tarutu sira, reprezentasaun sira hosi martelu Thor nian no krús sira ho forma martelu tuirmai bainhira adota kristaun, maibé mós rai iha uma sira hodi proteje Thor sira. Hirak-ne'e sai hanesan [[Shepherd's crown|bibi-atan nia koroa sira]] hosi folklore inglés nian, ne'ebé uza ba dekorasaun no hanesan sorte di'ak nian, ne'ebé tau iha uma no igreja sira nia odamatan.<ref name="echinoderm">{{Cite web|url=https://depositsmag.com/2017/04/04/folklore-of-fossil-echinoderms/|title=Folklore of Fossil Echinoderms|access-date=16 February 2019|date=4 April 2017}}</ref> Iha Suffolk, espésie ida ne'ebé diferente uza hanesan enkantu sorte nian hosi padeiru sira, ne'ebé refere ba sira hanesan [[Fairy loaf|paun fada nian]], asosia sira ho paun ho forma hanesan ne'ebé sira tunu.<ref>{{Cite web|url=http://echinoblog.blogspot.com/2009/01/archaeological-echinoderm-fairy-loaves.html|title=Archaeological Echinoderm! Fairy Loaves & Thunderstones!|access-date=16 February 2019|date=12 January 2009}}</ref>   [[Imajen:Rozprawa_o_přewratech_kůry_zemnj,_Ichthyosaurus_and_Plesiosaurus.jpg|miniaturadaimagem|''[[Ichthyosaurus]]'' no ''Plesiosaurus'' husi edisaun Xeka 1834 husi Cuvier nia ''Diskursu sira kona-ba revolusaun sira iha mundu nia superfísie'']] Iha tinan 1666, Nicholas Steno ezamina tubaraun ida, no halo asosiasaun hosi nia nehan sira ho "fatuk lian nian" hosi mitolojia antigu Grego-Romanu, hodi konklui katak sira-ne'e la'ós lian hosi samea venenozu sira, maibé nehan hosi espésie tubaraun nian ne'ebé maka mate kleur ona.<ref name="sharkteeth"/> Robert Hooke (1635–1703) inklui mikrografia sira hosi fósil sira iha nia ''Micrographia'' no nia maka entre ema dahuluk sira ne'ebé observa foram fósil sira nian. Ninia observasaun sira kona-ba fósil sira, ne'ebé nia hatete hanesan restu petrifikadu sira hosi kriatura sira ne'ebé balun la eziste ona, publika ona póstumu iha tinan 1705. William Smith (1769–1839), enjeñeiru kanál Inglés ida, observa katak fatuk sira ho idade oioin (bazeia ba lei superpozisaun nian ) prezerva montajen oioin hosi fósil sira, no katak montajen sira-ne'e tuituir malu iha orden regulár no determinavel. Nia observa katak fatuk sira hosi fatin dook sira bele iha korelasaun bazeia ba fósil sira ne'ebé sira iha. Nia hanaran ida-ne'e nu'udar prinsípiu ''susesaun faunál nian'' . Prinsípiu ida-ne'e sai hanesan Darwin nia evidénsia prinsipál ida katak evolusaun biolójiku maka real. Georges Cuvier mai atu fiar katak maioria se la'ós hotu-hotu fósil animál sira ne'ebé nia ezamina maka restu sira hosi espésie estintu sira. Ida-ne'e lori Cuvier sai hanesan proponente ativu ida ba eskola pensamentu jeolójiku ne'ebé hanaran katastrofismu . Besik atu remata nia artigu 1796 nian kona-ba elefante moris no fósil sira nia hatete: Interese iha fósil sira, no jeolojia jeralmente liu, habelar durante inísiu sékulu XIX. Iha Inglaterra, Mary Anning nia deskoberta sira kona-ba fósil sira, inklui iktiosauru kompletu dahuluk no eskeletu plesiosauru kompletu, hamosu interese públiku no akadémiku sira. === Linnaeus no Darwin === Naturalista sira uluk komprende ho di'ak semellansa no diferensa sira hosi espésie moris sira ne'ebé lori Linnaeus atu dezenvolve sistema klasifikasaun ierárkiku ida ne'ebé maka uza nafatin to'o ohin loron. Darwin ho nia kontemporáneu sira liga uluk estrutura ierárkika ai-hun moris nian ho rejistu fósil ne'ebé maka iha tempu ne'ebá ne'ebé maka menus tebes. Darwin deskreve ho elojénsia prosesu ida hosi desendensia ho modifikasaun, ka evolusaun, iha ne'ebé maka organizmu sira adapta ba presaun ambientál naturál no mudansa sira, ka sira mate. Bainhira Darwin hakerek ''Kona-ba Orijen Espésie sira-nian liuhosi Meius Selesaun Naturál, ka Prezervasaun Rasa Favorizadu sira-nian iha Luta ba Moris'', fósil animál sira ne'ebé tuan liu maka sira hosi Períodu Kámbriku, ne'ebé agora koñesidu maizumenus iha tinan 540&nbsp;tinan millaun ida. Nia preokupa ho auzénsia hosi fósil tuan sira tanba implikasaun sira iha validade hosi nia teoria sira, maibé nia espresa esperansa katak fósil sira hanesan ne'e sei hetan, hodi nota katak: "parte ki'ik ida de'it hosi mundu maka hatene ho ezatidaun." Darwin mós hanoin kona-ba aparénsia derepente hosi grupu barak (ezemplu, phyla ) iha estratu fosilíferu Kámbriku ne'ebé tuan liu ne'ebé koñesidu. === Depois Darwin === Desde Darwin nia tempu, rejistu fósil sira habelar ba entre 2.3 no 3.5&nbsp;tinan biliaun. Maioria hosi fósil Prekámbriku sira-ne'e maka baktéria mikroskópiku ka mikrofósil . Maibé, fósil makroskópiku sira agora koñesidu hosi Proterozoiku nia rohan. Biota Ediacara (ne'ebé mós hanaran biota Vendian) ne'ebé data hosi tinan 575&nbsp;tinan millaun liubá koletivamente konstitui montajen ida ne'ebé riku no oioin hosi eukariota multiselulár sira uluk nian. Rejistu fósil no susesaun faunál forma baze ba siénsia bioestratigrafia ka determina idade fatuk sira nian bazeia ba fósil sira ne'ebé maka inkorporadu. Ba tinan 150 dahuluk jeolojia nian, bioestratigrafia no superpozisaun maka meius úniku atu determina idade relativu fatuk sira-nian. Eskala tempu jeolójiku dezenvolve bazeia ba idade relativu sira hosi estratu fatuk nian ne'ebé determina hosi paleontólogu no estratígrafu sira uluk nian. Desde tinan dahuluk sira sékulu XX nian, métodu sira datasaun absoluta nian, hanesan datasaun radiométriku (inklui potássiu/argón, argón/argón, série urániu, no, ba fósil sira ne'ebé foin lalais, datasaun radiokarbonu ) uza ona atu verifika idade relativu sira ne'ebé hetan hosi fósil sira no atu fornese idade absoluta sira ba fósil barak. Datasaun radiométriku hatudu katak estromatólitu sira ne'ebé koñesidu uluk liu maka liu 3.4&nbsp;tinan biliaun ida. ==Referensia== <references/> [[Kategoria:Páginas com traduções não revistas]] hunilsg3nqbd2fexdz3vw5glo3hzl69 Koñesimentu 0 8221 72999 2026-07-02T13:58:23Z Domingos de Carvalho Nuno 11543 Criada por tradução da página "[[:id:Special:Redirect/revision/29411444|Ilmu]]" 72999 wikitext text/x-wiki   '''Istória siénsia nian''' kobre kuaze istória tomak ne'ebe maka rejista ona kona-ba ema, ho antesesór sira siénsia modernu nian ne'ebe maka hahu iha Idade Bronze iha Ejitu no Mesopotámia ( ca 3000–1200 BC ). Sira nia kontribuisaun ba matemátika, [[astronomia]], no medisina depois influensia filozofia naturál Gregu nian durante períodu klásiku no Renascimentu medievál, bainhira tentativa formál sira halo atu esplika eventu sira iha mundu fíziku liu husi kauza naturál sira. Mudansa sira seluk akontese durante [[Zaman Keemasan India#Kekaisaran Gupta|Idade Osan-Mean India]] no Idade Osan-Mean Izlámika, inklui introdusaun sistema numerál [[Hindu–Arab|Hindu-Árabe]] . : 12 <ref name="Lindberg2007" /> : 163–192  Rekoperasaun no integrasaun obra gregu sira no [[Ilmu pengetahuan dalam dunia Islam pada Abad Pertengahan|estudu sientífiku islámiku sira]] iha Europa Osidentál durante Renascimento hamoris fali filozofia naturál, <ref name="Lindberg2007" /> : 193–224, 225–253 ne'ebe hafoin hetan transformasaun boot ida liu husi Revolusaun Sientífika iha sékulu XVI, bainhira ideia no deskoberta foun sira hahu husik hela legadu konseituál Grésia antigu nian. <ref name="Lindberg2007" /> : 357–368 Nu'udar métodu sientífiku dezenvolve nu'udar meiu prinsipál atu hetan kuinesimentu, iha sékulu XIX, elementu institusionál oi-oin no [[Profesionalisasi|profisionalizasaun]] siénsia nian hahu hetan forma, hamutuk ho mudansa iha termu husi "filozofia naturál" ba "siénsia naturál". Kuinesimentu foun iha siénsia dezenvolve liu husi peskiza husi sientista sira ne'ebe maka dudu husi kuriozidade kona-ba mundu no hakarak atu rezolve problema sira. Peskiza sientífika ohin loron nian kolaborativu tebes no jeralmente hala'o husi ekipa sira iha ambiente akadémiku no instituisaun peskiza sira, ajénsia governu nian sira, : 163–192  no empreza privadu sira. Impaktu prátiku husi sira nia serbisu hamosu [[Kebijakan ilmu pengetahuan|polítika siénsia nian]] ne'ebé buka atu influensia atividade sientífika hodi fó énfaze ba [[Penelitian dan Inovasi yang Bertanggung Jawab|dezenvolvimentu étika no morál]] iha produtu komersiál sira, armamentu, servisu saúde, infraestrutura públika, no protesaun ambientál . Liafuan '''''siénsia''''' (absorve iha lian Indonézia hanesan ''siénsia'' ) uza ona iha Inglés Médiu dezde sékulu XIV hodi signifika "estadu hatene nian". Termu ida-ne'e absorve husi Anglo-Norman liuhosi sufiksu -cience , ne'ebe mai husi liafuan Latin scientia , signifika "kuinesimentu, konxiénsia, komprensaun". Liafuan ne'e maka [[Derivasi morfologis|derivasaun morfolojia]] husi sciens signifika "atu hatene", forma [[Partisipel aktif kini|partisípiu ativu prezente]] husi sciō , ne'ebé signifika "atu hatene" ka "atu komprende". Iha pasadu, termu ''siénsia'' uza hanesan sinónimu ba "kuinesimentu" ka "estudu", hodi tuir nia abut latinu. Ema ida ne'ebe envolve iha peskiza sientífika hanaran "filózofu naturál" ka "sientista naturál". Iha tinan 1834, William Whewell introdús termu ''sientista'' iha nia revizaun ba Mary Somerville nia ''[[On the Connexion of the Physical Sciences]]'', no nia atribui termu ne'e nia kriasaun ba "ema ida ho intelijénsia boot"—karik nia rasik. [[Kategoria:Siénsia]] lzhadp8rssrf8z2o3z65sfidx42fwz4 Mekánika enjeñaria nian 0 8222 73000 2026-07-02T14:06:50Z Domingos de Carvalho Nuno 11543 Criada por tradução da página "[[:id:Special:Redirect/revision/28610052|Mekanika teknik]]" 73000 wikitext text/x-wiki '''Mekánika enjeñaria nian''', ne'ebe mos kuinesidu hanesan '''mekánika enjeñaria nian,''' maka kampu estudu primáriu ne'ebe preokupa ho hahalok estrutura ka mákina sira nian iha karga sira ne'ebe no ba sira. Hahalok estruturál sira-ne'e jeralmente envolve [[Lendutan|deflesaun]] no forsa sira ( forsa reasaun no [[Gaya internal|forsa internu sira]] ). Hodi hatene forsa no deflesaun sira ne'ebe akontese, estrutura bele planeia ka nia dimensaun sira proporsionál bazeia ba material sira ne'ebe uza atu nune'e bele seguru no konfortavel (deflesaun la'os maka'as liu) hodi simu karga. Mekánika enjeñaria maka ramu direta ida hosi [[Mekanika|mekánika]] iha estudu fízika nian, maibe inklui elementu sira ne'ebe besik liu ba realidade no aspetu prátiku sira. Enjeñaria mekánika uza iha kampu oi-oin [[enjeñaria sivíl]], enjeñaria mekánika, enjeñaria material, enjeñaria aeronáutika, enjeñaria elétrika, enjeñaria estruturál, no enjeñaria mariña . Área ne'ebe inklui estudu kona-ba mekánika enjeñaria nian maka * Estátika, estudu kona-ba objetu sira ne'ebe deskansa * Dinámika, estudu kona-ba efeitu sira hosi karga sira iha movimentu objetu sira-nian * Mekánika deformasaun nian, estudu kona-ba efeitu sira karga nian iha deformasaun objetu sira-nian * Mekánika fluidu nian, movimentu objetu sira ne'ebe suli * Mekánika rai nian, estudu kona-ba hahalok movimentu rai nian * Mekánika kontinuum, análize ba isin sira ho masa kontínua == Aplikasaun prátika == === Enjeñaria sivíl no arkitetura === Mekánika enjeñaria nian maka siénsia fundamentál ida ba [[enjeñaria sivíl]] no arkitetura . Uza mekánika enjeñaria nian iha enjeñaria sivíl no arkitetura maka partikularmente ba estudu fundamentál kona-ba estrutura edifísiu nian . Espesifikamente, mekánika enjeñaria nian uza atu determina karga sira ne'ebe atua iha edifísiu ida bazeia ba hahalok estrutura edifísiu nian rasik. Hahalok estrutura edifísiu nian analiza uza lei movimentu Newton nian ne'ebe reprezenta iha forma forsa reasaun, forsa asaun no deflesaun sira. Espesifikamente liu, mekánika enjeñaria iha enjeñaria sivíl no arkitetura utiliza lei datoluk Newton nian. Prinsípiu ne'ebe uza maka ekilíbriu forsa rezultante entre forsa asaun no forsa reasaun. m2pc55mhvp3or9bi3y4iwzoqoo888mn Diskusaun Ajuda:Citation Style 1 13 8223 73001 2026-06-30T07:42:58Z en>Redrose64 0 /* Cite is completely unfriendly for mobile web editing */ typo 73001 wikitext text/x-wiki <!-- Deny citation bot April 2015 because we often post broken citations here intentionally and do not want them to be "fixed". To avoid AnomieBOT substing, use |demo= or |nosubst= instead of adding it here. -->{{bots|deny=Citation bot,SporkBot,Cewbot}}<!-- -->{{skip to bottom}}<!-- -->{{talk header|display_title=Help:Citation Style 1 and the CS1 templates|WT:CS1}} {{central|text=the talk pages for all Citation Style 1 and Citation Style 2 templates and modules redirect here. A list of those talk pages and their historical archives can be found [[Help talk:Citation Style 1/Centralized discussions|here]].}} {{WikiProject banner shell|collapsed=yes|1= {{Wikipedia Help Project|importance=High}} {{WikiProject Academic Journals}} {{WikiProject Magazines}} }} {{User:ClueBot III/ArchiveThis |archiveprefix=Help talk:Citation Style 1/Archive |format= %%i |age=480 |header={{Automatic archive navigator}} |headerlevel=2 |maxarchsize=200000 |minkeepthreads=6 |numberstart=69 |minarchthreads=2 |archivenow=<nowiki>{{User:ClueBot III/ArchiveNow}},{{resolved}},{{done}}</nowiki> }} {{FAQ|page=Help talk:Citation Style 1/FAQ}} == Accept-as-written markup for archive url? == On the [[Wayback Machine]]'s Wikipedia page, there is a source (#8) citing [https://web.archive.org/web/19950301190227/http://www.bbcnc.org.uk/index.html one of the oldest archives], and it dates to 1995, which triggers a cs1 error even though the url works and is legitimate. As far as I know there is no way to use accept-this-as-written markup for the archive-url parameter. Is there a way this could be added or some other way to fix the error? Thanks. [[User:BlaqWiedow|BlaqWiedow]] ([[User talk:BlaqWiedow|talk]]) 04:59, 30 May 2026 (UTC) :I think it was triggered because the <code>archive-url</code> was the same as the <code>url</code>. By [https://en.wikipedia.org/w/index.php?title=Wayback_Machine&diff=1359933024&oldid=1359200908 omitting] the <code>archive-url</code> and <code>archive-date</code>, I think it does what you want. (And this is logical because we're citing the Internet Archive as the source, not as the archive of itself.) [[User:TheFeds|<span style="font-family:Constantia; color=#0077bb; font-size:medium; line-height:0.0;">'''''TheFeds'''''</span>]] 04:01, 18 June 2026 (UTC) == More article-number == In jawiki, I found citations such as: *{{Cite journal|vauthors=Fischer-Friedrich E, Hyman AA, Jülicher F, Müller DJ, Helenius J|date=2014-08-29|title=Quantification of surface tension and internal pressure generated by single mitotic cells|journal=Scientific Reports|volume=4|page=6213|doi=10.1038/srep06213|pmc=4148660|pmid=25169063}} *{{cite journal | vauthors = Burns A, Iliffe S | title = Alzheimer's disease | journal = BMJ | volume = 338 | pages = b158 | date = February 2009 | pmid = 19196745 | doi = 10.1136/bmj.b158 }} *{{cite journal | vauthors = Strong M | title = Protein nanomachines | journal = PLOS Biology | volume = 2 | issue = 3 <!--| pages = 305–306--> | page = e73 | date = March 2004 | pmid = 15024422 | pmc = 368168 | doi = 10.1371/journal.pbio.0020073 | s2cid = 13222080 | doi-access = free }} {{para|page}} in these citations should be replaced by {{para|article-number}}, but the module doesn't recognize them as [[:Category:CS1 maint: article number as page number]]. Is there a way to improve validation while preventing false positives? [[User:FlatLanguage|FlatLanguage]] ([[User talk:FlatLanguage|talk]]) 03:23, 9 June 2026 (UTC) == Cite is completely unfriendly for mobile web editing== As I’ve been reading article after article by Wiki admins and trustees etc saying that Wikipedia is literally dying - and mostly admin edits not genuine contributions, i’d like to point out that creating new references was a nightmare today because of the specific use of straight speech marks that are present on the normal keyboard of approx zero mobile users - changing the cite tag to use “” instead of "" would be a winner [[User:Manboobies|Manboobies]] ([[User talk:Manboobies|talk]]) 10:53, 16 June 2026 (UTC) : if it’s the case that you can either use one or the other but not mix them, that also needs changing please -[[User:Manboobies|Manboobies]] ([[User talk:Manboobies|talk]]) 10:58, 16 June 2026 (UTC) :"Hello" - Written on my Pixel 8. &#32;<span style="font-variant:small-caps; whitespace:nowrap;">[[User:Headbomb|Headbomb]] {[[User talk:Headbomb|t]] · [[Special:Contributions/Headbomb|c]] · [[WP:PHYS|p]] · [[WP:WBOOKS|b]]}</span> 10:59, 16 June 2026 (UTC) ::More importantly, how does the use of straight quotes prevent you from using cite templates? <span style="font-variant:small-caps; whitespace:nowrap;">[[User:Headbomb|Headbomb]] {[[User talk:Headbomb|t]] · [[Special:Contributions/Headbomb|c]] · [[WP:PHYS|p]] · [[WP:WBOOKS|b]]}</span> 10:59, 16 June 2026 (UTC) :::it’s the use of curly quotes “” - not straight quote marks / typewriter quotes (or whatever they’re called) that prevent the template from working. Curly quotes are used by default on iPhone. There are no typewriter quotes by default. This blocks citing sources for most young mobile users who use iOS not Android. It will discourage them, as it discouraged me working through the error messages caused by curly quotes disrupting reference names. I had to spend 45 minutes the other day fixing it. I know it does it now, but for most new users this will be off putting and may make them leave the platform. [[User:Manboobies|Manboobies]] ([[User talk:Manboobies|talk]]) 17:08, 28 June 2026 (UTC) :::See also my message further down for more technical info on the error [[User:Manboobies|Manboobies]] ([[User talk:Manboobies|talk]]) 17:25, 28 June 2026 (UTC) :Many of my edit, all on mobile, have been the creation of cites and I've never had an issue with speech marks. What exact issue are you having?<br />Also the death of Wikipedia is massively overblown. The amount of active editor is much the same as it ever have been[https://stats.wikimedia.org/#/en.wikipedia.org/contributing/active-editors/normal%7Cline%7Call%7C(page_type)~content*non-content%7Cmonthly], the amount of edits and the proportion of those edits that are content related are at all all time high[https://stats.wikimedia.org/#/en.wikipedia.org/contributing/user-edits/normal%7Cbar%7C2001-01-01~2026-01-16%7Cpage_type~content*non-content%7Cmonthly] and although page views are down from a bubble in 2024/2025 they are at exactly the same level as they have been for the past decade[https://stats.wikimedia.org/#/en.wikipedia.org/reading/total-page-views/normal%7Cbar%7C2016-01-01~2026-06-16%7C~total%7Cmonthly]. -- <small>LCU</small> '''[[User:ActivelyDisinterested|A<small>ctively</small>D<small>isinterested</small>]]''' <small>''«[[User talk:ActivelyDisinterested|@]]» °[[Special:Contributions/ActivelyDisinterested|∆t]]°''</small> 11:58, 16 June 2026 (UTC) ::{{U|Manboobies}}, it is more important to add valid citations, per [[WP:V]], than to get the formatting exactly right. If your phone's keyboard doesn't type straight quote marks, don't worry about it. It is much easier for other editors to straighten quote marks than to add valid citations. Thanks for contributing! – [[User:Jonesey95|Jonesey95]] ([[User talk:Jonesey95|talk]]) 17:51, 18 June 2026 (UTC) ::{{replyto|Manboobies}} I don't understand when you might need to use quote marks in a cite template. But if you have an Apple device, try: Settings → General → Keyboard → Smart Punctuation. Turn that off. --[[User:Redrose64|<span style="color:#a80000; background:#ffeeee; text-decoration:inherit">Red</span>rose64]] &#x1f339; ([[User talk:Redrose64|talk]]) 21:50, 18 June 2026 (UTC) ::: Elaborately altering default phone settings is not a fix, neither is using Android. Most young people are using iPhones. It should just work. :::it’s the use of curly quotes “” rather than straight quote marks / typewriter quotes that prevent the template from working with the <nowiki> <ref name="Sourcename"/> and <ref name="Sourcename"> </nowiki> tags used outside the cite web structure to label sources. I’m not sure if it’s mixed usage of straight and curly when used with reference names that does it, or any usage of curly quotes. :::Curly quotes are used by default on iPhone. There are no typewriter quotes by default. This blocks citing sources for most young mobile users who use iOS not Android. It will discourage them, as it discouraged me working through the error messages caused by curly quotes. I had to spend 45 minutes the other day fixing it. I know Wikipedia is broken in this way now so I can fix it quicker in future, but for most new users this will be off putting and may make them leave the platform. I note the insert buttons under this dialogue box with various symbols has curly quotes, not type writer quotes, adding to the impact [[User:Manboobies|Manboobies]] ([[User talk:Manboobies|talk]]) 17:08, 28 June 2026 (UTC) ::::This is not a template issue, this is a general HTML issue. ::::*<nowiki>I have <span style="color:blue">blue</span> eyes</nowiki> &rarr; I have <span style="color:blue">blue</span> eyes :::: vs ::::*<nowiki>I have <span style=“color:blue”>blue</span> eyes</nowiki> &rarr; I have <span style=“color:blue”>blue</span> eyes ::::&#32;<span style="font-variant:small-caps; whitespace:nowrap;">[[User:Headbomb|Headbomb]] {[[User talk:Headbomb|t]] · [[Special:Contributions/Headbomb|c]] · [[WP:PHYS|p]] · [[WP:WBOOKS|b]]}</span> 18:12, 28 June 2026 (UTC) ::::"{{tq|Most young people are using iPhones.}}" this is only true in the US. -- <small>LCU</small> '''[[User:ActivelyDisinterested|A<small>ctively</small>D<small>isinterested</small>]]''' <small>''«[[User talk:ActivelyDisinterested|@]]» °[[Special:Contributions/ActivelyDisinterested|∆t]]°''</small> 22:17, 28 June 2026 (UTC) :::::As {{U|Headbomb}} points out, HTML (and CSS) requires straight quotes, not curly quotes. However <code><nowiki><ref name=.../></nowiki></code> is wiki markup not HTML, so it would in principle be possible to allow curly quotes here. Better in my view is to avoid the need for quote marks; if the reference name does not contain spaces or special characters, the quote marks can be omitted. Something like <code><nowiki><ref name=SmithJones2026/></nowiki></code> or <code><nowiki><ref name=POWO_828178-1/></nowiki></code>, which is my preferred style, works fine (although some editors then go round adding unnecessary quotes). [[User:Peter coxhead|Peter coxhead]] ([[User talk:Peter coxhead|talk]]) 09:05, 29 June 2026 (UTC) ::::::I can't reproduce the issue described above. ::::::The wikitext: ::::::<syntaxhighlight lang=wikitext>One.<ref name=“test”>Test reference.</ref> Two.<ref name=“test”/> {{reflist}}</syntaxhighlight> ::::::Gives the following output: ::::::One.<ref name=“test”>Test reference.</ref> Two.<ref name=“test”/> {{reflist}} ::::::That seems to work? [[User:Rjjiii|<span style="font-variant:small-caps;">Rjj<sup>iii</sup></span>]] ([[User talk:Rjjiii|talk]]) 13:48, 29 June 2026 (UTC) :::::::Yes, but... {{tag|ref|attribs=name=“test”|o}} (with curly quotes) does not match {{tag|ref|attribs=name="test"|o}} or {{tag|ref|attribs=name="test"|s}} (with straight quotes). MediaWiki treats curly quotes as part of the 'name'; straight quotes are not part of the 'name' so {{tag|ref|attribs=name="test"|o}} (with straight quotes) and {{tag|ref|attribs=name=test|s}} (without quotes) match. ::::::: :::::::Still, all of this has nothing to do with cs1|2 templates. :::::::—[[User:Trappist the monk|Trappist the monk]] ([[User talk:Trappist the monk|talk]]) 14:34, 29 June 2026 (UTC) :::::::{{replyto|Manboobies}} More specifically, when the MediaWiki software encounters markup like {{tag|ref|o|params=name=“test”}} it treats this as if you had typed {{tag|ref|o|params=name="“test”"}}. Thus, the two curly quotes are considered to be regular characters, not delimiters. This is consistent with how many browsers behave when they encounter the same characters: if Firefox encounters markup like {{tag|span|o|params=style=“color:blue”}} it processes this as if it were {{tag|span|o|params=style="“color:blue”"}}, which is an invalid HTML attribute, and accordingly is ignored. :::::::But did you try my suggestion of turning off the smart punctuation? Alternatively, try the "long press" technique, also known as "press and hold". On most (if not all) Apple touch screen devices, this allows one key to generate several different characters. When I try it, with smart punctuation still enabled, I'm given a choice of six different double quotes - left and right guillemots, straight quotes, and three different shapes of curly. :::::::But as Trappist the monk notes, this is nothing to do with Citation Style 1, since the same issue occurs with non-templated refs. It's much closer to [[WP:NAMEDREFS]]. --[[User:Redrose64|<span style="color:#a80000; background:#ffeeee; text-decoration:inherit">Red</span>rose64]] &#x1f339; ([[User talk:Redrose64|talk]]) 07:41, 30 June 2026 (UTC) ==Discussion at [[:Wikipedia:Bots/Requests for approval/CutlassBot|BRFA to remove archive.today standalone links]]== [[File:Symbol watching blue lashes high contrast.svg|25px|link=|alt=]]&nbsp;You are invited to join the discussion at [[:Wikipedia:Bots/Requests for approval/CutlassBot]]. <!-- Template:Please see --> (apologies for the two notifications) [[User:Dw31415|<span style="background-color: snow; font-family: 'Linux Libertine', 'Georgia', 'Times', 'Source Serif Pro', serif">Dw31415</span>]] ([[User talk:Dw31415#top|talk]]) 12:18, 16 June 2026 (UTC) :Can anyone help me construct a before and after wikitext for the change here that hides archive.today links? I’ve proposed a bot that seeks to propagate the same behavior to stand alone links. [[User:Dw31415|<span style="background-color: snow; font-family: 'Linux Libertine', 'Georgia', 'Times', 'Source Serif Pro', serif">Dw31415</span>]] ([[User talk:Dw31415#top|talk]]) 12:41, 16 June 2026 (UTC) == [[Wikipedia:Bots/Requests for approval/CitationCleanerBot 7]] == This may interest some of you, like {{ping|Trappist the monk}}. Basically it's a bot to cleanup the vast majority of [[:Category:CS1 maint: work parameter with ISBN]]. &#32;<span style="font-variant:small-caps; whitespace:nowrap;">[[User:Headbomb|Headbomb]] {[[User talk:Headbomb|t]] · [[Special:Contributions/Headbomb|c]] · [[WP:PHYS|p]] · [[WP:WBOOKS|b]]}</span> 17:50, 18 June 2026 (UTC) == Citing geo-blocked websites == I cited a website in an article and went back to read it again, only to find that the website has now been [[geo-blocking|blocked in my country]] and any links to the domain give a message saying it's "not available in your region". The domain in this example is the Australian news site https://10.com.au/ ([[Network 10]]), which cannot be accessed by IP addresses in the US and presumably other countries as well. I want to propose an additional parameter, similar to the [[WP:URLACCESS|url-access]] parameter, where this can mentioned so it doesn't come across as a [[WP:DEADLINK|dead link]]. (Of course, ideally another non-geoblocked source should be used in its place, but sometimes that's not an option.) –[[User:Dream out loud|<span style="font-variant: small-caps">Dream&nbsp;out&nbsp;loud</span>]]&nbsp;<small>([[User talk:Dream out loud|talk]])</small> 18:59, 24 June 2026 (UTC) :I can't think of a citation style that does this. It feels like including the approximate cost of a book in its citation. [[User:Rjjiii|<span style="font-variant:small-caps;">Rjj<sup>iii</sup></span>]] ([[User talk:Rjjiii|talk]]) 07:50, 25 June 2026 (UTC) == Url's unusual top-level domain? == In [https://en.wikipedia.org/w/index.php?title=Edward_IV&action=edit&section=9&oldid=1361228139 this article], the top-level domain of the reference <code>({{Cite web |title=La Grande histoire César |series=Digitised Manuscripts |publisher=British Library |date=1479 |url=http://www.bl.uk/manuscripts/FullDisplay.aspx?ref=Royal_MS_17_f_ii&index=8 |archive-url=https://archive.today/20130419170753/http://www.bl.uk/manuscripts/FullDisplay.aspx?ref=Royal_MS_17_f_ii&index=8 |url-status=dead |archive-date=19 April 2013 }})</code> is <code>today</code>. It returns a Script warning maintenance message. How should the reference be handled? —[[User talk:GoldRingChip|GoldRingChip]] 15:13, 26 June 2026 (UTC) :The use of archive.today has been deprecated due to issue with service, it should be replaced with a different archiving service. [[Wikipedia:archive.today guidance]] explains more about the issue. -- <small>LCU</small> '''[[User:ActivelyDisinterested|A<small>ctively</small>D<small>isinterested</small>]]''' <small>''«[[User talk:ActivelyDisinterested|@]]» °[[Special:Contributions/ActivelyDisinterested|∆t]]°''</small> 20:43, 26 June 2026 (UTC) * Alas, the tool there (https://fixarchive.toolforge.org) doesn't replace the link and I can't find the info on Archive.org. —[[User talk:GoldRingChip|GoldRingChip]] 13:44, 29 June 2026 (UTC) *:If you go to the first archive at the wayback machine it redirects to:<br/>http://www.bl.uk/manuscripts/FullDisplay.aspx?ref=Royal_MS_17_f_ii<br/>That's dead as well, but if you check the wayback machine it was archived [https://web.archive.org/web/20121215181107/http://www.bl.uk/manuscripts/FullDisplay.aspx?ref=Royal_MS_17_f_ii here]. -- <small>LCU</small> '''[[User:ActivelyDisinterested|A<small>ctively</small>D<small>isinterested</small>]]''' <small>''«[[User talk:ActivelyDisinterested|@]]» °[[Special:Contributions/ActivelyDisinterested|∆t]]°''</small> 17:27, 29 June 2026 (UTC) *::Alternatively if you use the search page on the live website with the reference's title[https://searcharchives.bl.uk/?search_field=all_fields&q=%22La+Grande+histoire+C%C3%A9sar%22], you can find the current live url:<br />https://searcharchives.bl.uk/catalog/040-002107409 -- <small>LCU</small> '''[[User:ActivelyDisinterested|A<small>ctively</small>D<small>isinterested</small>]]''' <small>''«[[User talk:ActivelyDisinterested|@]]» °[[Special:Contributions/ActivelyDisinterested|∆t]]°''</small> 17:31, 29 June 2026 (UTC) == infixes in last names == A short time ago there was a "discussion" on infixes in last names. See: [[Help talk:Citation Style 1/Archive 102#Please make provisions for correct handling of infixes in last names]] Especially in Dutch (but perhaps in other languages as well; German?) this is a serious problem. A solution like "{{para|last|Vreeze}}, {{para|first|M. de}}" is not a real solution. The last name is "de Vreeze", not "Vreeze". But the problem is in the ordering in lists, like sources. Here the name is listed under "Vreeze". So a separate treatment of the infixes really deserves a serious discussion. --[[User:Dick Bos|Dick Bos]] ([[User talk:Dick Bos|talk]]) 17:28, 26 June 2026 (UTC) :Couldn't {{para|author-mask}} be used for this issue?<br /><nowiki>{{cite book |last1=Vreeze |first1=M. de |author-mask1=de Vreeze, M. |title=Example title}}</nowiki><br />Comes out as:<br />{{cite book |last1=Vreeze |first1=M. de |author-mask1=de Vreeze, M. |title=Example title}}<br />It will display as de Vreeze, but will be listed under Vreeze. -- <small>LCU</small> '''[[User:ActivelyDisinterested|A<small>ctively</small>D<small>isinterested</small>]]''' <small>''«[[User talk:ActivelyDisinterested|@]]» °[[Special:Contributions/ActivelyDisinterested|∆t]]°''</small> 20:48, 26 June 2026 (UTC) ::That's extremely hackish and shouldn't be done. If you want to sort de Vries under "V", then you place the citation in the Vs. &#32;<span style="font-variant:small-caps; whitespace:nowrap;">[[User:Headbomb|Headbomb]] {[[User talk:Headbomb|t]] · [[Special:Contributions/Headbomb|c]] · [[WP:PHYS|p]] · [[WP:WBOOKS|b]]}</span> 18:06, 28 June 2026 (UTC) :::Agreed. Just put it in the right place, and put the correct first and last names in the correct parameters. The incorrect citation above yields a CITEREF (for {{tl|sfn}}) of "CITEREFVreeze" instead of the correct "CITEREFde_Vreeze". Leave out the author-mask, which is not needed. {{cite book |last1=de Vreeze |first1=M. |title=Example title}} – [[User:Jonesey95|Jonesey95]] ([[User talk:Jonesey95|talk]]) 19:00, 28 June 2026 (UTC) == Whatever happened to vcite? == Just wondering. I assume it was "merged" in citation style 1. Who did it and when? ---- [[User:CharlesTGillingham|CharlesTGillingham]] ([[User talk:CharlesTGillingham|talk]]) 01:00, 30 June 2026 (UTC) :[[Wikipedia:Templates for discussion/Log/2025 June 13#Template:Vcite journal]] :—[[User:Trappist the monk|Trappist the monk]] ([[User talk:Trappist the monk|talk]]) 01:07, 30 June 2026 (UTC) ayax1372ap4on04yqv3b18s2l2ifyj9 73002 73001 2026-07-02T14:46:22Z Robertsky 10424 1 versaun husi [[:en:Help_talk:Citation_Style_1]] 73001 wikitext text/x-wiki <!-- Deny citation bot April 2015 because we often post broken citations here intentionally and do not want them to be "fixed". To avoid AnomieBOT substing, use |demo= or |nosubst= instead of adding it here. -->{{bots|deny=Citation bot,SporkBot,Cewbot}}<!-- -->{{skip to bottom}}<!-- -->{{talk header|display_title=Help:Citation Style 1 and the CS1 templates|WT:CS1}} {{central|text=the talk pages for all Citation Style 1 and Citation Style 2 templates and modules redirect here. A list of those talk pages and their historical archives can be found [[Help talk:Citation Style 1/Centralized discussions|here]].}} {{WikiProject banner shell|collapsed=yes|1= {{Wikipedia Help Project|importance=High}} {{WikiProject Academic Journals}} {{WikiProject Magazines}} }} {{User:ClueBot III/ArchiveThis |archiveprefix=Help talk:Citation Style 1/Archive |format= %%i |age=480 |header={{Automatic archive navigator}} |headerlevel=2 |maxarchsize=200000 |minkeepthreads=6 |numberstart=69 |minarchthreads=2 |archivenow=<nowiki>{{User:ClueBot III/ArchiveNow}},{{resolved}},{{done}}</nowiki> }} {{FAQ|page=Help talk:Citation Style 1/FAQ}} == Accept-as-written markup for archive url? == On the [[Wayback Machine]]'s Wikipedia page, there is a source (#8) citing [https://web.archive.org/web/19950301190227/http://www.bbcnc.org.uk/index.html one of the oldest archives], and it dates to 1995, which triggers a cs1 error even though the url works and is legitimate. As far as I know there is no way to use accept-this-as-written markup for the archive-url parameter. Is there a way this could be added or some other way to fix the error? Thanks. [[User:BlaqWiedow|BlaqWiedow]] ([[User talk:BlaqWiedow|talk]]) 04:59, 30 May 2026 (UTC) :I think it was triggered because the <code>archive-url</code> was the same as the <code>url</code>. By [https://en.wikipedia.org/w/index.php?title=Wayback_Machine&diff=1359933024&oldid=1359200908 omitting] the <code>archive-url</code> and <code>archive-date</code>, I think it does what you want. (And this is logical because we're citing the Internet Archive as the source, not as the archive of itself.) [[User:TheFeds|<span style="font-family:Constantia; color=#0077bb; font-size:medium; line-height:0.0;">'''''TheFeds'''''</span>]] 04:01, 18 June 2026 (UTC) == More article-number == In jawiki, I found citations such as: *{{Cite journal|vauthors=Fischer-Friedrich E, Hyman AA, Jülicher F, Müller DJ, Helenius J|date=2014-08-29|title=Quantification of surface tension and internal pressure generated by single mitotic cells|journal=Scientific Reports|volume=4|page=6213|doi=10.1038/srep06213|pmc=4148660|pmid=25169063}} *{{cite journal | vauthors = Burns A, Iliffe S | title = Alzheimer's disease | journal = BMJ | volume = 338 | pages = b158 | date = February 2009 | pmid = 19196745 | doi = 10.1136/bmj.b158 }} *{{cite journal | vauthors = Strong M | title = Protein nanomachines | journal = PLOS Biology | volume = 2 | issue = 3 <!--| pages = 305–306--> | page = e73 | date = March 2004 | pmid = 15024422 | pmc = 368168 | doi = 10.1371/journal.pbio.0020073 | s2cid = 13222080 | doi-access = free }} {{para|page}} in these citations should be replaced by {{para|article-number}}, but the module doesn't recognize them as [[:Category:CS1 maint: article number as page number]]. Is there a way to improve validation while preventing false positives? [[User:FlatLanguage|FlatLanguage]] ([[User talk:FlatLanguage|talk]]) 03:23, 9 June 2026 (UTC) == Cite is completely unfriendly for mobile web editing== As I’ve been reading article after article by Wiki admins and trustees etc saying that Wikipedia is literally dying - and mostly admin edits not genuine contributions, i’d like to point out that creating new references was a nightmare today because of the specific use of straight speech marks that are present on the normal keyboard of approx zero mobile users - changing the cite tag to use “” instead of "" would be a winner [[User:Manboobies|Manboobies]] ([[User talk:Manboobies|talk]]) 10:53, 16 June 2026 (UTC) : if it’s the case that you can either use one or the other but not mix them, that also needs changing please -[[User:Manboobies|Manboobies]] ([[User talk:Manboobies|talk]]) 10:58, 16 June 2026 (UTC) :"Hello" - Written on my Pixel 8. &#32;<span style="font-variant:small-caps; whitespace:nowrap;">[[User:Headbomb|Headbomb]] {[[User talk:Headbomb|t]] · [[Special:Contributions/Headbomb|c]] · [[WP:PHYS|p]] · [[WP:WBOOKS|b]]}</span> 10:59, 16 June 2026 (UTC) ::More importantly, how does the use of straight quotes prevent you from using cite templates? <span style="font-variant:small-caps; whitespace:nowrap;">[[User:Headbomb|Headbomb]] {[[User talk:Headbomb|t]] · [[Special:Contributions/Headbomb|c]] · [[WP:PHYS|p]] · [[WP:WBOOKS|b]]}</span> 10:59, 16 June 2026 (UTC) :::it’s the use of curly quotes “” - not straight quote marks / typewriter quotes (or whatever they’re called) that prevent the template from working. Curly quotes are used by default on iPhone. There are no typewriter quotes by default. This blocks citing sources for most young mobile users who use iOS not Android. It will discourage them, as it discouraged me working through the error messages caused by curly quotes disrupting reference names. I had to spend 45 minutes the other day fixing it. I know it does it now, but for most new users this will be off putting and may make them leave the platform. [[User:Manboobies|Manboobies]] ([[User talk:Manboobies|talk]]) 17:08, 28 June 2026 (UTC) :::See also my message further down for more technical info on the error [[User:Manboobies|Manboobies]] ([[User talk:Manboobies|talk]]) 17:25, 28 June 2026 (UTC) :Many of my edit, all on mobile, have been the creation of cites and I've never had an issue with speech marks. What exact issue are you having?<br />Also the death of Wikipedia is massively overblown. The amount of active editor is much the same as it ever have been[https://stats.wikimedia.org/#/en.wikipedia.org/contributing/active-editors/normal%7Cline%7Call%7C(page_type)~content*non-content%7Cmonthly], the amount of edits and the proportion of those edits that are content related are at all all time high[https://stats.wikimedia.org/#/en.wikipedia.org/contributing/user-edits/normal%7Cbar%7C2001-01-01~2026-01-16%7Cpage_type~content*non-content%7Cmonthly] and although page views are down from a bubble in 2024/2025 they are at exactly the same level as they have been for the past decade[https://stats.wikimedia.org/#/en.wikipedia.org/reading/total-page-views/normal%7Cbar%7C2016-01-01~2026-06-16%7C~total%7Cmonthly]. -- <small>LCU</small> '''[[User:ActivelyDisinterested|A<small>ctively</small>D<small>isinterested</small>]]''' <small>''«[[User talk:ActivelyDisinterested|@]]» °[[Special:Contributions/ActivelyDisinterested|∆t]]°''</small> 11:58, 16 June 2026 (UTC) ::{{U|Manboobies}}, it is more important to add valid citations, per [[WP:V]], than to get the formatting exactly right. If your phone's keyboard doesn't type straight quote marks, don't worry about it. It is much easier for other editors to straighten quote marks than to add valid citations. Thanks for contributing! – [[User:Jonesey95|Jonesey95]] ([[User talk:Jonesey95|talk]]) 17:51, 18 June 2026 (UTC) ::{{replyto|Manboobies}} I don't understand when you might need to use quote marks in a cite template. But if you have an Apple device, try: Settings → General → Keyboard → Smart Punctuation. Turn that off. --[[User:Redrose64|<span style="color:#a80000; background:#ffeeee; text-decoration:inherit">Red</span>rose64]] &#x1f339; ([[User talk:Redrose64|talk]]) 21:50, 18 June 2026 (UTC) ::: Elaborately altering default phone settings is not a fix, neither is using Android. Most young people are using iPhones. It should just work. :::it’s the use of curly quotes “” rather than straight quote marks / typewriter quotes that prevent the template from working with the <nowiki> <ref name="Sourcename"/> and <ref name="Sourcename"> </nowiki> tags used outside the cite web structure to label sources. I’m not sure if it’s mixed usage of straight and curly when used with reference names that does it, or any usage of curly quotes. :::Curly quotes are used by default on iPhone. There are no typewriter quotes by default. This blocks citing sources for most young mobile users who use iOS not Android. It will discourage them, as it discouraged me working through the error messages caused by curly quotes. I had to spend 45 minutes the other day fixing it. I know Wikipedia is broken in this way now so I can fix it quicker in future, but for most new users this will be off putting and may make them leave the platform. I note the insert buttons under this dialogue box with various symbols has curly quotes, not type writer quotes, adding to the impact [[User:Manboobies|Manboobies]] ([[User talk:Manboobies|talk]]) 17:08, 28 June 2026 (UTC) ::::This is not a template issue, this is a general HTML issue. ::::*<nowiki>I have <span style="color:blue">blue</span> eyes</nowiki> &rarr; I have <span style="color:blue">blue</span> eyes :::: vs ::::*<nowiki>I have <span style=“color:blue”>blue</span> eyes</nowiki> &rarr; I have <span style=“color:blue”>blue</span> eyes ::::&#32;<span style="font-variant:small-caps; whitespace:nowrap;">[[User:Headbomb|Headbomb]] {[[User talk:Headbomb|t]] · [[Special:Contributions/Headbomb|c]] · [[WP:PHYS|p]] · [[WP:WBOOKS|b]]}</span> 18:12, 28 June 2026 (UTC) ::::"{{tq|Most young people are using iPhones.}}" this is only true in the US. -- <small>LCU</small> '''[[User:ActivelyDisinterested|A<small>ctively</small>D<small>isinterested</small>]]''' <small>''«[[User talk:ActivelyDisinterested|@]]» °[[Special:Contributions/ActivelyDisinterested|∆t]]°''</small> 22:17, 28 June 2026 (UTC) :::::As {{U|Headbomb}} points out, HTML (and CSS) requires straight quotes, not curly quotes. However <code><nowiki><ref name=.../></nowiki></code> is wiki markup not HTML, so it would in principle be possible to allow curly quotes here. Better in my view is to avoid the need for quote marks; if the reference name does not contain spaces or special characters, the quote marks can be omitted. Something like <code><nowiki><ref name=SmithJones2026/></nowiki></code> or <code><nowiki><ref name=POWO_828178-1/></nowiki></code>, which is my preferred style, works fine (although some editors then go round adding unnecessary quotes). [[User:Peter coxhead|Peter coxhead]] ([[User talk:Peter coxhead|talk]]) 09:05, 29 June 2026 (UTC) ::::::I can't reproduce the issue described above. ::::::The wikitext: ::::::<syntaxhighlight lang=wikitext>One.<ref name=“test”>Test reference.</ref> Two.<ref name=“test”/> {{reflist}}</syntaxhighlight> ::::::Gives the following output: ::::::One.<ref name=“test”>Test reference.</ref> Two.<ref name=“test”/> {{reflist}} ::::::That seems to work? [[User:Rjjiii|<span style="font-variant:small-caps;">Rjj<sup>iii</sup></span>]] ([[User talk:Rjjiii|talk]]) 13:48, 29 June 2026 (UTC) :::::::Yes, but... {{tag|ref|attribs=name=“test”|o}} (with curly quotes) does not match {{tag|ref|attribs=name="test"|o}} or {{tag|ref|attribs=name="test"|s}} (with straight quotes). MediaWiki treats curly quotes as part of the 'name'; straight quotes are not part of the 'name' so {{tag|ref|attribs=name="test"|o}} (with straight quotes) and {{tag|ref|attribs=name=test|s}} (without quotes) match. ::::::: :::::::Still, all of this has nothing to do with cs1|2 templates. :::::::—[[User:Trappist the monk|Trappist the monk]] ([[User talk:Trappist the monk|talk]]) 14:34, 29 June 2026 (UTC) :::::::{{replyto|Manboobies}} More specifically, when the MediaWiki software encounters markup like {{tag|ref|o|params=name=“test”}} it treats this as if you had typed {{tag|ref|o|params=name="“test”"}}. Thus, the two curly quotes are considered to be regular characters, not delimiters. This is consistent with how many browsers behave when they encounter the same characters: if Firefox encounters markup like {{tag|span|o|params=style=“color:blue”}} it processes this as if it were {{tag|span|o|params=style="“color:blue”"}}, which is an invalid HTML attribute, and accordingly is ignored. :::::::But did you try my suggestion of turning off the smart punctuation? Alternatively, try the "long press" technique, also known as "press and hold". On most (if not all) Apple touch screen devices, this allows one key to generate several different characters. When I try it, with smart punctuation still enabled, I'm given a choice of six different double quotes - left and right guillemots, straight quotes, and three different shapes of curly. :::::::But as Trappist the monk notes, this is nothing to do with Citation Style 1, since the same issue occurs with non-templated refs. It's much closer to [[WP:NAMEDREFS]]. --[[User:Redrose64|<span style="color:#a80000; background:#ffeeee; text-decoration:inherit">Red</span>rose64]] &#x1f339; ([[User talk:Redrose64|talk]]) 07:41, 30 June 2026 (UTC) ==Discussion at [[:Wikipedia:Bots/Requests for approval/CutlassBot|BRFA to remove archive.today standalone links]]== [[File:Symbol watching blue lashes high contrast.svg|25px|link=|alt=]]&nbsp;You are invited to join the discussion at [[:Wikipedia:Bots/Requests for approval/CutlassBot]]. <!-- Template:Please see --> (apologies for the two notifications) [[User:Dw31415|<span style="background-color: snow; font-family: 'Linux Libertine', 'Georgia', 'Times', 'Source Serif Pro', serif">Dw31415</span>]] ([[User talk:Dw31415#top|talk]]) 12:18, 16 June 2026 (UTC) :Can anyone help me construct a before and after wikitext for the change here that hides archive.today links? I’ve proposed a bot that seeks to propagate the same behavior to stand alone links. [[User:Dw31415|<span style="background-color: snow; font-family: 'Linux Libertine', 'Georgia', 'Times', 'Source Serif Pro', serif">Dw31415</span>]] ([[User talk:Dw31415#top|talk]]) 12:41, 16 June 2026 (UTC) == [[Wikipedia:Bots/Requests for approval/CitationCleanerBot 7]] == This may interest some of you, like {{ping|Trappist the monk}}. Basically it's a bot to cleanup the vast majority of [[:Category:CS1 maint: work parameter with ISBN]]. &#32;<span style="font-variant:small-caps; whitespace:nowrap;">[[User:Headbomb|Headbomb]] {[[User talk:Headbomb|t]] · [[Special:Contributions/Headbomb|c]] · [[WP:PHYS|p]] · [[WP:WBOOKS|b]]}</span> 17:50, 18 June 2026 (UTC) == Citing geo-blocked websites == I cited a website in an article and went back to read it again, only to find that the website has now been [[geo-blocking|blocked in my country]] and any links to the domain give a message saying it's "not available in your region". The domain in this example is the Australian news site https://10.com.au/ ([[Network 10]]), which cannot be accessed by IP addresses in the US and presumably other countries as well. I want to propose an additional parameter, similar to the [[WP:URLACCESS|url-access]] parameter, where this can mentioned so it doesn't come across as a [[WP:DEADLINK|dead link]]. (Of course, ideally another non-geoblocked source should be used in its place, but sometimes that's not an option.) –[[User:Dream out loud|<span style="font-variant: small-caps">Dream&nbsp;out&nbsp;loud</span>]]&nbsp;<small>([[User talk:Dream out loud|talk]])</small> 18:59, 24 June 2026 (UTC) :I can't think of a citation style that does this. It feels like including the approximate cost of a book in its citation. [[User:Rjjiii|<span style="font-variant:small-caps;">Rjj<sup>iii</sup></span>]] ([[User talk:Rjjiii|talk]]) 07:50, 25 June 2026 (UTC) == Url's unusual top-level domain? == In [https://en.wikipedia.org/w/index.php?title=Edward_IV&action=edit&section=9&oldid=1361228139 this article], the top-level domain of the reference <code>({{Cite web |title=La Grande histoire César |series=Digitised Manuscripts |publisher=British Library |date=1479 |url=http://www.bl.uk/manuscripts/FullDisplay.aspx?ref=Royal_MS_17_f_ii&index=8 |archive-url=https://archive.today/20130419170753/http://www.bl.uk/manuscripts/FullDisplay.aspx?ref=Royal_MS_17_f_ii&index=8 |url-status=dead |archive-date=19 April 2013 }})</code> is <code>today</code>. It returns a Script warning maintenance message. How should the reference be handled? —[[User talk:GoldRingChip|GoldRingChip]] 15:13, 26 June 2026 (UTC) :The use of archive.today has been deprecated due to issue with service, it should be replaced with a different archiving service. [[Wikipedia:archive.today guidance]] explains more about the issue. -- <small>LCU</small> '''[[User:ActivelyDisinterested|A<small>ctively</small>D<small>isinterested</small>]]''' <small>''«[[User talk:ActivelyDisinterested|@]]» °[[Special:Contributions/ActivelyDisinterested|∆t]]°''</small> 20:43, 26 June 2026 (UTC) * Alas, the tool there (https://fixarchive.toolforge.org) doesn't replace the link and I can't find the info on Archive.org. —[[User talk:GoldRingChip|GoldRingChip]] 13:44, 29 June 2026 (UTC) *:If you go to the first archive at the wayback machine it redirects to:<br/>http://www.bl.uk/manuscripts/FullDisplay.aspx?ref=Royal_MS_17_f_ii<br/>That's dead as well, but if you check the wayback machine it was archived [https://web.archive.org/web/20121215181107/http://www.bl.uk/manuscripts/FullDisplay.aspx?ref=Royal_MS_17_f_ii here]. -- <small>LCU</small> '''[[User:ActivelyDisinterested|A<small>ctively</small>D<small>isinterested</small>]]''' <small>''«[[User talk:ActivelyDisinterested|@]]» °[[Special:Contributions/ActivelyDisinterested|∆t]]°''</small> 17:27, 29 June 2026 (UTC) *::Alternatively if you use the search page on the live website with the reference's title[https://searcharchives.bl.uk/?search_field=all_fields&q=%22La+Grande+histoire+C%C3%A9sar%22], you can find the current live url:<br />https://searcharchives.bl.uk/catalog/040-002107409 -- <small>LCU</small> '''[[User:ActivelyDisinterested|A<small>ctively</small>D<small>isinterested</small>]]''' <small>''«[[User talk:ActivelyDisinterested|@]]» °[[Special:Contributions/ActivelyDisinterested|∆t]]°''</small> 17:31, 29 June 2026 (UTC) == infixes in last names == A short time ago there was a "discussion" on infixes in last names. See: [[Help talk:Citation Style 1/Archive 102#Please make provisions for correct handling of infixes in last names]] Especially in Dutch (but perhaps in other languages as well; German?) this is a serious problem. A solution like "{{para|last|Vreeze}}, {{para|first|M. de}}" is not a real solution. The last name is "de Vreeze", not "Vreeze". But the problem is in the ordering in lists, like sources. Here the name is listed under "Vreeze". So a separate treatment of the infixes really deserves a serious discussion. --[[User:Dick Bos|Dick Bos]] ([[User talk:Dick Bos|talk]]) 17:28, 26 June 2026 (UTC) :Couldn't {{para|author-mask}} be used for this issue?<br /><nowiki>{{cite book |last1=Vreeze |first1=M. de |author-mask1=de Vreeze, M. |title=Example title}}</nowiki><br />Comes out as:<br />{{cite book |last1=Vreeze |first1=M. de |author-mask1=de Vreeze, M. |title=Example title}}<br />It will display as de Vreeze, but will be listed under Vreeze. -- <small>LCU</small> '''[[User:ActivelyDisinterested|A<small>ctively</small>D<small>isinterested</small>]]''' <small>''«[[User talk:ActivelyDisinterested|@]]» °[[Special:Contributions/ActivelyDisinterested|∆t]]°''</small> 20:48, 26 June 2026 (UTC) ::That's extremely hackish and shouldn't be done. If you want to sort de Vries under "V", then you place the citation in the Vs. &#32;<span style="font-variant:small-caps; whitespace:nowrap;">[[User:Headbomb|Headbomb]] {[[User talk:Headbomb|t]] · [[Special:Contributions/Headbomb|c]] · [[WP:PHYS|p]] · [[WP:WBOOKS|b]]}</span> 18:06, 28 June 2026 (UTC) :::Agreed. Just put it in the right place, and put the correct first and last names in the correct parameters. The incorrect citation above yields a CITEREF (for {{tl|sfn}}) of "CITEREFVreeze" instead of the correct "CITEREFde_Vreeze". Leave out the author-mask, which is not needed. {{cite book |last1=de Vreeze |first1=M. |title=Example title}} – [[User:Jonesey95|Jonesey95]] ([[User talk:Jonesey95|talk]]) 19:00, 28 June 2026 (UTC) == Whatever happened to vcite? == Just wondering. I assume it was "merged" in citation style 1. Who did it and when? ---- [[User:CharlesTGillingham|CharlesTGillingham]] ([[User talk:CharlesTGillingham|talk]]) 01:00, 30 June 2026 (UTC) :[[Wikipedia:Templates for discussion/Log/2025 June 13#Template:Vcite journal]] :—[[User:Trappist the monk|Trappist the monk]] ([[User talk:Trappist the monk|talk]]) 01:07, 30 June 2026 (UTC) ayax1372ap4on04yqv3b18s2l2ifyj9 Módulo:Citation/CS1/doc 828 8224 73003 2026-05-15T09:31:30Z en>Namoroka 0 73003 wikitext text/x-wiki <section begin=header />{{sandbox other|| {{#switch:{{FULLPAGENAME}} |Module:Citation/CS1/Suggestions={{high-use |article-space=yes |no-percent=yes}} |#default={{high-risk |article-space=yes |no-percent=yes}} }} {{Module rating|p}} {{cascade-protected template|page=module}} {{Transwiki guide|Module:Citation/CS1/doc/Importing the Module:Citation/CS1 suite to your wiki}} {{#ifeq:{{FULLPAGENAME}}|Module:Citation/CS1|{{Uses TemplateStyles|Module:Citation/CS1/styles.css}}}}}}<!-- if pagename does not contain sandbox --><section end=header /> This module and associated sub-modules support the {{cs1}} and {{cs2}} citation templates. In general, it is not intended to be called directly, but is called by one of the core CS1 and CS2 templates. <section begin=module_components_table /> These files comprise the module support for CS1|2 citation templates: {| class="wikitable" style="margin: 1em auto 1em auto;" |+CS1 {{pipe}} CS2 modules |- !colspan="2"|live!!colspan="2"|sandbox!!diff!!description |- | rowspan="8"| [[File:Full-protection-shackle.svg|20px|alt=Gold padlock|link=|sysop]] || [[Module:Citation/CS1]] || [[Module:Citation/CS1/sandbox]] || {{Plain link|url=https://en.wikipedia.org/w/index.php?title=Module:Citation/CS1/sandbox&action=edit|name=[edit<nowiki>]</nowiki>}} ||[https://en.wikipedia.org/wiki/Special:ComparePages?page1=Module%3ACitation%2FCS1&rev1=&page2=Module%3ACitation%2FCS1%2Fsandbox&rev2=&action=&diffonly=&unhide= diff]|| Rendering and support functions |- | [[Module:Citation/CS1/Configuration]] || [[Module:Citation/CS1/Configuration/sandbox]] || {{Plain link|url=https://en.wikipedia.org/w/index.php?title=Module:Citation/CS1/Configuration/sandbox&action=edit|name=[edit<nowiki>]</nowiki>}} ||[https://en.wikipedia.org/wiki/Special:ComparePages?page1=Module%3ACitation%2FCS1%2FConfiguration&rev1=&page2=Module%3ACitation%2FCS1%2FConfiguration%2Fsandbox&rev2=&action=&diffonly=&unhide= diff]|| Translation tables; error and identifier handlers |- | [[Module:Citation/CS1/Whitelist]] || [[Module:Citation/CS1/Whitelist/sandbox]] || {{Plain link|url=https://en.wikipedia.org/w/index.php?title=Module:Citation/CS1/Whitelist/sandbox&action=edit|name=[edit<nowiki>]</nowiki>}} ||[https://en.wikipedia.org/wiki/Special:ComparePages?page1=Module%3ACitation%2FCS1%2FWhitelist&rev1=&page2=Module%3ACitation%2FCS1%2FWhitelist%2Fsandbox&rev2=&action=&diffonly=&unhide= diff]|| List of active and deprecated CS1{{pipe}}2 parameters |- | [[Module:Citation/CS1/Date validation]] || [[Module:Citation/CS1/Date validation/sandbox]] || {{Plain link|url=https://en.wikipedia.org/w/index.php?title=Module:Citation/CS1/Date_validation/sandbox&action=edit|name=[edit<nowiki>]</nowiki>}} ||[https://en.wikipedia.org/wiki/Special:ComparePages?page1=Module%3ACitation%2FCS1%2FDate+validation&rev1=&page2=Module%3ACitation%2FCS1%2FDate+validation%2Fsandbox&rev2=&action=&diffonly=&unhide= diff] || Date format validation functions |- | [[Module:Citation/CS1/Identifiers]] || [[Module:Citation/CS1/Identifiers/sandbox]] || {{Plain link|url=https://en.wikipedia.org/w/index.php?title=Module:Citation/CS1/Identifiers/sandbox&action=edit|name=[edit<nowiki>]</nowiki>}} ||[https://en.wikipedia.org/wiki/Special:ComparePages?page1=Module%3ACitation%2FCS1%2FIdentifiers&rev1=&page2=Module%3ACitation%2FCS1%2FIdentifiers%2Fsandbox&rev2=&action=&diffonly=&unhide= diff]|| Functions that support the named identifiers (ISBN, DOI, PMID, etc.) |- | [[Module:Citation/CS1/Utilities]] || [[Module:Citation/CS1/Utilities/sandbox]] || {{Plain link|url=https://en.wikipedia.org/w/index.php?title=Module:Citation/CS1/Utilities/sandbox&action=edit|name=[edit<nowiki>]</nowiki>}} ||[https://en.wikipedia.org/wiki/Special:ComparePages?page1=Module%3ACitation%2FCS1%2FUtilities&rev1=&page2=Module%3ACitation%2FCS1%2FUtilities%2Fsandbox&rev2=&action=&diffonly=&unhide= diff]|| Common functions and tables |- | [[Module:Citation/CS1/COinS]] || [[Module:Citation/CS1/COinS/sandbox]] || {{Plain link|url=https://en.wikipedia.org/w/index.php?title=Module:Citation/CS1/COinS/sandbox&action=edit|name=[edit<nowiki>]</nowiki>}} ||[https://en.wikipedia.org/wiki/Special:ComparePages?page1=Module%3ACitation%2FCS1%2FCOinS&rev1=&page2=Module%3ACitation%2FCS1%2FCOinS%2Fsandbox&rev2=&action=&diffonly=&unhide= diff]|| Functions that render a CS1{{pipe}}2 template's metadata |- | [[Module:Citation/CS1/styles.css]] || [[Module:Citation/CS1/sandbox/styles.css]] || {{Plain link|url=https://en.wikipedia.org/w/index.php?title=Module:Citation/CS1/sandbox/styles.css&action=edit|name=[edit<nowiki>]</nowiki>}} ||[https://en.wikipedia.org/wiki/Special:ComparePages?page1=Module%3ACitation%2FCS1%2Fstyles.css&rev1=&page2=Module%3ACitation%2FCS1%2Fsandbox%2Fstyles.css&rev2=&action=&diffonly=&unhide= diff]|| [[CSS]] styles applied to the CS1{{pipe}}2 templates |- | [[File:Template-protection-shackle.svg|20px|alt=Silver padlock|link=|auto confirmed]] || [[Module:Citation/CS1/Suggestions]] || [[Module:Citation/CS1/Suggestions/sandbox]] || {{Plain link|url=https://en.wikipedia.org/w/index.php?title=Module:Citation/CS1/Suggestions/sandbox&action=edit|name=[edit<nowiki>]</nowiki>}} ||[https://en.wikipedia.org/wiki/Special:ComparePages?page1=Module%3ACitation%2FCS1%2FSuggestions&rev1=&page2=Module%3ACitation%2FCS1%2FSuggestions%2Fsandbox&rev2=&action=&diffonly=&unhide= diff]|| List that maps common erroneous parameter names to valid parameter names |} <section end=module_components_table /> Other documentation: * [[Module talk:Citation/CS1/Feature requests]] * [[Module talk:Citation/CS1/COinS]] * [[Module:Cs1 documentation support]] – a set of functions (some experimental) that extract information from the module suite for the purpose of documenting CS1|2 ** [[Module:Citation/CS1/doc/Category list]] – lists of category names taken directly from [[Module:Citation/CS1/Configuration]] and [[Module:Citation/CS1/Configuration/sandbox]] testcases *[[Module:Citation/CS1/testcases]] ([[Module talk:Citation/CS1/testcases|run]]) *[[Module:Citation/CS1/testcases/errors]] ([[Module talk:Citation/CS1/testcases/errors|run]]) – error and maintenance messaging *[[Module:Citation/CS1/testcases/dates]] ([[Module talk:Citation/CS1/testcases/dates|run]]) – date validation *[[Module:Citation/CS1/testcases/identifiers]] ([[Module talk:Citation/CS1/testcases/identifiers|run]]) – identifiers *[[Module:Citation/CS1/testcases/anchor]] ([[Module talk:Citation/CS1/testcases/anchor|run]]) – CITEREF anchors <includeonly>{{sandbox other|| {{#ifeq:{{FULLPAGENAME}}|Module:CS1|{{Rcat shell|{{R to subpage}} {{R from shortcut}}}}}} [[Category:Modules that add a tracking category]] {{#ifeq:{{SUBPAGENAME}}|Identifiers|[[Category:Modules using data from Wikidata]]}} }}</includeonly><noinclude>[[Category:Module documentation pages]]</noinclude> prhrbmxidzlc95wmiilgvae7tt1h152 73004 73003 2026-07-02T14:46:22Z Robertsky 10424 1 versaun husi [[:en:Module:Citation/CS1/doc]] 73003 wikitext text/x-wiki <section begin=header />{{sandbox other|| {{#switch:{{FULLPAGENAME}} |Module:Citation/CS1/Suggestions={{high-use |article-space=yes |no-percent=yes}} |#default={{high-risk |article-space=yes |no-percent=yes}} }} {{Module rating|p}} {{cascade-protected template|page=module}} {{Transwiki guide|Module:Citation/CS1/doc/Importing the Module:Citation/CS1 suite to your wiki}} {{#ifeq:{{FULLPAGENAME}}|Module:Citation/CS1|{{Uses TemplateStyles|Module:Citation/CS1/styles.css}}}}}}<!-- if pagename does not contain sandbox --><section end=header /> This module and associated sub-modules support the {{cs1}} and {{cs2}} citation templates. In general, it is not intended to be called directly, but is called by one of the core CS1 and CS2 templates. <section begin=module_components_table /> These files comprise the module support for CS1|2 citation templates: {| class="wikitable" style="margin: 1em auto 1em auto;" |+CS1 {{pipe}} CS2 modules |- !colspan="2"|live!!colspan="2"|sandbox!!diff!!description |- | rowspan="8"| [[File:Full-protection-shackle.svg|20px|alt=Gold padlock|link=|sysop]] || [[Module:Citation/CS1]] || [[Module:Citation/CS1/sandbox]] || {{Plain link|url=https://en.wikipedia.org/w/index.php?title=Module:Citation/CS1/sandbox&action=edit|name=[edit<nowiki>]</nowiki>}} ||[https://en.wikipedia.org/wiki/Special:ComparePages?page1=Module%3ACitation%2FCS1&rev1=&page2=Module%3ACitation%2FCS1%2Fsandbox&rev2=&action=&diffonly=&unhide= diff]|| Rendering and support functions |- | [[Module:Citation/CS1/Configuration]] || [[Module:Citation/CS1/Configuration/sandbox]] || {{Plain link|url=https://en.wikipedia.org/w/index.php?title=Module:Citation/CS1/Configuration/sandbox&action=edit|name=[edit<nowiki>]</nowiki>}} ||[https://en.wikipedia.org/wiki/Special:ComparePages?page1=Module%3ACitation%2FCS1%2FConfiguration&rev1=&page2=Module%3ACitation%2FCS1%2FConfiguration%2Fsandbox&rev2=&action=&diffonly=&unhide= diff]|| Translation tables; error and identifier handlers |- | [[Module:Citation/CS1/Whitelist]] || [[Module:Citation/CS1/Whitelist/sandbox]] || {{Plain link|url=https://en.wikipedia.org/w/index.php?title=Module:Citation/CS1/Whitelist/sandbox&action=edit|name=[edit<nowiki>]</nowiki>}} ||[https://en.wikipedia.org/wiki/Special:ComparePages?page1=Module%3ACitation%2FCS1%2FWhitelist&rev1=&page2=Module%3ACitation%2FCS1%2FWhitelist%2Fsandbox&rev2=&action=&diffonly=&unhide= diff]|| List of active and deprecated CS1{{pipe}}2 parameters |- | [[Module:Citation/CS1/Date validation]] || [[Module:Citation/CS1/Date validation/sandbox]] || {{Plain link|url=https://en.wikipedia.org/w/index.php?title=Module:Citation/CS1/Date_validation/sandbox&action=edit|name=[edit<nowiki>]</nowiki>}} ||[https://en.wikipedia.org/wiki/Special:ComparePages?page1=Module%3ACitation%2FCS1%2FDate+validation&rev1=&page2=Module%3ACitation%2FCS1%2FDate+validation%2Fsandbox&rev2=&action=&diffonly=&unhide= diff] || Date format validation functions |- | [[Module:Citation/CS1/Identifiers]] || [[Module:Citation/CS1/Identifiers/sandbox]] || {{Plain link|url=https://en.wikipedia.org/w/index.php?title=Module:Citation/CS1/Identifiers/sandbox&action=edit|name=[edit<nowiki>]</nowiki>}} ||[https://en.wikipedia.org/wiki/Special:ComparePages?page1=Module%3ACitation%2FCS1%2FIdentifiers&rev1=&page2=Module%3ACitation%2FCS1%2FIdentifiers%2Fsandbox&rev2=&action=&diffonly=&unhide= diff]|| Functions that support the named identifiers (ISBN, DOI, PMID, etc.) |- | [[Module:Citation/CS1/Utilities]] || [[Module:Citation/CS1/Utilities/sandbox]] || {{Plain link|url=https://en.wikipedia.org/w/index.php?title=Module:Citation/CS1/Utilities/sandbox&action=edit|name=[edit<nowiki>]</nowiki>}} ||[https://en.wikipedia.org/wiki/Special:ComparePages?page1=Module%3ACitation%2FCS1%2FUtilities&rev1=&page2=Module%3ACitation%2FCS1%2FUtilities%2Fsandbox&rev2=&action=&diffonly=&unhide= diff]|| Common functions and tables |- | [[Module:Citation/CS1/COinS]] || [[Module:Citation/CS1/COinS/sandbox]] || {{Plain link|url=https://en.wikipedia.org/w/index.php?title=Module:Citation/CS1/COinS/sandbox&action=edit|name=[edit<nowiki>]</nowiki>}} ||[https://en.wikipedia.org/wiki/Special:ComparePages?page1=Module%3ACitation%2FCS1%2FCOinS&rev1=&page2=Module%3ACitation%2FCS1%2FCOinS%2Fsandbox&rev2=&action=&diffonly=&unhide= diff]|| Functions that render a CS1{{pipe}}2 template's metadata |- | [[Module:Citation/CS1/styles.css]] || [[Module:Citation/CS1/sandbox/styles.css]] || {{Plain link|url=https://en.wikipedia.org/w/index.php?title=Module:Citation/CS1/sandbox/styles.css&action=edit|name=[edit<nowiki>]</nowiki>}} ||[https://en.wikipedia.org/wiki/Special:ComparePages?page1=Module%3ACitation%2FCS1%2Fstyles.css&rev1=&page2=Module%3ACitation%2FCS1%2Fsandbox%2Fstyles.css&rev2=&action=&diffonly=&unhide= diff]|| [[CSS]] styles applied to the CS1{{pipe}}2 templates |- | [[File:Template-protection-shackle.svg|20px|alt=Silver padlock|link=|auto confirmed]] || [[Module:Citation/CS1/Suggestions]] || [[Module:Citation/CS1/Suggestions/sandbox]] || {{Plain link|url=https://en.wikipedia.org/w/index.php?title=Module:Citation/CS1/Suggestions/sandbox&action=edit|name=[edit<nowiki>]</nowiki>}} ||[https://en.wikipedia.org/wiki/Special:ComparePages?page1=Module%3ACitation%2FCS1%2FSuggestions&rev1=&page2=Module%3ACitation%2FCS1%2FSuggestions%2Fsandbox&rev2=&action=&diffonly=&unhide= diff]|| List that maps common erroneous parameter names to valid parameter names |} <section end=module_components_table /> Other documentation: * [[Module talk:Citation/CS1/Feature requests]] * [[Module talk:Citation/CS1/COinS]] * [[Module:Cs1 documentation support]] – a set of functions (some experimental) that extract information from the module suite for the purpose of documenting CS1|2 ** [[Module:Citation/CS1/doc/Category list]] – lists of category names taken directly from [[Module:Citation/CS1/Configuration]] and [[Module:Citation/CS1/Configuration/sandbox]] testcases *[[Module:Citation/CS1/testcases]] ([[Module talk:Citation/CS1/testcases|run]]) *[[Module:Citation/CS1/testcases/errors]] ([[Module talk:Citation/CS1/testcases/errors|run]]) – error and maintenance messaging *[[Module:Citation/CS1/testcases/dates]] ([[Module talk:Citation/CS1/testcases/dates|run]]) – date validation *[[Module:Citation/CS1/testcases/identifiers]] ([[Module talk:Citation/CS1/testcases/identifiers|run]]) – identifiers *[[Module:Citation/CS1/testcases/anchor]] ([[Module talk:Citation/CS1/testcases/anchor|run]]) – CITEREF anchors <includeonly>{{sandbox other|| {{#ifeq:{{FULLPAGENAME}}|Module:CS1|{{Rcat shell|{{R to subpage}} {{R from shortcut}}}}}} [[Category:Modules that add a tracking category]] {{#ifeq:{{SUBPAGENAME}}|Identifiers|[[Category:Modules using data from Wikidata]]}} }}</includeonly><noinclude>[[Category:Module documentation pages]]</noinclude> prhrbmxidzlc95wmiilgvae7tt1h152 Módulo Discussão:Citation/CS1 829 8225 73005 2023-01-18T01:49:02Z en>Paine Ellsworth 0 add [[WP:RCAT|rcat template]]s 73005 wikitext text/x-wiki #Redirect [[Help talk:Citation Style 1]] {{Rcat shell| {{R from remote talk page}} {{R from subpage}} }} ki2dfcz3fvxrree9yz3aa62tqyzrqnm 73006 73005 2026-07-02T14:46:22Z Robertsky 10424 1 versaun husi [[:en:Module_talk:Citation/CS1]] 73005 wikitext text/x-wiki #Redirect [[Help talk:Citation Style 1]] {{Rcat shell| {{R from remote talk page}} {{R from subpage}} }} ki2dfcz3fvxrree9yz3aa62tqyzrqnm Módulo:Citation/CS1/Suggestions 828 8226 73007 2023-01-14T14:43:32Z en>Trappist the monk 0 sync from sandbox; 73007 Scribunto text/plain -- Please insert new suggestions in alphabetical order -- The form is ['incorrect'] = 'correct', suggestions = { ['ASIN-TLD'] = 'asin-tld', -- old parameter name ['abruf'] = 'access-date', -- German ['abruf-verborgen'] = 'access-date', -- German ['accessmonth'] = 'access-date', ['accesso'] = 'access-date', -- Italian ['accessyear'] = 'access-date', ['acessodata'] = 'access-date', -- Brazilian Portuguese ['ad'] = 'first', -- Turkish ['address'] = 'location', ['anno'] = 'date', -- Italian ['annoaccesso'] = 'access-date', -- Italian ['annodiaccesso'] = 'access-date', -- Italian ['annooriginale'] = 'orig-date', -- Italian ['année'] = 'date', -- French ['apellido'] = 'last', -- Spanish ['apellidos'] = 'last', -- Spanish ['archiv-datum'] = 'archive-date', -- German ['archiv-url'] = 'archive-url', -- German ['archive date'] = 'archive-date', -- misspelling ['archive url'] = 'archive-url', -- misspelling ['archive-link'] = 'archive-url', -- old parameter name ['archiv-url'] = 'archive-url', -- German ['arkivdatum'] = 'archive-date', -- Swedish, Norwegian ['arkivurl'] = 'archive-url', -- Swedish, Norwegian ['artist'] = 'others', ['arşiv-tarihi'] = 'archive-date', -- Turkish ['arşiv-url'] = 'archive-url', -- Turkish ['arşivtarihi'] = 'archive-date', -- Turkish ['arşivurl'] = 'archive-url', -- Turkish ['auflage'] = 'edition', -- German ['auteur'] = 'author', -- French ['auther'] = 'author', -- misspelling ['author link'] = 'author-link', -- Polish ['authorfirst'] = 'author-first', -- old parameter name ['authorgiven'] = 'author-given', -- old parameter name ['authorlast'] = 'author-last', -- old parameter name ['authormask'] = 'author-mask', -- old parameter name ['authorsurname'] = 'author-surname', -- old parameter name ['autor'] = 'author', -- Spanish, German (singular and plural) ['autore'] = 'author', -- Italian ['autthor'] = 'author', -- misspelling ['ay'] = 'month', -- Turkish ['año'] = 'date', -- Spanish ['año-original'] = 'orig-date', -- Spanish ['añoacceso'] = 'access-date', -- Spanish ['añooriginal'] = 'orig-date', -- Spanish ['band'] = 'volume', -- German ['bandreihe'] = 'volume', -- German ['baskı'] = 'edition', -- Turkish ['başlık'] = 'title', -- Turkish ['began'] = 'date', -- old parameter name (cite serial only); or orig-date= ['booktitle'] = 'book-title', -- old parameter name ['ch'] = 'language', -- German (as 'language=de-CH') ['chapter_title'] = 'chapter', ['chapterurl'] = 'chapter-url', -- old parameter name ['cid'] = 'ref', -- Italian ['cilt'] = 'volume', -- Turkish ['cita'] = 'quote', -- Spanish ['citazione'] = 'quote', -- Italian ['città'] = 'location', -- Italian ['city'] = 'location', -- old parameter name (cite serial only) ['coauthor'] = 'author', ['coauthors'] = 'author', ['coautores'] = 'author', -- Spanish ['coautori'] = 'author', -- Italian ['cognome'] = 'last', -- Italian ['conferenceurl'] = 'conference-url', -- old parameter name ['consulté le'] = 'access-date', -- French ['contributionurl'] = 'contribution-url', -- old parameter name ['curatore'] = 'publisher', -- Italian ['czasopismo'] = 'journal', -- Polish ['data dostępu'] = 'access-date', -- Polish ['data'] = 'date', -- Polish, Italian ['dataaccesso'] = 'access-date', -- Italian ['dataarchivio'] = 'archive-date', -- Italian ['datum'] = 'date', -- German, Swedish ['dead-url'] = 'url-status', -- old parameter name ['deadlink'] = 'url-status', -- old parameter name ['deadurl'] = 'url-status', -- old parameter name ['dergi'] = 'work', -- Turkish ['dil'] = 'language', -- Turkish ['displayauthors'] = 'display-authors', -- old parameter name ['displayeditors'] = 'display-editors', -- old parameter name ['distributor'] = 'publisher', ['dnb'] = 'id', -- German (as 'id={{DNB-IDN|...}}') ['doi-broken'] = 'doi-broken-date', -- old parameter alias ['doi-inactive'] = 'doi-broken-date', -- invalid name found in mainspace ['doi-inactive-date'] = 'doi-broken-date', -- old parameter alias ['doi_brokendate'] = 'doi-broken-date', -- old parameter alias ['doi_inactivedate'] = 'doi-inactive-date', -- old parameter alias ['doibroken'] = 'doi-broken-date', -- invalid name found in mainspace ['doiinactive'] = 'doi-broken-date', -- invalid name found in mainspace ['e-print'] = 'eprint', -- misspelling -- ['ed'] = 'edition', -- avoid suggestion as in English this could be short for editor or edition -- ['editora'] = 'publisher', -- can be either editor or publisher -- ['editore'] = 'agency', -- can be either publisher or agency -- ['editori'] = 'editor', -- can be either editor or publisher -- ['editorial'] = 'publisher', -- can be either publisher or work ['editoin'] = 'edition', -- misspelling ['editon'] = 'edition', -- misspelling ['editorfirst'] = 'editor-first', -- old parameter name ['editorgiven'] = 'editor-given', -- old parameter name ['editorlast'] = 'editor-last', -- old parameter name ['editorlink'] = 'editor-link', -- old parameter name ['editormask'] = 'editor-mask', -- old parameter name ['editors'] = 'editor', -- old parameter name (can be emulated using multiple singular |editor= params) ['editorsurname'] = 'editor-surname', -- old parameter name ['edizione'] = 'edition', -- Italian ['embargo'] = 'pmc-embargo-date', -- old parameter name ['ended'] = 'date', -- old parameter name (cite serial only) ['en ligne le'] = 'archive-date', -- French ['encyclopædia'] = 'encyclopedia', ['enlaceautor'] = 'author-link', -- Spanish ['enlaceroto'] = 'url-status', -- Spanish ['episodelink'] = 'episode-link', -- old parameter name ['erişimtarihi'] = 'access-date', -- Turkish ['eser'] = 'work', -- Turkish ['family'] = 'surname', -- misguess ['fecha'] = 'date', -- Spanish ['fechaacceso'] = 'access-date', -- Spanish ['fechaarchivo'] = 'archive-date', -- Spanish ['filetype'] = 'format', ['foramt'] = 'format', -- misspelling ['fore-name'] = 'given', -- misguess/misspelling ['forename'] = 'given', -- misguess ['författare'] = 'author', -- Swedish, Norwegian ['formato'] = 'format', -- Spanish, Italian, Polish ['frist'] = 'first', -- misspelling ['fundstelle'] = 'at', -- German ['gazete'] = 'work', -- Turkish ['giornale'] = 'journal', -- Italian ['hämtdatum'] = 'access-date', -- Swedish ['herausgeber'] = 'editor', -- German (singular and plural) ['hrsg'] = 'publisher', -- German ['hrsgreihe'] = 'editor', -- German ['idioma'] = 'language', -- Spanish ['ignore-isbn-error'] = 'isbn', -- old parameter (can be fully emulated using ((syntax))) ['ignoreisbnerror'] = 'isbn', -- old parameter alias (suggest |isbn as |ignore-isbn-error is deprecated), not a direct replacement, but can be fully emulated using ((syntax)) ['imię'] = 'first', -- Polish ['in-set'] = 'inset', -- misspelling ['interviewerlink'] = 'interviewer-link', -- old parameter alias ['interviewermask'] = 'interviewer-mask', -- old parameter alias ['isbndefekt'] = 'isbn', -- German (suggest |isbn as |ignore-isbn-error is deprecated), not a direct replacement, but can be fully emulated using ((syntax)) ['isbnformalfalsch'] = 'isbn', -- German (suggest |isbn as |ignore-isbn-error is deprecated), not a direct replacement, but can be fully emulated using ((syntax)) ['isbnistformalfalsch'] = 'isbn', -- German (suggest |isbn as |ignore-isbn-error is deprecated), not a direct replacement, but can be fully emulated using ((syntax)) ['isnb'] = 'isbn', -- misspelling ['issnformalfalsch'] = 'issn', -- German (can be fully emulated using ((syntax))) ['jahr'] = 'date', -- German ['jahrea'] = 'orig-date', -- German (not a direct replacement, but can be emulated) ['kapitel'] = 'chapter', -- German ['langauge'] = 'language', -- misspelling ['langue'] = 'language', -- French ['last-author-amp'] = 'name-list-style', -- old parameter name (as |name-list-style=amp) ['lastauthoramp'] = 'name-list-style', -- old parameter name (as |name-list-style=amp) ['lieu'] = 'location', -- French ['lingua'] = 'language', -- Italian ['lire en ligne'] = 'url', -- French ['lizenznummer'] = 'id', -- German (as 'id=License No. ...') ['loaction'] = 'location', -- misspelling ['local'] = 'location', -- Brazilian Portuguese ['locatoin'] = 'location', -- misspelling ['lugar'] = 'location', -- Spanish ['mailinglist'] = 'mailing-list', -- old parameter name ['mapurl'] = 'map-url', -- old parameter name ['mes'] = 'date', -- Spanish (not a direct replacement) ['mese'] = 'date', -- Italian (not a direct replacement) ['miejsce'] = 'location', -- Polish ['miesiąc'] = 'date', -- Polish ['mois'] = 'date', -- French ['monat'] = 'date', -- German -- ['name'] = 'author', -- 'name' is often erroneously used for 'title' and 'work' as well, so no suggestion is better than a wrong suggestion ['name-list-format'] = 'name-list-style', -- old parameter name (as |name-list-style=amp) ['nazwisko'] = 'last', -- Polish ['nespaper'] = 'newspaper', -- misspelling ['net-work'] = 'network', -- misspelling ['newpaper'] = 'newspaper', -- misspelling ['news'] = 'newspaper', ['news-group'] = 'newsgroup', -- misspelling ['news-paper'] = 'newspaper', -- misspelling ['no-cat'] = 'no-tracking', -- old parameter ['nocat'] = 'no-tracking', -- old parameter ['nom'] = 'last', -- French ['nombre'] = 'first', -- Spanish ['nome'] = 'first', -- Italian ['nopp'] = 'no-pp', -- old parameter name ['notracking'] = 'no-tracking', -- old parameter ['numero'] = 'number', -- Italian, Spanish ['nummer'] = 'number', -- German ['nummerreihe'] = 'number', -- German ['obra'] = 'work', -- Spanish ['odpowiedzialność'] = 'agency', -- Polish ['offline'] = 'url-status', -- German (as 'url-status=dead') ['online'] = 'url', -- German (not a direct replacement, but can be emulated) ['opera'] = 'work', -- Italian ['opublikowany'] = 'agency', -- Polish ['origdate'] = 'orig-date', -- misspelling ['originaljahr'] = 'orig-date', -- German ['originalort'] = 'publication-place', -- German ['originalsprache'] = 'language', -- German ['originaltitel'] = 'title', -- German (if 'originaltitel' is specified, any possible contents of 'title' should be put in 'trans-title') ['ort'] = 'publication-place', -- German ['ortea'] = 'publication-place', -- German (not a direct replacement, but can be emulated) ['other'] = 'others', ['oznaczenie'] = 'agency', -- Polish ['pagees'] = 'pages', -- misspelling ['pagina'] = 'page', -- Italian ['pagina'] = 'pages', -- Italian ['pagine'] = 'pages', -- Italian ['pagine'] = 'pages', -- Italian ['passage'] = 'pages', -- French ['periodico'] = 'magazine', -- Spanish ['plublisher'] = 'publisher', -- misspelling ['pmcid'] = 'pmc', ['post-script'] = 'postscript', -- misspelling ['praca'] = 'work', -- Polish ['primero'] = 'first', -- Spanish ['prénom'] = 'first', -- French ['prénom1'] = 'first1', -- French ['ps'] = 'postscript', ['pub'] = 'publisher', -- ['pubblicazione'] = 'magazine', -- could be any kind of work -- ['publicación'] = 'journal', -- could be any kind of work ['publicationdate'] = 'publication-date', -- old parameter name -- ['published'] = 'publisher', -- could be date, location, or name of publisher ['publicationplace'] = 'publication-place', -- old parameter name ['pulbication-place'] = 'publication-place', -- misspelling ['página'] = 'page', -- Spanish ['páginas'] = 'pages', -- Spanish ['périodique'] = 'publisher', -- French ['registration'] = 'url-access', -- old parameter name ['reihe'] = 'series', -- German ['retrieved'] = 'access-date', -- old parameter name ['richiestasottoscrizione'] = 'url-access', -- Italian (as |url-access=subscription) ['rivista'] = 'magazine', -- Italian ['rok'] = 'date', -- Polish ['rubrik'] = 'title', -- Swedish ['sammelwerk'] = 'work', -- German ['sayfa'] = 'page', -- Turkish ['sayfalar'] = 'pages', -- Turkish ['sayı'] = 'issue', -- Turkish ['script-post'] = 'postscript', -- misspelling ['script-trans'] = 'transcript', -- misspelling ['season'] = 'date', -- old parameter name (cite serial only) ['sectionurl'] = 'section-url', -- old parameter name ['seiten'] = 'pages', -- German ['seria'] = 'series', -- Spanish, Polish ['serie'] = 'series', -- Italian ['série'] = 'series', -- French ['serieslink'] = 'series-link', -- old parameter name ['seriesno'] = 'series-number', -- old parameter name ['service'] = 'agency', ['sitioweb'] = 'website', -- Spanish ['sito'] = 'website', -- Italian ['soyadı'] = 'last', -- Turkish ['spalten'] = 'at', -- German (not a direct replacement, but can be emulated) ['sprache'] = 'language', -- German ['språk'] = 'language', -- Swedish, Norwegian ['stron'] = 'page', -- Polish ['strony'] = 'pages', -- Polish ['subjectlink'] = 'subject-link', -- old parameter name ['subscription'] = 'url-access', -- old parameter name (emulated as |url-access=subscription) ['sur-name'] = 'surname', -- misspelling ['suscripción'] = 'url-access', -- Spanish, Polish (as |url-access=subscription) ['tag'] = 'date', -- German ['tarih'] = 'date', -- Turkish ['template doc demo'] = 'no-tracking', -- old parameter alias ['tidning'] = 'work', -- Swedish ['tile'] = 'title', -- misspelling ['timecaption'] = 'time-caption', -- old parameter name ['titlelink'] = 'title-link', -- old parameter name ['tipo'] = 'type', -- Italian ['tite'] = 'title', -- misspelling ['titel'] = 'title', -- German ['titel-p'] = 'title', -- German ('postscript=none' should be added as well) ['titelerg'] = 'contribution', -- German (not a direct replacement, but can be emulated) ['titled'] = 'title', -- Brazilian Portuguese ['titolo'] = 'title', -- Italian ['titre'] = 'title', -- French ['trans-script'] = 'transcript', -- misspelling ['trans_chapter'] = 'trans-chapter', -- old parameter alias ['trans_title'] = 'trans-title', -- old parameter alias ['transchapter'] = 'trans-chapter', ['transcripturl'] = 'transcript-url', -- old parameter name ['transscript'] = 'transcript', -- misspelling ['transscript-format'] = 'transcript-format', -- misspelling ['transscript-url'] = 'transcript-url', -- misspelling ['transscripturl'] = 'transcript-url', -- misspelling ['transtitle'] = 'trans-title', ['typ'] = 'author-mask', -- German (not a direct replacement, but the only valid argument 'typ=wl' can be emulated using 'author-mask') ['tytuł'] = 'title', -- Polish ['títle'] = 'title', ['título'] = 'title', -- Spanish ['ubicación'] = 'location', -- Spanish ['urlarchivio'] = 'archive-url', -- Italian ['urlarchivo'] = 'archive-url', -- Spanish ['urlmorto'] = 'url-status', -- Italian ['urn'] = 'id', -- German (as 'id={{URN|...}}') ['v-authors'] = 'vauthors', -- misspelling ['v-editors'] = 'veditors', -- misspelling ['verlag'] = 'publisher', -- German ['verlagea'] = 'publisher', -- German (not a direct replacement, but can be emulated) ['vol'] = 'volume', ['volumen'] = 'volume', -- Spanish ['werk'] = 'work', -- German ['werkerg'] = 'contribution', -- German (not a direct replacement, but can be emulated) ['wkautore'] = 'author-link', -- Italian ['wolumin'] = 'volume', -- Polish ['wydanie'] = 'number', -- Polish ['wydawca'] = 'publisher', -- French ['yardımcıyazarlar'] = 'author', -- Turkish ['yayımcı'] = 'publisher', -- Turkish ['yayıncı'] = 'publisher', -- Turkish ['yazar'] = 'author', -- Turkish ['yazarbağı'] = 'author-link', -- Turkish ['yer'] = 'location', -- Turkish ['yıl'] = 'date', -- Turkish ['zaprezentowany'] = 'publisher', -- French ['zdb'] = 'id', -- German (as 'id={{ZDB|...}}') ['zitat'] = 'quote', -- German ['zugriff'] = 'access-date', -- German ['éditeur'] = 'editor', -- French ['ölüurl'] = 'url-status', -- Turkish ['übersetzer'] = 'translator', -- German (singular and plural) } --[[--------------------------< P A T T E R N S >-------------------------------------------------------------- Here we use Lua patterns to make suggestions. The form is ['pattern'] = 'correct', Lua patterns are not REGEX though they are similar. The escape character is '%', not '\'. For more information about Lua patterns, see: Extension:Scribunto/Lua_reference_manual#Patterns Patterns should probably always include the '^' and '$' anchor assertions to prevent a partial match from incorrectly suggesting the wrong parameter name. For instance, the pattern 'a[utho]+r' matches 'author' in the no-longer-supported parameter |author-separator= so the code suggests '|author='; the same pattern also matches the no-longer-supported parameter |separator= (returning 'ator') so again, the code suggests '|author='. One capture is supported, typically the enumerator from an enumerated parameter (the '6' in |author6=, etc.) The value from the capture replaces $1 in the 'correct' value. ]] local patterns = { ['^ac+es+ ?d?a?t?e?$'] = 'access-date', -- misspelling ['^apellido[s]?(%d+)$'] = 'last$1', -- Spanish, enumerated ['^a[utho]+r$'] = 'author', -- misspelling ['^a[utho]+r(%d+)$'] = 'author$1', -- misspelling, enumerated ['^author link(%d+)$'] = 'author-link$1', -- Polish, enumerated ['^autor[e]?(%d+)$'] = 'author$1', -- Italian/Spanish/German, enumerated ['^authorfirst(%d+)$'] = 'author-first$1', -- old parameter name, enumerated ['^author(%d+)first$'] = 'author-first$1', -- old parameter name, enumerated ['^authorgiven(%d+)$'] = 'author-given$1', -- old parameter name, enumerated ['^author(%d+)given$'] = 'author-given$1', -- old parameter name, enumerated ['^authorlast(%d+)$'] = 'author-last$1', -- old parameter name, enumerated ['^author(%d+)last$'] = 'author-last$1', -- old parameter name, enumerated ['^authormask(%d+)$'] = 'author-mask$1', -- old parameter name, enumerated ['^author(%d+)mask$'] = 'author-mask$1', -- old parameter name, enumerated ['^authorsurname(%d+)$'] = 'author-surname$1', -- old parameter name, enumerated ['^author(%d+)surname$'] = 'author-surname$1', -- old parameter name, enumerated ['^cognome(%d+)$'] = 'last$1', -- Italian, enumerated ['^editorfirst(%d+)$'] = 'editor-first$1', -- old parameter name, enumerated ['^editor(%d+)first$'] = 'editor-first$1', -- old parameter name, enumerated ['^editorgiven(%d+)$'] = 'editor-given$1', -- old parameter name, enumerated ['^editor(%d+)given$'] = 'editor-given$1', -- old parameter name, enumerated ['^editorlast(%d+)$'] = 'editor-last$1', -- old parameter name, enumerated ['^editor(%d+)last$'] = 'editor-last$1', -- old parameter name, enumerated ['^editorlink(%d+)$'] = 'editor-link$1', -- old parameter name, enumerated ['^editor(%d+)link$'] = 'editor-link$1', -- old parameter name, enumerated ['^editormask(%d+)$'] = 'editor-mask$1', -- old parameter name, enumerated ['^editor(%d+)mask$'] = 'editor-mask$1', -- old parameter name, enumerated ['^editorsurname(%d+)$'] = 'editor-surname$1', -- old parameter name, enumerated ['^editor(%d+)surname$'] = 'editor-surname$1', -- old parameter name, enumerated ['^enlaceautore(%d+)$'] = 'author-link$1', -- Spanish, enumerated ['^first (%d+)$'] = 'first$1', -- enumerated ['^last (%d+)$'] = 'last$1', -- enumerated ['^nom[e]?(%d+)$'] = 'last$1', -- Italian/French, enumerated ['^nombre(%d+)$'] = 'first$1', -- Spanish, enumerated ['^primero(%d+)$'] = 'first$1', -- Spanish, enumerated ['^pu[blish]+ers?$'] = 'publisher', -- misspelling ['^subjectlink(%d+)$'] = 'subject-link$1', -- old parameter name, enumerated ['^subject(%d+)link$'] = 'subject-link$1', -- old parameter name, enumerated ['^wkautore(%d+)$'] = 'author-link$1', -- Italian, enumerated } return {suggestions = suggestions, patterns=patterns}; 2ijnwqp0v6qxv0w5m0mwrt72z46ubhu 73008 73007 2026-07-02T14:46:45Z Robertsky 10424 1 versaun husi [[:en:Module:Citation/CS1/Suggestions]] 73007 Scribunto text/plain -- Please insert new suggestions in alphabetical order -- The form is ['incorrect'] = 'correct', suggestions = { ['ASIN-TLD'] = 'asin-tld', -- old parameter name ['abruf'] = 'access-date', -- German ['abruf-verborgen'] = 'access-date', -- German ['accessmonth'] = 'access-date', ['accesso'] = 'access-date', -- Italian ['accessyear'] = 'access-date', ['acessodata'] = 'access-date', -- Brazilian Portuguese ['ad'] = 'first', -- Turkish ['address'] = 'location', ['anno'] = 'date', -- Italian ['annoaccesso'] = 'access-date', -- Italian ['annodiaccesso'] = 'access-date', -- Italian ['annooriginale'] = 'orig-date', -- Italian ['année'] = 'date', -- French ['apellido'] = 'last', -- Spanish ['apellidos'] = 'last', -- Spanish ['archiv-datum'] = 'archive-date', -- German ['archiv-url'] = 'archive-url', -- German ['archive date'] = 'archive-date', -- misspelling ['archive url'] = 'archive-url', -- misspelling ['archive-link'] = 'archive-url', -- old parameter name ['archiv-url'] = 'archive-url', -- German ['arkivdatum'] = 'archive-date', -- Swedish, Norwegian ['arkivurl'] = 'archive-url', -- Swedish, Norwegian ['artist'] = 'others', ['arşiv-tarihi'] = 'archive-date', -- Turkish ['arşiv-url'] = 'archive-url', -- Turkish ['arşivtarihi'] = 'archive-date', -- Turkish ['arşivurl'] = 'archive-url', -- Turkish ['auflage'] = 'edition', -- German ['auteur'] = 'author', -- French ['auther'] = 'author', -- misspelling ['author link'] = 'author-link', -- Polish ['authorfirst'] = 'author-first', -- old parameter name ['authorgiven'] = 'author-given', -- old parameter name ['authorlast'] = 'author-last', -- old parameter name ['authormask'] = 'author-mask', -- old parameter name ['authorsurname'] = 'author-surname', -- old parameter name ['autor'] = 'author', -- Spanish, German (singular and plural) ['autore'] = 'author', -- Italian ['autthor'] = 'author', -- misspelling ['ay'] = 'month', -- Turkish ['año'] = 'date', -- Spanish ['año-original'] = 'orig-date', -- Spanish ['añoacceso'] = 'access-date', -- Spanish ['añooriginal'] = 'orig-date', -- Spanish ['band'] = 'volume', -- German ['bandreihe'] = 'volume', -- German ['baskı'] = 'edition', -- Turkish ['başlık'] = 'title', -- Turkish ['began'] = 'date', -- old parameter name (cite serial only); or orig-date= ['booktitle'] = 'book-title', -- old parameter name ['ch'] = 'language', -- German (as 'language=de-CH') ['chapter_title'] = 'chapter', ['chapterurl'] = 'chapter-url', -- old parameter name ['cid'] = 'ref', -- Italian ['cilt'] = 'volume', -- Turkish ['cita'] = 'quote', -- Spanish ['citazione'] = 'quote', -- Italian ['città'] = 'location', -- Italian ['city'] = 'location', -- old parameter name (cite serial only) ['coauthor'] = 'author', ['coauthors'] = 'author', ['coautores'] = 'author', -- Spanish ['coautori'] = 'author', -- Italian ['cognome'] = 'last', -- Italian ['conferenceurl'] = 'conference-url', -- old parameter name ['consulté le'] = 'access-date', -- French ['contributionurl'] = 'contribution-url', -- old parameter name ['curatore'] = 'publisher', -- Italian ['czasopismo'] = 'journal', -- Polish ['data dostępu'] = 'access-date', -- Polish ['data'] = 'date', -- Polish, Italian ['dataaccesso'] = 'access-date', -- Italian ['dataarchivio'] = 'archive-date', -- Italian ['datum'] = 'date', -- German, Swedish ['dead-url'] = 'url-status', -- old parameter name ['deadlink'] = 'url-status', -- old parameter name ['deadurl'] = 'url-status', -- old parameter name ['dergi'] = 'work', -- Turkish ['dil'] = 'language', -- Turkish ['displayauthors'] = 'display-authors', -- old parameter name ['displayeditors'] = 'display-editors', -- old parameter name ['distributor'] = 'publisher', ['dnb'] = 'id', -- German (as 'id={{DNB-IDN|...}}') ['doi-broken'] = 'doi-broken-date', -- old parameter alias ['doi-inactive'] = 'doi-broken-date', -- invalid name found in mainspace ['doi-inactive-date'] = 'doi-broken-date', -- old parameter alias ['doi_brokendate'] = 'doi-broken-date', -- old parameter alias ['doi_inactivedate'] = 'doi-inactive-date', -- old parameter alias ['doibroken'] = 'doi-broken-date', -- invalid name found in mainspace ['doiinactive'] = 'doi-broken-date', -- invalid name found in mainspace ['e-print'] = 'eprint', -- misspelling -- ['ed'] = 'edition', -- avoid suggestion as in English this could be short for editor or edition -- ['editora'] = 'publisher', -- can be either editor or publisher -- ['editore'] = 'agency', -- can be either publisher or agency -- ['editori'] = 'editor', -- can be either editor or publisher -- ['editorial'] = 'publisher', -- can be either publisher or work ['editoin'] = 'edition', -- misspelling ['editon'] = 'edition', -- misspelling ['editorfirst'] = 'editor-first', -- old parameter name ['editorgiven'] = 'editor-given', -- old parameter name ['editorlast'] = 'editor-last', -- old parameter name ['editorlink'] = 'editor-link', -- old parameter name ['editormask'] = 'editor-mask', -- old parameter name ['editors'] = 'editor', -- old parameter name (can be emulated using multiple singular |editor= params) ['editorsurname'] = 'editor-surname', -- old parameter name ['edizione'] = 'edition', -- Italian ['embargo'] = 'pmc-embargo-date', -- old parameter name ['ended'] = 'date', -- old parameter name (cite serial only) ['en ligne le'] = 'archive-date', -- French ['encyclopædia'] = 'encyclopedia', ['enlaceautor'] = 'author-link', -- Spanish ['enlaceroto'] = 'url-status', -- Spanish ['episodelink'] = 'episode-link', -- old parameter name ['erişimtarihi'] = 'access-date', -- Turkish ['eser'] = 'work', -- Turkish ['family'] = 'surname', -- misguess ['fecha'] = 'date', -- Spanish ['fechaacceso'] = 'access-date', -- Spanish ['fechaarchivo'] = 'archive-date', -- Spanish ['filetype'] = 'format', ['foramt'] = 'format', -- misspelling ['fore-name'] = 'given', -- misguess/misspelling ['forename'] = 'given', -- misguess ['författare'] = 'author', -- Swedish, Norwegian ['formato'] = 'format', -- Spanish, Italian, Polish ['frist'] = 'first', -- misspelling ['fundstelle'] = 'at', -- German ['gazete'] = 'work', -- Turkish ['giornale'] = 'journal', -- Italian ['hämtdatum'] = 'access-date', -- Swedish ['herausgeber'] = 'editor', -- German (singular and plural) ['hrsg'] = 'publisher', -- German ['hrsgreihe'] = 'editor', -- German ['idioma'] = 'language', -- Spanish ['ignore-isbn-error'] = 'isbn', -- old parameter (can be fully emulated using ((syntax))) ['ignoreisbnerror'] = 'isbn', -- old parameter alias (suggest |isbn as |ignore-isbn-error is deprecated), not a direct replacement, but can be fully emulated using ((syntax)) ['imię'] = 'first', -- Polish ['in-set'] = 'inset', -- misspelling ['interviewerlink'] = 'interviewer-link', -- old parameter alias ['interviewermask'] = 'interviewer-mask', -- old parameter alias ['isbndefekt'] = 'isbn', -- German (suggest |isbn as |ignore-isbn-error is deprecated), not a direct replacement, but can be fully emulated using ((syntax)) ['isbnformalfalsch'] = 'isbn', -- German (suggest |isbn as |ignore-isbn-error is deprecated), not a direct replacement, but can be fully emulated using ((syntax)) ['isbnistformalfalsch'] = 'isbn', -- German (suggest |isbn as |ignore-isbn-error is deprecated), not a direct replacement, but can be fully emulated using ((syntax)) ['isnb'] = 'isbn', -- misspelling ['issnformalfalsch'] = 'issn', -- German (can be fully emulated using ((syntax))) ['jahr'] = 'date', -- German ['jahrea'] = 'orig-date', -- German (not a direct replacement, but can be emulated) ['kapitel'] = 'chapter', -- German ['langauge'] = 'language', -- misspelling ['langue'] = 'language', -- French ['last-author-amp'] = 'name-list-style', -- old parameter name (as |name-list-style=amp) ['lastauthoramp'] = 'name-list-style', -- old parameter name (as |name-list-style=amp) ['lieu'] = 'location', -- French ['lingua'] = 'language', -- Italian ['lire en ligne'] = 'url', -- French ['lizenznummer'] = 'id', -- German (as 'id=License No. ...') ['loaction'] = 'location', -- misspelling ['local'] = 'location', -- Brazilian Portuguese ['locatoin'] = 'location', -- misspelling ['lugar'] = 'location', -- Spanish ['mailinglist'] = 'mailing-list', -- old parameter name ['mapurl'] = 'map-url', -- old parameter name ['mes'] = 'date', -- Spanish (not a direct replacement) ['mese'] = 'date', -- Italian (not a direct replacement) ['miejsce'] = 'location', -- Polish ['miesiąc'] = 'date', -- Polish ['mois'] = 'date', -- French ['monat'] = 'date', -- German -- ['name'] = 'author', -- 'name' is often erroneously used for 'title' and 'work' as well, so no suggestion is better than a wrong suggestion ['name-list-format'] = 'name-list-style', -- old parameter name (as |name-list-style=amp) ['nazwisko'] = 'last', -- Polish ['nespaper'] = 'newspaper', -- misspelling ['net-work'] = 'network', -- misspelling ['newpaper'] = 'newspaper', -- misspelling ['news'] = 'newspaper', ['news-group'] = 'newsgroup', -- misspelling ['news-paper'] = 'newspaper', -- misspelling ['no-cat'] = 'no-tracking', -- old parameter ['nocat'] = 'no-tracking', -- old parameter ['nom'] = 'last', -- French ['nombre'] = 'first', -- Spanish ['nome'] = 'first', -- Italian ['nopp'] = 'no-pp', -- old parameter name ['notracking'] = 'no-tracking', -- old parameter ['numero'] = 'number', -- Italian, Spanish ['nummer'] = 'number', -- German ['nummerreihe'] = 'number', -- German ['obra'] = 'work', -- Spanish ['odpowiedzialność'] = 'agency', -- Polish ['offline'] = 'url-status', -- German (as 'url-status=dead') ['online'] = 'url', -- German (not a direct replacement, but can be emulated) ['opera'] = 'work', -- Italian ['opublikowany'] = 'agency', -- Polish ['origdate'] = 'orig-date', -- misspelling ['originaljahr'] = 'orig-date', -- German ['originalort'] = 'publication-place', -- German ['originalsprache'] = 'language', -- German ['originaltitel'] = 'title', -- German (if 'originaltitel' is specified, any possible contents of 'title' should be put in 'trans-title') ['ort'] = 'publication-place', -- German ['ortea'] = 'publication-place', -- German (not a direct replacement, but can be emulated) ['other'] = 'others', ['oznaczenie'] = 'agency', -- Polish ['pagees'] = 'pages', -- misspelling ['pagina'] = 'page', -- Italian ['pagina'] = 'pages', -- Italian ['pagine'] = 'pages', -- Italian ['pagine'] = 'pages', -- Italian ['passage'] = 'pages', -- French ['periodico'] = 'magazine', -- Spanish ['plublisher'] = 'publisher', -- misspelling ['pmcid'] = 'pmc', ['post-script'] = 'postscript', -- misspelling ['praca'] = 'work', -- Polish ['primero'] = 'first', -- Spanish ['prénom'] = 'first', -- French ['prénom1'] = 'first1', -- French ['ps'] = 'postscript', ['pub'] = 'publisher', -- ['pubblicazione'] = 'magazine', -- could be any kind of work -- ['publicación'] = 'journal', -- could be any kind of work ['publicationdate'] = 'publication-date', -- old parameter name -- ['published'] = 'publisher', -- could be date, location, or name of publisher ['publicationplace'] = 'publication-place', -- old parameter name ['pulbication-place'] = 'publication-place', -- misspelling ['página'] = 'page', -- Spanish ['páginas'] = 'pages', -- Spanish ['périodique'] = 'publisher', -- French ['registration'] = 'url-access', -- old parameter name ['reihe'] = 'series', -- German ['retrieved'] = 'access-date', -- old parameter name ['richiestasottoscrizione'] = 'url-access', -- Italian (as |url-access=subscription) ['rivista'] = 'magazine', -- Italian ['rok'] = 'date', -- Polish ['rubrik'] = 'title', -- Swedish ['sammelwerk'] = 'work', -- German ['sayfa'] = 'page', -- Turkish ['sayfalar'] = 'pages', -- Turkish ['sayı'] = 'issue', -- Turkish ['script-post'] = 'postscript', -- misspelling ['script-trans'] = 'transcript', -- misspelling ['season'] = 'date', -- old parameter name (cite serial only) ['sectionurl'] = 'section-url', -- old parameter name ['seiten'] = 'pages', -- German ['seria'] = 'series', -- Spanish, Polish ['serie'] = 'series', -- Italian ['série'] = 'series', -- French ['serieslink'] = 'series-link', -- old parameter name ['seriesno'] = 'series-number', -- old parameter name ['service'] = 'agency', ['sitioweb'] = 'website', -- Spanish ['sito'] = 'website', -- Italian ['soyadı'] = 'last', -- Turkish ['spalten'] = 'at', -- German (not a direct replacement, but can be emulated) ['sprache'] = 'language', -- German ['språk'] = 'language', -- Swedish, Norwegian ['stron'] = 'page', -- Polish ['strony'] = 'pages', -- Polish ['subjectlink'] = 'subject-link', -- old parameter name ['subscription'] = 'url-access', -- old parameter name (emulated as |url-access=subscription) ['sur-name'] = 'surname', -- misspelling ['suscripción'] = 'url-access', -- Spanish, Polish (as |url-access=subscription) ['tag'] = 'date', -- German ['tarih'] = 'date', -- Turkish ['template doc demo'] = 'no-tracking', -- old parameter alias ['tidning'] = 'work', -- Swedish ['tile'] = 'title', -- misspelling ['timecaption'] = 'time-caption', -- old parameter name ['titlelink'] = 'title-link', -- old parameter name ['tipo'] = 'type', -- Italian ['tite'] = 'title', -- misspelling ['titel'] = 'title', -- German ['titel-p'] = 'title', -- German ('postscript=none' should be added as well) ['titelerg'] = 'contribution', -- German (not a direct replacement, but can be emulated) ['titled'] = 'title', -- Brazilian Portuguese ['titolo'] = 'title', -- Italian ['titre'] = 'title', -- French ['trans-script'] = 'transcript', -- misspelling ['trans_chapter'] = 'trans-chapter', -- old parameter alias ['trans_title'] = 'trans-title', -- old parameter alias ['transchapter'] = 'trans-chapter', ['transcripturl'] = 'transcript-url', -- old parameter name ['transscript'] = 'transcript', -- misspelling ['transscript-format'] = 'transcript-format', -- misspelling ['transscript-url'] = 'transcript-url', -- misspelling ['transscripturl'] = 'transcript-url', -- misspelling ['transtitle'] = 'trans-title', ['typ'] = 'author-mask', -- German (not a direct replacement, but the only valid argument 'typ=wl' can be emulated using 'author-mask') ['tytuł'] = 'title', -- Polish ['títle'] = 'title', ['título'] = 'title', -- Spanish ['ubicación'] = 'location', -- Spanish ['urlarchivio'] = 'archive-url', -- Italian ['urlarchivo'] = 'archive-url', -- Spanish ['urlmorto'] = 'url-status', -- Italian ['urn'] = 'id', -- German (as 'id={{URN|...}}') ['v-authors'] = 'vauthors', -- misspelling ['v-editors'] = 'veditors', -- misspelling ['verlag'] = 'publisher', -- German ['verlagea'] = 'publisher', -- German (not a direct replacement, but can be emulated) ['vol'] = 'volume', ['volumen'] = 'volume', -- Spanish ['werk'] = 'work', -- German ['werkerg'] = 'contribution', -- German (not a direct replacement, but can be emulated) ['wkautore'] = 'author-link', -- Italian ['wolumin'] = 'volume', -- Polish ['wydanie'] = 'number', -- Polish ['wydawca'] = 'publisher', -- French ['yardımcıyazarlar'] = 'author', -- Turkish ['yayımcı'] = 'publisher', -- Turkish ['yayıncı'] = 'publisher', -- Turkish ['yazar'] = 'author', -- Turkish ['yazarbağı'] = 'author-link', -- Turkish ['yer'] = 'location', -- Turkish ['yıl'] = 'date', -- Turkish ['zaprezentowany'] = 'publisher', -- French ['zdb'] = 'id', -- German (as 'id={{ZDB|...}}') ['zitat'] = 'quote', -- German ['zugriff'] = 'access-date', -- German ['éditeur'] = 'editor', -- French ['ölüurl'] = 'url-status', -- Turkish ['übersetzer'] = 'translator', -- German (singular and plural) } --[[--------------------------< P A T T E R N S >-------------------------------------------------------------- Here we use Lua patterns to make suggestions. The form is ['pattern'] = 'correct', Lua patterns are not REGEX though they are similar. The escape character is '%', not '\'. For more information about Lua patterns, see: Extension:Scribunto/Lua_reference_manual#Patterns Patterns should probably always include the '^' and '$' anchor assertions to prevent a partial match from incorrectly suggesting the wrong parameter name. For instance, the pattern 'a[utho]+r' matches 'author' in the no-longer-supported parameter |author-separator= so the code suggests '|author='; the same pattern also matches the no-longer-supported parameter |separator= (returning 'ator') so again, the code suggests '|author='. One capture is supported, typically the enumerator from an enumerated parameter (the '6' in |author6=, etc.) The value from the capture replaces $1 in the 'correct' value. ]] local patterns = { ['^ac+es+ ?d?a?t?e?$'] = 'access-date', -- misspelling ['^apellido[s]?(%d+)$'] = 'last$1', -- Spanish, enumerated ['^a[utho]+r$'] = 'author', -- misspelling ['^a[utho]+r(%d+)$'] = 'author$1', -- misspelling, enumerated ['^author link(%d+)$'] = 'author-link$1', -- Polish, enumerated ['^autor[e]?(%d+)$'] = 'author$1', -- Italian/Spanish/German, enumerated ['^authorfirst(%d+)$'] = 'author-first$1', -- old parameter name, enumerated ['^author(%d+)first$'] = 'author-first$1', -- old parameter name, enumerated ['^authorgiven(%d+)$'] = 'author-given$1', -- old parameter name, enumerated ['^author(%d+)given$'] = 'author-given$1', -- old parameter name, enumerated ['^authorlast(%d+)$'] = 'author-last$1', -- old parameter name, enumerated ['^author(%d+)last$'] = 'author-last$1', -- old parameter name, enumerated ['^authormask(%d+)$'] = 'author-mask$1', -- old parameter name, enumerated ['^author(%d+)mask$'] = 'author-mask$1', -- old parameter name, enumerated ['^authorsurname(%d+)$'] = 'author-surname$1', -- old parameter name, enumerated ['^author(%d+)surname$'] = 'author-surname$1', -- old parameter name, enumerated ['^cognome(%d+)$'] = 'last$1', -- Italian, enumerated ['^editorfirst(%d+)$'] = 'editor-first$1', -- old parameter name, enumerated ['^editor(%d+)first$'] = 'editor-first$1', -- old parameter name, enumerated ['^editorgiven(%d+)$'] = 'editor-given$1', -- old parameter name, enumerated ['^editor(%d+)given$'] = 'editor-given$1', -- old parameter name, enumerated ['^editorlast(%d+)$'] = 'editor-last$1', -- old parameter name, enumerated ['^editor(%d+)last$'] = 'editor-last$1', -- old parameter name, enumerated ['^editorlink(%d+)$'] = 'editor-link$1', -- old parameter name, enumerated ['^editor(%d+)link$'] = 'editor-link$1', -- old parameter name, enumerated ['^editormask(%d+)$'] = 'editor-mask$1', -- old parameter name, enumerated ['^editor(%d+)mask$'] = 'editor-mask$1', -- old parameter name, enumerated ['^editorsurname(%d+)$'] = 'editor-surname$1', -- old parameter name, enumerated ['^editor(%d+)surname$'] = 'editor-surname$1', -- old parameter name, enumerated ['^enlaceautore(%d+)$'] = 'author-link$1', -- Spanish, enumerated ['^first (%d+)$'] = 'first$1', -- enumerated ['^last (%d+)$'] = 'last$1', -- enumerated ['^nom[e]?(%d+)$'] = 'last$1', -- Italian/French, enumerated ['^nombre(%d+)$'] = 'first$1', -- Spanish, enumerated ['^primero(%d+)$'] = 'first$1', -- Spanish, enumerated ['^pu[blish]+ers?$'] = 'publisher', -- misspelling ['^subjectlink(%d+)$'] = 'subject-link$1', -- old parameter name, enumerated ['^subject(%d+)link$'] = 'subject-link$1', -- old parameter name, enumerated ['^wkautore(%d+)$'] = 'author-link$1', -- Italian, enumerated } return {suggestions = suggestions, patterns=patterns}; 2ijnwqp0v6qxv0w5m0mwrt72z46ubhu Módulo:Citation/CS1/Suggestions/doc 828 8227 73009 2025-03-04T22:13:35Z en>Padgriffin 0 Reverted edit by [[Special:Contribs/2001:44C8:4509:79FB:1:0:5846:C6F3|2001:44C8:4509:79FB:1:0:5846:C6F3]] ([[User talk:2001:44C8:4509:79FB:1:0:5846:C6F3|talk]]) to last version by Nickps 73009 wikitext text/x-wiki {{#lst:Module:Citation/CS1/doc|header}} This is a list of suggested alternatives to use when an unknown parameter is encountered by a citation template. When an unknown parameter is found within a citation template an error message is generated, and when possible the software makes a suggestion for what the user may have meant by consulting this list of common mistakes and typos. Each entry takes the form: ['bad input parameter'] = 'suggested parameter to use' The bad input parameter will have been transformed to lower case before checking this list, so all input forms on this list should be written in lowercase. {{#lst:Module:Citation/CS1/doc|module_components_table}} <noinclude> [[Category:Module documentation pages]] </noinclude> 6vh00v5m3gworfzcwl71amicgn3s99n 73010 73009 2026-07-02T14:46:45Z Robertsky 10424 1 versaun husi [[:en:Module:Citation/CS1/Suggestions/doc]] 73009 wikitext text/x-wiki {{#lst:Module:Citation/CS1/doc|header}} This is a list of suggested alternatives to use when an unknown parameter is encountered by a citation template. When an unknown parameter is found within a citation template an error message is generated, and when possible the software makes a suggestion for what the user may have meant by consulting this list of common mistakes and typos. Each entry takes the form: ['bad input parameter'] = 'suggested parameter to use' The bad input parameter will have been transformed to lower case before checking this list, so all input forms on this list should be written in lowercase. {{#lst:Module:Citation/CS1/doc|module_components_table}} <noinclude> [[Category:Module documentation pages]] </noinclude> 6vh00v5m3gworfzcwl71amicgn3s99n Módulo Discussão:Citation/CS1/Suggestions 829 8228 73011 2016-03-13T16:17:15Z en>RussBot 0 Bot: Fixing double redirect to [[Help talk:Citation Style 1]] 73011 wikitext text/x-wiki #REDIRECT [[Help talk:Citation Style 1]] n56v5kja3y9wbb138wdgaw81sdske3d 73012 73011 2026-07-02T14:46:45Z Robertsky 10424 1 versaun husi [[:en:Module_talk:Citation/CS1/Suggestions]] 73011 wikitext text/x-wiki #REDIRECT [[Help talk:Citation Style 1]] n56v5kja3y9wbb138wdgaw81sdske3d Módulo:Citation/CS1/doc/Category list 828 8229 73013 2021-03-06T19:50:12Z en>YFdyh000 0 73013 wikitext text/x-wiki This page lists categories extracted from [[Module:Citation/CS1/Configuration]] and [[Module:Citation/CS1/Configuration/sandbox]]. It's purpose is to highlight differences between the live and sandbox versions of the cs1|2 module suite. Category names are extracted directly from the <code>error_conditions{}</code> and <code>prop_cats{}</code> tables. In the lists, the first section of each list (the combined list) is categories found in both the live and sandbox modules. The subsections list category names that are listed in the live module but not listed in the sandbox module (and vice versa). Some category names are created dynamically according to date or language parameter values, or to the parameter name itself in the template that is being processed. Because none of that necessary information is available when these lists are created, those categories will be redlinked here (the $1, $2, and $3 are place-holders for the necessary parts of the category names). New categories in ~/Configuration/sandbox may be redlinked. Categories in the combined lists should not be redlinked. These lists can be compared to the categories listed in {{cl|CS1 errors}}, {{cl|CS1 maintenance}}, and {{cl|CS1 properties}}. {{#invoke:cs1 documentation support|cat_lister|select=error}} {{#invoke:cs1 documentation support|cat_lister|select=maint}} {{#invoke:cs1 documentation support|cat_lister|select=prop}} a2sakpdyu4zw0gt5lr0y4swvd4zoo2c 73014 73013 2026-07-02T14:47:38Z Robertsky 10424 1 versaun husi [[:en:Module:Citation/CS1/doc/Category_list]] 73013 wikitext text/x-wiki This page lists categories extracted from [[Module:Citation/CS1/Configuration]] and [[Module:Citation/CS1/Configuration/sandbox]]. It's purpose is to highlight differences between the live and sandbox versions of the cs1|2 module suite. Category names are extracted directly from the <code>error_conditions{}</code> and <code>prop_cats{}</code> tables. In the lists, the first section of each list (the combined list) is categories found in both the live and sandbox modules. The subsections list category names that are listed in the live module but not listed in the sandbox module (and vice versa). Some category names are created dynamically according to date or language parameter values, or to the parameter name itself in the template that is being processed. Because none of that necessary information is available when these lists are created, those categories will be redlinked here (the $1, $2, and $3 are place-holders for the necessary parts of the category names). New categories in ~/Configuration/sandbox may be redlinked. Categories in the combined lists should not be redlinked. These lists can be compared to the categories listed in {{cl|CS1 errors}}, {{cl|CS1 maintenance}}, and {{cl|CS1 properties}}. {{#invoke:cs1 documentation support|cat_lister|select=error}} {{#invoke:cs1 documentation support|cat_lister|select=maint}} {{#invoke:cs1 documentation support|cat_lister|select=prop}} a2sakpdyu4zw0gt5lr0y4swvd4zoo2c Módulo:Citation/CS1/Configuration/sandbox 828 8230 73015 2026-06-18T19:07:08Z en>Headbomb 0 +25 73015 Scribunto text/plain --[[ History of changes since last sync: 2026-02-28 2026-03-25: add cfg.messages['collaboration'] 2026-03-29: Removed 10.1140/epjc, European Physical Journal C, only free-access since 2014 2026-03-29: Add 10.1140/epjconf, EPJ Web of Conferences 2026-03-30: i18n 'etal' fix; see Help_talk:Citation_Style_1#i18n%3A_%27etal%27_for_display-authors 2026-04-06: Fix problem that cfg.id_limits_data_load_fail is always nil 2026-04-12: Add 10.1257/jep to free doi, Journal of Economic Perspectives 2026-05-12: Add 10.1002/cesm to free doi, Cochrane Evidence Synthesis and Methods 2026-05-16: Add 10.7758/rsf to free doi, RSF Journal 2025-05-23: Add 10.1051/parasite to free DOI, Parasite 2025-06-02: Add 10.5074, 10.18757, 10.24404, 10.24413, 10.34641, 10.48438, 10.59490 to free DOI (TU Delft Open Publishing) 2025-06-12: Add 10.18553 to free DOI list (Academy of Managed Care Pharmacy) 2025-06-12: Add 25 University of Ljubljana free doi prefixes ]] local lang_obj = mw.getContentLanguage(); -- make a language object for the local language; used here for languages and dates --[[--------------------------< S E T T I N G S >-------------------------------------------------------------- boolean settings used to control various things. these setting located here to make them easy to find ]] -- these settings local to this module only local local_digits_from_mediawiki = false; -- for i18n; when true, module fills date_names['local_digits'] from MediaWiki; manual fill required else; always false at en.wiki local local_date_names_from_mediawiki = false; -- for i18n; when true, module fills date_names['local']['long'] and date_names['local']['short'] from MediaWiki; -- manual translation required else; ; always false at en.wiki -- these settings exported to other modules local use_identifier_redirects = true; -- when true use redirect name for identifier label links; always true at en.wiki local local_lang_cat_enable = false; -- when true categorizes pages where |language=<local wiki's language>; always false at en.wiki local date_name_auto_xlate_enable = false; -- when true translates English month-names to the local-wiki's language month names; always false at en.wiki local date_digit_auto_xlate_enable = false; -- when true translates Western date digit to the local-wiki's language digits (date_names['local_digits']); always false at en.wiki local enable_sort_keys = true; -- when true module adds namespace sort keys to error and maintenance category links local suppress_archive_today_urls = true; -- when true module suppresses all parameters with an archive.today url and any deprendent parameters --[[--------------------------< U N C A T E G O R I Z E D _ N A M E S P A C E S >------------------------------ List of namespaces identifiers for namespaces that will not be included in citation error categories. Same as setting notracking = true by default. For wikis that have a current version of Module:cs1 documentation support, this #invoke will return an unordered list of namespace names and their associated identifiers: {{#invoke:cs1 documentation support|uncategorized_namespace_lister|all=<anything>}} ]] local uncategorized_namespaces_t = {[2]=true}; -- init with user namespace id for k, _ in pairs (mw.site.talkNamespaces) do -- add all talk namespace ids uncategorized_namespaces_t[k] = true; end local uncategorized_subpages = {'/[Ss]andbox', '/[Tt]estcases', '/[^/]*[Ll]og', '/[Aa]rchive'}; -- list of Lua patterns found in page names of pages we should not categorize --[[ at en.wiki Greek characters are used as sort keys for certain items in a category so that those items are placed at the end of a category page. See Wikipedia:Categorization#Sort_keys. That works well for en.wiki because English is written using the Latn script. This may not work well for other languages. At en.wiki it is desireable to place content from certain namespaces at the end of a category listing so the module adds sort keys to error and maintenance category links when rendering a cs1|2 template on a page in that namespace. i18n: if this does not work well for your language, set <enable_sort_keys> to false. ]] local name_space_sort_keys = { -- sort keys to be used with these namespaces: [4] = 'ω', -- wikipedia; omega [10] = 'τ', -- template; tau [118] = 'Δ', -- draft; delta ['other'] = 'ο', -- all other non-talk namespaces except main (article); omicron } --[[--------------------------< M E S S A G E S >-------------------------------------------------------------- Translation table The following contains fixed text that may be output as part of a citation. This is separated from the main body to aid in future translations of this module. ]] local messages = { ['agency'] = '$1 $2', -- $1 is sepc, $2 is agency ['archived-dead'] = 'Archived from $1 on $2', ['archived-live'] = '$1 from the original on $2', ['archived-unfit'] = 'Archived from the original on $1', ['archived'] = 'Archived', ['by'] = 'By', -- contributions to authored works: introduction, foreword, afterword ['cartography'] = 'Cartography by $1', ['collaboration'] = '$1 ($2)', -- $1 is author with et al, $2 is collaboration ['editor'] = 'ed.', ['editors'] = 'eds.', ['edition'] = '($1&nbsp;ed.)', ['episode'] = 'Episode $1', ['et al'] = 'et&nbsp;al.', ['in'] = 'In', -- edited works ['inactive'] = ' (inactive $1)', -- $1 is date which the doi was found to be broken in ['inset'] = '$1 inset', ['interview'] = 'Interviewed by $1', invisible_1 = '$1 $2', -- $1 stripmarker name; $2 is text from <invisible_chars[1]> invisible_2 = '$1 character', -- $1 character name from <invisible_chars[1]> ['mismatch'] = '<code class="cs1-code">&#124;$1=</code> / <code class="cs1-code">&#124;$2=</code> mismatch', -- $1 is year param name; $2 is date param name ['newsgroup'] = '[[Usenet newsgroup|Newsgroup]]:&nbsp;$1', ['notitle'] = 'No title', -- for |title=(()) and (in the future) |title=none ['original'] = 'the original', ['origdate'] = ' [$1]', ['published'] = ' (published $1)', ['retrieved'] = 'Retrieved $1', ['season'] = 'Season $1', ['section'] = '§&nbsp;$1', ['sections'] = '§§&nbsp;$1', ['series'] = '$1 $2', -- $1 is sepc, $2 is series ['seriesnum'] = 'Series $1', ['translated'] = 'Translated by $1', ['type'] = ' ($1)', -- for titletype wikidata = 'Wikidata', -- these used for interwikilinked author/editor/... names wikipedia = 'Wikipedia', wikisource = 'Wikisource', ['written'] = 'Written at $1', ['vol'] = '$1 Vol.&nbsp;$2', -- $1 is sepc; bold journal style volume is in presentation{} ['vol-no'] = '$1 Vol.&nbsp;$2, no.&nbsp;$3', -- sepc, volume, issue (alternatively insert $1 after $2, but then we'd also have to change capitalization) ['issue'] = '$1 No.&nbsp;$2', -- $1 is sepc ['art'] = '$1 Art.&nbsp;$2', -- $1 is sepc; for {{cite conference}} only ['vol-art'] = '$1 Vol.&nbsp;$2, art.&nbsp;$3', -- sepc, volume, article-number; for {{cite conference}} only ['j-vol'] = '$1 $2', -- sepc, volume; bold journal volume is in presentation{} ['j-issue'] = ' ($1)', ['j-article-num'] = ' $1', -- TODO: any punctuation here? static text? ['nopp'] = '$1 $2'; -- page(s) without prefix; $1 is sepc ['p-prefix'] = "$1 p.&nbsp;$2", -- $1 is sepc ['pp-prefix'] = "$1 pp.&nbsp;$2", -- $1 is sepc ['j-page(s)'] = ': $1', -- same for page and pages ['sheet'] = '$1 Sheet&nbsp;$2', -- $1 is sepc ['sheets'] = '$1 Sheets&nbsp;$2', -- $1 is sepc ['j-sheet'] = ': Sheet&nbsp;$1', ['j-sheets'] = ': Sheets&nbsp;$1', ['language'] = '(in $1)', ['via'] = " &ndash; via $1", ['event'] = 'Event occurs at', ['minutes'] = ' $1 minutes in', -- $1 is the number of minutes -- Determines the location of the help page ['help page link'] = 'Help:CS1 errors', ['help page label'] = 'help', -- categories ['cat wikilink'] = '[[Category:$1]]', -- $1 is the category name ['cat wikilink sk'] = '[[Category:$1|$2]]', -- $1 is the category name; $2 is namespace sort key [':cat wikilink'] = '[[:Category:$1|link]]', -- category name as maintenance message wikilink; $1 is the category name -- Internal errors (should only occur if configuration is bad) ['undefined_error'] = 'Called with an undefined error condition', ['unknown_ID_key'] = 'Unrecognized ID key: ', -- an ID key in id_handlers not found in ~/Identifiers func_map{} ['unknown_ID_access'] = 'Unrecognized ID access keyword: ', -- an ID access keyword in id_handlers not found in keywords_lists['id-access']{} ['unknown_argument_map'] = 'Argument map not defined for this variable', ['bare_url_no_origin'] = 'Bare URL found but origin indicator is nil or empty', ['warning_msg_e'] = '<span style="color:#d33"><code style="color: inherit; background: inherit; border: none; padding: inherit;">&#123;{$1}}</code>: this [[#$2|reference]] has errors</span>; messages may be hidden ([[Help:CS1_errors#Controlling_error_message_display|help]]).'; -- $1 is template link; $2 is anchor ID ['warning_msg_m'] = '<span style="color:#085"><code style="color: inherit; background: inherit; border: none; padding: inherit;">&#123;{$1}}</code>: this [[#$2|reference]] has maintenance messages</span>; messages may be hidden ([[Help:CS1_errors#Controlling_error_message_display|help]]).'; -- $1 is template link; $2 is anchor ID } --[[--------------------------< C I T A T I O N _ C L A S S _ M A P >------------------------------------------ this table maps the value assigned to |CitationClass= in the cs1|2 templates to the canonical template name when the value assigned to |CitationClass= is different from the canonical template name. |CitationClass= values are used as class attributes in the <cite> tag that encloses the citation so these names may not contain spaces while the canonical template name may. These names are used in warning_msg_e and warning_msg_m to create links to the template's documentation when an article is displayed in preview mode. ]] local citation_class_map_t = { -- TODO: in Module:Cite/config write a function to use this table arxiv = 'cite arXiv', -- as the source for known_templates_t and citation_classes_t ['audio-visual'] = 'cite AV media', ['AV-media-notes'] = 'cite AV media notes', biorxiv = 'cite bioRxiv', book = 'cite book', citation = 'citation', citeseerx = 'cite CiteSeerX', conference = 'cite conference', document = 'cite document', encyclopaedia = 'cite encyclopedia', episode = 'cite episode', interview = 'cite interview', journal = 'cite journal', magazine = 'cite magazine', mailinglist = 'cite mailing list', map = 'cite map', medrxiv = 'cite medRxiv', news = 'cite news', newsgroup = 'cite newsgroup', podcast = 'cite podcast', pressrelease = 'cite press release', report = 'cite report', serial = 'cite serial', sign = 'cite sign', speech = 'cite speech', ssrn = 'cite SSRN', techreport = 'cite tech report', thesis = 'cite thesis', web = 'cite web', } --[=[-------------------------< E T _ A L _ P A T T E R N S >-------------------------------------------------- This table provides Lua patterns for the phrase "et al" and variants in name text (author, editor, etc.). The main module uses these to identify and emit the 'etal' message. ]=] local et_al_patterns = { "[;,]? *[\"']*%f[%a][Ee][Tt]%.? *[Aa][Ll][%.;,\"']*$", -- variations on the 'et al' theme "[;,]? *[\"']*%f[%a][Ee][Tt]%.? *[Aa][Ll][Ii][AaIi][Ee]?[%.;,\"']*$", -- variations on the 'et alia', 'et alii' and 'et aliae' themes (false positive 'et aliie' unlikely to match) "[;,]? *%f[%a]and [Oo]thers", -- an alternative to et al. "%[%[ *[Ee][Tt]%.? *[Aa][Ll]%.? *%]%]", -- a wikilinked form "%(%( *[Ee][Tt]%.? *[Aa][Ll]%.? *%)%)", -- a double-bracketed form (to counter partial removal of ((...)) syntax) "[%(%[] *[Ee][Tt]%.? *[Aa][Ll]%.? *[%)%]]", -- a bracketed form } --[[--------------------------< P R E S E N T A T I O N >------------------------ Fixed presentation markup. Originally part of citation_config.messages it has been moved into its own, more semantically correct place. ]] local presentation = { -- .citation-comment class is specified at Help:CS1_errors#Controlling_error_message_display ['hidden-error'] = '<span class="cs1-hidden-error citation-comment">$1</span>', ['visible-error'] = '<span class="cs1-visible-error citation-comment">$1</span>', ['hidden-maint'] = '<span class="cs1-maint citation-comment">$1</span>', ['accessdate'] = '<span class="reference-accessdate">$1$2</span>', -- to allow editors to hide accessdate using personal CSS ['bdi'] = '<bdi$1>$2</bdi>', -- bidirectional isolation used with |script-title= and the like ['cite'] = '<cite class="$1">$2</cite>'; -- for use when citation does not have a namelist and |ref= not set so no id="..." attribute ['cite-id'] = '<cite id="$1" class="$2">$3</cite>'; -- for use when when |ref= is set or when citation has a namelist ['format'] = ' <span class="cs1-format">($1)</span>', -- for |format=, |chapter-format=, etc. ['interwiki'] = ' <span class="cs1-format">[in $1]</span>', -- for interwiki-language-linked author, editor, etc ['interproj'] = ' <span class="cs1-format">[at $1]</span>', -- for interwiki-project-linked author, editor, etc (:d: and :s: supported; :w: ignored) -- various access levels, for |access=, |doi-access=, |arxiv=, ... -- narrow no-break space &#8239; may work better than nowrap CSS. Or not? Browser support? ['ext-link-access-signal'] = '<span class="$1" title="$2">$3</span>', -- external link with appropriate lock icon ['free'] = {class='id-lock-free', title='Freely accessible'}, -- classes defined in Module:Citation/CS1/styles.css ['registration'] = {class='id-lock-registration', title='Free registration required'}, ['limited'] = {class='id-lock-limited', title='Free access subject to limited trial, subscription normally required'}, ['subscription'] = {class='id-lock-subscription', title='Paid subscription required'}, ['interwiki-icon'] = '<span class="$1" title="$2">$3</span>', ['class-wikisource'] = 'cs1-ws-icon', ['italic-title'] = "''$1''", ['kern-left'] = '<span class="cs1-kern-left"></span>$1', -- spacing to use when title contains leading single or double quote mark ['kern-right'] = '$1<span class="cs1-kern-right"></span>', -- spacing to use when title contains trailing single or double quote mark ['nowrap1'] = '<span class="nowrap">$1</span>', -- for nowrapping an item: <span ...>yyyy-mm-dd</span> ['nowrap2'] = '<span class="nowrap">$1</span> $2', -- for nowrapping portions of an item: <span ...>dd mmmm</span> yyyy (note white space) ['ocins'] = '<span title="$1" class="Z3988"></span>', ['parameter'] = '<code class="cs1-code">&#124;$1=</code>', ['ps_cs1'] = '.'; -- CS1 style postscript (terminal) character ['ps_cs2'] = ''; -- CS2 style postscript (terminal) character (empty string) ['quoted-text'] = '<q>$1</q>', -- for wrapping |quote= content ['quoted-title'] = '"$1"', ['sep_cs1'] = '.', -- CS1 element separator ['sep_cs2'] = ',', -- CS2 separator ['sep_nl'] = ';', -- CS1|2 style name-list separator between names is a semicolon ['sep_nl_and'] = ' and ', -- used as last nl sep when |name-list-style=and and list has 2 items ['sep_nl_end'] = '; and ', -- used as last nl sep when |name-list-style=and and list has 3+ names ['sep_name'] = ', ', -- CS1|2 style last/first separator is <comma><space> ['sep_nl_vanc'] = ',', -- Vancouver style name-list separator between authors is a comma ['sep_name_vanc'] = ' ', -- Vancouver style last/first separator is a space ['sep_list'] = ', ', -- used for |language= when list has 3+ items except for last sep which uses sep_list_end ['sep_list_pair'] = ' and ', -- used for |language= when list has 2 items ['sep_list_end'] = ', and ', -- used as last list sep for |language= when list has 3+ items ['trans-italic-title'] = "&#91;''$1''&#93;", ['trans-quoted-title'] = "&#91;$1&#93;", -- for |trans-title= and |trans-quote= ['vol-bold'] = '$1 <b>$2</b>', -- sepc, volume; for bold journal cites; for other cites ['vol'] in messages{} } --[[--------------------------< A L I A S E S >--------------------------------- Aliases table for commonly passed parameters. Parameter names on the right side in the assignments in this table must have been defined in the Whitelist before they will be recognized as valid parameter names ]] local aliases = { ['AccessDate'] = {'access-date', 'accessdate'}, -- Used by InternetArchiveBot ['Agency'] = 'agency', ['ArchiveDate'] = {'archive-date', 'archivedate'}, -- Used by InternetArchiveBot ['ArchiveFormat'] = 'archive-format', ['ArchiveURL'] = {'archive-url', 'archiveurl'}, -- Used by InternetArchiveBot ['ArticleNumber'] = 'article-number', ['ASINTLD'] = 'asin-tld', ['At'] = 'at', -- Used by InternetArchiveBot ['Authors'] = {'people', 'credits'}, ['BookTitle'] = {'book-title', 'booktitle'}, ['Cartography'] = 'cartography', ['Chapter'] = {'chapter', 'contribution', 'entry', 'article', 'section'}, ['ChapterFormat'] = {'chapter-format', 'contribution-format', 'entry-format', 'article-format', 'section-format'}; ['ChapterURL'] = {'chapter-url', 'contribution-url', 'entry-url', 'article-url', 'section-url'}, -- Used by InternetArchiveBot ['ChapterUrlAccess'] = {'chapter-url-access', 'contribution-url-access', 'entry-url-access', 'article-url-access', 'section-url-access'}, -- Used by InternetArchiveBot ['Class'] = 'class', -- cite arxiv and arxiv identifier ['Collaboration'] = 'collaboration', ['Conference'] = {'conference', 'event'}, ['ConferenceFormat'] = 'conference-format', ['ConferenceURL'] = 'conference-url', -- Used by InternetArchiveBot ['Date'] = {'date', 'air-date', 'airdate'}, -- air-date and airdate for cite episode and cite serial only ['Degree'] = 'degree', ['DF'] = 'df', ['DisplayAuthors'] = {'display-authors', 'display-subjects'}, ['DisplayContributors'] = 'display-contributors', ['DisplayEditors'] = 'display-editors', ['DisplayInterviewers'] = 'display-interviewers', ['DisplayTranslators'] = 'display-translators', ['Docket'] = 'docket', ['DoiBroken'] = 'doi-broken-date', ['Edition'] = 'edition', ['Embargo'] = 'pmc-embargo-date', ['Encyclopedia'] = {'encyclopedia', 'encyclopaedia', 'dictionary'}, -- cite encyclopedia only ['Episode'] = 'episode', -- cite serial only TODO: make available to cite episode? ['Format'] = 'format', ['ID'] = {'id', 'ID'}, ['Inset'] = 'inset', ['Issue'] = {'issue', 'number'}, ['Language'] = {'language', 'lang'}, ['MailingList'] = {'mailing-list', 'mailinglist'}, -- cite mailing list only ['Map'] = 'map', -- cite map only ['MapFormat'] = 'map-format', -- cite map only ['MapURL'] = {'map-url', 'mapurl'}, -- cite map only -- Used by InternetArchiveBot ['MapUrlAccess'] = 'map-url-access', -- cite map only -- Used by InternetArchiveBot ['Minutes'] = 'minutes', ['Mode'] = 'mode', ['NameListStyle'] = 'name-list-style', ['Network'] = 'network', ['Newsgroup'] = 'newsgroup', -- cite newsgroup only ['NoPP'] = {'no-pp', 'nopp'}, ['NoTracking'] = {'no-tracking', 'template-doc-demo'}, ['Number'] = 'number', -- this case only for cite techreport ['OrigDate'] = {'orig-date', 'orig-year', 'origyear'}, ['Others'] = 'others', ['Page'] = {'page', 'p'}, -- Used by InternetArchiveBot ['Pages'] = {'pages', 'pp'}, -- Used by InternetArchiveBot ['Periodical'] = {'journal', 'magazine', 'newspaper', 'periodical', 'website', 'work'}, ['Place'] = {'place', 'location'}, ['PostScript'] = 'postscript', ['PublicationDate'] = {'publication-date', 'publicationdate'}, ['PublicationPlace'] = {'publication-place', 'publicationplace'}, ['PublisherName'] = {'publisher', 'institution'}, ['Quote'] = {'quote', 'quotation'}, ['QuotePage'] = 'quote-page', ['QuotePages'] = 'quote-pages', ['Ref'] = 'ref', ['Scale'] = 'scale', ['ScriptChapter'] = {'script-chapter', 'script-contribution', 'script-entry', 'script-article', 'script-section'}, ['ScriptEncyclopedia'] = {'script-encyclopedia', 'script-encyclopaedia'}, -- cite encyclopedia only ['ScriptMap'] = 'script-map', ['ScriptPeriodical'] = {'script-journal', 'script-magazine', 'script-newspaper', 'script-periodical', 'script-website', 'script-work'}, ['ScriptQuote'] = 'script-quote', ['ScriptTitle'] = 'script-title', -- Used by InternetArchiveBot ['Season'] = 'season', ['Sections'] = 'sections', -- cite map only ['Series'] = {'series', 'version'}, ['SeriesLink'] = {'series-link', 'serieslink'}, ['SeriesNumber'] = {'series-number', 'series-no'}, ['Sheet'] = 'sheet', -- cite map only ['Sheets'] = 'sheets', -- cite map only ['Station'] = 'station', ['Time'] = 'time', ['TimeCaption'] = 'time-caption', ['Title'] = 'title', -- Used by InternetArchiveBot ['TitleLink'] = {'title-link', 'episode-link', 'episodelink'}, -- Used by InternetArchiveBot ['TitleNote'] = {'title-note', 'department'}, ['TitleType'] = {'type', 'medium'}, ['TransChapter'] = {'trans-article', 'trans-chapter', 'trans-contribution', 'trans-entry', 'trans-section'}, ['Transcript'] = 'transcript', ['TranscriptFormat'] = 'transcript-format', ['TranscriptURL'] = 'transcript-url', -- Used by InternetArchiveBot ['TransEncyclopedia'] = {'trans-encyclopedia', 'trans-encyclopaedia'}, -- cite encyclopedia only ['TransMap'] = 'trans-map', -- cite map only ['TransPeriodical'] = {'trans-journal', 'trans-magazine', 'trans-newspaper', 'trans-periodical', 'trans-website', 'trans-work'}, ['TransQuote'] = 'trans-quote', ['TransTitle'] = 'trans-title', -- Used by InternetArchiveBot ['URL'] = {'url', 'URL'}, -- Used by InternetArchiveBot ['UrlAccess'] = 'url-access', -- Used by InternetArchiveBot ['UrlStatus'] = 'url-status', -- Used by InternetArchiveBot ['Vauthors'] = 'vauthors', ['Veditors'] = 'veditors', ['Via'] = 'via', ['Volume'] = 'volume', ['Year'] = 'year', ['AuthorList-First'] = {"first#", "author-first#", "author#-first", "author-given#", "author#-given", "subject-first#", "subject#-first", "subject-given#", "subject#-given", "given#"}, ['AuthorList-Last'] = {"last#", "author-last#", "author#-last", "author-surname#", "author#-surname", "subject-last#", "subject#-last", "subject-surname#", "subject#-surname", "author#", 'host#', "subject#", "surname#"}, ['AuthorList-Link'] = {"author-link#", "author#-link", "subject-link#", "subject#-link", "authorlink#", "author#link"}, ['AuthorList-Mask'] = {"author-mask#", "author#-mask", "subject-mask#", "subject#-mask"}, ['ContributorList-First'] = {'contributor-first#', 'contributor#-first', 'contributor-given#', 'contributor#-given'}, ['ContributorList-Last'] = {'contributor-last#', 'contributor#-last', 'contributor-surname#', 'contributor#-surname', 'contributor#'}, ['ContributorList-Link'] = {'contributor-link#', 'contributor#-link'}, ['ContributorList-Mask'] = {'contributor-mask#', 'contributor#-mask'}, ['EditorList-First'] = {"editor-first#", "editor#-first", "editor-given#", "editor#-given"}, ['EditorList-Last'] = {"editor-last#", "editor#-last", "editor-surname#", "editor#-surname", "editor#"}, ['EditorList-Link'] = {"editor-link#", "editor#-link"}, ['EditorList-Mask'] = {"editor-mask#", "editor#-mask"}, ['InterviewerList-First'] = {'interviewer-first#', 'interviewer#-first', 'interviewer-given#', 'interviewer#-given'}, ['InterviewerList-Last'] = {'interviewer-last#', 'interviewer#-last', 'interviewer-surname#', 'interviewer#-surname', 'interviewer#'}, ['InterviewerList-Link'] = {'interviewer-link#', 'interviewer#-link'}, ['InterviewerList-Mask'] = {'interviewer-mask#', 'interviewer#-mask'}, ['TranslatorList-First'] = {'translator-first#', 'translator#-first', 'translator-given#', 'translator#-given'}, ['TranslatorList-Last'] = {'translator-last#', 'translator#-last', 'translator-surname#', 'translator#-surname', 'translator#'}, ['TranslatorList-Link'] = {'translator-link#', 'translator#-link'}, ['TranslatorList-Mask'] = {'translator-mask#', 'translator#-mask'}, } --[[--------------------------< D E P E N D E N C I E S _ T >-------------------------------------------------- a table of url-holding parameters upon which other parameters are dependent. this table is used by has_archive_today_url() to suppress parameters that are dependant upon a url-holding parameter that has as a value an archive.today (or alternate tld) url. archive.today is deprecated at en.wiki; see Wikipedia:Requests_for_comment/Archive.is_RFC_5 ]] local url_dependency_map_t = { -- table of url-holding parameters and the meta-parameters that are dependent on them ['url'] = {'AccessDate', 'ArchiveURL', 'Format', 'UrlAccess'}, ['archive-url'] = {'ArchiveDate', 'ArchiveFormat', 'UrlStatus'}, ['archiveurl'] = {'ArchiveDate', 'ArchiveFormat', 'UrlStatus'}, ['article-url'] = {'ChapterFormat', 'ChapterUrlAccess'}, ['chapter-url'] = {'ChapterFormat', 'ChapterUrlAccess'}, ['conference-url'] = {'ConferenceFormat'}, ['contribution-url'] = {'ChapterFormat', 'ChapterUrlAccess'}, ['entry-url'] = {'ChapterFormat', 'ChapterUrlAccess'}, ['map-url'] = {'MapFormat', 'MapUrlAccess'}, ['section-url'] = {'ChapterFormat', 'ChapterUrlAccess'}, ['transcript-url'] = {'TranscriptFormat'}, }; local dependencies_t = {}; -- the table of url-holding parameters and their dependent parameters for url_param, meta_parameters_t in pairs (url_dependency_map_t) do -- sequence of meta-parameters (indexes) into <aliases> table local dependant_params_t = {}; -- collection of parameters that are dependent on this <url_param> for _, meta_parameter in ipairs (meta_parameters_t) do -- for each <aliases> meta-parameter (index) if 'string' == type (aliases[meta_parameter]) then -- for single parameter names (no aliases), <aliases[meta_parameter]> will be a string table.insert (dependant_params_t, aliases[meta_parameter]); -- add to this <url_param>'s dependency sequence else for _, alias in ipairs (aliases[meta_parameter]) do -- for each alias in aliases[meta_parameter] (aliases['AccessDate'] for example) table.insert (dependant_params_t, alias); -- add to this <url_param>'s dependency sequence end end end dependencies_t[url_param] = dependant_params_t; -- add the <url_param> and its dependent parameters end --[[--------------------------< P U N C T _ S K I P >--------------------------- builds a table of parameter names that the extraneous terminal punctuation check should not check. ]] local punct_meta_params = { -- table of aliases[] keys (meta parameters); each key has a table of parameter names for a value 'BookTitle', 'Chapter', 'ScriptChapter', 'ScriptTitle', 'Title', 'TransChapter', 'Transcript', 'TransMap', 'TransTitle', -- title-holding parameters 'AuthorList-Mask', 'ContributorList-Mask', 'EditorList-Mask', 'InterviewerList-Mask', 'TranslatorList-Mask', -- name-list mask may have name separators 'PostScript', 'Quote', 'ScriptQuote', 'TransQuote', 'Ref', -- miscellaneous 'ArchiveURL', 'ChapterURL', 'ConferenceURL', 'MapURL', 'TranscriptURL', 'URL', -- URL-holding parameters } local url_meta_params = { -- table of aliases[] keys (meta parameters); each key has a table of parameter names for a value 'ArchiveURL', 'ChapterURL', 'ConferenceURL', 'ID', 'MapURL', 'TranscriptURL', 'URL', -- parameters allowed to hold urls 'Page', 'Pages', 'At', 'QuotePage', 'QuotePages', -- insource locators allowed to hold urls } local function build_skip_table (skip_t, meta_params) for _, meta_param in ipairs (meta_params) do -- for each meta parameter key local params = aliases[meta_param]; -- get the parameter or the table of parameters associated with the meta parameter name if 'string' == type (params) then skip_t[params] = 1; -- just a single parameter else for _, param in ipairs (params) do -- get the parameter name skip_t[param] = 1; -- add the parameter name to the skip table local count; param, count = param:gsub ('#', ''); -- remove enumerator marker from enumerated parameters if 0 ~= count then -- if removed skip_t[param] = 1; -- add param name without enumerator marker end end end end return skip_t; end local punct_skip = {}; local url_skip = {}; --[[--------------------------< U R L _ A C C E S S _ M A P >-------------------------------------------------- this table used by the wikipedia library url test, has_twl_url(), which automatically sets a url-access parameter to 'subscription' when it discovers a wikipedia library url in any of the url-holding paramters used as keys in this table. translators: if your wiki uses parameter names for these url-holding parameters and their matching -access parameters, add your wiki's parameters to this list. Leave the English parameters in place. TODO: is there a better way to do this? ]] local url_access_map_t = { ['chapter-url'] = 'chapter-url-access', ['contribution-url'] = 'contribution-url-access', ['entry-url'] = 'entry-url-access', ['article-url'] = 'article-url-access', ['section-url'] = 'section-url-access', ['map-url'] = 'map-url-access', ['mapurl'] = 'map-url-access', ['url'] = 'url-access', ['URL'] = 'url-access' } --[[--------------------------< S I N G L E - L E T T E R S E C O N D - L E V E L D O M A I N S >---------- this is a list of tlds that are known to have single-letter second-level domain names. This list does not include ccTLDs which are accepted in is_domain_name(). ]] local single_letter_2nd_lvl_domains_t = {'cash', 'company', 'foundation', 'media', 'org', 'today'}; --[[-----------< S P E C I A L C A S E T R A N S L A T I O N S >------------ This table is primarily here to support internationalization. Translations in this table are used, for example, when an error message, category name, etc., is extracted from the English alias key. There may be other cases where this translation table may be useful. ]] local is_Latn = 'A-Za-z\195\128-\195\150\195\152-\195\182\195\184-\198\191\199\132-\201\143\225\184\128-\225\187\191'; local special_case_translation = { author = 'author', editor = 'editor', name_list_params = '$1-name-list parameters', -- $1 is 'author' or 'editor'; used with err_redundant_parameters ['AuthorList'] = 'authors list', -- used to assemble maintenance category names ['ContributorList'] = 'contributors list', -- translation of these names plus translation of the base maintenance category names in maint_cats{} table below ['EditorList'] = 'editors list', -- must match the names of the actual categories ['InterviewerList'] = 'interviewers list', -- this group or translations used by name_has_ed_markup() and name_has_mult_names() ['TranslatorList'] = 'translators list', -- Lua patterns to match pseudo-titles used by InternetArchiveBot and others as placeholder for unknown |title= value ['archived_copy'] = { -- used with CS1 maint: Archive[d] copy as title ['en'] = '^archived?%s+copy$', -- for English; translators: keep this because templates imported from en.wiki ['local'] = nil, -- translators: replace ['local'] = nil with lowercase translation only when bots or tools create generic titles in your language }, -- Lua patterns to match generic titles; usually created by bots or reference filling tools -- translators: replace ['local'] = nil with lowercase translation only when bots or tools create generic titles in your language -- generic titles and patterns in this table should be lowercase only -- leave ['local'] nil except when there is a matching generic title in your language -- boolean 'true' for plain-text searches; 'false' for pattern searches ['generic_titles'] = { ['accept'] = { }, ['reject'] = { {['en'] = {'^wayback%s+machine$', false}, ['local'] = nil}, {['en'] = {'are you a robot', true}, ['local'] = nil}, {['en'] = {'hugedomains', true}, ['local'] = nil}, {['en'] = {'^[%(%[{<]?no +title[>}%]%)]?$', false}, ['local'] = nil}, {['en'] = {'page not found', true}, ['local'] = nil}, {['en'] = {'subscribe to read', true}, ['local'] = nil}, {['en'] = {'^[%(%[{<]?unknown[>}%]%)]?$', false}, ['local'] = nil}, {['en'] = {'website is for sale', true}, ['local'] = nil}, {['en'] = {'^404', false}, ['local'] = nil}, {['en'] = {'error[ %-]404', false}, ['local'] = nil}, {['en'] = {'internet archive wayback machine', true}, ['local'] = nil}, {['en'] = {'log into facebook', true}, ['local'] = nil}, {['en'] = {'login • instagram', true}, ['local'] = nil}, {['en'] = {'redirecting...', true}, ['local'] = nil}, {['en'] = {'usurped title', true}, ['local'] = nil}, -- added by a GreenC bot {['en'] = {'wayback machine', true}, ['local'] = nil}, {['en'] = {'webcite query result', true}, ['local'] = nil}, {['en'] = {'wikiwix\'s cache', true}, ['local'] = nil}, {['en'] = {'bot verification', true}, ['local'] = nil}, } }, -- boolean 'true' for plain-text searches, search string must be lowercase only -- boolean 'false' for pattern searches -- leave ['local'] nil except when there is a matching generic name in your language ['generic_names'] = { ['accept'] = { {['en'] = {'%[%[[^|]*%(author%) *|[^%]]*%]%]', false}, ['local'] = nil}, }, ['reject'] = { {['en'] = {'about us', true}, ['local'] = nil}, {['en'] = {'%f[%a][Aa]dvisor%f[%A]', false}, ['local'] = nil}, {['en'] = {'allmusic', true}, ['local'] = nil}, {['en'] = {'%f[%a][Aa]uthor%f[%A]', false}, ['local'] = nil}, {['en'] = {'^[Bb]ureau$', false}, ['local'] = nil}, {['en'] = {'business', true}, ['local'] = nil}, {['en'] = {'cnn', true}, ['local'] = nil}, {['en'] = {'collaborator', true}, ['local'] = nil}, {['en'] = {'^[Cc]ompany$', false}, ['local'] = nil}, {['en'] = {'contributor', true}, ['local'] = nil}, {['en'] = {'contact us', true}, ['local'] = nil}, {['en'] = {'correspondent', true}, ['local'] = nil}, {['en'] = {'^[Dd]esk$', false}, ['local'] = nil}, {['en'] = {'directory', true}, ['local'] = nil}, {['en'] = {'%f[%(%[][%(%[]%s*eds?%.?%s*[%)%]]?$', false}, ['local'] = nil}, {['en'] = {'[,%.%s]%f[e]eds?%.?$', false}, ['local'] = nil}, {['en'] = {'^eds?[%.,;]', false}, ['local'] = nil}, {['en'] = {'^[%(%[]%s*[Ee][Dd][Ss]?%.?%s*[%)%]]', false}, ['local'] = nil}, {['en'] = {'%f[%a][Ee]dited%f[%A]', false}, ['local'] = nil}, {['en'] = {'%f[%a][Ee]ditors?%f[%A]', false}, ['local'] = nil}, {['en'] = {'%f[%a][Ee]mail%f[%A]', false}, ['local'] = nil}, {['en'] = {'facebook', true}, ['local'] = nil}, {['en'] = {'google', true}, ['local'] = nil}, {['en'] = {'^[Gg]roup$', false}, ['local'] = nil}, {['en'] = {'home page', true}, ['local'] = nil}, {['en'] = {'^[Ii]nc%.?$', false}, ['local'] = nil}, {['en'] = {'instagram', true}, ['local'] = nil}, {['en'] = {'interviewer', true}, ['local'] = nil}, {['en'] = {'^[Ll]imited$', false}, ['local'] = nil}, {['en'] = {'linkedIn', true}, ['local'] = nil}, {['en'] = {'^[Nn]ews$', false}, ['local'] = nil}, {['en'] = {'[Nn]ews[ %-]?[Rr]oom', false}, ['local'] = nil}, {['en'] = {'pinterest', true}, ['local'] = nil}, {['en'] = {'policy', true}, ['local'] = nil}, {['en'] = {'privacy', true}, ['local'] = nil}, {['en'] = {'reuters', true}, ['local'] = nil}, {['en'] = {'translator', true}, ['local'] = nil}, {['en'] = {'tumblr', true}, ['local'] = nil}, {['en'] = {'twitter', true}, ['local'] = nil}, {['en'] = {'site name', true}, ['local'] = nil}, {['en'] = {'statement', true}, ['local'] = nil}, {['en'] = {'submitted', true}, ['local'] = nil}, {['en'] = {'super.?user', false}, ['local'] = nil}, {['en'] = {'%f['..is_Latn..'][Uu]ser%f[^'..is_Latn..']', false}, ['local'] = nil}, {['en'] = {'updated', true}, ['local'] = nil}, {['en'] = {'verfasser', true}, ['local'] = nil}, } } } --[[--------------------------< D A T E _ N A M E S >---------------------------------------------------------- This table of tables lists local language date names and fallback English date names. The code in Date_validation will look first in the local table for valid date names. If date names are not found in the local table, the code will look in the English table. Because citations can be copied to the local wiki from en.wiki, the English is required when the date-name translation function date_name_xlate() is used. In these tables, season numbering is defined by Extended Date/Time Format (EDTF) Specification (https://www.loc.gov/standards/datetime/) which became part of ISO 8601 in 2019. See '§Sub-year groupings'. The standard defines various divisions using numbers 21-41. CS1|2 only supports generic seasons. EDTF does support the distinction between north and south hemisphere seasons but CS1|2 has no way to make that distinction. 33-36 = Quarter 1, Quarter 2, Quarter 3, Quarter 4 (3 months each) The standard does not address 'named' dates so, for the purposes of CS1|2, Easter and Christmas are defined here as 98 and 99, which should be out of the ISO 8601 (EDTF) range of uses for a while. local_date_names_from_mediawiki is a boolean. When set to: true – module will fetch local month names from MediaWiki for both date_names['local']['long'] and date_names['local']['short']; this will unconditionally overwrite manual translations false – module will *not* fetch local month names from MediaWiki Caveat lector: There is no guarantee that MediaWiki will provide short month names. At your wiki you can test the results of the MediaWiki fetch in the debug console with this command (the result is alpha sorted): =mw.dumpObject (p.date_names['local']) While the module can fetch month names from MediaWiki, it cannot fetch the quarter, season, and named date names from MediaWiki. Those must be translated manually. ]] local local_date_names_from_mediawiki = true; -- when false, manual translation required for date_names['local']['long'] and date_names['local']['short']; overwrites manual translations -- when true, module fetches long and short month names from MediaWiki local date_names = { ['en'] = { -- English ['long'] = {['January'] = 1, ['February'] = 2, ['March'] = 3, ['April'] = 4, ['May'] = 5, ['June'] = 6, ['July'] = 7, ['August'] = 8, ['September'] = 9, ['October'] = 10, ['November'] = 11, ['December'] = 12}, ['short'] = {['Jan'] = 1, ['Feb'] = 2, ['Mar'] = 3, ['Apr'] = 4, ['May'] = 5, ['Jun'] = 6, ['Jul'] = 7, ['Aug'] = 8, ['Sep'] = 9, ['Oct'] = 10, ['Nov'] = 11, ['Dec'] = 12}, ['quarter'] = {['First Quarter'] = 33, ['Second Quarter'] = 34, ['Third Quarter'] = 35, ['Fourth Quarter'] = 36}, ['season'] = {['Winter'] = 24, ['Spring'] = 21, ['Summer'] = 22, ['Fall'] = 23, ['Autumn'] = 23}, ['named'] = {['Easter'] = 98, ['Christmas'] = 99}, }, -- when local_date_names_from_mediawiki = false ['local'] = { -- replace these English date names with the local language equivalents ['long'] = {['January'] = 1, ['February'] = 2, ['March'] = 3, ['April'] = 4, ['May'] = 5, ['June'] = 6, ['July'] = 7, ['August'] = 8, ['September'] = 9, ['October'] = 10, ['November'] = 11, ['December'] = 12}, ['short'] = {['Jan'] = 1, ['Feb'] = 2, ['Mar'] = 3, ['Apr'] = 4, ['May'] = 5, ['Jun'] = 6, ['Jul'] = 7, ['Aug'] = 8, ['Sep'] = 9, ['Oct'] = 10, ['Nov'] = 11, ['Dec'] = 12}, ['quarter'] = {['First Quarter'] = 33, ['Second Quarter'] = 34, ['Third Quarter'] = 35, ['Fourth Quarter'] = 36}, ['season'] = {['Winter'] = 24, ['Spring'] = 21, ['Summer'] = 22, ['Fall'] = 23, ['Autumn'] = 23}, ['named'] = {['Easter'] = 98, ['Christmas'] = 99}, }, ['inv_local_long'] = {}, -- used in date reformatting & translation; copy of date_names['local'].long where k/v are inverted: [1]='<local name>' etc. ['inv_local_short'] = {}, -- used in date reformatting & translation; copy of date_names['local'].short where k/v are inverted: [1]='<local name>' etc. ['inv_local_quarter'] = {}, -- used in date translation; copy of date_names['local'].quarter where k/v are inverted: [1]='<local name>' etc. ['inv_local_season'] = {}, -- used in date translation; copy of date_names['local'].season where k/v are inverted: [1]='<local name>' etc. ['inv_local_named'] = {}, -- used in date translation; copy of date_names['local'].named where k/v are inverted: [1]='<local name>' etc. ['local_digits'] = {['0'] = '0', ['1'] = '1', ['2'] = '2', ['3'] = '3', ['4'] = '4', ['5'] = '5', ['6'] = '6', ['7'] = '7', ['8'] = '8', ['9'] = '9'}, -- used to convert local language digits to Western 0-9 ['xlate_digits'] = {}, } if local_date_names_from_mediawiki then -- if fetching local month names from MediaWiki is enabled local long_t = {}; local short_t = {}; for i=1, 12 do -- loop 12x and local name = lang_obj:formatDate('F', '2022-' .. i .. '-1'); -- get long month name for each i long_t[name] = i; -- save it name = lang_obj:formatDate('M', '2022-' .. i .. '-1'); -- get short month name for each i short_t[name] = i; -- save it end date_names['local']['long'] = long_t; -- write the long table – overwrites manual translation date_names['local']['short'] = short_t; -- write the short table – overwrites manual translation end -- create inverted date-name tables for reformatting and/or translation for _, invert_t in pairs {{'long', 'inv_local_long'}, {'short', 'inv_local_short'}, {'quarter', 'inv_local_quarter'}, {'season', 'inv_local_season'}, {'named', 'inv_local_named'}} do for name, i in pairs (date_names['local'][invert_t[1]]) do -- this table is ['name'] = i date_names[invert_t[2]][i] = name; -- invert to get [i] = 'name' for conversions from ymd end end if local_digits_from_mediawiki then -- if fetching local digits from MediaWiki is enabled local digits_t = {}; for i=0, 9 do -- loop 10x and digits_t [lang_obj:formatNum (i)] = tostring (i); -- format the loop indexer as local lang table index and assign loop indexer (a string) as the value end date_names['local_digits'] = digits_t; end for ld, ed in pairs (date_names.local_digits) do -- make a digit translation table for simple date translation from en to local language using local_digits table date_names.xlate_digits [ed] = ld; -- en digit becomes index with local digit as the value end local df_template_patterns = { -- table of redirects to {{Use dmy dates}} and {{Use mdy dates}} '{{ *[Uu]se +(dmy) +dates *[|}]', -- 1159k -- sorted by approximate transclusion count '{{ *[Uu]se +(mdy) +dates *[|}]', -- 212k '{{ *[Uu]se +(MDY) +dates *[|}]', -- 788 '{{ *[Uu]se +(DMY) +dates *[|}]', -- 343 '{{ *([Mm]dy) *[|}]', -- 176 '{{ *[Uu]se *(dmy) *[|}]', -- 156 + 18 '{{ *[Uu]se *(mdy) *[|}]', -- 149 + 11 '{{ *([Dd]my) *[|}]', -- 56 '{{ *[Uu]se +(MDY) *[|}]', -- 5 '{{ *([Dd]MY) *[|}]', -- 3 '{{ *[Uu]se(mdy)dates *[|}]', -- 1 '{{ *[Uu]se +(DMY) *[|}]', -- 0 '{{ *([Mm]DY) *[|}]', -- 0 } local title_object = mw.title.getCurrentTitle(); local content; -- done this way so that unused templates appear in unused-template-reports; self-transcluded makes them look like they are used if 10 ~= title_object.namespace then -- all namespaces except Template content = title_object:getContent() or ''; -- get the content of the article or ''; new pages edited w/ve do not have 'content' until saved; ve does not preview; phab:T221625 end local function get_date_format () if not content then -- nil content when we're in template return nil; -- auto-formatting does not work in Template space so don't set global_df end for _, pattern in ipairs (df_template_patterns) do -- loop through the patterns looking for {{Use dmy dates}} or {{Use mdy dates}} or any of their redirects local start, _, match = content:find(pattern); -- match is the three letters indicating desired date format if match then local use_dates_template = content:match ('%b{}', start); -- get the whole template if use_dates_template:match ('| *cs1%-dates *= *[lsy][sy]?') then -- look for |cs1-dates=publication date length access-/archive-date length return match:lower() .. '-' .. use_dates_template:match ('| *cs1%-dates *= *([lsy][sy]?)'); else return match:lower() .. '-all'; -- no |cs1-dates= k/v pair; return value appropriate for use in |df= end end end end local global_df; -- TODO: add this to <global_cs1_config_t>? --[[-----------------< V O L U M E , I S S U E , P A G E S >------------------ These tables hold cite class values (from the template invocation) and identify those templates that support |volume=, |issue=, and |page(s)= parameters. Cite conference and cite map require further qualification which is handled in the main module. ]] local templates_using_volume = {'citation', 'audio-visual', 'book', 'conference', 'encyclopaedia', 'interview', 'journal', 'magazine', 'map', 'news', 'report', 'techreport', 'thesis'} local templates_using_issue = {'citation', 'conference', 'episode', 'interview', 'journal', 'magazine', 'map', 'news', 'podcast'} local templates_not_using_page = {'audio-visual', 'episode', 'mailinglist', 'newsgroup', 'podcast', 'serial', 'sign', 'speech'} --[[ These tables control when it is appropriate for {{citation}} to render |volume= and/or |issue=. The parameter names in the tables constrain {{citation}} so that its renderings match the renderings of the equivalent cs1 templates. For example, {{cite web}} does not support |volume= so the equivalent {{citation |website=...}} must not support |volume=. ]] local citation_no_volume_t = { -- {{citation}} does not render |volume= when these parameters are used 'website', 'mailinglist', 'script-website', } local citation_issue_t = { -- {{citation}} may render |issue= when these parameters are used 'journal', 'magazine', 'newspaper', 'periodical', 'work', 'script-journal', 'script-magazine', 'script-newspaper', 'script-periodical', 'script-work', } --[[ Patterns for finding extra text in |volume=, |issue=, |page=, |pages= ]] local vol_iss_pg_patterns = { good_ppattern = '^P[^%.PpGg]', -- OK to begin with uppercase P: P7 (page 7 of section P), but not p123 (page 123); TODO: this allows 'Pages' which it should not bad_ppatterns = { -- patterns for |page= and |pages= '^[Pp][PpGg]?%.?[ %d]', '^[Pp][Pp]?%.&nbsp;', -- from {{p.}} and {{pp.}} templates '^[Pp]ages?', '^[Pp]gs.?', }, vi_patterns_t = { -- combined to catch volume-like text in |issue= and issue-like text in |volume= '^volumes?', -- volume-like text '^vols?[%.:=]?', '^issues?', --issue-like text '^iss[%.:=]?', '^numbers?', '^nos?%A', -- don't match 'november' or 'nostradamus' '^nr[%.:=]?', '^n[%.:= ]', -- might be a valid issue without separator (space char is sep char here) '^n°', -- 'n' with degree sign (U+00B0) '^№', -- precomposed unicode numero character (U+2116) }, } --[[--------------------------< K E Y W O R D S >------------------------------- These tables hold keywords for those parameters that have defined sets of acceptable keywords. ]] --[[-------------------< K E Y W O R D S T A B L E >-------------------------- this is a list of keywords; each key in the list is associated with a table of synonymous keywords possibly from different languages. for I18N: add local-language keywords to value table; do not change the key. For example, adding the German keyword 'ja': ['affirmative'] = {'yes', 'true', 'y', 'ja'}, Because CS1|2 templates from en.wiki articles are often copied to other local wikis, it is recommended that the English keywords remain in these tables. ]] local keywords = { ['amp'] = {'&', 'amp', 'ampersand'}, -- |name-list-style= ['and'] = {'and', 'serial'}, -- |name-list-style= ['affirmative'] = {'yes', 'true', 'y'}, -- |no-tracking=, |no-pp= -- Used by InternetArchiveBot ['afterword'] = {'afterword'}, -- |contribution= ['bot: unknown'] = {'bot: unknown'}, -- |url-status= -- Used by InternetArchiveBot ['cs1'] = {'cs1'}, -- |mode= ['cs2'] = {'cs2'}, -- |mode= ['dead'] = {'dead', 'deviated'}, -- |url-status= -- Used by InternetArchiveBot ['dmy'] = {'dmy'}, -- |df= ['dmy-all'] = {'dmy-all'}, -- |df= -- etal = {'etal'}, -- |display-authors=, etc etal = {'etal', 'ほか'}, ['foreword'] = {'foreword'}, -- |contribution= ['free'] = {'free'}, -- |<id>-access= -- Used by InternetArchiveBot ['harv'] = {'harv'}, -- |ref=; this no longer supported; is_valid_parameter_value() called with <invert> = true ['introduction'] = {'introduction'}, -- |contribution= ['limited'] = {'limited'}, -- |url-access= -- Used by InternetArchiveBot ['live'] = {'live'}, -- |url-status= -- Used by InternetArchiveBot ['mdy'] = {'mdy'}, -- |df= ['mdy-all'] = {'mdy-all'}, -- |df= ['none'] = {'none'}, -- |postscript=, |ref=, |title=, |type= -- Used by InternetArchiveBot ['off'] = {'off'}, -- |title= (potentially also: |title-link=, |postscript=, |ref=, |type=) ['preface'] = {'preface'}, -- |contribution= ['registration'] = {'registration'}, -- |url-access= -- Used by InternetArchiveBot ['subscription'] = {'subscription'}, -- |url-access= -- Used by InternetArchiveBot ['unfit'] = {'unfit'}, -- |url-status= -- Used by InternetArchiveBot ['usurped'] = {'usurped'}, -- |url-status= -- Used by InternetArchiveBot ['vanc'] = {'vanc'}, -- |name-list-style= ['ymd'] = {'ymd'}, -- |df= ['ymd-all'] = {'ymd-all'}, -- |df= -- ['yMd'] = {'yMd'}, -- |df=; not supported at en.wiki -- ['yMd-all'] = {'yMd-all'}, -- |df=; not supported at en.wiki } --[[------------------------< X L A T E _ K E Y W O R D S >--------------------- this function builds a list, keywords_xlate{}, of the keywords found in keywords{} where the values from keywords{} become the keys in keywords_xlate{} and the keys from keywords{} become the values in keywords_xlate{}: ['affirmative'] = {'yes', 'true', 'y'}, -- in keywords{} becomes ['yes'] = 'affirmative', -- in keywords_xlate{} ['true'] = 'affirmative', ['y'] = 'affirmative', the purpose of this function is to act as a translator between a non-English keyword and its English equivalent that may be used in other modules of this suite ]] local function xlate_keywords () local out_table = {}; -- output goes here for k, keywords_t in pairs (keywords) do -- spin through the keywords table for _, keyword in ipairs (keywords_t) do -- for each keyword out_table[keyword] = k; -- create an entry in the output table where keyword is the key end end return out_table; end local keywords_xlate = xlate_keywords (); -- the list of translated keywords --[[----------------< M A K E _ K E Y W O R D S _ L I S T >--------------------- this function assembles, for parameter-value validation, the list of keywords appropriate to that parameter. keywords_lists{}, is a table of tables from keywords{} ]] local function make_keywords_list (keywords_lists) local out_table = {}; -- output goes here for _, keyword_list in ipairs (keywords_lists) do -- spin through keywords_lists{} and get a table of keywords for _, keyword in ipairs (keyword_list) do -- spin through keyword_list{} and add each keyword, ... table.insert (out_table, keyword); -- ... as plain text, to the output list end end return out_table; end --[[----------------< K E Y W O R D S _ L I S T S >----------------------------- this is a list of lists of valid keywords for the various parameters in [key]. Generally the keys in this table are the canonical en.wiki parameter names though some are contrived because of use in multiple differently named parameters: ['yes_true_y'], ['id-access']. The function make_keywords_list() extracts the individual keywords from the appropriate list in keywords{}. The lists in this table are used to validate the keyword assignment for the parameters named in this table's keys. ]] local keywords_lists = { ['yes_true_y'] = make_keywords_list ({keywords.affirmative}), ['contribution'] = make_keywords_list ({keywords.afterword, keywords.foreword, keywords.introduction, keywords.preface}), ['df'] = make_keywords_list ({keywords.dmy, keywords['dmy-all'], keywords.mdy, keywords['mdy-all'], keywords.ymd, keywords['ymd-all']}), -- ['df'] = make_keywords_list ({keywords.dmy, keywords['dmy-all'], keywords.mdy, keywords['mdy-all'], keywords.ymd, keywords['ymd-all'], keywords.yMd, keywords['yMd-all']}), -- not supported at en.wiki ['mode'] = make_keywords_list ({keywords.cs1, keywords.cs2}), ['name-list-style'] = make_keywords_list ({keywords.amp, keywords['and'], keywords.vanc}), ['ref'] = make_keywords_list ({keywords.harv}), -- inverted check; |ref=harv no longer supported ['url-access'] = make_keywords_list ({keywords.subscription, keywords.limited, keywords.registration}), ['url-status'] = make_keywords_list ({keywords.dead, keywords.live, keywords.unfit, keywords.usurped, keywords['bot: unknown']}), ['id-access'] = make_keywords_list ({keywords.free}), } --[[--------------------------< C S 1 _ C O N F I G _ G E T >-------------------------------------------------- fetch and validate values from {{cs1 config}} template to fill <global_cs1_config_t> no error messages; when errors are detected, the parameter value from {{cs1 config}} is blanked. Supports all parameters and aliases associated with the metaparameters: DisplayAuthors, DisplayContributors, DisplayEditors, DisplayInterviewers, DisplayTranslators, NameListStyle, and Mode. The DisplayWhatever metaparameters accept numeric values only (|display-authors=etal and the like is not supported). ]] local global_cs1_config_t = {}; -- TODO: add value returned from get_date_format() to this table? local function get_cs1_config () if not content then -- nil content when we're in template return nil; -- auto-formatting does not work in Template space so don't set global_df end local start = content:find('{{ *[Cc][Ss]1 config *[|}]'); -- <start> is offset into <content> when {{cs1 config}} found; nil else if start then local cs1_config_template = content:match ('%b{}', start); -- get the whole template if not cs1_config_template then return nil; end local params_t = mw.text.split (cs1_config_template:gsub ('^{{%s*', ''):gsub ('%s*}}$', ''), '%s*|%s*'); -- remove '{{' and '}}'; make a sequence of parameter/value pairs (split on the pipe) table.remove (params_t, 1); -- remove the template name because it isn't a parameter/value pair local config_meta_params_t = {'DisplayAuthors', 'DisplayContributors', 'DisplayEditors', 'DisplayInterviewers', 'DisplayTranslators', 'NameListStyle', 'Mode'}; local meta_param_map_t = {}; -- list of accepted parameter names usable in {{cs1 config}} goes here for _, meta_param in ipairs (config_meta_params_t) do -- for i18n using <config_meta_params_t>, map template parameter names to their metaparameter equivalents if 'table' == type (aliases[meta_param]) then -- if <meta_param> is a sequence, for _, param in ipairs (aliases[meta_param]) do -- extract its contents meta_param_map_t[param] = meta_param; -- and add to <meta_param_map_t> end else meta_param_map_t[aliases[meta_param]] = meta_param; -- not a sequence so just add the parameter to <meta_param_map_t> end end local keywords_t = {}; -- map valid keywords to their associate metaparameter; reverse form of <keyword_lists[key] for these metaparameters for _, metaparam_t in ipairs ({{'NameListStyle', 'name-list-style'}, {'Mode', 'mode'}}) do -- only these metaparameter / keywords_lists key pairs for _, keyword in ipairs (keywords_lists[metaparam_t[2]]) do -- spin through the list of keywords keywords_t[keyword] = metaparam_t[1]; -- add [keyword] = metaparameter to the map end end for _, param in ipairs (params_t) do -- spin through the {{cs1 config}} parameters and fill <global_cs1_config_t> local k, v = param:match ('([^=]-)%s*=%s*(.+)'); -- <k> is the parameter name; <v> is parameter's assigned value if k then if k:find ('^display') then -- if <k> is one of the |display-<namelist>= parameters if v:match ('%d+') then -- the assigned value must be digits; doesn't accept 'etal' global_cs1_config_t[meta_param_map_t[k]]=v; -- add the display param and its value to globals table end else if keywords_t[v] == meta_param_map_t[k] then -- keywords_t[v] returns nil or the metaparam name; these must be the same global_cs1_config_t[meta_param_map_t[k]]=v; -- add the parameter and its value to globals table end end end end end end get_cs1_config (); -- fill <global_cs1_config_t> --[[---------------------< S T R I P M A R K E R S >---------------------------- Common pattern definition location for stripmarkers so that we don't have to go hunting for them if (when) MediaWiki changes their form. ]] local stripmarkers = { ['any'] = '\127[^\127]*UNIQ%-%-(%a+)%-[%a%d]+%-QINU[^\127]*\127', -- capture returns name of stripmarker ['math'] = '\127[^\127]*UNIQ%-%-math%-[%a%d]+%-QINU[^\127]*\127' -- math stripmarkers used in coins_cleanup() and coins_replace_math_stripmarker() } --[[------------< I N V I S I B L E _ C H A R A C T E R S >--------------------- This table holds non-printing or invisible characters indexed either by name or by Unicode group. Values are decimal representations of UTF-8 codes. The table is organized as a table of tables because the Lua pairs keyword returns table data in an arbitrary order. Here, we want to process the table from top to bottom because the entries at the top of the table are also found in the ranges specified by the entries at the bottom of the table. Also here is a pattern that recognizes stripmarkers that begin and end with the delete characters. The nowiki stripmarker is not an error but some others are because the parameter values that include them become part of the template's metadata before stripmarker replacement. ]] local invisible_defs = { del = '\127', -- used to distinguish between stripmarker and del char zwj = '\226\128\141', -- used with capture because zwj may be allowed } local invisible_chars = { {'replacement', '\239\191\189'}, -- U+FFFD, EF BF BD {'zero width joiner', '('.. invisible_defs.zwj .. ')'}, -- U+200D, E2 80 8D; capture because zwj may be allowed {'zero width space', '\226\128\139'}, -- U+200B, E2 80 8B {'hair space', '\226\128\138'}, -- U+200A, E2 80 8A {'soft hyphen', '\194\173'}, -- U+00AD, C2 AD {'horizontal tab', '\009'}, -- U+0009 (HT), 09 {'line feed', '\010'}, -- U+000A (LF), 0A {'no-break space', '\194\160'}, -- U+00A0 (NBSP), C2 A0 {'carriage return', '\013'}, -- U+000D (CR), 0D {'stripmarker', stripmarkers.any}, -- stripmarker; may or may not be an error; capture returns the stripmaker type {'delete', '('.. invisible_defs.del .. ')'}, -- U+007F (DEL), 7F; must be done after stripmarker test; capture to distinguish isolated del chars not part of stripmarker {'C0 control', '[\000-\008\011\012\014-\031]'}, -- U+0000–U+001F (NULL–US), 00–1F (except HT, LF, CR (09, 0A, 0D)) {'C1 control', '[\194\128-\194\159]'}, -- U+0080–U+009F (XXX–APC), C2 80 – C2 9F -- {'Specials', '[\239\191\185-\239\191\191]'}, -- U+FFF9-U+FFFF, EF BF B9 – EF BF BF -- {'Private use area', '[\238\128\128-\239\163\191]'}, -- U+E000–U+F8FF, EE 80 80 – EF A3 BF -- {'Supplementary Private Use Area-A', '[\243\176\128\128-\243\191\191\189]'}, -- U+F0000–U+FFFFD, F3 B0 80 80 – F3 BF BF BD -- {'Supplementary Private Use Area-B', '[\244\128\128\128-\244\143\191\189]'}, -- U+100000–U+10FFFD, F4 80 80 80 – F4 8F BF BD } --[[ Indic script makes use of zero width joiner as a character modifier so zwj characters must be left in. This pattern covers all of the unicode characters for these languages: Devanagari 0900–097F – https://unicode.org/charts/PDF/U0900.pdf Devanagari extended A8E0–A8FF – https://unicode.org/charts/PDF/UA8E0.pdf Bengali 0980–09FF – https://unicode.org/charts/PDF/U0980.pdf Gurmukhi 0A00–0A7F – https://unicode.org/charts/PDF/U0A00.pdf Gujarati 0A80–0AFF – https://unicode.org/charts/PDF/U0A80.pdf Oriya 0B00–0B7F – https://unicode.org/charts/PDF/U0B00.pdf Tamil 0B80–0BFF – https://unicode.org/charts/PDF/U0B80.pdf Telugu 0C00–0C7F – https://unicode.org/charts/PDF/U0C00.pdf Kannada 0C80–0CFF – https://unicode.org/charts/PDF/U0C80.pdf Malayalam 0D00–0D7F – https://unicode.org/charts/PDF/U0D00.pdf plus the not-necessarily Indic scripts for Sinhala and Burmese: Sinhala 0D80-0DFF - https://unicode.org/charts/PDF/U0D80.pdf Myanmar 1000-109F - https://unicode.org/charts/PDF/U1000.pdf Myanmar extended A AA60-AA7F - https://unicode.org/charts/PDF/UAA60.pdf Myanmar extended B A9E0-A9FF - https://unicode.org/charts/PDF/UA9E0.pdf the pattern is used by has_invisible_chars() and coins_cleanup() ]] local indic_script = '[\224\164\128-\224\181\191\224\163\160-\224\183\191\225\128\128-\225\130\159\234\167\160-\234\167\191\234\169\160-\234\169\191]'; -- list of emoji that use a zwj character (U+200D) to combine with another emoji -- from: https://unicode.org/Public/emoji/17.0/emoji-zwj-sequences.txt; version: 17.0; 2025-01-08 -- table created by: [[:en:Module:Make emoji zwj table]] local emoji_t = { -- indexes are decimal forms of the hex values in U+xxxx [8596] = true, -- U+2194 ↔ left right arrow [8597] = true, -- U+2195 ↕ up down arrow [9760] = true, -- U+2620 ☠ skull and crossbones [9792] = true, -- U+2640 ♀ female sign [9794] = true, -- U+2642 ♂ male sign [9877] = true, -- U+2695 ⚕ staff of aesculapius [9878] = true, -- U+2696 ⚖ scales [9895] = true, -- U+26A7 ⚧ male with stroke and male and female sign [9992] = true, -- U+2708 ✈ airplane [10052] = true, -- U+2744 ❄ snowflake [10084] = true, -- U+2764 ❤ heavy black heart [10145] = true, -- U+27A1 ➡ black rightwards arrow [11035] = true, -- U+2B1B ⬛ black large square [127752] = true, -- U+1F308 🌈 rainbow [127787] = true, -- U+1F32B 🌫 fog [127806] = true, -- U+1F33E 🌾 ear of rice [127859] = true, -- U+1F373 🍳 cooking [127868] = true, -- U+1F37C 🍼 baby bottle [127876] = true, -- U+1F384 🎄 christmas tree [127891] = true, -- U+1F393 🎓 graduation cap [127908] = true, -- U+1F3A4 🎤 microphone [127912] = true, -- U+1F3A8 🎨 artist palette [127979] = true, -- U+1F3EB 🏫 school [127981] = true, -- U+1F3ED 🏭 factory [128048] = true, -- U+1F430 🐰 rabbit face [128102] = true, -- U+1F466 👦 boy [128103] = true, -- U+1F467 👧 girl [128104] = true, -- U+1F468 👨 man [128105] = true, -- U+1F469 👩 woman [128139] = true, -- U+1F48B 💋 kiss mark [128165] = true, -- U+1F4A5 💥 collision symbol [128168] = true, -- U+1F4A8 💨 dash symbol [128171] = true, -- U+1F4AB 💫 dizzy symbol [128187] = true, -- U+1F4BB 💻 personal computer [128188] = true, -- U+1F4BC 💼 brief case [128293] = true, -- U+1F525 🔥 fire [128295] = true, -- U+1F527 🔧 wrench [128300] = true, -- U+1F52C 🔬 microscope [128488] = true, -- U+1F5E8 🗨 left speech bubble [128640] = true, -- U+1F680 🚀 rocket [128658] = true, -- U+1F692 🚒 fire engine [129001] = true, -- U+1F7E9 🟩 large green square [129003] = true, -- U+1F7EB 🟫 large brown square [129309] = true, -- U+1F91D 🤝 handshake [129455] = true, -- U+1F9AF 🦯 probing cane [129456] = true, -- U+1F9B0 🦰 emoji component red hair [129457] = true, -- U+1F9B1 🦱 emoji component curly hair [129458] = true, -- U+1F9B2 🦲 emoji component bald [129459] = true, -- U+1F9B3 🦳 emoji component white hair [129466] = true, -- U+1F9BA 🦺 safety vest [129468] = true, -- U+1F9BC 🦼 motorized wheelchair [129469] = true, -- U+1F9BD 🦽 manual wheelchair [129489] = true, -- U+1F9D1 🧑 adult [129490] = true, -- U+1F9D2 🧒 child [129648] = true, -- U+1FA70 🩰 ballet shoes [129657] = true, -- U+1FA79 🩹 adhesive bandage [129775] = true, -- U+1FAEF 🫯 fight cloud [129778] = true, -- U+1FAF2 🫲 leftwards hand } --[[----------------------< L A N G U A G E S U P P O R T >------------------- These tables and constants support various language-specific functionality. ]] --local this_wiki_code = mw.getContentLanguage():getCode(); -- get this wiki's language code local this_wiki_code = lang_obj:getCode(); -- get this wiki's language code if string.match (mw.site.server, 'wikidata') then this_wiki_code = mw.getCurrentFrame():callParserFunction('int', {'lang'}); -- on Wikidata so use interface language setting instead end local mw_languages_by_tag_t = mw.language.fetchLanguageNames (this_wiki_code, 'all'); -- get a table of language tag/name pairs known to Wikimedia; used for interwiki tests local mw_languages_by_name_t = {}; for k, v in pairs (mw_languages_by_tag_t) do -- build a 'reversed' table name/tag language pairs know to MediaWiki; used for |language= v = mw.ustring.lower (v); -- lowercase for tag fetch; get name's proper case from mw_languages_by_tag_t[<tag>] if mw_languages_by_name_t[v] then -- when name already in the table if 2 == #k or 3 == #k then -- if tag does not have subtags mw_languages_by_name_t[v] = k; -- prefer the shortest tag for this name end else -- here when name not in the table mw_languages_by_name_t[v] = k; -- so add name and matching tag end end local inter_wiki_map = {}; -- map of interwiki prefixes that are language-code prefixes for k, v in pairs (mw.site.interwikiMap ('local')) do -- spin through the base interwiki map (limited to local) if mw_languages_by_tag_t[v["prefix"]] then -- if the prefix matches a known language tag inter_wiki_map[v["prefix"]] = true; -- add it to our local map end end --[[--------------------< S C R I P T _ L A N G _ C O D E S >------------------- This table is used to hold ISO 639-1 two-character and ISO 639-3 three-character language codes that apply only to |script-title= and |script-chapter= ]] local script_lang_codes = { 'ab', 'am', 'ar', 'as', 'az', 'be', 'bg', 'bn', 'bo', 'bs', 'ce', 'chr', 'cu', 'dv', 'dz', 'el', 'fa', 'grc', 'gu', 'he', 'hi', 'hy', 'ja', 'ka', 'kaa', 'kk', 'km', 'kn', 'ko', 'ku', 'ky', 'lo', 'mk', 'ml', 'mn', 'mni', 'mr', 'my', 'ne', 'or', 'ota', 'pa', 'ps', 'ru', 'sd', 'si', 'sr', 'syc', 'ta', 'te', 'tg', 'th', 'ti', 'tkr', 'tt', 'ug', 'uk', 'ur', 'uz', 'yi', 'yue', 'zh', 'zgh' }; --[[---------------< L A N G U A G E R E M A P P I N G >---------------------- These tables hold language information that is different (correct) from MediaWiki's definitions For each ['<tag>'] = 'language name' in lang_code_remap{} there must be a matching ['language name'] = {'language name', '<tag>'} in lang_name_remap{} lang_tag_remap{}: key is always lowercase ISO 639-1, -2, -3 language tag or a valid lowercase IETF language tag value is properly spelled and capitalized language name associated with <tag> only one language name per <tag>; key/value pair must have matching entry in lang_name_remap{} lang_name_remap{}: key is always lowercase language name value is a table the holds correctly spelled and capitalized language name [1] and associated tag [2] (tag must match a tag key in lang_tag_remap{}) may have multiple keys referring to a common preferred name and tag; For example: ['kolsch'] and ['kölsch'] both refer to 'Kölsch' and 'ksh' ]] local lang_tag_remap = { -- used for |language= and |script-title= / |script-chapter= ['als'] = 'Tosk Albanian', -- MediaWiki returns Alemannisch ['bh'] = 'Bihari', -- MediaWiki uses 'bh' as a subdomain name for Bhojpuri Wikipedia: bh.wikipedia.org ['bla'] = 'Blackfoot', -- MediaWiki/IANA/ISO 639: Siksika; use en.wiki preferred name ['bn'] = 'Bengali', -- MediaWiki returns Bangla ['ca-valencia'] = 'Valencian', -- IETF variant of Catalan ['fkv'] = 'Kven', -- MediaWiki returns Kvensk ['gsw'] = 'Swiss German', ['ilo'] = 'Ilocano', -- MediaWiki/IANA/ISO 639: Iloko; use en.wiki preferred name ['ksh'] = 'Kölsch', -- MediaWiki: Colognian; use IANA/ISO 639 preferred name ['ksh-x-colog'] = 'Colognian', -- override MediaWiki ksh; no IANA/ISO 639 code for Colognian; IETF private code created at Module:Lang/data ['mis-x-ripuar'] = 'Ripuarian', -- override MediaWiki ksh; no IANA/ISO 639 code for Ripuarian; IETF private code created at Module:Lang/data ['nan-tw'] = 'Taiwanese Hokkien', -- make room for MediaWiki/IANA/ISO 639 nan: Min Nan Chinese and support en.wiki preferred name ['sr-ec'] = 'Serbian (Cyrillic script)', -- MediaWiki returns српски (ћирилица) ['sr-el'] = 'Serbian (Latin script)', -- MediaWiki returns srpski (latinica) } local lang_name_remap = { -- used for |language=; names require proper capitalization; tags must be lowercase ['alemannic'] = {'Swiss German', 'gsw'}, -- ISO 639-2, -3 alternate for Swiss German; MediaWiki mediawiki returns Alemannic for gsw; en.wiki preferred name ['alemannisch'] = {'Swiss German', 'gsw'}, -- not an ISO or IANA language name; MediaWiki uses 'als' as a subdomain name for Alemannic Wikipedia: als.wikipedia.org ['bangla'] = {'Bengali', 'bn'}, -- MediaWiki returns Bangla (the endonym) but we want Bengali (the exonym); here we remap ['bengali'] = {'Bengali', 'bn'}, -- MediaWiki doesn't use exonym so here we provide correct language name and 639-1 code ['bhojpuri'] = {'Bhojpuri', 'bho'}, -- MediaWiki uses 'bh' as a subdomain name for Bhojpuri Wikipedia: bh.wikipedia.org ['bihari'] = {'Bihari', 'bh'}, -- MediaWiki replaces 'Bihari' with 'Bhojpuri' so 'Bihari' cannot be found ['blackfoot'] = {'Blackfoot', 'bla'}, -- MediaWiki/IANA/ISO 639: Siksika; use en.wiki preferred name ['colognian'] = {'Colognian', 'ksh-x-colog'}, -- MediaWiki preferred name for ksh ['ilocano'] = {'Ilocano', 'ilo'}, -- MediaWiki/IANA/ISO 639: Iloko; use en.wiki preferred name ['kolsch'] = {'Kölsch', 'ksh'}, -- use IANA/ISO 639 preferred name (use non-diacritical o instead of umlaut ö) ['kölsch'] = {'Kölsch', 'ksh'}, -- use IANA/ISO 639 preferred name ['kven'] = {'Kven', 'fkv'}, -- Unicode CLDR have decided not to support English language name for these two... ['kvensk'] = {'Kven', 'fkv'}, -- ...they say to refer to IANA registry for English names ['ripuarian'] = {'Ripuarian', 'mis-x-ripuar'}, -- group of dialects; no code in MediaWiki or in IANA/ISO 639 ['serbian (cyrillic script)'] = {'Serbian (Cyrillic script)', 'sr-cyrl'}, -- special case to get correct tag when |language=sr-ec ['serbian (latin script)'] = {'Serbian (Latin script)', 'sr-latn'}, -- special case to get correct tag when |language=sr-el ['swiss german'] = {'Swiss German', 'gsw'}, ['taiwanese hokkien'] = {'Taiwanese Hokkien', 'nan-tw'}, -- make room for MediaWiki/IANA/ISO 639 nan: Min Nan Chinese ['tosk albanian'] = {'Tosk Albanian', 'als'}, -- MediaWiki replaces 'Tosk Albanian' with 'Alemannisch' so 'Tosk Albanian' cannot be found ['valencian'] = {'Valencian', 'ca-valencia'}, -- variant of Catalan; categorizes as Valencian } --[[---------------< P R O P E R T I E S _ C A T E G O R I E S >---------------- Properties categories. These are used for investigating qualities of citations. ]] local prop_cats = { ['foreign-lang-source'] = 'CS1 $1-language sources ($2)', -- |language= categories; $1 is foreign-language name, $2 is ISO639-1 code ['foreign-lang-source-2'] = 'CS1 foreign language sources (ISO 639-2)|$1', -- |language= category; a cat for ISO639-2 languages; $1 is the ISO 639-2 code used as a sort key ['interproj-linked-name'] = 'CS1 interproject-linked names|$1', -- any author, editor, etc that has an interproject link; $1 is interproject tag used as a sort key ['interwiki-linked-name'] = 'CS1 interwiki-linked names|$1', -- any author, editor, etc that has an interwiki link; $1 is interwiki tag used as a sort key; yeilds to interproject ['local-lang-source'] = 'CS1 $1-language sources ($2)', -- |language= categories; $1 is local-language name, $2 is ISO639-1 code; not emitted when local_lang_cat_enable is false ['location-test'] = 'CS1 location test', ['long-vol'] = 'CS1: long volume value', -- probably temporary cat to identify scope of |volume= values longer than 4 characters ['script'] = 'CS1 uses $1-language script ($2)', -- |script-title=xx: has matching category; $1 is language name, $2 is language tag ['tracked-param'] = 'CS1 tracked parameter: $1', -- $1 is base (enumerators removed) parameter name ['unfit'] = 'CS1: unfit URL', -- |url-status=unfit or |url-status=usurped; used to be a maint cat ['vanc-accept'] = 'CS1:Vancouver names with accept markup', -- for |vauthors=/|veditors= with accept-as-written markup ['year-range-abbreviated'] = 'CS1: abbreviated year range', -- probably temporary cat to identify scope of |date=, |year= values using YYYY–YY form } --[[-------------------< T I T L E _ T Y P E S >-------------------------------- Here we map a template's CitationClass to TitleType (default values for |type= parameter) ]] local title_types = { ['AV-media-notes'] = 'Media notes', ['document'] = 'Document', ['interview'] = 'Interview', ['mailinglist'] = 'Mailing list', ['map'] = 'Map', ['podcast'] = 'Podcast', ['pressrelease'] = 'Press release', ['report'] = 'Report', ['speech'] = 'Speech', ['techreport'] = 'Technical report', ['thesis'] = 'Thesis', } --[[--------------------------< B U I L D _ K N O W N _ F R E E _ D O I _ R E G I S T R A N T S _ T A B L E >-- build a table of doi registrants known to be free-to-read In a doi, the registrant ID is the series of digits between the '10.' and the first '/': in doi 10.1100/sommat, 1100 is the registrant ID see §3.2.2 DOI prefix of the Doi Handbook p. 43 https://www.doi.org/doi-handbook/DOI_Handbook_Final.pdf#page=43 ]] local function build_free_doi_registrants_table() local registrants_t = {}; for _, v in ipairs ({ '1045', '1074', '1096', '1100', '1155', '1186', '1194', '1371', '1613', '1629', '1989', '1999', '2147', '2196', '3285', '3389', '3390', '3906', '3748', '3814', '3847', '3897', '4061', '4089', '4103', '4172', '4175', '4230', '4236', '4239', '4240', '4249', '4251', '4252', '4253', '4254', '4291', '4292', '4312', '4329', '4330', '4331', '5074', '5086', '5194', '5210', '5306', '5312', '5313', '5314', '5315', '5316', '5317', '5318', '5319', '5320', '5321', '5334', '5402', '5409', '5410', '5411', '5412', '5492', '5493', '5494', '5495', '5496', '5497', '5498', '5499', '5500', '5501', '5527', '5528', '5662', '6064', '6219', '7167', '7217', '7287', '7482', '7490', '7554', '7717', '7759', '7766', '9778', '11131', '11569', '11647', '11648', '12688', '12703', '12715', '12942', '12998', '13105', '14256', '14293', '14303', '14502', '14720', '15215', '15292', '15458', '15347', '15412', '15560', '16995', '17573', '17645', '18553', '18637', '18757', '19080', '19173', '20419', '20944', '21037', '21105', '21468', '21767', '21425', '22261', '22323', '22459', '24105', '24196', '24404', '24413', '24966', '26529', '26614', '26775', '26873', '30845', '32545', '34291', '34641', '35711', '35712', '35713', '35995', '36648', '37126', '37532', '37871', '47128', '47622', '47959', '48438', '51741', '51746', '51935', '51936', '51937', '51938', '51939', '51940', '52165', '52437', '52975', '53288', '53347', '54081', '54947', '55295', '55667', '55741', '55914', '57009', '58647', '59081', '59490', '61375', '66183', '70587', }) do registrants_t[v] = true; -- build a k/v table of known free-to-read doi registrants end return registrants_t; end -- known free registrants identifiable by the doi suffix incipit local extended_registrants_t = { -- doi suffix incipits are evaluated as lua patterns ['1002'] = {'aelm', 'cesm', 'leap', 'loe2%.', 'lol2%.'}, -- Advanced Electronic Materials, Cochrane Evidence Synthesis and Methods, Learned Publishing, L&O e-Lectures, L&O Letters ['1016'] = {'j%.aace', 'j%.aed', 'j%.aiopen', 'j%.animal', 'j%.apsb', 'j%.addicn', -- AACE Endocrinology and Diabetes, AACE Endocrinology and Diabetes, AI Open, Animal, Acta Pharmaceutica Sinica B, Addiction Neuroscience 'j%.abrep', 'j%.gpb', 'j%.heliyon', 'j%.nlp', 'j%.patter', 'j%.proche', -- Addictive Behaviors Reports, Genomics, Proteomics & Bioinformatics after 2015, Heliyon, Natural Language Processing, Patterns, Procedia Chemistry 'j%.vgie', 'S1672-0229'}, -- VideoGIE, Genomics, Proteomics & Bioinformatics before 2015 ['1017'] = {'apj%.', 'nlp', 'mdh', 'S15574660'}, -- Natural Language Processing Journal, Medical History, Asia Pacific Journal ['1021'] = {'acscentsci', 'acsomega'}, -- ACS Central Science, ACS Omega ['1046'] = {'j%.1365-8711', 'j%.1365-246x'}, -- MNRAS, GJI ['1051'] = {'parasite'}, -- Parasite ['1093'] = {'mnras', 'mnrasl', 'gji', 'pnasnexus', 'rasti'}, -- MNRAS, MNRAS Letters, GJI, PNAS Nexus, RASTI ['1098'] = {'rsbm', 'rsob', 'rsos'}, -- Biographical Memoirs of Fellows of the Royal Society, Open Biology, Royal Society Open Science ['1099'] = {'acmi', 'mic', '00221287', 'mgen'}, -- Access Microbiology, Microbiology, Journal of General Microbiology, Microbial Genomics ['1107'] = {'S20569890', 'S20522525', 'S16005775', 'S24143146'}, -- Acta Crystallographica E, IUCrJ, Journal of Synchrotron Radiation, IUCrData ['1109'] = {'access', 'oa', 'oj'}, -- IEEE Access, IEEE Open Access..., IEEE Open Journal... ['1111'] = {'aogs', 'j%.1365-2966', 'j%.1745-3933', 'j%.1365-246X'}, -- Acta Obstetricia et Gynecologica Scandinavica, MNRAS, MNRAS Letters, GJI ['1128'] = {'asmcr', 'jmbe', 'mbio', 'mra', 'spectrum', 'msphere', 'msystems'}, --ASM Case Reports, Journal of Microbiology & Biology Education, mBio, Microbiology Resource Announcements, Microbiology Spectrum, mSphere, mSystems ['1136'] = {'bmjopen'}, -- BMJ Open ['1140'] = {'epjconf'}, -- EPJ Web of Conferences ['1192'] = {'bjo'}, -- BJPsych Open ['1210'] = {'jendso','jcemcr'}, -- Journal of the Endocrine Society, JCEM Case Reports ['1215'] = {'21573689', '21573698'}, -- L&O Fluids ['1257'] = {'jep'}, -- Journal of Economic Perspectives ['1590'] = {'0102-3306'}, -- Acta Botanica Brasilica ['4171'] = {'dm','mag'}, -- Documenta Mathematica, EMS Magazine ['4319'] = {'lo%.', 'lol%.', 'lom%.'}, -- L&O, L&O e-Lectures, L&O Methods ['5852'] = {'ejt'}, -- European Journal of Taxonomy ['7155'] = {'jgaa'}, -- Journal of Graph Algorithms and Applications ['7758'] = {'rsf'}, -- RSJ Journal ['11158'] = {'saasp'}, -- Systematic and Applied Acarology Special Publications ['11646'] = {'megataxa', 'mesozoic'}, -- Megataxa, Mesozoic ['14231'] = {'ag'}, -- Algebraic Geometry ['15446'] = {'abc'}, -- Acta Biológica Colombiana ['17239'] = {'jowr'}, -- Journal of Writing Research ['22073'] = {'pja'}, -- Persian Journal of Acarology ['24310'] = {'abm'}, -- Acta Botanica Malacitana ['24425'] = {'agp'}, -- Acta Geologica Polonica ['35249'] = {'rche'}, -- Revista Chilena de Entomología ['37520'] = {'fi'}, -- Fossil Imprint ['53562'] = {'ajcb'} -- Asian Journal of Conservation Biology } --[[===================<< E R R O R M E S S A G I N G >>====================== ]] --[[----------< E R R O R M E S S A G E S U P P L E M E N T S >------------- I18N for those messages that are supplemented with additional specific text that describes the reason for the error TODO: merge this with special_case_translations{}? ]] local err_msg_supl = { ['char'] = 'invalid character', -- |isbn=, |sbn= ['check'] = 'checksum', -- |isbn=, |sbn= empty_str = '(empty string)', -- empty unknown parameter check when cite has |= ['flag'] = 'flag', -- |archive-url= ['form'] = 'invalid form', -- |isbn=, |sbn= ['group'] = 'invalid group id', -- |isbn= ['initials'] = 'initials', -- Vancouver ['invalid language code'] = 'invalid language code', -- |script-<param>= ['journal'] = 'journal', -- |bibcode= ['length'] = 'length', -- |isbn=, |bibcode=, |sbn= ['liveweb'] = 'liveweb', -- |archive-url= ['missing comma'] = 'missing comma', -- Vancouver ['missing prefix'] = 'missing prefix', -- |script-<param>= ['missing title part'] = 'missing title part', -- |script-<param>= ['name'] = 'name', -- Vancouver ['non-Latin char'] = 'non-Latin character', -- Vancouver ['path'] = 'path', -- |archive-url= ['prefix'] = 'invalid prefix', -- |isbn= ['punctuation'] = 'punctuation', -- Vancouver ['save'] = 'save command', -- |archive-url= ['suffix'] = 'suffix', -- Vancouver ['timestamp'] = 'timestamp', -- |archive-url= ['unknown language code'] = 'unknown language code', -- |script-<param>= ['value'] = 'value', -- |bibcode= ['year'] = 'year', -- |bibcode= } --[[--------------< E R R O R _ C O N D I T I O N S >--------------------------- Error condition table. This table has two sections: errors at the top, maintenance at the bottom. Maint 'messaging' does not have a 'message' (message=nil) The following contains a list of IDs for various error conditions defined in the code. For each ID, we specify a text message to display, an error category to include, and whether the error message should be wrapped as a hidden comment. Anchor changes require identical changes to matching anchor in Help:CS1 errors TODO: rename error_conditions{} to something more generic; create separate error and maint tables inside that? ]] local error_conditions = { err_accessdate_missing_url = { message = '<code class="cs1-code">&#124;access-date=</code> requires <code class="cs1-code">&#124;url=</code>', anchor = 'accessdate_missing_url', category = 'CS1 errors: access-date without URL', hidden = false }, err_apostrophe_markup = { message = 'Italic or bold markup not allowed in: <code class="cs1-code">&#124;$1=</code>', -- $1 is parameter name anchor = 'apostrophe_markup', category = 'CS1 errors: markup', hidden = false }, err_archive_date_missing_url = { message = '<code class="cs1-code">&#124;archive-date=</code> requires <code class="cs1-code">&#124;archive-url=</code>', anchor = 'archive_date_missing_url', category = 'CS1 errors: archive-url', hidden = false }, err_archive_date_url_ts_mismatch = { message = '<code class="cs1-code">&#124;archive-date=</code> / <code class="cs1-code">&#124;archive-url=</code> timestamp mismatch; $1 suggested', anchor = 'archive_date_url_ts_mismatch', category = 'CS1 errors: archive-url', hidden = false }, err_archive_missing_date = { message = '<code class="cs1-code">&#124;archive-url=</code> requires <code class="cs1-code">&#124;archive-date=</code>', anchor = 'archive_missing_date', category = 'CS1 errors: archive-url', hidden = false }, err_archive_missing_url = { message = '<code class="cs1-code">&#124;archive-url=</code> requires <code class="cs1-code">&#124;url=</code>', anchor = 'archive_missing_url', category = 'CS1 errors: archive-url', hidden = false }, err_archive_url = { message = '<code class="cs1-code">&#124;archive-url=</code> is malformed: $1', -- $1 is error message detail anchor = 'archive_url', category = 'CS1 errors: archive-url', hidden = false }, err_arxiv_missing = { message = '<code class="cs1-code">&#124;arxiv=</code> required', anchor = 'arxiv_missing', category = 'CS1 errors: arXiv', -- same as bad arxiv hidden = false }, err_asintld_missing_asin = { message = '<code class="cs1-code">&#124;$1=</code> requires <code class="cs1-code">&#124;asin=</code>', -- $1 is parameter name anchor = 'asintld_missing_asin', category = 'CS1 errors: ASIN TLD', hidden = false }, err_bad_arxiv = { message = 'Check <code class="cs1-code">&#124;arxiv=</code> value', anchor = 'bad_arxiv', category = 'CS1 errors: arXiv', hidden = false }, err_bad_asin = { message = 'Check <code class="cs1-code">&#124;asin=</code> value', anchor = 'bad_asin', category ='CS1 errors: ASIN', hidden = false }, err_bad_asin_tld = { message = 'Check <code class="cs1-code">&#124;asin-tld=</code> value', anchor = 'bad_asin_tld', category ='CS1 errors: ASIN TLD', hidden = false }, err_bad_bibcode = { message = 'Check <code class="cs1-code">&#124;bibcode=</code> $1', -- $1 is error message detail anchor = 'bad_bibcode', category = 'CS1 errors: bibcode', hidden = false }, err_bad_biorxiv = { message = 'Check <code class="cs1-code">&#124;biorxiv=</code> value', anchor = 'bad_biorxiv', category = 'CS1 errors: bioRxiv', hidden = false }, err_bad_citeseerx = { message = 'Check <code class="cs1-code">&#124;citeseerx=</code> value', anchor = 'bad_citeseerx', category = 'CS1 errors: citeseerx', hidden = false }, err_bad_date = { message = 'Check date values in: $1', -- $1 is a parameter name list anchor = 'bad_date', category = 'CS1 errors: dates', hidden = false }, err_bad_doi = { message = 'Check <code class="cs1-code">&#124;doi=</code> value', anchor = 'bad_doi', category = 'CS1 errors: DOI', hidden = false }, err_bad_hdl = { message = 'Check <code class="cs1-code">&#124;hdl=</code> value', anchor = 'bad_hdl', category = 'CS1 errors: HDL', hidden = false }, err_bad_isbn = { message = 'Check <code class="cs1-code">&#124;isbn=</code> value: $1', -- $1 is error message detail anchor = 'bad_isbn', category = 'CS1 errors: ISBN', hidden = false }, err_bad_ismn = { message = 'Check <code class="cs1-code">&#124;ismn=</code> value', anchor = 'bad_ismn', category = 'CS1 errors: ISMN', hidden = false }, err_bad_issn = { message = 'Check <code class="cs1-code">&#124;$1issn=</code> value', -- $1 is 'e' or '' for eissn or issn anchor = 'bad_issn', category = 'CS1 errors: ISSN', hidden = false }, err_bad_jfm = { message = 'Check <code class="cs1-code">&#124;jfm=</code> value', anchor = 'bad_jfm', category = 'CS1 errors: JFM', hidden = false }, err_bad_jstor = { message = 'Check <code class="cs1-code">&#124;jstor=</code> value', anchor = 'bad_jstor', category = 'CS1 errors: JSTOR', hidden = false }, err_bad_lccn = { message = 'Check <code class="cs1-code">&#124;lccn=</code> value', anchor = 'bad_lccn', category = 'CS1 errors: LCCN', hidden = false }, err_bad_medrxiv = { message = 'Check <code class="cs1-code">&#124;medrxiv=</code> value', anchor = 'bad_medrxiv', category = 'CS1 errors: medRxiv', hidden = false }, err_bad_mr = { message = 'Check <code class="cs1-code">&#124;mr=</code> value', anchor = 'bad_mr', category = 'CS1 errors: MR', hidden = false }, err_bad_oclc = { message = 'Check <code class="cs1-code">&#124;oclc=</code> value', anchor = 'bad_oclc', category = 'CS1 errors: OCLC', hidden = false }, err_bad_ol = { message = 'Check <code class="cs1-code">&#124;ol=</code> value', anchor = 'bad_ol', category = 'CS1 errors: OL', hidden = false }, err_bad_osti = { message = 'Check <code class="cs1-code">&#124;osti=</code> value', anchor = 'bad_osti', category = 'CS1 errors: OSTI', hidden = false }, err_bad_paramlink = { -- for |title-link=, |author/editor/translator-link=, |series-link=, |episode-link= message = 'Check <code class="cs1-code">&#124;$1=</code> value', -- $1 is parameter name anchor = 'bad_paramlink', category = 'CS1 errors: parameter link', hidden = false }, err_bad_pmc = { message = 'Check <code class="cs1-code">&#124;pmc=</code> value', anchor = 'bad_pmc', category = 'CS1 errors: PMC', hidden = false }, err_bad_pmid = { message = 'Check <code class="cs1-code">&#124;pmid=</code> value', anchor = 'bad_pmid', category = 'CS1 errors: PMID', hidden = false }, err_bad_rfc = { message = 'Check <code class="cs1-code">&#124;rfc=</code> value', anchor = 'bad_rfc', category = 'CS1 errors: RFC', hidden = false }, err_bad_s2cid = { message = 'Check <code class="cs1-code">&#124;s2cid=</code> value', anchor = 'bad_s2cid', category = 'CS1 errors: S2CID', hidden = false }, err_bad_sbn = { message = 'Check <code class="cs1-code">&#124;sbn=</code> value: $1', -- $1 is error message detail anchor = 'bad_sbn', category = 'CS1 errors: SBN', hidden = false }, err_bad_ssrn = { message = 'Check <code class="cs1-code">&#124;ssrn=</code> value', anchor = 'bad_ssrn', category = 'CS1 errors: SSRN', hidden = false }, err_bad_url = { message = 'Check $1 value', -- $1 is parameter name anchor = 'bad_url', category = 'CS1 errors: URL', hidden = false }, err_bad_usenet_id = { message = 'Check <code class="cs1-code">&#124;message-id=</code> value', anchor = 'bad_message_id', category = 'CS1 errors: message-id', hidden = false }, err_bad_zbl = { message = 'Check <code class="cs1-code">&#124;zbl=</code> value', anchor = 'bad_zbl', category = 'CS1 errors: Zbl', hidden = false }, err_bare_url_missing_title = { message = '$1 missing title', -- $1 is parameter name anchor = 'bare_url_missing_title', category = 'CS1 errors: bare URL', hidden = false }, err_biorxiv_missing = { message = '<code class="cs1-code">&#124;biorxiv=</code> required', anchor = 'biorxiv_missing', category = 'CS1 errors: bioRxiv', -- same as bad bioRxiv hidden = false }, err_chapter_ignored = { message = '<code class="cs1-code">&#124;$1=</code> ignored', -- $1 is parameter name anchor = 'chapter_ignored', category = 'CS1 errors: chapter ignored', hidden = false }, err_citation_missing_title = { message = 'Missing or empty <code class="cs1-code">&#124;$1=</code>', -- $1 is parameter name anchor = 'citation_missing_title', category = 'CS1 errors: missing title', hidden = false }, err_citeseerx_missing = { message = '<code class="cs1-code">&#124;citeseerx=</code> required', anchor = 'citeseerx_missing', category = 'CS1 errors: citeseerx', -- same as bad citeseerx hidden = false }, err_cite_web_url = { -- this error applies to cite web and to cite podcast message = 'Missing or empty <code class="cs1-code">&#124;url=</code>', anchor = 'cite_web_url', category = 'CS1 errors: requires URL', hidden = false }, err_class_ignored = { message = '<code class="cs1-code">&#124;class=</code> ignored', anchor = 'class_ignored', category = 'CS1 errors: class', hidden = false }, err_contributor_ignored = { message = '<code class="cs1-code">&#124;contributor=</code> ignored', anchor = 'contributor_ignored', category = 'CS1 errors: contributor', hidden = false }, err_contributor_missing_required_param = { message = '<code class="cs1-code">&#124;contributor=</code> requires <code class="cs1-code">&#124;$1=</code>', -- $1 is parameter name anchor = 'contributor_missing_required_param', category = 'CS1 errors: contributor', hidden = false }, err_deprecated_params = { message = 'Cite uses deprecated parameter <code class="cs1-code">&#124;$1=</code>', -- $1 is parameter name anchor = 'deprecated_params', category = 'CS1 errors: deprecated parameters', hidden = false }, err_disp_name = { message = 'Invalid <code class="cs1-code">&#124;$1=$2</code>', -- $1 is parameter name; $2 is the assigned value anchor = 'disp_name', category = 'CS1 errors: display-names', hidden = false, }, err_doibroken_missing_doi = { message = '<code class="cs1-code">&#124;$1=</code> requires <code class="cs1-code">&#124;doi=</code>', -- $1 is parameter name anchor = 'doibroken_missing_doi', category = 'CS1 errors: DOI', hidden = false }, err_embargo_missing_pmc = { message = '<code class="cs1-code">&#124;$1=</code> requires <code class="cs1-code">&#124;pmc=</code>', -- $1 is parameter name anchor = 'embargo_missing_pmc', category = 'CS1 errors: PMC embargo', hidden = false }, err_empty_citation = { message = 'Empty citation', anchor = 'empty_citation', category = 'CS1 errors: empty citation', hidden = false }, err_etal = { message = 'Explicit use of et al. in: <code class="cs1-code">&#124;$1=</code>', -- $1 is parameter name anchor = 'explicit_et_al', category = 'CS1 errors: explicit use of et al.', hidden = false }, err_extra_text_edition = { message = '<code class="cs1-code">&#124;edition=</code> has extra text', anchor = 'extra_text_edition', category = 'CS1 errors: extra text: edition', hidden = false, }, err_extra_text_issue = { message = '<code class="cs1-code">&#124;$1=</code> has extra text', -- $1 is parameter name anchor = 'extra_text_issue', category = 'CS1 errors: extra text: issue', hidden = false, }, err_extra_text_pages = { message = '<code class="cs1-code">&#124;$1=</code> has extra text', -- $1 is parameter name anchor = 'extra_text_pages', category = 'CS1 errors: extra text: pages', hidden = false, }, err_extra_text_volume = { message = '<code class="cs1-code">&#124;$1=</code> has extra text', -- $1 is parameter name anchor = 'extra_text_volume', category = 'CS1 errors: extra text: volume', hidden = false, }, err_first_missing_last = { message = '<code class="cs1-code">&#124;$1=</code> missing <code class="cs1-code">&#124;$2=</code>', -- $1 is first alias, $2 is matching last alias anchor = 'first_missing_last', category = 'CS1 errors: missing name', -- author, contributor, editor, interviewer, translator hidden = false }, err_format_missing_url = { message = '<code class="cs1-code">&#124;$1=</code> requires <code class="cs1-code">&#124;$2=</code>', -- $1 is format parameter $2 is url parameter anchor = 'format_missing_url', category = 'CS1 errors: format without URL', hidden = false }, err_generic_name = { message = '<code class="cs1-code">&#124;$1=</code> has generic name', -- $1 is parameter name anchor = 'generic_name', category = 'CS1 errors: generic name', hidden = false, }, err_generic_title = { message = 'Cite uses generic title', anchor = 'generic_title', category = 'CS1 errors: generic title', hidden = false, }, err_invalid_isbn_date = { message = 'ISBN / Date incompatibility', anchor = 'invalid_isbn_date', category = 'CS1 errors: ISBN date', hidden = true }, err_invalid_param_val = { message = 'Invalid <code class="cs1-code">&#124;$1=$2</code>', -- $1 is parameter name $2 is parameter value anchor = 'invalid_param_val', category = 'CS1 errors: invalid parameter value', hidden = false }, err_invisible_char = { message = '$1 in $2 at position $3', -- $1 is invisible char $2 is parameter name $3 is position number anchor = 'invisible_char', category = 'CS1 errors: invisible characters', hidden = false }, err_medrxiv_missing = { message = '<code class="cs1-code">&#124;medrxiv=</code> required', anchor = 'medrxiv_missing', category = 'CS1 errors: medRxiv', -- same as bad medRxiv hidden = false }, err_missing_name = { message = 'Missing <code class="cs1-code">&#124;$1$2=</code>', -- $1 is modified NameList; $2 is enumerator anchor = 'missing_name', category = 'CS1 errors: missing name', -- author, contributor, editor, interviewer, translator hidden = false }, err_missing_periodical = { message = 'Cite $1 requires <code class="cs1-code">&#124;$2=</code>', -- $1 is cs1 template name; $2 is canonical periodical parameter name for cite $1 anchor = 'missing_periodical', category = 'CS1 errors: missing periodical', hidden = false }, err_missing_pipe = { message = 'Missing pipe in: <code class="cs1-code">&#124;$1=</code>', -- $1 is parameter name anchor = 'missing_pipe', category = 'CS1 errors: missing pipe', hidden = false }, err_missing_publisher = { message = 'Cite $1 requires <code class="cs1-code">&#124;$2=</code>', -- $1 is cs1 template name; $2 is canonical publisher parameter name for cite $1 anchor = 'missing_publisher', category = 'CS1 errors: missing publisher', hidden = false }, err_numeric_names = { message = '<code class="cs1-code">&#124;$1=</code> has numeric name', -- $1 is parameter name', anchor = 'numeric_names', category = 'CS1 errors: numeric name', hidden = false, }, err_param_access_requires_param = { message = '<code class="cs1-code">&#124;$1-access=</code> requires <code class="cs1-code">&#124;$1=</code>', -- $1 is parameter name anchor = 'param_access_requires_param', category = 'CS1 errors: param-access', hidden = false }, err_param_has_ext_link = { message = 'External link in <code class="cs1-code">$1</code>', -- $1 is parameter name anchor = 'param_has_ext_link', category = 'CS1 errors: external links', hidden = false }, err_param_has_twl_url = { message = 'Wikipedia Library link in <code class="cs1-code">$1</code>', -- $1 is parameter name anchor = 'param_has_twl_url', category = 'CS1 errors: URL', hidden = false }, err_parameter_ignored = { message = 'Unknown parameter <code class="cs1-code">&#124;$1=</code> ignored', -- $1 is parameter name anchor = 'parameter_ignored', category = 'CS1 errors: unsupported parameter', hidden = false }, err_parameter_ignored_suggest = { message = 'Unknown parameter <code class="cs1-code">&#124;$1=</code> ignored (<code class="cs1-code">&#124;$2=</code> suggested)', -- $1 is unknown parameter $2 is suggested parameter name anchor = 'parameter_ignored_suggest', category = 'CS1 errors: unsupported parameter', hidden = false }, err_periodical_ignored = { message = '<code class="cs1-code">&#124;$1=</code> ignored', -- $1 is parameter name anchor = 'periodical_ignored', category = 'CS1 errors: periodical ignored', hidden = false }, err_redundant_parameters = { message = 'More than one of $1 specified', -- $1 is error message detail anchor = 'redundant_parameters', category = 'CS1 errors: redundant parameter', hidden = false }, err_script_parameter = { message = 'Invalid <code class="cs1-code">&#124;$1=</code>: $2', -- $1 is parameter name $2 is script language code or error detail anchor = 'script_parameter', category = 'CS1 errors: script parameters', hidden = false }, err_ssrn_missing = { message = '<code class="cs1-code">&#124;ssrn=</code> required', anchor = 'ssrn_missing', category = 'CS1 errors: SSRN', hidden = false }, err_text_ignored = { message = 'Text "$1" ignored', -- $1 is ignored text anchor = 'text_ignored', category = 'CS1 errors: unrecognized parameter', hidden = false }, err_trans_missing_title = { message = '<code class="cs1-code">&#124;trans-$1=</code> requires <code class="cs1-code">&#124;$1=</code> or <code class="cs1-code">&#124;script-$1=</code>', -- $1 is base parameter name anchor = 'trans_missing_title', category = 'CS1 errors: translated title', hidden = false }, err_param_unknown_empty = { message = 'Cite has empty unknown parameter$1: $2', -- $1 is 's' or empty space; $2 is emty unknown param list anchor = 'param_unknown_empty', category = 'CS1 errors: empty unknown parameters', hidden = false }, err_vancouver = { message = 'Vancouver style error: $1 in name $2', -- $1 is error detail, $2 is the nth name anchor = 'vancouver', category = 'CS1 errors: Vancouver style', hidden = false }, err_wikilink_in_url = { message = 'URL–wikilink conflict', -- uses ndash anchor = 'wikilink_in_url', category = 'CS1 errors: URL–wikilink conflict', -- uses ndash hidden = false }, --[[--------------------------< M A I N T >------------------------------------- maint messages do not have a message (message = nil); otherwise the structure is the same as error messages ]] maint_archive_origin = { message = nil, anchor = 'archive_origin', category = 'CS1 maint: archive origin', hidden = true, }, maint_archived_copy = { message = nil, anchor = 'archived_copy', category = 'CS1 maint: archived copy as title', hidden = true, }, maint_bibcode = { message = nil, anchor = 'bibcode', category = 'CS1 maint: bibcode', hidden = true, }, maint_location_no_publisher = { -- cite book, conference, encyclopedia; citation as book cite or encyclopedia cite message = nil, anchor = 'location_no_publisher', category = 'CS1 maint: location missing publisher', hidden = true, }, maint_bot_unknown = { message = nil, anchor = 'bot:_unknown', category = 'CS1 maint: bot: original URL status unknown', hidden = true, }, maint_date_auto_xlated = { -- date auto-translation not supported by en.wiki message = nil, anchor = 'date_auto_xlated', category = 'CS1 maint: date auto-translated', hidden = true, }, maint_date_format = { message = nil, anchor = 'date_format', category = 'CS1 maint: date format', hidden = true, }, maint_date_year = { message = nil, anchor = 'date_year', category = 'CS1 maint: date and year', hidden = true, }, maint_deprecated_archive = { message = nil, anchor = 'deprecated_archive', category = 'CS1 maint: deprecated archival service', hidden = true, }, maint_doi_ignore = { message = nil, anchor = 'doi_ignore', category = 'CS1 maint: ignored DOI errors', hidden = true, }, maint_doi_inactive = { message = nil, anchor = 'doi_inactive', category = 'CS1 maint: DOI inactive', hidden = true, }, maint_doi_inactive_dated = { message = nil, anchor = 'doi_inactive_dated', category = 'CS1 maint: DOI inactive as of $2$3$1', -- $1 is year, $2 is month-name or empty string, $3 is space or empty string hidden = true, }, maint_doi_unflagged_free = { message = nil, anchor = 'doi_unflagged_free', category = 'CS1 maint: unflagged free DOI', hidden = true, }, maint_extra_punct = { message = nil, anchor = 'extra_punct', category = 'CS1 maint: extra punctuation', hidden = true, }, maint_id_limit_load_fail = { -- applies to all cs1|2 templates on a page; message = nil, -- maint message (category link) never emitted anchor = 'id_limit_load_fail', category = 'CS1 maint: ID limit load fail', hidden = true, }, maint_isbn_ignore = { message = nil, anchor = 'ignore_isbn_err', category = 'CS1 maint: ignored ISBN errors', hidden = true, }, maint_issn_ignore = { message = nil, anchor = 'ignore_issn', category = 'CS1 maint: ignored ISSN errors', hidden = true, }, maint_jfm_format = { message = nil, anchor = 'jfm_format', category = 'CS1 maint: JFM format', hidden = true, }, maint_location = { message = nil, anchor = 'location', category = 'CS1 maint: location', hidden = true, }, maint_missing_class = { message = nil, anchor = 'missing_class', category = 'CS1 maint: missing class', hidden = true, }, maint_mr_format = { message = nil, anchor = 'mr_format', category = 'CS1 maint: MR format', hidden = true, }, maint_mult_names = { message = nil, anchor = 'mult_names', category = 'CS1 maint: multiple names: $1', -- $1 is '<name>s list'; gets value from special_case_translation table hidden = true, }, maint_numeric_names = { message = nil, anchor = 'numeric_names', category = 'CS1 maint: numeric names: $1', -- $1 is '<name>s list'; gets value from special_case_translation table hidden = true, }, maint_others = { message = nil, anchor = 'others', category = 'CS1 maint: others', hidden = true, }, maint_others_avm = { message = nil, anchor = 'others_avm', category = 'CS1 maint: others in cite AV media (notes)', hidden = true, }, maint_overridden_setting = { message = nil, anchor = 'overridden', category = 'CS1 maint: overridden setting', hidden = true, }, maint_page_art_num = { message = nil, anchor = 'page_art_num', category = 'CS1 maint: article number as page number', hidden = true, }, maint_pmc_embargo = { message = nil, anchor = 'embargo', category = 'CS1 maint: PMC embargo expired', hidden = true, }, maint_pmc_format = { message = nil, anchor = 'pmc_format', category = 'CS1 maint: PMC format', hidden = true, }, maint_postscript = { message = nil, anchor = 'postscript', category = 'CS1 maint: postscript', hidden = true, }, maint_publisher_location = { message = nil, anchor = 'publisher_location', category = 'CS1 maint: publisher location', hidden = true, }, maint_ref_duplicates_default = { message = nil, anchor = 'ref_default', category = 'CS1 maint: ref duplicates default', hidden = true, }, maint_shortened_archive_url = { message = nil, anchor = 'shortened_archive_url', category = 'CS1 maint: shortened archive url', hidden = true, }, maint_unknown_lang = { message = nil, anchor = 'unknown_lang', category = 'CS1 maint: unrecognized language', hidden = true, }, maint_untitled = { message = nil, anchor = 'untitled', category = 'CS1 maint: untitled periodical', hidden = true, }, maint_url_status = { message = nil, anchor = 'url_status', category = 'CS1 maint: url-status', hidden = true, }, maint_work_isbn = { message = nil, anchor = 'work_isbn', category = 'CS1 maint: work parameter with ISBN', hidden = true, }, maint_year= { message = nil, anchor = 'year', category = 'CS1 maint: year', hidden = true, }, maint_zbl = { message = nil, anchor = 'zbl', category = 'CS1 maint: Zbl', hidden = true, }, } --[[--------------------------< I D _ L I M I T S _ D A T A _ T >---------------------------------------------- fetch id limits for certain identifiers from c:Data:CS1/Identifier limits.tab. This source is a json tabular data file maintained at wikipedia commons. Convert the json format to a table of k/v pairs. The values from <id_limits_data_t> are used to set handle.id_limit. From 2025-02-21, MediaWiki is broken. Use this link to edit the tablular data file: https://commons.wikimedia.org/w/index.php?title=Data:CS1/Identifier_limits.tab&action=edit See Phab:T389105 ]] local id_limits_data_t = {}; local id_limits_data_load_fail = false; -- flag; assume that we will be successful when loading json id limit tabular data local use_commons_data = true; -- set to false if your wiki does not have access to mediawiki commons; then, if false == use_commons_data then -- update this table from https://commons.wikimedia.org/wiki/Data:CS1/Identifier_limits.tab; last update: 2025-02-21 id_limits_data_t = {['OCLC'] = 10450000000, ['OSTI'] = 23010000, ['PMC'] = 11900000, ['PMID'] = 40400000, ['RFC'] = 9300, ['SSRN'] = 5200000, ['S2CID'] = 276000000}; -- this table must be maintained locally else -- here for wikis that do have access to mediawiki commons local load_fail_limit = 99999999999; -- very high number to avoid error messages on load failure id_limits_data_t = {['OCLC'] = load_fail_limit, ['OSTI'] = load_fail_limit, ['PMC'] = load_fail_limit, ['PMID'] = load_fail_limit, ['RFC'] = load_fail_limit, ['SSRN'] = load_fail_limit, ['S2CID'] = load_fail_limit}; if mw.ext.data == nil then id_limits_data_load_fail = true; -- safeguard against Lua errors if mw.ext.data is not available for some reason else local tab_data_t = mw.ext.data.get ('CS1/Identifier limits.tab'); -- attempt to load the tabular data from commons into <tab_data_t> if false == tab_data_t then -- undocumented 'feature': mw.ext.data.get() sometimes returns false id_limits_data_load_fail = true; -- set the flag so that Module:Citation/CS1 can create an unannotated maint category else for _, limit_t in ipairs (tab_data_t.data) do -- overwrite default <load_fail_limit> values from the data table in the tabular data id_limits_data_t[limit_t[1]] = limit_t[2]; -- <limit[1]> is identifier; <limit[2]> is upper limit for that identifier end end end end --[[--------------------------< I D _ H A N D L E R S >-------------------------------------------------------- The following contains a list of values for various defined identifiers. For each identifier we specify a variety of information necessary to properly render the identifier in the citation. parameters: a list of parameter aliases for this identifier; first in the list is the canonical form link: Wikipedia article name redirect: a local redirect to a local Wikipedia article name; at en.wiki, 'ISBN (identifier)' is a redirect to 'International Standard Book Number' q: Wikidata q number for the identifier label: the label preceding the identifier; label is linked to a Wikipedia article (in this order): redirect from id_handlers['<id>'].redirect when use_identifier_redirects is true Wikidata-supplied article name for the local wiki from id_handlers['<id>'].q local article name from id_handlers['<id>'].link prefix: the first part of a URL that will be concatenated with a second part which usually contains the identifier suffix: optional third part to be added after the identifier encode: true if URI should be percent-encoded; otherwise false COinS: identifier link or keyword for use in COinS: for identifiers registered at info-uri.info use: info:.... where '...' is the appropriate identifier label for identifiers that have COinS keywords, use the keyword: rft.isbn, rft.issn, rft.eissn for |asin= and |ol=, which require assembly, use the keyword: url for others make a URL using the value in prefix/suffix and #label, use the keyword: pre (not checked; any text other than 'info', 'rft', or 'url' works here) set to nil to leave the identifier out of the COinS separator: character or text between label and the identifier in the rendered citation id_limit: for those identifiers with established limits, this property holds the upper limit access: use this parameter to set the access level for all instances of this identifier. the value must be a valid access level for an identifier (see ['id-access'] in this file). custom_access: to enable custom access level for an identifier, set this parameter to the parameter that should control it (normally 'id-access') ]] local id_handlers = { ['ARXIV'] = { parameters = {'arxiv', 'eprint'}, link = 'arXiv', redirect = 'arXiv (identifier)', q = 'Q118398', label = 'arXiv', prefix = 'https://arxiv.org/abs/', encode = false, COinS = 'info:arxiv', separator = ':', access = 'free', -- free to read }, ['ASIN'] = { parameters = { 'asin', 'ASIN' }, link = 'Amazon Standard Identification Number', redirect = 'ASIN (identifier)', q = 'Q1753278', label = 'ASIN', prefix = 'https://www.amazon.', COinS = 'url', separator = '&nbsp;', encode = false; }, ['BIBCODE'] = { parameters = {'bibcode'}, link = 'Bibcode', redirect = 'Bibcode (identifier)', q = 'Q25754', label = 'Bibcode', prefix = 'https://ui.adsabs.harvard.edu/abs/', encode = false, COinS = 'info:bibcode', separator = ':', custom_access = 'bibcode-access', }, ['BIORXIV'] = { parameters = {'biorxiv'}, link = 'bioRxiv', redirect = 'bioRxiv (identifier)', q = 'Q19835482', label = 'bioRxiv', prefix = 'https://doi.org/', COinS = 'pre', -- use prefix value access = 'free', -- free to read encode = true, separator = '&nbsp;', }, ['CITESEERX'] = { parameters = {'citeseerx'}, link = 'CiteSeerX', redirect = 'CiteSeerX (identifier)', q = 'Q2715061', label = 'CiteSeerX', prefix = 'https://citeseerx.ist.psu.edu/viewdoc/summary?doi=', COinS = 'pre', -- use prefix value access = 'free', -- free to read encode = true, separator = '&nbsp;', }, ['DOI'] = { -- Used by InternetArchiveBot parameters = { 'doi', 'DOI'}, link = 'Digital object identifier', redirect = 'doi (identifier)', q = 'Q25670', label = 'doi', prefix = 'https://doi.org/', COinS = 'info:doi', separator = ':', encode = true, custom_access = 'doi-access', }, ['EISSN'] = { parameters = {'eissn', 'EISSN'}, link = 'International Standard Serial Number#Electronic ISSN', redirect = 'eISSN (identifier)', q = 'Q46339674', label = 'eISSN', prefix = 'https://search.worldcat.org/issn/', COinS = 'rft.eissn', encode = false, separator = '&nbsp;', }, ['HDL'] = { parameters = { 'hdl', 'HDL' }, link = 'Handle System', redirect = 'hdl (identifier)', q = 'Q3126718', label = 'hdl', prefix = 'https://hdl.handle.net/', COinS = 'info:hdl', separator = ':', encode = true, custom_access = 'hdl-access', }, ['ISBN'] = { -- Used by InternetArchiveBot parameters = {'isbn', 'ISBN'}, link = 'International Standard Book Number', redirect = 'ISBN (identifier)', q = 'Q33057', label = 'ISBN', prefix = 'Special:BookSources/', COinS = 'rft.isbn', separator = '&nbsp;', }, ['ISMN'] = { parameters = {'ismn', 'ISMN'}, link = 'International Standard Music Number', redirect = 'ISMN (identifier)', q = 'Q1666938', label = 'ISMN', prefix = '', -- not currently used; COinS = nil, -- nil because we can't use pre or rft or info: separator = '&nbsp;', }, ['ISSN'] = { parameters = {'issn', 'ISSN'}, link = 'International Standard Serial Number', redirect = 'ISSN (identifier)', q = 'Q131276', label = 'ISSN', prefix = 'https://search.worldcat.org/issn/', COinS = 'rft.issn', encode = false, separator = '&nbsp;', }, ['JFM'] = { parameters = {'jfm', 'JFM'}, link = 'Jahrbuch über die Fortschritte der Mathematik', redirect = 'JFM (identifier)', q = '', label = 'JFM', prefix = 'https://zbmath.org/?format=complete&q=an:', COinS = 'pre', -- use prefix value encode = true, separator = '&nbsp;', }, ['JSTOR'] = { parameters = {'jstor', 'JSTOR'}, link = 'JSTOR', redirect = 'JSTOR (identifier)', q = 'Q1420342', label = 'JSTOR', prefix = 'https://www.jstor.org/stable/', COinS = 'pre', -- use prefix value encode = false, separator = '&nbsp;', custom_access = 'jstor-access', }, ['LCCN'] = { parameters = {'lccn', 'LCCN'}, link = 'Library of Congress Control Number', redirect = 'LCCN (identifier)', q = 'Q620946', label = 'LCCN', prefix = 'https://lccn.loc.gov/', COinS = 'info:lccn', encode = false, separator = '&nbsp;', }, ['MEDRXIV'] = { parameters = {'medrxiv'}, link = 'medRxiv', redirect = 'medRxiv (identifier)', q = 'Q58465838', label = 'medRxiv', prefix = 'https://www.medrxiv.org/content/', COinS = 'pre', -- use prefix value access = 'free', -- free to read encode = false, separator = '&nbsp;', }, ['MR'] = { parameters = {'mr', 'MR'}, link = 'Mathematical Reviews', redirect = 'MR (identifier)', q = 'Q211172', label = 'MR', prefix = 'https://mathscinet.ams.org/mathscinet-getitem?mr=', COinS = 'pre', -- use prefix value encode = true, separator = '&nbsp;', }, ['OCLC'] = { parameters = {'oclc', 'OCLC'}, link = 'OCLC', redirect = 'OCLC (identifier)', q = 'Q190593', label = 'OCLC', prefix = 'https://search.worldcat.org/oclc/', COinS = 'info:oclcnum', encode = true, separator = '&nbsp;', id_limit = id_limits_data_t.OCLC or 0, }, ['OL'] = { parameters = { 'ol', 'OL' }, link = 'Open Library', redirect = 'OL (identifier)', q = 'Q1201876', label = 'OL', prefix = 'https://openlibrary.org/', COinS = 'url', separator = '&nbsp;', encode = true, custom_access = 'ol-access', }, ['OSTI'] = { parameters = {'osti', 'OSTI'}, link = 'Office of Scientific and Technical Information', redirect = 'OSTI (identifier)', q = 'Q2015776', label = 'OSTI', prefix = 'https://www.osti.gov/biblio/', COinS = 'pre', -- use prefix value encode = true, separator = '&nbsp;', id_limit = id_limits_data_t.OSTI or 0, custom_access = 'osti-access', }, ['PMC'] = { parameters = {'pmc', 'PMC'}, link = 'PubMed Central', redirect = 'PMC (identifier)', q = 'Q229883', label = 'PMC', prefix = 'https://www.ncbi.nlm.nih.gov/pmc/articles/PMC', suffix = '', COinS = 'pre', -- use prefix value encode = true, separator = '&nbsp;', id_limit = id_limits_data_t.PMC or 0, access = 'free', -- free to read }, ['PMID'] = { parameters = {'pmid', 'PMID'}, link = 'PubMed Identifier', redirect = 'PMID (identifier)', q = 'Q2082879', label = 'PMID', prefix = 'https://pubmed.ncbi.nlm.nih.gov/', COinS = 'info:pmid', encode = false, separator = '&nbsp;', id_limit = id_limits_data_t.PMID or 0, }, ['RFC'] = { parameters = {'rfc', 'RFC'}, link = 'Request for Comments', redirect = 'RFC (identifier)', q = 'Q212971', label = 'RFC', prefix = 'https://tools.ietf.org/html/rfc', COinS = 'pre', -- use prefix value encode = false, separator = '&nbsp;', id_limit = id_limits_data_t.RFC or 0, access = 'free', -- free to read }, ['SBN'] = { parameters = {'sbn', 'SBN'}, link = 'Standard Book Number', -- redirect to International_Standard_Book_Number#History redirect = 'SBN (identifier)', label = 'SBN', prefix = 'Special:BookSources/0-', -- prefix has leading zero necessary to make 9-digit sbn a 10-digit isbn COinS = nil, -- nil because we can't use pre or rft or info: separator = '&nbsp;', }, ['SSRN'] = { parameters = {'ssrn', 'SSRN'}, link = 'Social Science Research Network', redirect = 'SSRN (identifier)', q = 'Q7550801', label = 'SSRN', prefix = 'https://papers.ssrn.com/sol3/papers.cfm?abstract_id=', COinS = 'pre', -- use prefix value encode = true, separator = '&nbsp;', id_limit = id_limits_data_t.SSRN or 0, custom_access = 'ssrn-access', }, ['S2CID'] = { parameters = {'s2cid', 'S2CID'}, link = 'Semantic Scholar', redirect = 'S2CID (identifier)', q = 'Q22908627', label = 'S2CID', prefix = 'https://api.semanticscholar.org/CorpusID:', COinS = 'pre', -- use prefix value encode = false, separator = '&nbsp;', id_limit = id_limits_data_t.S2CID or 0, custom_access = 's2cid-access', }, ['USENETID'] = { parameters = {'message-id'}, link = 'Usenet', redirect = 'Usenet (identifier)', q = 'Q193162', label = 'Usenet:', prefix = 'news:', encode = false, COinS = 'pre', -- use prefix value separator = '&nbsp;', }, ['ZBL'] = { parameters = {'zbl', 'ZBL' }, link = 'Zentralblatt MATH', redirect = 'Zbl (identifier)', q = 'Q190269', label = 'Zbl', prefix = 'https://zbmath.org/?format=complete&q=an:', COinS = 'pre', -- use prefix value encode = true, separator = '&nbsp;', }, } --[[--------------------------< E X P O R T S >--------------------------------- ]] return { use_identifier_redirects = use_identifier_redirects, -- booleans defined in the settings at the top of this module local_lang_cat_enable = local_lang_cat_enable, date_name_auto_xlate_enable = date_name_auto_xlate_enable, date_digit_auto_xlate_enable = date_digit_auto_xlate_enable, enable_sort_keys = enable_sort_keys, suppress_archive_today_urls = suppress_archive_today_urls, -- tables and variables created when this module is loaded dependencies_t = dependencies_t, -- used to suppress parameters dependent on url-holding parameters holding archive.today urls enum_needs_xlation = '1' ~= date_names.xlate_digits['1'], -- to avoid unnecessary enumerator translation global_df = get_date_format (), -- this line can be replaced with "global_df = 'dmy-all'," to have all dates auto translated to dmy format. global_cs1_config_t = global_cs1_config_t, -- global settings from {{cs1 config}} id_limits_data_load_fail = id_limits_data_load_fail, -- true when commons tabular identifier-limit data fails to load known_free_doi_registrants_t = build_free_doi_registrants_table(), punct_skip = build_skip_table (punct_skip, punct_meta_params), url_skip = build_skip_table (url_skip, url_meta_params), archive_today_tlds_t = {['today'] = true, ['ph'] = true, ['is'] = true, ['md'] = true, ['li'] = true, ['fo'] = true, ['vn'] = true}; -- used by is_archive_today_url() name_space_sort_keys = name_space_sort_keys, aliases = aliases, special_case_translation = special_case_translation, date_names = date_names, err_msg_supl = err_msg_supl, error_conditions = error_conditions, editor_markup_patterns = editor_markup_patterns, et_al_patterns = et_al_patterns, extended_registrants_t = extended_registrants_t, id_handlers = id_handlers, keywords_lists = keywords_lists, keywords_xlate = keywords_xlate, stripmarkers = stripmarkers, invisible_chars = invisible_chars, invisible_defs = invisible_defs, indic_script = indic_script, emoji_t = emoji_t, maint_cats = maint_cats, messages = messages, presentation = presentation, prop_cats = prop_cats, script_lang_codes = script_lang_codes, lang_tag_remap = lang_tag_remap, lang_name_remap = lang_name_remap, this_wiki_code = this_wiki_code, title_types = title_types, uncategorized_namespaces = uncategorized_namespaces_t, uncategorized_subpages = uncategorized_subpages, templates_using_volume = templates_using_volume, templates_using_issue = templates_using_issue, templates_not_using_page = templates_not_using_page, vol_iss_pg_patterns = vol_iss_pg_patterns, single_letter_2nd_lvl_domains_t = single_letter_2nd_lvl_domains_t, url_access_map_t = url_access_map_t, inter_wiki_map = inter_wiki_map, mw_languages_by_tag_t = mw_languages_by_tag_t, mw_languages_by_name_t = mw_languages_by_name_t, citation_class_map_t = citation_class_map_t, citation_issue_t = citation_issue_t, citation_no_volume_t = citation_no_volume_t, } p8b8qtdkli97vrgz6h0940z9dcgf6fo 73016 73015 2026-07-02T14:47:39Z Robertsky 10424 1 versaun husi [[:en:Module:Citation/CS1/Configuration/sandbox]] 73015 Scribunto text/plain --[[ History of changes since last sync: 2026-02-28 2026-03-25: add cfg.messages['collaboration'] 2026-03-29: Removed 10.1140/epjc, European Physical Journal C, only free-access since 2014 2026-03-29: Add 10.1140/epjconf, EPJ Web of Conferences 2026-03-30: i18n 'etal' fix; see Help_talk:Citation_Style_1#i18n%3A_%27etal%27_for_display-authors 2026-04-06: Fix problem that cfg.id_limits_data_load_fail is always nil 2026-04-12: Add 10.1257/jep to free doi, Journal of Economic Perspectives 2026-05-12: Add 10.1002/cesm to free doi, Cochrane Evidence Synthesis and Methods 2026-05-16: Add 10.7758/rsf to free doi, RSF Journal 2025-05-23: Add 10.1051/parasite to free DOI, Parasite 2025-06-02: Add 10.5074, 10.18757, 10.24404, 10.24413, 10.34641, 10.48438, 10.59490 to free DOI (TU Delft Open Publishing) 2025-06-12: Add 10.18553 to free DOI list (Academy of Managed Care Pharmacy) 2025-06-12: Add 25 University of Ljubljana free doi prefixes ]] local lang_obj = mw.getContentLanguage(); -- make a language object for the local language; used here for languages and dates --[[--------------------------< S E T T I N G S >-------------------------------------------------------------- boolean settings used to control various things. these setting located here to make them easy to find ]] -- these settings local to this module only local local_digits_from_mediawiki = false; -- for i18n; when true, module fills date_names['local_digits'] from MediaWiki; manual fill required else; always false at en.wiki local local_date_names_from_mediawiki = false; -- for i18n; when true, module fills date_names['local']['long'] and date_names['local']['short'] from MediaWiki; -- manual translation required else; ; always false at en.wiki -- these settings exported to other modules local use_identifier_redirects = true; -- when true use redirect name for identifier label links; always true at en.wiki local local_lang_cat_enable = false; -- when true categorizes pages where |language=<local wiki's language>; always false at en.wiki local date_name_auto_xlate_enable = false; -- when true translates English month-names to the local-wiki's language month names; always false at en.wiki local date_digit_auto_xlate_enable = false; -- when true translates Western date digit to the local-wiki's language digits (date_names['local_digits']); always false at en.wiki local enable_sort_keys = true; -- when true module adds namespace sort keys to error and maintenance category links local suppress_archive_today_urls = true; -- when true module suppresses all parameters with an archive.today url and any deprendent parameters --[[--------------------------< U N C A T E G O R I Z E D _ N A M E S P A C E S >------------------------------ List of namespaces identifiers for namespaces that will not be included in citation error categories. Same as setting notracking = true by default. For wikis that have a current version of Module:cs1 documentation support, this #invoke will return an unordered list of namespace names and their associated identifiers: {{#invoke:cs1 documentation support|uncategorized_namespace_lister|all=<anything>}} ]] local uncategorized_namespaces_t = {[2]=true}; -- init with user namespace id for k, _ in pairs (mw.site.talkNamespaces) do -- add all talk namespace ids uncategorized_namespaces_t[k] = true; end local uncategorized_subpages = {'/[Ss]andbox', '/[Tt]estcases', '/[^/]*[Ll]og', '/[Aa]rchive'}; -- list of Lua patterns found in page names of pages we should not categorize --[[ at en.wiki Greek characters are used as sort keys for certain items in a category so that those items are placed at the end of a category page. See Wikipedia:Categorization#Sort_keys. That works well for en.wiki because English is written using the Latn script. This may not work well for other languages. At en.wiki it is desireable to place content from certain namespaces at the end of a category listing so the module adds sort keys to error and maintenance category links when rendering a cs1|2 template on a page in that namespace. i18n: if this does not work well for your language, set <enable_sort_keys> to false. ]] local name_space_sort_keys = { -- sort keys to be used with these namespaces: [4] = 'ω', -- wikipedia; omega [10] = 'τ', -- template; tau [118] = 'Δ', -- draft; delta ['other'] = 'ο', -- all other non-talk namespaces except main (article); omicron } --[[--------------------------< M E S S A G E S >-------------------------------------------------------------- Translation table The following contains fixed text that may be output as part of a citation. This is separated from the main body to aid in future translations of this module. ]] local messages = { ['agency'] = '$1 $2', -- $1 is sepc, $2 is agency ['archived-dead'] = 'Archived from $1 on $2', ['archived-live'] = '$1 from the original on $2', ['archived-unfit'] = 'Archived from the original on $1', ['archived'] = 'Archived', ['by'] = 'By', -- contributions to authored works: introduction, foreword, afterword ['cartography'] = 'Cartography by $1', ['collaboration'] = '$1 ($2)', -- $1 is author with et al, $2 is collaboration ['editor'] = 'ed.', ['editors'] = 'eds.', ['edition'] = '($1&nbsp;ed.)', ['episode'] = 'Episode $1', ['et al'] = 'et&nbsp;al.', ['in'] = 'In', -- edited works ['inactive'] = ' (inactive $1)', -- $1 is date which the doi was found to be broken in ['inset'] = '$1 inset', ['interview'] = 'Interviewed by $1', invisible_1 = '$1 $2', -- $1 stripmarker name; $2 is text from <invisible_chars[1]> invisible_2 = '$1 character', -- $1 character name from <invisible_chars[1]> ['mismatch'] = '<code class="cs1-code">&#124;$1=</code> / <code class="cs1-code">&#124;$2=</code> mismatch', -- $1 is year param name; $2 is date param name ['newsgroup'] = '[[Usenet newsgroup|Newsgroup]]:&nbsp;$1', ['notitle'] = 'No title', -- for |title=(()) and (in the future) |title=none ['original'] = 'the original', ['origdate'] = ' [$1]', ['published'] = ' (published $1)', ['retrieved'] = 'Retrieved $1', ['season'] = 'Season $1', ['section'] = '§&nbsp;$1', ['sections'] = '§§&nbsp;$1', ['series'] = '$1 $2', -- $1 is sepc, $2 is series ['seriesnum'] = 'Series $1', ['translated'] = 'Translated by $1', ['type'] = ' ($1)', -- for titletype wikidata = 'Wikidata', -- these used for interwikilinked author/editor/... names wikipedia = 'Wikipedia', wikisource = 'Wikisource', ['written'] = 'Written at $1', ['vol'] = '$1 Vol.&nbsp;$2', -- $1 is sepc; bold journal style volume is in presentation{} ['vol-no'] = '$1 Vol.&nbsp;$2, no.&nbsp;$3', -- sepc, volume, issue (alternatively insert $1 after $2, but then we'd also have to change capitalization) ['issue'] = '$1 No.&nbsp;$2', -- $1 is sepc ['art'] = '$1 Art.&nbsp;$2', -- $1 is sepc; for {{cite conference}} only ['vol-art'] = '$1 Vol.&nbsp;$2, art.&nbsp;$3', -- sepc, volume, article-number; for {{cite conference}} only ['j-vol'] = '$1 $2', -- sepc, volume; bold journal volume is in presentation{} ['j-issue'] = ' ($1)', ['j-article-num'] = ' $1', -- TODO: any punctuation here? static text? ['nopp'] = '$1 $2'; -- page(s) without prefix; $1 is sepc ['p-prefix'] = "$1 p.&nbsp;$2", -- $1 is sepc ['pp-prefix'] = "$1 pp.&nbsp;$2", -- $1 is sepc ['j-page(s)'] = ': $1', -- same for page and pages ['sheet'] = '$1 Sheet&nbsp;$2', -- $1 is sepc ['sheets'] = '$1 Sheets&nbsp;$2', -- $1 is sepc ['j-sheet'] = ': Sheet&nbsp;$1', ['j-sheets'] = ': Sheets&nbsp;$1', ['language'] = '(in $1)', ['via'] = " &ndash; via $1", ['event'] = 'Event occurs at', ['minutes'] = ' $1 minutes in', -- $1 is the number of minutes -- Determines the location of the help page ['help page link'] = 'Help:CS1 errors', ['help page label'] = 'help', -- categories ['cat wikilink'] = '[[Category:$1]]', -- $1 is the category name ['cat wikilink sk'] = '[[Category:$1|$2]]', -- $1 is the category name; $2 is namespace sort key [':cat wikilink'] = '[[:Category:$1|link]]', -- category name as maintenance message wikilink; $1 is the category name -- Internal errors (should only occur if configuration is bad) ['undefined_error'] = 'Called with an undefined error condition', ['unknown_ID_key'] = 'Unrecognized ID key: ', -- an ID key in id_handlers not found in ~/Identifiers func_map{} ['unknown_ID_access'] = 'Unrecognized ID access keyword: ', -- an ID access keyword in id_handlers not found in keywords_lists['id-access']{} ['unknown_argument_map'] = 'Argument map not defined for this variable', ['bare_url_no_origin'] = 'Bare URL found but origin indicator is nil or empty', ['warning_msg_e'] = '<span style="color:#d33"><code style="color: inherit; background: inherit; border: none; padding: inherit;">&#123;{$1}}</code>: this [[#$2|reference]] has errors</span>; messages may be hidden ([[Help:CS1_errors#Controlling_error_message_display|help]]).'; -- $1 is template link; $2 is anchor ID ['warning_msg_m'] = '<span style="color:#085"><code style="color: inherit; background: inherit; border: none; padding: inherit;">&#123;{$1}}</code>: this [[#$2|reference]] has maintenance messages</span>; messages may be hidden ([[Help:CS1_errors#Controlling_error_message_display|help]]).'; -- $1 is template link; $2 is anchor ID } --[[--------------------------< C I T A T I O N _ C L A S S _ M A P >------------------------------------------ this table maps the value assigned to |CitationClass= in the cs1|2 templates to the canonical template name when the value assigned to |CitationClass= is different from the canonical template name. |CitationClass= values are used as class attributes in the <cite> tag that encloses the citation so these names may not contain spaces while the canonical template name may. These names are used in warning_msg_e and warning_msg_m to create links to the template's documentation when an article is displayed in preview mode. ]] local citation_class_map_t = { -- TODO: in Module:Cite/config write a function to use this table arxiv = 'cite arXiv', -- as the source for known_templates_t and citation_classes_t ['audio-visual'] = 'cite AV media', ['AV-media-notes'] = 'cite AV media notes', biorxiv = 'cite bioRxiv', book = 'cite book', citation = 'citation', citeseerx = 'cite CiteSeerX', conference = 'cite conference', document = 'cite document', encyclopaedia = 'cite encyclopedia', episode = 'cite episode', interview = 'cite interview', journal = 'cite journal', magazine = 'cite magazine', mailinglist = 'cite mailing list', map = 'cite map', medrxiv = 'cite medRxiv', news = 'cite news', newsgroup = 'cite newsgroup', podcast = 'cite podcast', pressrelease = 'cite press release', report = 'cite report', serial = 'cite serial', sign = 'cite sign', speech = 'cite speech', ssrn = 'cite SSRN', techreport = 'cite tech report', thesis = 'cite thesis', web = 'cite web', } --[=[-------------------------< E T _ A L _ P A T T E R N S >-------------------------------------------------- This table provides Lua patterns for the phrase "et al" and variants in name text (author, editor, etc.). The main module uses these to identify and emit the 'etal' message. ]=] local et_al_patterns = { "[;,]? *[\"']*%f[%a][Ee][Tt]%.? *[Aa][Ll][%.;,\"']*$", -- variations on the 'et al' theme "[;,]? *[\"']*%f[%a][Ee][Tt]%.? *[Aa][Ll][Ii][AaIi][Ee]?[%.;,\"']*$", -- variations on the 'et alia', 'et alii' and 'et aliae' themes (false positive 'et aliie' unlikely to match) "[;,]? *%f[%a]and [Oo]thers", -- an alternative to et al. "%[%[ *[Ee][Tt]%.? *[Aa][Ll]%.? *%]%]", -- a wikilinked form "%(%( *[Ee][Tt]%.? *[Aa][Ll]%.? *%)%)", -- a double-bracketed form (to counter partial removal of ((...)) syntax) "[%(%[] *[Ee][Tt]%.? *[Aa][Ll]%.? *[%)%]]", -- a bracketed form } --[[--------------------------< P R E S E N T A T I O N >------------------------ Fixed presentation markup. Originally part of citation_config.messages it has been moved into its own, more semantically correct place. ]] local presentation = { -- .citation-comment class is specified at Help:CS1_errors#Controlling_error_message_display ['hidden-error'] = '<span class="cs1-hidden-error citation-comment">$1</span>', ['visible-error'] = '<span class="cs1-visible-error citation-comment">$1</span>', ['hidden-maint'] = '<span class="cs1-maint citation-comment">$1</span>', ['accessdate'] = '<span class="reference-accessdate">$1$2</span>', -- to allow editors to hide accessdate using personal CSS ['bdi'] = '<bdi$1>$2</bdi>', -- bidirectional isolation used with |script-title= and the like ['cite'] = '<cite class="$1">$2</cite>'; -- for use when citation does not have a namelist and |ref= not set so no id="..." attribute ['cite-id'] = '<cite id="$1" class="$2">$3</cite>'; -- for use when when |ref= is set or when citation has a namelist ['format'] = ' <span class="cs1-format">($1)</span>', -- for |format=, |chapter-format=, etc. ['interwiki'] = ' <span class="cs1-format">[in $1]</span>', -- for interwiki-language-linked author, editor, etc ['interproj'] = ' <span class="cs1-format">[at $1]</span>', -- for interwiki-project-linked author, editor, etc (:d: and :s: supported; :w: ignored) -- various access levels, for |access=, |doi-access=, |arxiv=, ... -- narrow no-break space &#8239; may work better than nowrap CSS. Or not? Browser support? ['ext-link-access-signal'] = '<span class="$1" title="$2">$3</span>', -- external link with appropriate lock icon ['free'] = {class='id-lock-free', title='Freely accessible'}, -- classes defined in Module:Citation/CS1/styles.css ['registration'] = {class='id-lock-registration', title='Free registration required'}, ['limited'] = {class='id-lock-limited', title='Free access subject to limited trial, subscription normally required'}, ['subscription'] = {class='id-lock-subscription', title='Paid subscription required'}, ['interwiki-icon'] = '<span class="$1" title="$2">$3</span>', ['class-wikisource'] = 'cs1-ws-icon', ['italic-title'] = "''$1''", ['kern-left'] = '<span class="cs1-kern-left"></span>$1', -- spacing to use when title contains leading single or double quote mark ['kern-right'] = '$1<span class="cs1-kern-right"></span>', -- spacing to use when title contains trailing single or double quote mark ['nowrap1'] = '<span class="nowrap">$1</span>', -- for nowrapping an item: <span ...>yyyy-mm-dd</span> ['nowrap2'] = '<span class="nowrap">$1</span> $2', -- for nowrapping portions of an item: <span ...>dd mmmm</span> yyyy (note white space) ['ocins'] = '<span title="$1" class="Z3988"></span>', ['parameter'] = '<code class="cs1-code">&#124;$1=</code>', ['ps_cs1'] = '.'; -- CS1 style postscript (terminal) character ['ps_cs2'] = ''; -- CS2 style postscript (terminal) character (empty string) ['quoted-text'] = '<q>$1</q>', -- for wrapping |quote= content ['quoted-title'] = '"$1"', ['sep_cs1'] = '.', -- CS1 element separator ['sep_cs2'] = ',', -- CS2 separator ['sep_nl'] = ';', -- CS1|2 style name-list separator between names is a semicolon ['sep_nl_and'] = ' and ', -- used as last nl sep when |name-list-style=and and list has 2 items ['sep_nl_end'] = '; and ', -- used as last nl sep when |name-list-style=and and list has 3+ names ['sep_name'] = ', ', -- CS1|2 style last/first separator is <comma><space> ['sep_nl_vanc'] = ',', -- Vancouver style name-list separator between authors is a comma ['sep_name_vanc'] = ' ', -- Vancouver style last/first separator is a space ['sep_list'] = ', ', -- used for |language= when list has 3+ items except for last sep which uses sep_list_end ['sep_list_pair'] = ' and ', -- used for |language= when list has 2 items ['sep_list_end'] = ', and ', -- used as last list sep for |language= when list has 3+ items ['trans-italic-title'] = "&#91;''$1''&#93;", ['trans-quoted-title'] = "&#91;$1&#93;", -- for |trans-title= and |trans-quote= ['vol-bold'] = '$1 <b>$2</b>', -- sepc, volume; for bold journal cites; for other cites ['vol'] in messages{} } --[[--------------------------< A L I A S E S >--------------------------------- Aliases table for commonly passed parameters. Parameter names on the right side in the assignments in this table must have been defined in the Whitelist before they will be recognized as valid parameter names ]] local aliases = { ['AccessDate'] = {'access-date', 'accessdate'}, -- Used by InternetArchiveBot ['Agency'] = 'agency', ['ArchiveDate'] = {'archive-date', 'archivedate'}, -- Used by InternetArchiveBot ['ArchiveFormat'] = 'archive-format', ['ArchiveURL'] = {'archive-url', 'archiveurl'}, -- Used by InternetArchiveBot ['ArticleNumber'] = 'article-number', ['ASINTLD'] = 'asin-tld', ['At'] = 'at', -- Used by InternetArchiveBot ['Authors'] = {'people', 'credits'}, ['BookTitle'] = {'book-title', 'booktitle'}, ['Cartography'] = 'cartography', ['Chapter'] = {'chapter', 'contribution', 'entry', 'article', 'section'}, ['ChapterFormat'] = {'chapter-format', 'contribution-format', 'entry-format', 'article-format', 'section-format'}; ['ChapterURL'] = {'chapter-url', 'contribution-url', 'entry-url', 'article-url', 'section-url'}, -- Used by InternetArchiveBot ['ChapterUrlAccess'] = {'chapter-url-access', 'contribution-url-access', 'entry-url-access', 'article-url-access', 'section-url-access'}, -- Used by InternetArchiveBot ['Class'] = 'class', -- cite arxiv and arxiv identifier ['Collaboration'] = 'collaboration', ['Conference'] = {'conference', 'event'}, ['ConferenceFormat'] = 'conference-format', ['ConferenceURL'] = 'conference-url', -- Used by InternetArchiveBot ['Date'] = {'date', 'air-date', 'airdate'}, -- air-date and airdate for cite episode and cite serial only ['Degree'] = 'degree', ['DF'] = 'df', ['DisplayAuthors'] = {'display-authors', 'display-subjects'}, ['DisplayContributors'] = 'display-contributors', ['DisplayEditors'] = 'display-editors', ['DisplayInterviewers'] = 'display-interviewers', ['DisplayTranslators'] = 'display-translators', ['Docket'] = 'docket', ['DoiBroken'] = 'doi-broken-date', ['Edition'] = 'edition', ['Embargo'] = 'pmc-embargo-date', ['Encyclopedia'] = {'encyclopedia', 'encyclopaedia', 'dictionary'}, -- cite encyclopedia only ['Episode'] = 'episode', -- cite serial only TODO: make available to cite episode? ['Format'] = 'format', ['ID'] = {'id', 'ID'}, ['Inset'] = 'inset', ['Issue'] = {'issue', 'number'}, ['Language'] = {'language', 'lang'}, ['MailingList'] = {'mailing-list', 'mailinglist'}, -- cite mailing list only ['Map'] = 'map', -- cite map only ['MapFormat'] = 'map-format', -- cite map only ['MapURL'] = {'map-url', 'mapurl'}, -- cite map only -- Used by InternetArchiveBot ['MapUrlAccess'] = 'map-url-access', -- cite map only -- Used by InternetArchiveBot ['Minutes'] = 'minutes', ['Mode'] = 'mode', ['NameListStyle'] = 'name-list-style', ['Network'] = 'network', ['Newsgroup'] = 'newsgroup', -- cite newsgroup only ['NoPP'] = {'no-pp', 'nopp'}, ['NoTracking'] = {'no-tracking', 'template-doc-demo'}, ['Number'] = 'number', -- this case only for cite techreport ['OrigDate'] = {'orig-date', 'orig-year', 'origyear'}, ['Others'] = 'others', ['Page'] = {'page', 'p'}, -- Used by InternetArchiveBot ['Pages'] = {'pages', 'pp'}, -- Used by InternetArchiveBot ['Periodical'] = {'journal', 'magazine', 'newspaper', 'periodical', 'website', 'work'}, ['Place'] = {'place', 'location'}, ['PostScript'] = 'postscript', ['PublicationDate'] = {'publication-date', 'publicationdate'}, ['PublicationPlace'] = {'publication-place', 'publicationplace'}, ['PublisherName'] = {'publisher', 'institution'}, ['Quote'] = {'quote', 'quotation'}, ['QuotePage'] = 'quote-page', ['QuotePages'] = 'quote-pages', ['Ref'] = 'ref', ['Scale'] = 'scale', ['ScriptChapter'] = {'script-chapter', 'script-contribution', 'script-entry', 'script-article', 'script-section'}, ['ScriptEncyclopedia'] = {'script-encyclopedia', 'script-encyclopaedia'}, -- cite encyclopedia only ['ScriptMap'] = 'script-map', ['ScriptPeriodical'] = {'script-journal', 'script-magazine', 'script-newspaper', 'script-periodical', 'script-website', 'script-work'}, ['ScriptQuote'] = 'script-quote', ['ScriptTitle'] = 'script-title', -- Used by InternetArchiveBot ['Season'] = 'season', ['Sections'] = 'sections', -- cite map only ['Series'] = {'series', 'version'}, ['SeriesLink'] = {'series-link', 'serieslink'}, ['SeriesNumber'] = {'series-number', 'series-no'}, ['Sheet'] = 'sheet', -- cite map only ['Sheets'] = 'sheets', -- cite map only ['Station'] = 'station', ['Time'] = 'time', ['TimeCaption'] = 'time-caption', ['Title'] = 'title', -- Used by InternetArchiveBot ['TitleLink'] = {'title-link', 'episode-link', 'episodelink'}, -- Used by InternetArchiveBot ['TitleNote'] = {'title-note', 'department'}, ['TitleType'] = {'type', 'medium'}, ['TransChapter'] = {'trans-article', 'trans-chapter', 'trans-contribution', 'trans-entry', 'trans-section'}, ['Transcript'] = 'transcript', ['TranscriptFormat'] = 'transcript-format', ['TranscriptURL'] = 'transcript-url', -- Used by InternetArchiveBot ['TransEncyclopedia'] = {'trans-encyclopedia', 'trans-encyclopaedia'}, -- cite encyclopedia only ['TransMap'] = 'trans-map', -- cite map only ['TransPeriodical'] = {'trans-journal', 'trans-magazine', 'trans-newspaper', 'trans-periodical', 'trans-website', 'trans-work'}, ['TransQuote'] = 'trans-quote', ['TransTitle'] = 'trans-title', -- Used by InternetArchiveBot ['URL'] = {'url', 'URL'}, -- Used by InternetArchiveBot ['UrlAccess'] = 'url-access', -- Used by InternetArchiveBot ['UrlStatus'] = 'url-status', -- Used by InternetArchiveBot ['Vauthors'] = 'vauthors', ['Veditors'] = 'veditors', ['Via'] = 'via', ['Volume'] = 'volume', ['Year'] = 'year', ['AuthorList-First'] = {"first#", "author-first#", "author#-first", "author-given#", "author#-given", "subject-first#", "subject#-first", "subject-given#", "subject#-given", "given#"}, ['AuthorList-Last'] = {"last#", "author-last#", "author#-last", "author-surname#", "author#-surname", "subject-last#", "subject#-last", "subject-surname#", "subject#-surname", "author#", 'host#', "subject#", "surname#"}, ['AuthorList-Link'] = {"author-link#", "author#-link", "subject-link#", "subject#-link", "authorlink#", "author#link"}, ['AuthorList-Mask'] = {"author-mask#", "author#-mask", "subject-mask#", "subject#-mask"}, ['ContributorList-First'] = {'contributor-first#', 'contributor#-first', 'contributor-given#', 'contributor#-given'}, ['ContributorList-Last'] = {'contributor-last#', 'contributor#-last', 'contributor-surname#', 'contributor#-surname', 'contributor#'}, ['ContributorList-Link'] = {'contributor-link#', 'contributor#-link'}, ['ContributorList-Mask'] = {'contributor-mask#', 'contributor#-mask'}, ['EditorList-First'] = {"editor-first#", "editor#-first", "editor-given#", "editor#-given"}, ['EditorList-Last'] = {"editor-last#", "editor#-last", "editor-surname#", "editor#-surname", "editor#"}, ['EditorList-Link'] = {"editor-link#", "editor#-link"}, ['EditorList-Mask'] = {"editor-mask#", "editor#-mask"}, ['InterviewerList-First'] = {'interviewer-first#', 'interviewer#-first', 'interviewer-given#', 'interviewer#-given'}, ['InterviewerList-Last'] = {'interviewer-last#', 'interviewer#-last', 'interviewer-surname#', 'interviewer#-surname', 'interviewer#'}, ['InterviewerList-Link'] = {'interviewer-link#', 'interviewer#-link'}, ['InterviewerList-Mask'] = {'interviewer-mask#', 'interviewer#-mask'}, ['TranslatorList-First'] = {'translator-first#', 'translator#-first', 'translator-given#', 'translator#-given'}, ['TranslatorList-Last'] = {'translator-last#', 'translator#-last', 'translator-surname#', 'translator#-surname', 'translator#'}, ['TranslatorList-Link'] = {'translator-link#', 'translator#-link'}, ['TranslatorList-Mask'] = {'translator-mask#', 'translator#-mask'}, } --[[--------------------------< D E P E N D E N C I E S _ T >-------------------------------------------------- a table of url-holding parameters upon which other parameters are dependent. this table is used by has_archive_today_url() to suppress parameters that are dependant upon a url-holding parameter that has as a value an archive.today (or alternate tld) url. archive.today is deprecated at en.wiki; see Wikipedia:Requests_for_comment/Archive.is_RFC_5 ]] local url_dependency_map_t = { -- table of url-holding parameters and the meta-parameters that are dependent on them ['url'] = {'AccessDate', 'ArchiveURL', 'Format', 'UrlAccess'}, ['archive-url'] = {'ArchiveDate', 'ArchiveFormat', 'UrlStatus'}, ['archiveurl'] = {'ArchiveDate', 'ArchiveFormat', 'UrlStatus'}, ['article-url'] = {'ChapterFormat', 'ChapterUrlAccess'}, ['chapter-url'] = {'ChapterFormat', 'ChapterUrlAccess'}, ['conference-url'] = {'ConferenceFormat'}, ['contribution-url'] = {'ChapterFormat', 'ChapterUrlAccess'}, ['entry-url'] = {'ChapterFormat', 'ChapterUrlAccess'}, ['map-url'] = {'MapFormat', 'MapUrlAccess'}, ['section-url'] = {'ChapterFormat', 'ChapterUrlAccess'}, ['transcript-url'] = {'TranscriptFormat'}, }; local dependencies_t = {}; -- the table of url-holding parameters and their dependent parameters for url_param, meta_parameters_t in pairs (url_dependency_map_t) do -- sequence of meta-parameters (indexes) into <aliases> table local dependant_params_t = {}; -- collection of parameters that are dependent on this <url_param> for _, meta_parameter in ipairs (meta_parameters_t) do -- for each <aliases> meta-parameter (index) if 'string' == type (aliases[meta_parameter]) then -- for single parameter names (no aliases), <aliases[meta_parameter]> will be a string table.insert (dependant_params_t, aliases[meta_parameter]); -- add to this <url_param>'s dependency sequence else for _, alias in ipairs (aliases[meta_parameter]) do -- for each alias in aliases[meta_parameter] (aliases['AccessDate'] for example) table.insert (dependant_params_t, alias); -- add to this <url_param>'s dependency sequence end end end dependencies_t[url_param] = dependant_params_t; -- add the <url_param> and its dependent parameters end --[[--------------------------< P U N C T _ S K I P >--------------------------- builds a table of parameter names that the extraneous terminal punctuation check should not check. ]] local punct_meta_params = { -- table of aliases[] keys (meta parameters); each key has a table of parameter names for a value 'BookTitle', 'Chapter', 'ScriptChapter', 'ScriptTitle', 'Title', 'TransChapter', 'Transcript', 'TransMap', 'TransTitle', -- title-holding parameters 'AuthorList-Mask', 'ContributorList-Mask', 'EditorList-Mask', 'InterviewerList-Mask', 'TranslatorList-Mask', -- name-list mask may have name separators 'PostScript', 'Quote', 'ScriptQuote', 'TransQuote', 'Ref', -- miscellaneous 'ArchiveURL', 'ChapterURL', 'ConferenceURL', 'MapURL', 'TranscriptURL', 'URL', -- URL-holding parameters } local url_meta_params = { -- table of aliases[] keys (meta parameters); each key has a table of parameter names for a value 'ArchiveURL', 'ChapterURL', 'ConferenceURL', 'ID', 'MapURL', 'TranscriptURL', 'URL', -- parameters allowed to hold urls 'Page', 'Pages', 'At', 'QuotePage', 'QuotePages', -- insource locators allowed to hold urls } local function build_skip_table (skip_t, meta_params) for _, meta_param in ipairs (meta_params) do -- for each meta parameter key local params = aliases[meta_param]; -- get the parameter or the table of parameters associated with the meta parameter name if 'string' == type (params) then skip_t[params] = 1; -- just a single parameter else for _, param in ipairs (params) do -- get the parameter name skip_t[param] = 1; -- add the parameter name to the skip table local count; param, count = param:gsub ('#', ''); -- remove enumerator marker from enumerated parameters if 0 ~= count then -- if removed skip_t[param] = 1; -- add param name without enumerator marker end end end end return skip_t; end local punct_skip = {}; local url_skip = {}; --[[--------------------------< U R L _ A C C E S S _ M A P >-------------------------------------------------- this table used by the wikipedia library url test, has_twl_url(), which automatically sets a url-access parameter to 'subscription' when it discovers a wikipedia library url in any of the url-holding paramters used as keys in this table. translators: if your wiki uses parameter names for these url-holding parameters and their matching -access parameters, add your wiki's parameters to this list. Leave the English parameters in place. TODO: is there a better way to do this? ]] local url_access_map_t = { ['chapter-url'] = 'chapter-url-access', ['contribution-url'] = 'contribution-url-access', ['entry-url'] = 'entry-url-access', ['article-url'] = 'article-url-access', ['section-url'] = 'section-url-access', ['map-url'] = 'map-url-access', ['mapurl'] = 'map-url-access', ['url'] = 'url-access', ['URL'] = 'url-access' } --[[--------------------------< S I N G L E - L E T T E R S E C O N D - L E V E L D O M A I N S >---------- this is a list of tlds that are known to have single-letter second-level domain names. This list does not include ccTLDs which are accepted in is_domain_name(). ]] local single_letter_2nd_lvl_domains_t = {'cash', 'company', 'foundation', 'media', 'org', 'today'}; --[[-----------< S P E C I A L C A S E T R A N S L A T I O N S >------------ This table is primarily here to support internationalization. Translations in this table are used, for example, when an error message, category name, etc., is extracted from the English alias key. There may be other cases where this translation table may be useful. ]] local is_Latn = 'A-Za-z\195\128-\195\150\195\152-\195\182\195\184-\198\191\199\132-\201\143\225\184\128-\225\187\191'; local special_case_translation = { author = 'author', editor = 'editor', name_list_params = '$1-name-list parameters', -- $1 is 'author' or 'editor'; used with err_redundant_parameters ['AuthorList'] = 'authors list', -- used to assemble maintenance category names ['ContributorList'] = 'contributors list', -- translation of these names plus translation of the base maintenance category names in maint_cats{} table below ['EditorList'] = 'editors list', -- must match the names of the actual categories ['InterviewerList'] = 'interviewers list', -- this group or translations used by name_has_ed_markup() and name_has_mult_names() ['TranslatorList'] = 'translators list', -- Lua patterns to match pseudo-titles used by InternetArchiveBot and others as placeholder for unknown |title= value ['archived_copy'] = { -- used with CS1 maint: Archive[d] copy as title ['en'] = '^archived?%s+copy$', -- for English; translators: keep this because templates imported from en.wiki ['local'] = nil, -- translators: replace ['local'] = nil with lowercase translation only when bots or tools create generic titles in your language }, -- Lua patterns to match generic titles; usually created by bots or reference filling tools -- translators: replace ['local'] = nil with lowercase translation only when bots or tools create generic titles in your language -- generic titles and patterns in this table should be lowercase only -- leave ['local'] nil except when there is a matching generic title in your language -- boolean 'true' for plain-text searches; 'false' for pattern searches ['generic_titles'] = { ['accept'] = { }, ['reject'] = { {['en'] = {'^wayback%s+machine$', false}, ['local'] = nil}, {['en'] = {'are you a robot', true}, ['local'] = nil}, {['en'] = {'hugedomains', true}, ['local'] = nil}, {['en'] = {'^[%(%[{<]?no +title[>}%]%)]?$', false}, ['local'] = nil}, {['en'] = {'page not found', true}, ['local'] = nil}, {['en'] = {'subscribe to read', true}, ['local'] = nil}, {['en'] = {'^[%(%[{<]?unknown[>}%]%)]?$', false}, ['local'] = nil}, {['en'] = {'website is for sale', true}, ['local'] = nil}, {['en'] = {'^404', false}, ['local'] = nil}, {['en'] = {'error[ %-]404', false}, ['local'] = nil}, {['en'] = {'internet archive wayback machine', true}, ['local'] = nil}, {['en'] = {'log into facebook', true}, ['local'] = nil}, {['en'] = {'login • instagram', true}, ['local'] = nil}, {['en'] = {'redirecting...', true}, ['local'] = nil}, {['en'] = {'usurped title', true}, ['local'] = nil}, -- added by a GreenC bot {['en'] = {'wayback machine', true}, ['local'] = nil}, {['en'] = {'webcite query result', true}, ['local'] = nil}, {['en'] = {'wikiwix\'s cache', true}, ['local'] = nil}, {['en'] = {'bot verification', true}, ['local'] = nil}, } }, -- boolean 'true' for plain-text searches, search string must be lowercase only -- boolean 'false' for pattern searches -- leave ['local'] nil except when there is a matching generic name in your language ['generic_names'] = { ['accept'] = { {['en'] = {'%[%[[^|]*%(author%) *|[^%]]*%]%]', false}, ['local'] = nil}, }, ['reject'] = { {['en'] = {'about us', true}, ['local'] = nil}, {['en'] = {'%f[%a][Aa]dvisor%f[%A]', false}, ['local'] = nil}, {['en'] = {'allmusic', true}, ['local'] = nil}, {['en'] = {'%f[%a][Aa]uthor%f[%A]', false}, ['local'] = nil}, {['en'] = {'^[Bb]ureau$', false}, ['local'] = nil}, {['en'] = {'business', true}, ['local'] = nil}, {['en'] = {'cnn', true}, ['local'] = nil}, {['en'] = {'collaborator', true}, ['local'] = nil}, {['en'] = {'^[Cc]ompany$', false}, ['local'] = nil}, {['en'] = {'contributor', true}, ['local'] = nil}, {['en'] = {'contact us', true}, ['local'] = nil}, {['en'] = {'correspondent', true}, ['local'] = nil}, {['en'] = {'^[Dd]esk$', false}, ['local'] = nil}, {['en'] = {'directory', true}, ['local'] = nil}, {['en'] = {'%f[%(%[][%(%[]%s*eds?%.?%s*[%)%]]?$', false}, ['local'] = nil}, {['en'] = {'[,%.%s]%f[e]eds?%.?$', false}, ['local'] = nil}, {['en'] = {'^eds?[%.,;]', false}, ['local'] = nil}, {['en'] = {'^[%(%[]%s*[Ee][Dd][Ss]?%.?%s*[%)%]]', false}, ['local'] = nil}, {['en'] = {'%f[%a][Ee]dited%f[%A]', false}, ['local'] = nil}, {['en'] = {'%f[%a][Ee]ditors?%f[%A]', false}, ['local'] = nil}, {['en'] = {'%f[%a][Ee]mail%f[%A]', false}, ['local'] = nil}, {['en'] = {'facebook', true}, ['local'] = nil}, {['en'] = {'google', true}, ['local'] = nil}, {['en'] = {'^[Gg]roup$', false}, ['local'] = nil}, {['en'] = {'home page', true}, ['local'] = nil}, {['en'] = {'^[Ii]nc%.?$', false}, ['local'] = nil}, {['en'] = {'instagram', true}, ['local'] = nil}, {['en'] = {'interviewer', true}, ['local'] = nil}, {['en'] = {'^[Ll]imited$', false}, ['local'] = nil}, {['en'] = {'linkedIn', true}, ['local'] = nil}, {['en'] = {'^[Nn]ews$', false}, ['local'] = nil}, {['en'] = {'[Nn]ews[ %-]?[Rr]oom', false}, ['local'] = nil}, {['en'] = {'pinterest', true}, ['local'] = nil}, {['en'] = {'policy', true}, ['local'] = nil}, {['en'] = {'privacy', true}, ['local'] = nil}, {['en'] = {'reuters', true}, ['local'] = nil}, {['en'] = {'translator', true}, ['local'] = nil}, {['en'] = {'tumblr', true}, ['local'] = nil}, {['en'] = {'twitter', true}, ['local'] = nil}, {['en'] = {'site name', true}, ['local'] = nil}, {['en'] = {'statement', true}, ['local'] = nil}, {['en'] = {'submitted', true}, ['local'] = nil}, {['en'] = {'super.?user', false}, ['local'] = nil}, {['en'] = {'%f['..is_Latn..'][Uu]ser%f[^'..is_Latn..']', false}, ['local'] = nil}, {['en'] = {'updated', true}, ['local'] = nil}, {['en'] = {'verfasser', true}, ['local'] = nil}, } } } --[[--------------------------< D A T E _ N A M E S >---------------------------------------------------------- This table of tables lists local language date names and fallback English date names. The code in Date_validation will look first in the local table for valid date names. If date names are not found in the local table, the code will look in the English table. Because citations can be copied to the local wiki from en.wiki, the English is required when the date-name translation function date_name_xlate() is used. In these tables, season numbering is defined by Extended Date/Time Format (EDTF) Specification (https://www.loc.gov/standards/datetime/) which became part of ISO 8601 in 2019. See '§Sub-year groupings'. The standard defines various divisions using numbers 21-41. CS1|2 only supports generic seasons. EDTF does support the distinction between north and south hemisphere seasons but CS1|2 has no way to make that distinction. 33-36 = Quarter 1, Quarter 2, Quarter 3, Quarter 4 (3 months each) The standard does not address 'named' dates so, for the purposes of CS1|2, Easter and Christmas are defined here as 98 and 99, which should be out of the ISO 8601 (EDTF) range of uses for a while. local_date_names_from_mediawiki is a boolean. When set to: true – module will fetch local month names from MediaWiki for both date_names['local']['long'] and date_names['local']['short']; this will unconditionally overwrite manual translations false – module will *not* fetch local month names from MediaWiki Caveat lector: There is no guarantee that MediaWiki will provide short month names. At your wiki you can test the results of the MediaWiki fetch in the debug console with this command (the result is alpha sorted): =mw.dumpObject (p.date_names['local']) While the module can fetch month names from MediaWiki, it cannot fetch the quarter, season, and named date names from MediaWiki. Those must be translated manually. ]] local local_date_names_from_mediawiki = true; -- when false, manual translation required for date_names['local']['long'] and date_names['local']['short']; overwrites manual translations -- when true, module fetches long and short month names from MediaWiki local date_names = { ['en'] = { -- English ['long'] = {['January'] = 1, ['February'] = 2, ['March'] = 3, ['April'] = 4, ['May'] = 5, ['June'] = 6, ['July'] = 7, ['August'] = 8, ['September'] = 9, ['October'] = 10, ['November'] = 11, ['December'] = 12}, ['short'] = {['Jan'] = 1, ['Feb'] = 2, ['Mar'] = 3, ['Apr'] = 4, ['May'] = 5, ['Jun'] = 6, ['Jul'] = 7, ['Aug'] = 8, ['Sep'] = 9, ['Oct'] = 10, ['Nov'] = 11, ['Dec'] = 12}, ['quarter'] = {['First Quarter'] = 33, ['Second Quarter'] = 34, ['Third Quarter'] = 35, ['Fourth Quarter'] = 36}, ['season'] = {['Winter'] = 24, ['Spring'] = 21, ['Summer'] = 22, ['Fall'] = 23, ['Autumn'] = 23}, ['named'] = {['Easter'] = 98, ['Christmas'] = 99}, }, -- when local_date_names_from_mediawiki = false ['local'] = { -- replace these English date names with the local language equivalents ['long'] = {['January'] = 1, ['February'] = 2, ['March'] = 3, ['April'] = 4, ['May'] = 5, ['June'] = 6, ['July'] = 7, ['August'] = 8, ['September'] = 9, ['October'] = 10, ['November'] = 11, ['December'] = 12}, ['short'] = {['Jan'] = 1, ['Feb'] = 2, ['Mar'] = 3, ['Apr'] = 4, ['May'] = 5, ['Jun'] = 6, ['Jul'] = 7, ['Aug'] = 8, ['Sep'] = 9, ['Oct'] = 10, ['Nov'] = 11, ['Dec'] = 12}, ['quarter'] = {['First Quarter'] = 33, ['Second Quarter'] = 34, ['Third Quarter'] = 35, ['Fourth Quarter'] = 36}, ['season'] = {['Winter'] = 24, ['Spring'] = 21, ['Summer'] = 22, ['Fall'] = 23, ['Autumn'] = 23}, ['named'] = {['Easter'] = 98, ['Christmas'] = 99}, }, ['inv_local_long'] = {}, -- used in date reformatting & translation; copy of date_names['local'].long where k/v are inverted: [1]='<local name>' etc. ['inv_local_short'] = {}, -- used in date reformatting & translation; copy of date_names['local'].short where k/v are inverted: [1]='<local name>' etc. ['inv_local_quarter'] = {}, -- used in date translation; copy of date_names['local'].quarter where k/v are inverted: [1]='<local name>' etc. ['inv_local_season'] = {}, -- used in date translation; copy of date_names['local'].season where k/v are inverted: [1]='<local name>' etc. ['inv_local_named'] = {}, -- used in date translation; copy of date_names['local'].named where k/v are inverted: [1]='<local name>' etc. ['local_digits'] = {['0'] = '0', ['1'] = '1', ['2'] = '2', ['3'] = '3', ['4'] = '4', ['5'] = '5', ['6'] = '6', ['7'] = '7', ['8'] = '8', ['9'] = '9'}, -- used to convert local language digits to Western 0-9 ['xlate_digits'] = {}, } if local_date_names_from_mediawiki then -- if fetching local month names from MediaWiki is enabled local long_t = {}; local short_t = {}; for i=1, 12 do -- loop 12x and local name = lang_obj:formatDate('F', '2022-' .. i .. '-1'); -- get long month name for each i long_t[name] = i; -- save it name = lang_obj:formatDate('M', '2022-' .. i .. '-1'); -- get short month name for each i short_t[name] = i; -- save it end date_names['local']['long'] = long_t; -- write the long table – overwrites manual translation date_names['local']['short'] = short_t; -- write the short table – overwrites manual translation end -- create inverted date-name tables for reformatting and/or translation for _, invert_t in pairs {{'long', 'inv_local_long'}, {'short', 'inv_local_short'}, {'quarter', 'inv_local_quarter'}, {'season', 'inv_local_season'}, {'named', 'inv_local_named'}} do for name, i in pairs (date_names['local'][invert_t[1]]) do -- this table is ['name'] = i date_names[invert_t[2]][i] = name; -- invert to get [i] = 'name' for conversions from ymd end end if local_digits_from_mediawiki then -- if fetching local digits from MediaWiki is enabled local digits_t = {}; for i=0, 9 do -- loop 10x and digits_t [lang_obj:formatNum (i)] = tostring (i); -- format the loop indexer as local lang table index and assign loop indexer (a string) as the value end date_names['local_digits'] = digits_t; end for ld, ed in pairs (date_names.local_digits) do -- make a digit translation table for simple date translation from en to local language using local_digits table date_names.xlate_digits [ed] = ld; -- en digit becomes index with local digit as the value end local df_template_patterns = { -- table of redirects to {{Use dmy dates}} and {{Use mdy dates}} '{{ *[Uu]se +(dmy) +dates *[|}]', -- 1159k -- sorted by approximate transclusion count '{{ *[Uu]se +(mdy) +dates *[|}]', -- 212k '{{ *[Uu]se +(MDY) +dates *[|}]', -- 788 '{{ *[Uu]se +(DMY) +dates *[|}]', -- 343 '{{ *([Mm]dy) *[|}]', -- 176 '{{ *[Uu]se *(dmy) *[|}]', -- 156 + 18 '{{ *[Uu]se *(mdy) *[|}]', -- 149 + 11 '{{ *([Dd]my) *[|}]', -- 56 '{{ *[Uu]se +(MDY) *[|}]', -- 5 '{{ *([Dd]MY) *[|}]', -- 3 '{{ *[Uu]se(mdy)dates *[|}]', -- 1 '{{ *[Uu]se +(DMY) *[|}]', -- 0 '{{ *([Mm]DY) *[|}]', -- 0 } local title_object = mw.title.getCurrentTitle(); local content; -- done this way so that unused templates appear in unused-template-reports; self-transcluded makes them look like they are used if 10 ~= title_object.namespace then -- all namespaces except Template content = title_object:getContent() or ''; -- get the content of the article or ''; new pages edited w/ve do not have 'content' until saved; ve does not preview; phab:T221625 end local function get_date_format () if not content then -- nil content when we're in template return nil; -- auto-formatting does not work in Template space so don't set global_df end for _, pattern in ipairs (df_template_patterns) do -- loop through the patterns looking for {{Use dmy dates}} or {{Use mdy dates}} or any of their redirects local start, _, match = content:find(pattern); -- match is the three letters indicating desired date format if match then local use_dates_template = content:match ('%b{}', start); -- get the whole template if use_dates_template:match ('| *cs1%-dates *= *[lsy][sy]?') then -- look for |cs1-dates=publication date length access-/archive-date length return match:lower() .. '-' .. use_dates_template:match ('| *cs1%-dates *= *([lsy][sy]?)'); else return match:lower() .. '-all'; -- no |cs1-dates= k/v pair; return value appropriate for use in |df= end end end end local global_df; -- TODO: add this to <global_cs1_config_t>? --[[-----------------< V O L U M E , I S S U E , P A G E S >------------------ These tables hold cite class values (from the template invocation) and identify those templates that support |volume=, |issue=, and |page(s)= parameters. Cite conference and cite map require further qualification which is handled in the main module. ]] local templates_using_volume = {'citation', 'audio-visual', 'book', 'conference', 'encyclopaedia', 'interview', 'journal', 'magazine', 'map', 'news', 'report', 'techreport', 'thesis'} local templates_using_issue = {'citation', 'conference', 'episode', 'interview', 'journal', 'magazine', 'map', 'news', 'podcast'} local templates_not_using_page = {'audio-visual', 'episode', 'mailinglist', 'newsgroup', 'podcast', 'serial', 'sign', 'speech'} --[[ These tables control when it is appropriate for {{citation}} to render |volume= and/or |issue=. The parameter names in the tables constrain {{citation}} so that its renderings match the renderings of the equivalent cs1 templates. For example, {{cite web}} does not support |volume= so the equivalent {{citation |website=...}} must not support |volume=. ]] local citation_no_volume_t = { -- {{citation}} does not render |volume= when these parameters are used 'website', 'mailinglist', 'script-website', } local citation_issue_t = { -- {{citation}} may render |issue= when these parameters are used 'journal', 'magazine', 'newspaper', 'periodical', 'work', 'script-journal', 'script-magazine', 'script-newspaper', 'script-periodical', 'script-work', } --[[ Patterns for finding extra text in |volume=, |issue=, |page=, |pages= ]] local vol_iss_pg_patterns = { good_ppattern = '^P[^%.PpGg]', -- OK to begin with uppercase P: P7 (page 7 of section P), but not p123 (page 123); TODO: this allows 'Pages' which it should not bad_ppatterns = { -- patterns for |page= and |pages= '^[Pp][PpGg]?%.?[ %d]', '^[Pp][Pp]?%.&nbsp;', -- from {{p.}} and {{pp.}} templates '^[Pp]ages?', '^[Pp]gs.?', }, vi_patterns_t = { -- combined to catch volume-like text in |issue= and issue-like text in |volume= '^volumes?', -- volume-like text '^vols?[%.:=]?', '^issues?', --issue-like text '^iss[%.:=]?', '^numbers?', '^nos?%A', -- don't match 'november' or 'nostradamus' '^nr[%.:=]?', '^n[%.:= ]', -- might be a valid issue without separator (space char is sep char here) '^n°', -- 'n' with degree sign (U+00B0) '^№', -- precomposed unicode numero character (U+2116) }, } --[[--------------------------< K E Y W O R D S >------------------------------- These tables hold keywords for those parameters that have defined sets of acceptable keywords. ]] --[[-------------------< K E Y W O R D S T A B L E >-------------------------- this is a list of keywords; each key in the list is associated with a table of synonymous keywords possibly from different languages. for I18N: add local-language keywords to value table; do not change the key. For example, adding the German keyword 'ja': ['affirmative'] = {'yes', 'true', 'y', 'ja'}, Because CS1|2 templates from en.wiki articles are often copied to other local wikis, it is recommended that the English keywords remain in these tables. ]] local keywords = { ['amp'] = {'&', 'amp', 'ampersand'}, -- |name-list-style= ['and'] = {'and', 'serial'}, -- |name-list-style= ['affirmative'] = {'yes', 'true', 'y'}, -- |no-tracking=, |no-pp= -- Used by InternetArchiveBot ['afterword'] = {'afterword'}, -- |contribution= ['bot: unknown'] = {'bot: unknown'}, -- |url-status= -- Used by InternetArchiveBot ['cs1'] = {'cs1'}, -- |mode= ['cs2'] = {'cs2'}, -- |mode= ['dead'] = {'dead', 'deviated'}, -- |url-status= -- Used by InternetArchiveBot ['dmy'] = {'dmy'}, -- |df= ['dmy-all'] = {'dmy-all'}, -- |df= -- etal = {'etal'}, -- |display-authors=, etc etal = {'etal', 'ほか'}, ['foreword'] = {'foreword'}, -- |contribution= ['free'] = {'free'}, -- |<id>-access= -- Used by InternetArchiveBot ['harv'] = {'harv'}, -- |ref=; this no longer supported; is_valid_parameter_value() called with <invert> = true ['introduction'] = {'introduction'}, -- |contribution= ['limited'] = {'limited'}, -- |url-access= -- Used by InternetArchiveBot ['live'] = {'live'}, -- |url-status= -- Used by InternetArchiveBot ['mdy'] = {'mdy'}, -- |df= ['mdy-all'] = {'mdy-all'}, -- |df= ['none'] = {'none'}, -- |postscript=, |ref=, |title=, |type= -- Used by InternetArchiveBot ['off'] = {'off'}, -- |title= (potentially also: |title-link=, |postscript=, |ref=, |type=) ['preface'] = {'preface'}, -- |contribution= ['registration'] = {'registration'}, -- |url-access= -- Used by InternetArchiveBot ['subscription'] = {'subscription'}, -- |url-access= -- Used by InternetArchiveBot ['unfit'] = {'unfit'}, -- |url-status= -- Used by InternetArchiveBot ['usurped'] = {'usurped'}, -- |url-status= -- Used by InternetArchiveBot ['vanc'] = {'vanc'}, -- |name-list-style= ['ymd'] = {'ymd'}, -- |df= ['ymd-all'] = {'ymd-all'}, -- |df= -- ['yMd'] = {'yMd'}, -- |df=; not supported at en.wiki -- ['yMd-all'] = {'yMd-all'}, -- |df=; not supported at en.wiki } --[[------------------------< X L A T E _ K E Y W O R D S >--------------------- this function builds a list, keywords_xlate{}, of the keywords found in keywords{} where the values from keywords{} become the keys in keywords_xlate{} and the keys from keywords{} become the values in keywords_xlate{}: ['affirmative'] = {'yes', 'true', 'y'}, -- in keywords{} becomes ['yes'] = 'affirmative', -- in keywords_xlate{} ['true'] = 'affirmative', ['y'] = 'affirmative', the purpose of this function is to act as a translator between a non-English keyword and its English equivalent that may be used in other modules of this suite ]] local function xlate_keywords () local out_table = {}; -- output goes here for k, keywords_t in pairs (keywords) do -- spin through the keywords table for _, keyword in ipairs (keywords_t) do -- for each keyword out_table[keyword] = k; -- create an entry in the output table where keyword is the key end end return out_table; end local keywords_xlate = xlate_keywords (); -- the list of translated keywords --[[----------------< M A K E _ K E Y W O R D S _ L I S T >--------------------- this function assembles, for parameter-value validation, the list of keywords appropriate to that parameter. keywords_lists{}, is a table of tables from keywords{} ]] local function make_keywords_list (keywords_lists) local out_table = {}; -- output goes here for _, keyword_list in ipairs (keywords_lists) do -- spin through keywords_lists{} and get a table of keywords for _, keyword in ipairs (keyword_list) do -- spin through keyword_list{} and add each keyword, ... table.insert (out_table, keyword); -- ... as plain text, to the output list end end return out_table; end --[[----------------< K E Y W O R D S _ L I S T S >----------------------------- this is a list of lists of valid keywords for the various parameters in [key]. Generally the keys in this table are the canonical en.wiki parameter names though some are contrived because of use in multiple differently named parameters: ['yes_true_y'], ['id-access']. The function make_keywords_list() extracts the individual keywords from the appropriate list in keywords{}. The lists in this table are used to validate the keyword assignment for the parameters named in this table's keys. ]] local keywords_lists = { ['yes_true_y'] = make_keywords_list ({keywords.affirmative}), ['contribution'] = make_keywords_list ({keywords.afterword, keywords.foreword, keywords.introduction, keywords.preface}), ['df'] = make_keywords_list ({keywords.dmy, keywords['dmy-all'], keywords.mdy, keywords['mdy-all'], keywords.ymd, keywords['ymd-all']}), -- ['df'] = make_keywords_list ({keywords.dmy, keywords['dmy-all'], keywords.mdy, keywords['mdy-all'], keywords.ymd, keywords['ymd-all'], keywords.yMd, keywords['yMd-all']}), -- not supported at en.wiki ['mode'] = make_keywords_list ({keywords.cs1, keywords.cs2}), ['name-list-style'] = make_keywords_list ({keywords.amp, keywords['and'], keywords.vanc}), ['ref'] = make_keywords_list ({keywords.harv}), -- inverted check; |ref=harv no longer supported ['url-access'] = make_keywords_list ({keywords.subscription, keywords.limited, keywords.registration}), ['url-status'] = make_keywords_list ({keywords.dead, keywords.live, keywords.unfit, keywords.usurped, keywords['bot: unknown']}), ['id-access'] = make_keywords_list ({keywords.free}), } --[[--------------------------< C S 1 _ C O N F I G _ G E T >-------------------------------------------------- fetch and validate values from {{cs1 config}} template to fill <global_cs1_config_t> no error messages; when errors are detected, the parameter value from {{cs1 config}} is blanked. Supports all parameters and aliases associated with the metaparameters: DisplayAuthors, DisplayContributors, DisplayEditors, DisplayInterviewers, DisplayTranslators, NameListStyle, and Mode. The DisplayWhatever metaparameters accept numeric values only (|display-authors=etal and the like is not supported). ]] local global_cs1_config_t = {}; -- TODO: add value returned from get_date_format() to this table? local function get_cs1_config () if not content then -- nil content when we're in template return nil; -- auto-formatting does not work in Template space so don't set global_df end local start = content:find('{{ *[Cc][Ss]1 config *[|}]'); -- <start> is offset into <content> when {{cs1 config}} found; nil else if start then local cs1_config_template = content:match ('%b{}', start); -- get the whole template if not cs1_config_template then return nil; end local params_t = mw.text.split (cs1_config_template:gsub ('^{{%s*', ''):gsub ('%s*}}$', ''), '%s*|%s*'); -- remove '{{' and '}}'; make a sequence of parameter/value pairs (split on the pipe) table.remove (params_t, 1); -- remove the template name because it isn't a parameter/value pair local config_meta_params_t = {'DisplayAuthors', 'DisplayContributors', 'DisplayEditors', 'DisplayInterviewers', 'DisplayTranslators', 'NameListStyle', 'Mode'}; local meta_param_map_t = {}; -- list of accepted parameter names usable in {{cs1 config}} goes here for _, meta_param in ipairs (config_meta_params_t) do -- for i18n using <config_meta_params_t>, map template parameter names to their metaparameter equivalents if 'table' == type (aliases[meta_param]) then -- if <meta_param> is a sequence, for _, param in ipairs (aliases[meta_param]) do -- extract its contents meta_param_map_t[param] = meta_param; -- and add to <meta_param_map_t> end else meta_param_map_t[aliases[meta_param]] = meta_param; -- not a sequence so just add the parameter to <meta_param_map_t> end end local keywords_t = {}; -- map valid keywords to their associate metaparameter; reverse form of <keyword_lists[key] for these metaparameters for _, metaparam_t in ipairs ({{'NameListStyle', 'name-list-style'}, {'Mode', 'mode'}}) do -- only these metaparameter / keywords_lists key pairs for _, keyword in ipairs (keywords_lists[metaparam_t[2]]) do -- spin through the list of keywords keywords_t[keyword] = metaparam_t[1]; -- add [keyword] = metaparameter to the map end end for _, param in ipairs (params_t) do -- spin through the {{cs1 config}} parameters and fill <global_cs1_config_t> local k, v = param:match ('([^=]-)%s*=%s*(.+)'); -- <k> is the parameter name; <v> is parameter's assigned value if k then if k:find ('^display') then -- if <k> is one of the |display-<namelist>= parameters if v:match ('%d+') then -- the assigned value must be digits; doesn't accept 'etal' global_cs1_config_t[meta_param_map_t[k]]=v; -- add the display param and its value to globals table end else if keywords_t[v] == meta_param_map_t[k] then -- keywords_t[v] returns nil or the metaparam name; these must be the same global_cs1_config_t[meta_param_map_t[k]]=v; -- add the parameter and its value to globals table end end end end end end get_cs1_config (); -- fill <global_cs1_config_t> --[[---------------------< S T R I P M A R K E R S >---------------------------- Common pattern definition location for stripmarkers so that we don't have to go hunting for them if (when) MediaWiki changes their form. ]] local stripmarkers = { ['any'] = '\127[^\127]*UNIQ%-%-(%a+)%-[%a%d]+%-QINU[^\127]*\127', -- capture returns name of stripmarker ['math'] = '\127[^\127]*UNIQ%-%-math%-[%a%d]+%-QINU[^\127]*\127' -- math stripmarkers used in coins_cleanup() and coins_replace_math_stripmarker() } --[[------------< I N V I S I B L E _ C H A R A C T E R S >--------------------- This table holds non-printing or invisible characters indexed either by name or by Unicode group. Values are decimal representations of UTF-8 codes. The table is organized as a table of tables because the Lua pairs keyword returns table data in an arbitrary order. Here, we want to process the table from top to bottom because the entries at the top of the table are also found in the ranges specified by the entries at the bottom of the table. Also here is a pattern that recognizes stripmarkers that begin and end with the delete characters. The nowiki stripmarker is not an error but some others are because the parameter values that include them become part of the template's metadata before stripmarker replacement. ]] local invisible_defs = { del = '\127', -- used to distinguish between stripmarker and del char zwj = '\226\128\141', -- used with capture because zwj may be allowed } local invisible_chars = { {'replacement', '\239\191\189'}, -- U+FFFD, EF BF BD {'zero width joiner', '('.. invisible_defs.zwj .. ')'}, -- U+200D, E2 80 8D; capture because zwj may be allowed {'zero width space', '\226\128\139'}, -- U+200B, E2 80 8B {'hair space', '\226\128\138'}, -- U+200A, E2 80 8A {'soft hyphen', '\194\173'}, -- U+00AD, C2 AD {'horizontal tab', '\009'}, -- U+0009 (HT), 09 {'line feed', '\010'}, -- U+000A (LF), 0A {'no-break space', '\194\160'}, -- U+00A0 (NBSP), C2 A0 {'carriage return', '\013'}, -- U+000D (CR), 0D {'stripmarker', stripmarkers.any}, -- stripmarker; may or may not be an error; capture returns the stripmaker type {'delete', '('.. invisible_defs.del .. ')'}, -- U+007F (DEL), 7F; must be done after stripmarker test; capture to distinguish isolated del chars not part of stripmarker {'C0 control', '[\000-\008\011\012\014-\031]'}, -- U+0000–U+001F (NULL–US), 00–1F (except HT, LF, CR (09, 0A, 0D)) {'C1 control', '[\194\128-\194\159]'}, -- U+0080–U+009F (XXX–APC), C2 80 – C2 9F -- {'Specials', '[\239\191\185-\239\191\191]'}, -- U+FFF9-U+FFFF, EF BF B9 – EF BF BF -- {'Private use area', '[\238\128\128-\239\163\191]'}, -- U+E000–U+F8FF, EE 80 80 – EF A3 BF -- {'Supplementary Private Use Area-A', '[\243\176\128\128-\243\191\191\189]'}, -- U+F0000–U+FFFFD, F3 B0 80 80 – F3 BF BF BD -- {'Supplementary Private Use Area-B', '[\244\128\128\128-\244\143\191\189]'}, -- U+100000–U+10FFFD, F4 80 80 80 – F4 8F BF BD } --[[ Indic script makes use of zero width joiner as a character modifier so zwj characters must be left in. This pattern covers all of the unicode characters for these languages: Devanagari 0900–097F – https://unicode.org/charts/PDF/U0900.pdf Devanagari extended A8E0–A8FF – https://unicode.org/charts/PDF/UA8E0.pdf Bengali 0980–09FF – https://unicode.org/charts/PDF/U0980.pdf Gurmukhi 0A00–0A7F – https://unicode.org/charts/PDF/U0A00.pdf Gujarati 0A80–0AFF – https://unicode.org/charts/PDF/U0A80.pdf Oriya 0B00–0B7F – https://unicode.org/charts/PDF/U0B00.pdf Tamil 0B80–0BFF – https://unicode.org/charts/PDF/U0B80.pdf Telugu 0C00–0C7F – https://unicode.org/charts/PDF/U0C00.pdf Kannada 0C80–0CFF – https://unicode.org/charts/PDF/U0C80.pdf Malayalam 0D00–0D7F – https://unicode.org/charts/PDF/U0D00.pdf plus the not-necessarily Indic scripts for Sinhala and Burmese: Sinhala 0D80-0DFF - https://unicode.org/charts/PDF/U0D80.pdf Myanmar 1000-109F - https://unicode.org/charts/PDF/U1000.pdf Myanmar extended A AA60-AA7F - https://unicode.org/charts/PDF/UAA60.pdf Myanmar extended B A9E0-A9FF - https://unicode.org/charts/PDF/UA9E0.pdf the pattern is used by has_invisible_chars() and coins_cleanup() ]] local indic_script = '[\224\164\128-\224\181\191\224\163\160-\224\183\191\225\128\128-\225\130\159\234\167\160-\234\167\191\234\169\160-\234\169\191]'; -- list of emoji that use a zwj character (U+200D) to combine with another emoji -- from: https://unicode.org/Public/emoji/17.0/emoji-zwj-sequences.txt; version: 17.0; 2025-01-08 -- table created by: [[:en:Module:Make emoji zwj table]] local emoji_t = { -- indexes are decimal forms of the hex values in U+xxxx [8596] = true, -- U+2194 ↔ left right arrow [8597] = true, -- U+2195 ↕ up down arrow [9760] = true, -- U+2620 ☠ skull and crossbones [9792] = true, -- U+2640 ♀ female sign [9794] = true, -- U+2642 ♂ male sign [9877] = true, -- U+2695 ⚕ staff of aesculapius [9878] = true, -- U+2696 ⚖ scales [9895] = true, -- U+26A7 ⚧ male with stroke and male and female sign [9992] = true, -- U+2708 ✈ airplane [10052] = true, -- U+2744 ❄ snowflake [10084] = true, -- U+2764 ❤ heavy black heart [10145] = true, -- U+27A1 ➡ black rightwards arrow [11035] = true, -- U+2B1B ⬛ black large square [127752] = true, -- U+1F308 🌈 rainbow [127787] = true, -- U+1F32B 🌫 fog [127806] = true, -- U+1F33E 🌾 ear of rice [127859] = true, -- U+1F373 🍳 cooking [127868] = true, -- U+1F37C 🍼 baby bottle [127876] = true, -- U+1F384 🎄 christmas tree [127891] = true, -- U+1F393 🎓 graduation cap [127908] = true, -- U+1F3A4 🎤 microphone [127912] = true, -- U+1F3A8 🎨 artist palette [127979] = true, -- U+1F3EB 🏫 school [127981] = true, -- U+1F3ED 🏭 factory [128048] = true, -- U+1F430 🐰 rabbit face [128102] = true, -- U+1F466 👦 boy [128103] = true, -- U+1F467 👧 girl [128104] = true, -- U+1F468 👨 man [128105] = true, -- U+1F469 👩 woman [128139] = true, -- U+1F48B 💋 kiss mark [128165] = true, -- U+1F4A5 💥 collision symbol [128168] = true, -- U+1F4A8 💨 dash symbol [128171] = true, -- U+1F4AB 💫 dizzy symbol [128187] = true, -- U+1F4BB 💻 personal computer [128188] = true, -- U+1F4BC 💼 brief case [128293] = true, -- U+1F525 🔥 fire [128295] = true, -- U+1F527 🔧 wrench [128300] = true, -- U+1F52C 🔬 microscope [128488] = true, -- U+1F5E8 🗨 left speech bubble [128640] = true, -- U+1F680 🚀 rocket [128658] = true, -- U+1F692 🚒 fire engine [129001] = true, -- U+1F7E9 🟩 large green square [129003] = true, -- U+1F7EB 🟫 large brown square [129309] = true, -- U+1F91D 🤝 handshake [129455] = true, -- U+1F9AF 🦯 probing cane [129456] = true, -- U+1F9B0 🦰 emoji component red hair [129457] = true, -- U+1F9B1 🦱 emoji component curly hair [129458] = true, -- U+1F9B2 🦲 emoji component bald [129459] = true, -- U+1F9B3 🦳 emoji component white hair [129466] = true, -- U+1F9BA 🦺 safety vest [129468] = true, -- U+1F9BC 🦼 motorized wheelchair [129469] = true, -- U+1F9BD 🦽 manual wheelchair [129489] = true, -- U+1F9D1 🧑 adult [129490] = true, -- U+1F9D2 🧒 child [129648] = true, -- U+1FA70 🩰 ballet shoes [129657] = true, -- U+1FA79 🩹 adhesive bandage [129775] = true, -- U+1FAEF 🫯 fight cloud [129778] = true, -- U+1FAF2 🫲 leftwards hand } --[[----------------------< L A N G U A G E S U P P O R T >------------------- These tables and constants support various language-specific functionality. ]] --local this_wiki_code = mw.getContentLanguage():getCode(); -- get this wiki's language code local this_wiki_code = lang_obj:getCode(); -- get this wiki's language code if string.match (mw.site.server, 'wikidata') then this_wiki_code = mw.getCurrentFrame():callParserFunction('int', {'lang'}); -- on Wikidata so use interface language setting instead end local mw_languages_by_tag_t = mw.language.fetchLanguageNames (this_wiki_code, 'all'); -- get a table of language tag/name pairs known to Wikimedia; used for interwiki tests local mw_languages_by_name_t = {}; for k, v in pairs (mw_languages_by_tag_t) do -- build a 'reversed' table name/tag language pairs know to MediaWiki; used for |language= v = mw.ustring.lower (v); -- lowercase for tag fetch; get name's proper case from mw_languages_by_tag_t[<tag>] if mw_languages_by_name_t[v] then -- when name already in the table if 2 == #k or 3 == #k then -- if tag does not have subtags mw_languages_by_name_t[v] = k; -- prefer the shortest tag for this name end else -- here when name not in the table mw_languages_by_name_t[v] = k; -- so add name and matching tag end end local inter_wiki_map = {}; -- map of interwiki prefixes that are language-code prefixes for k, v in pairs (mw.site.interwikiMap ('local')) do -- spin through the base interwiki map (limited to local) if mw_languages_by_tag_t[v["prefix"]] then -- if the prefix matches a known language tag inter_wiki_map[v["prefix"]] = true; -- add it to our local map end end --[[--------------------< S C R I P T _ L A N G _ C O D E S >------------------- This table is used to hold ISO 639-1 two-character and ISO 639-3 three-character language codes that apply only to |script-title= and |script-chapter= ]] local script_lang_codes = { 'ab', 'am', 'ar', 'as', 'az', 'be', 'bg', 'bn', 'bo', 'bs', 'ce', 'chr', 'cu', 'dv', 'dz', 'el', 'fa', 'grc', 'gu', 'he', 'hi', 'hy', 'ja', 'ka', 'kaa', 'kk', 'km', 'kn', 'ko', 'ku', 'ky', 'lo', 'mk', 'ml', 'mn', 'mni', 'mr', 'my', 'ne', 'or', 'ota', 'pa', 'ps', 'ru', 'sd', 'si', 'sr', 'syc', 'ta', 'te', 'tg', 'th', 'ti', 'tkr', 'tt', 'ug', 'uk', 'ur', 'uz', 'yi', 'yue', 'zh', 'zgh' }; --[[---------------< L A N G U A G E R E M A P P I N G >---------------------- These tables hold language information that is different (correct) from MediaWiki's definitions For each ['<tag>'] = 'language name' in lang_code_remap{} there must be a matching ['language name'] = {'language name', '<tag>'} in lang_name_remap{} lang_tag_remap{}: key is always lowercase ISO 639-1, -2, -3 language tag or a valid lowercase IETF language tag value is properly spelled and capitalized language name associated with <tag> only one language name per <tag>; key/value pair must have matching entry in lang_name_remap{} lang_name_remap{}: key is always lowercase language name value is a table the holds correctly spelled and capitalized language name [1] and associated tag [2] (tag must match a tag key in lang_tag_remap{}) may have multiple keys referring to a common preferred name and tag; For example: ['kolsch'] and ['kölsch'] both refer to 'Kölsch' and 'ksh' ]] local lang_tag_remap = { -- used for |language= and |script-title= / |script-chapter= ['als'] = 'Tosk Albanian', -- MediaWiki returns Alemannisch ['bh'] = 'Bihari', -- MediaWiki uses 'bh' as a subdomain name for Bhojpuri Wikipedia: bh.wikipedia.org ['bla'] = 'Blackfoot', -- MediaWiki/IANA/ISO 639: Siksika; use en.wiki preferred name ['bn'] = 'Bengali', -- MediaWiki returns Bangla ['ca-valencia'] = 'Valencian', -- IETF variant of Catalan ['fkv'] = 'Kven', -- MediaWiki returns Kvensk ['gsw'] = 'Swiss German', ['ilo'] = 'Ilocano', -- MediaWiki/IANA/ISO 639: Iloko; use en.wiki preferred name ['ksh'] = 'Kölsch', -- MediaWiki: Colognian; use IANA/ISO 639 preferred name ['ksh-x-colog'] = 'Colognian', -- override MediaWiki ksh; no IANA/ISO 639 code for Colognian; IETF private code created at Module:Lang/data ['mis-x-ripuar'] = 'Ripuarian', -- override MediaWiki ksh; no IANA/ISO 639 code for Ripuarian; IETF private code created at Module:Lang/data ['nan-tw'] = 'Taiwanese Hokkien', -- make room for MediaWiki/IANA/ISO 639 nan: Min Nan Chinese and support en.wiki preferred name ['sr-ec'] = 'Serbian (Cyrillic script)', -- MediaWiki returns српски (ћирилица) ['sr-el'] = 'Serbian (Latin script)', -- MediaWiki returns srpski (latinica) } local lang_name_remap = { -- used for |language=; names require proper capitalization; tags must be lowercase ['alemannic'] = {'Swiss German', 'gsw'}, -- ISO 639-2, -3 alternate for Swiss German; MediaWiki mediawiki returns Alemannic for gsw; en.wiki preferred name ['alemannisch'] = {'Swiss German', 'gsw'}, -- not an ISO or IANA language name; MediaWiki uses 'als' as a subdomain name for Alemannic Wikipedia: als.wikipedia.org ['bangla'] = {'Bengali', 'bn'}, -- MediaWiki returns Bangla (the endonym) but we want Bengali (the exonym); here we remap ['bengali'] = {'Bengali', 'bn'}, -- MediaWiki doesn't use exonym so here we provide correct language name and 639-1 code ['bhojpuri'] = {'Bhojpuri', 'bho'}, -- MediaWiki uses 'bh' as a subdomain name for Bhojpuri Wikipedia: bh.wikipedia.org ['bihari'] = {'Bihari', 'bh'}, -- MediaWiki replaces 'Bihari' with 'Bhojpuri' so 'Bihari' cannot be found ['blackfoot'] = {'Blackfoot', 'bla'}, -- MediaWiki/IANA/ISO 639: Siksika; use en.wiki preferred name ['colognian'] = {'Colognian', 'ksh-x-colog'}, -- MediaWiki preferred name for ksh ['ilocano'] = {'Ilocano', 'ilo'}, -- MediaWiki/IANA/ISO 639: Iloko; use en.wiki preferred name ['kolsch'] = {'Kölsch', 'ksh'}, -- use IANA/ISO 639 preferred name (use non-diacritical o instead of umlaut ö) ['kölsch'] = {'Kölsch', 'ksh'}, -- use IANA/ISO 639 preferred name ['kven'] = {'Kven', 'fkv'}, -- Unicode CLDR have decided not to support English language name for these two... ['kvensk'] = {'Kven', 'fkv'}, -- ...they say to refer to IANA registry for English names ['ripuarian'] = {'Ripuarian', 'mis-x-ripuar'}, -- group of dialects; no code in MediaWiki or in IANA/ISO 639 ['serbian (cyrillic script)'] = {'Serbian (Cyrillic script)', 'sr-cyrl'}, -- special case to get correct tag when |language=sr-ec ['serbian (latin script)'] = {'Serbian (Latin script)', 'sr-latn'}, -- special case to get correct tag when |language=sr-el ['swiss german'] = {'Swiss German', 'gsw'}, ['taiwanese hokkien'] = {'Taiwanese Hokkien', 'nan-tw'}, -- make room for MediaWiki/IANA/ISO 639 nan: Min Nan Chinese ['tosk albanian'] = {'Tosk Albanian', 'als'}, -- MediaWiki replaces 'Tosk Albanian' with 'Alemannisch' so 'Tosk Albanian' cannot be found ['valencian'] = {'Valencian', 'ca-valencia'}, -- variant of Catalan; categorizes as Valencian } --[[---------------< P R O P E R T I E S _ C A T E G O R I E S >---------------- Properties categories. These are used for investigating qualities of citations. ]] local prop_cats = { ['foreign-lang-source'] = 'CS1 $1-language sources ($2)', -- |language= categories; $1 is foreign-language name, $2 is ISO639-1 code ['foreign-lang-source-2'] = 'CS1 foreign language sources (ISO 639-2)|$1', -- |language= category; a cat for ISO639-2 languages; $1 is the ISO 639-2 code used as a sort key ['interproj-linked-name'] = 'CS1 interproject-linked names|$1', -- any author, editor, etc that has an interproject link; $1 is interproject tag used as a sort key ['interwiki-linked-name'] = 'CS1 interwiki-linked names|$1', -- any author, editor, etc that has an interwiki link; $1 is interwiki tag used as a sort key; yeilds to interproject ['local-lang-source'] = 'CS1 $1-language sources ($2)', -- |language= categories; $1 is local-language name, $2 is ISO639-1 code; not emitted when local_lang_cat_enable is false ['location-test'] = 'CS1 location test', ['long-vol'] = 'CS1: long volume value', -- probably temporary cat to identify scope of |volume= values longer than 4 characters ['script'] = 'CS1 uses $1-language script ($2)', -- |script-title=xx: has matching category; $1 is language name, $2 is language tag ['tracked-param'] = 'CS1 tracked parameter: $1', -- $1 is base (enumerators removed) parameter name ['unfit'] = 'CS1: unfit URL', -- |url-status=unfit or |url-status=usurped; used to be a maint cat ['vanc-accept'] = 'CS1:Vancouver names with accept markup', -- for |vauthors=/|veditors= with accept-as-written markup ['year-range-abbreviated'] = 'CS1: abbreviated year range', -- probably temporary cat to identify scope of |date=, |year= values using YYYY–YY form } --[[-------------------< T I T L E _ T Y P E S >-------------------------------- Here we map a template's CitationClass to TitleType (default values for |type= parameter) ]] local title_types = { ['AV-media-notes'] = 'Media notes', ['document'] = 'Document', ['interview'] = 'Interview', ['mailinglist'] = 'Mailing list', ['map'] = 'Map', ['podcast'] = 'Podcast', ['pressrelease'] = 'Press release', ['report'] = 'Report', ['speech'] = 'Speech', ['techreport'] = 'Technical report', ['thesis'] = 'Thesis', } --[[--------------------------< B U I L D _ K N O W N _ F R E E _ D O I _ R E G I S T R A N T S _ T A B L E >-- build a table of doi registrants known to be free-to-read In a doi, the registrant ID is the series of digits between the '10.' and the first '/': in doi 10.1100/sommat, 1100 is the registrant ID see §3.2.2 DOI prefix of the Doi Handbook p. 43 https://www.doi.org/doi-handbook/DOI_Handbook_Final.pdf#page=43 ]] local function build_free_doi_registrants_table() local registrants_t = {}; for _, v in ipairs ({ '1045', '1074', '1096', '1100', '1155', '1186', '1194', '1371', '1613', '1629', '1989', '1999', '2147', '2196', '3285', '3389', '3390', '3906', '3748', '3814', '3847', '3897', '4061', '4089', '4103', '4172', '4175', '4230', '4236', '4239', '4240', '4249', '4251', '4252', '4253', '4254', '4291', '4292', '4312', '4329', '4330', '4331', '5074', '5086', '5194', '5210', '5306', '5312', '5313', '5314', '5315', '5316', '5317', '5318', '5319', '5320', '5321', '5334', '5402', '5409', '5410', '5411', '5412', '5492', '5493', '5494', '5495', '5496', '5497', '5498', '5499', '5500', '5501', '5527', '5528', '5662', '6064', '6219', '7167', '7217', '7287', '7482', '7490', '7554', '7717', '7759', '7766', '9778', '11131', '11569', '11647', '11648', '12688', '12703', '12715', '12942', '12998', '13105', '14256', '14293', '14303', '14502', '14720', '15215', '15292', '15458', '15347', '15412', '15560', '16995', '17573', '17645', '18553', '18637', '18757', '19080', '19173', '20419', '20944', '21037', '21105', '21468', '21767', '21425', '22261', '22323', '22459', '24105', '24196', '24404', '24413', '24966', '26529', '26614', '26775', '26873', '30845', '32545', '34291', '34641', '35711', '35712', '35713', '35995', '36648', '37126', '37532', '37871', '47128', '47622', '47959', '48438', '51741', '51746', '51935', '51936', '51937', '51938', '51939', '51940', '52165', '52437', '52975', '53288', '53347', '54081', '54947', '55295', '55667', '55741', '55914', '57009', '58647', '59081', '59490', '61375', '66183', '70587', }) do registrants_t[v] = true; -- build a k/v table of known free-to-read doi registrants end return registrants_t; end -- known free registrants identifiable by the doi suffix incipit local extended_registrants_t = { -- doi suffix incipits are evaluated as lua patterns ['1002'] = {'aelm', 'cesm', 'leap', 'loe2%.', 'lol2%.'}, -- Advanced Electronic Materials, Cochrane Evidence Synthesis and Methods, Learned Publishing, L&O e-Lectures, L&O Letters ['1016'] = {'j%.aace', 'j%.aed', 'j%.aiopen', 'j%.animal', 'j%.apsb', 'j%.addicn', -- AACE Endocrinology and Diabetes, AACE Endocrinology and Diabetes, AI Open, Animal, Acta Pharmaceutica Sinica B, Addiction Neuroscience 'j%.abrep', 'j%.gpb', 'j%.heliyon', 'j%.nlp', 'j%.patter', 'j%.proche', -- Addictive Behaviors Reports, Genomics, Proteomics & Bioinformatics after 2015, Heliyon, Natural Language Processing, Patterns, Procedia Chemistry 'j%.vgie', 'S1672-0229'}, -- VideoGIE, Genomics, Proteomics & Bioinformatics before 2015 ['1017'] = {'apj%.', 'nlp', 'mdh', 'S15574660'}, -- Natural Language Processing Journal, Medical History, Asia Pacific Journal ['1021'] = {'acscentsci', 'acsomega'}, -- ACS Central Science, ACS Omega ['1046'] = {'j%.1365-8711', 'j%.1365-246x'}, -- MNRAS, GJI ['1051'] = {'parasite'}, -- Parasite ['1093'] = {'mnras', 'mnrasl', 'gji', 'pnasnexus', 'rasti'}, -- MNRAS, MNRAS Letters, GJI, PNAS Nexus, RASTI ['1098'] = {'rsbm', 'rsob', 'rsos'}, -- Biographical Memoirs of Fellows of the Royal Society, Open Biology, Royal Society Open Science ['1099'] = {'acmi', 'mic', '00221287', 'mgen'}, -- Access Microbiology, Microbiology, Journal of General Microbiology, Microbial Genomics ['1107'] = {'S20569890', 'S20522525', 'S16005775', 'S24143146'}, -- Acta Crystallographica E, IUCrJ, Journal of Synchrotron Radiation, IUCrData ['1109'] = {'access', 'oa', 'oj'}, -- IEEE Access, IEEE Open Access..., IEEE Open Journal... ['1111'] = {'aogs', 'j%.1365-2966', 'j%.1745-3933', 'j%.1365-246X'}, -- Acta Obstetricia et Gynecologica Scandinavica, MNRAS, MNRAS Letters, GJI ['1128'] = {'asmcr', 'jmbe', 'mbio', 'mra', 'spectrum', 'msphere', 'msystems'}, --ASM Case Reports, Journal of Microbiology & Biology Education, mBio, Microbiology Resource Announcements, Microbiology Spectrum, mSphere, mSystems ['1136'] = {'bmjopen'}, -- BMJ Open ['1140'] = {'epjconf'}, -- EPJ Web of Conferences ['1192'] = {'bjo'}, -- BJPsych Open ['1210'] = {'jendso','jcemcr'}, -- Journal of the Endocrine Society, JCEM Case Reports ['1215'] = {'21573689', '21573698'}, -- L&O Fluids ['1257'] = {'jep'}, -- Journal of Economic Perspectives ['1590'] = {'0102-3306'}, -- Acta Botanica Brasilica ['4171'] = {'dm','mag'}, -- Documenta Mathematica, EMS Magazine ['4319'] = {'lo%.', 'lol%.', 'lom%.'}, -- L&O, L&O e-Lectures, L&O Methods ['5852'] = {'ejt'}, -- European Journal of Taxonomy ['7155'] = {'jgaa'}, -- Journal of Graph Algorithms and Applications ['7758'] = {'rsf'}, -- RSJ Journal ['11158'] = {'saasp'}, -- Systematic and Applied Acarology Special Publications ['11646'] = {'megataxa', 'mesozoic'}, -- Megataxa, Mesozoic ['14231'] = {'ag'}, -- Algebraic Geometry ['15446'] = {'abc'}, -- Acta Biológica Colombiana ['17239'] = {'jowr'}, -- Journal of Writing Research ['22073'] = {'pja'}, -- Persian Journal of Acarology ['24310'] = {'abm'}, -- Acta Botanica Malacitana ['24425'] = {'agp'}, -- Acta Geologica Polonica ['35249'] = {'rche'}, -- Revista Chilena de Entomología ['37520'] = {'fi'}, -- Fossil Imprint ['53562'] = {'ajcb'} -- Asian Journal of Conservation Biology } --[[===================<< E R R O R M E S S A G I N G >>====================== ]] --[[----------< E R R O R M E S S A G E S U P P L E M E N T S >------------- I18N for those messages that are supplemented with additional specific text that describes the reason for the error TODO: merge this with special_case_translations{}? ]] local err_msg_supl = { ['char'] = 'invalid character', -- |isbn=, |sbn= ['check'] = 'checksum', -- |isbn=, |sbn= empty_str = '(empty string)', -- empty unknown parameter check when cite has |= ['flag'] = 'flag', -- |archive-url= ['form'] = 'invalid form', -- |isbn=, |sbn= ['group'] = 'invalid group id', -- |isbn= ['initials'] = 'initials', -- Vancouver ['invalid language code'] = 'invalid language code', -- |script-<param>= ['journal'] = 'journal', -- |bibcode= ['length'] = 'length', -- |isbn=, |bibcode=, |sbn= ['liveweb'] = 'liveweb', -- |archive-url= ['missing comma'] = 'missing comma', -- Vancouver ['missing prefix'] = 'missing prefix', -- |script-<param>= ['missing title part'] = 'missing title part', -- |script-<param>= ['name'] = 'name', -- Vancouver ['non-Latin char'] = 'non-Latin character', -- Vancouver ['path'] = 'path', -- |archive-url= ['prefix'] = 'invalid prefix', -- |isbn= ['punctuation'] = 'punctuation', -- Vancouver ['save'] = 'save command', -- |archive-url= ['suffix'] = 'suffix', -- Vancouver ['timestamp'] = 'timestamp', -- |archive-url= ['unknown language code'] = 'unknown language code', -- |script-<param>= ['value'] = 'value', -- |bibcode= ['year'] = 'year', -- |bibcode= } --[[--------------< E R R O R _ C O N D I T I O N S >--------------------------- Error condition table. This table has two sections: errors at the top, maintenance at the bottom. Maint 'messaging' does not have a 'message' (message=nil) The following contains a list of IDs for various error conditions defined in the code. For each ID, we specify a text message to display, an error category to include, and whether the error message should be wrapped as a hidden comment. Anchor changes require identical changes to matching anchor in Help:CS1 errors TODO: rename error_conditions{} to something more generic; create separate error and maint tables inside that? ]] local error_conditions = { err_accessdate_missing_url = { message = '<code class="cs1-code">&#124;access-date=</code> requires <code class="cs1-code">&#124;url=</code>', anchor = 'accessdate_missing_url', category = 'CS1 errors: access-date without URL', hidden = false }, err_apostrophe_markup = { message = 'Italic or bold markup not allowed in: <code class="cs1-code">&#124;$1=</code>', -- $1 is parameter name anchor = 'apostrophe_markup', category = 'CS1 errors: markup', hidden = false }, err_archive_date_missing_url = { message = '<code class="cs1-code">&#124;archive-date=</code> requires <code class="cs1-code">&#124;archive-url=</code>', anchor = 'archive_date_missing_url', category = 'CS1 errors: archive-url', hidden = false }, err_archive_date_url_ts_mismatch = { message = '<code class="cs1-code">&#124;archive-date=</code> / <code class="cs1-code">&#124;archive-url=</code> timestamp mismatch; $1 suggested', anchor = 'archive_date_url_ts_mismatch', category = 'CS1 errors: archive-url', hidden = false }, err_archive_missing_date = { message = '<code class="cs1-code">&#124;archive-url=</code> requires <code class="cs1-code">&#124;archive-date=</code>', anchor = 'archive_missing_date', category = 'CS1 errors: archive-url', hidden = false }, err_archive_missing_url = { message = '<code class="cs1-code">&#124;archive-url=</code> requires <code class="cs1-code">&#124;url=</code>', anchor = 'archive_missing_url', category = 'CS1 errors: archive-url', hidden = false }, err_archive_url = { message = '<code class="cs1-code">&#124;archive-url=</code> is malformed: $1', -- $1 is error message detail anchor = 'archive_url', category = 'CS1 errors: archive-url', hidden = false }, err_arxiv_missing = { message = '<code class="cs1-code">&#124;arxiv=</code> required', anchor = 'arxiv_missing', category = 'CS1 errors: arXiv', -- same as bad arxiv hidden = false }, err_asintld_missing_asin = { message = '<code class="cs1-code">&#124;$1=</code> requires <code class="cs1-code">&#124;asin=</code>', -- $1 is parameter name anchor = 'asintld_missing_asin', category = 'CS1 errors: ASIN TLD', hidden = false }, err_bad_arxiv = { message = 'Check <code class="cs1-code">&#124;arxiv=</code> value', anchor = 'bad_arxiv', category = 'CS1 errors: arXiv', hidden = false }, err_bad_asin = { message = 'Check <code class="cs1-code">&#124;asin=</code> value', anchor = 'bad_asin', category ='CS1 errors: ASIN', hidden = false }, err_bad_asin_tld = { message = 'Check <code class="cs1-code">&#124;asin-tld=</code> value', anchor = 'bad_asin_tld', category ='CS1 errors: ASIN TLD', hidden = false }, err_bad_bibcode = { message = 'Check <code class="cs1-code">&#124;bibcode=</code> $1', -- $1 is error message detail anchor = 'bad_bibcode', category = 'CS1 errors: bibcode', hidden = false }, err_bad_biorxiv = { message = 'Check <code class="cs1-code">&#124;biorxiv=</code> value', anchor = 'bad_biorxiv', category = 'CS1 errors: bioRxiv', hidden = false }, err_bad_citeseerx = { message = 'Check <code class="cs1-code">&#124;citeseerx=</code> value', anchor = 'bad_citeseerx', category = 'CS1 errors: citeseerx', hidden = false }, err_bad_date = { message = 'Check date values in: $1', -- $1 is a parameter name list anchor = 'bad_date', category = 'CS1 errors: dates', hidden = false }, err_bad_doi = { message = 'Check <code class="cs1-code">&#124;doi=</code> value', anchor = 'bad_doi', category = 'CS1 errors: DOI', hidden = false }, err_bad_hdl = { message = 'Check <code class="cs1-code">&#124;hdl=</code> value', anchor = 'bad_hdl', category = 'CS1 errors: HDL', hidden = false }, err_bad_isbn = { message = 'Check <code class="cs1-code">&#124;isbn=</code> value: $1', -- $1 is error message detail anchor = 'bad_isbn', category = 'CS1 errors: ISBN', hidden = false }, err_bad_ismn = { message = 'Check <code class="cs1-code">&#124;ismn=</code> value', anchor = 'bad_ismn', category = 'CS1 errors: ISMN', hidden = false }, err_bad_issn = { message = 'Check <code class="cs1-code">&#124;$1issn=</code> value', -- $1 is 'e' or '' for eissn or issn anchor = 'bad_issn', category = 'CS1 errors: ISSN', hidden = false }, err_bad_jfm = { message = 'Check <code class="cs1-code">&#124;jfm=</code> value', anchor = 'bad_jfm', category = 'CS1 errors: JFM', hidden = false }, err_bad_jstor = { message = 'Check <code class="cs1-code">&#124;jstor=</code> value', anchor = 'bad_jstor', category = 'CS1 errors: JSTOR', hidden = false }, err_bad_lccn = { message = 'Check <code class="cs1-code">&#124;lccn=</code> value', anchor = 'bad_lccn', category = 'CS1 errors: LCCN', hidden = false }, err_bad_medrxiv = { message = 'Check <code class="cs1-code">&#124;medrxiv=</code> value', anchor = 'bad_medrxiv', category = 'CS1 errors: medRxiv', hidden = false }, err_bad_mr = { message = 'Check <code class="cs1-code">&#124;mr=</code> value', anchor = 'bad_mr', category = 'CS1 errors: MR', hidden = false }, err_bad_oclc = { message = 'Check <code class="cs1-code">&#124;oclc=</code> value', anchor = 'bad_oclc', category = 'CS1 errors: OCLC', hidden = false }, err_bad_ol = { message = 'Check <code class="cs1-code">&#124;ol=</code> value', anchor = 'bad_ol', category = 'CS1 errors: OL', hidden = false }, err_bad_osti = { message = 'Check <code class="cs1-code">&#124;osti=</code> value', anchor = 'bad_osti', category = 'CS1 errors: OSTI', hidden = false }, err_bad_paramlink = { -- for |title-link=, |author/editor/translator-link=, |series-link=, |episode-link= message = 'Check <code class="cs1-code">&#124;$1=</code> value', -- $1 is parameter name anchor = 'bad_paramlink', category = 'CS1 errors: parameter link', hidden = false }, err_bad_pmc = { message = 'Check <code class="cs1-code">&#124;pmc=</code> value', anchor = 'bad_pmc', category = 'CS1 errors: PMC', hidden = false }, err_bad_pmid = { message = 'Check <code class="cs1-code">&#124;pmid=</code> value', anchor = 'bad_pmid', category = 'CS1 errors: PMID', hidden = false }, err_bad_rfc = { message = 'Check <code class="cs1-code">&#124;rfc=</code> value', anchor = 'bad_rfc', category = 'CS1 errors: RFC', hidden = false }, err_bad_s2cid = { message = 'Check <code class="cs1-code">&#124;s2cid=</code> value', anchor = 'bad_s2cid', category = 'CS1 errors: S2CID', hidden = false }, err_bad_sbn = { message = 'Check <code class="cs1-code">&#124;sbn=</code> value: $1', -- $1 is error message detail anchor = 'bad_sbn', category = 'CS1 errors: SBN', hidden = false }, err_bad_ssrn = { message = 'Check <code class="cs1-code">&#124;ssrn=</code> value', anchor = 'bad_ssrn', category = 'CS1 errors: SSRN', hidden = false }, err_bad_url = { message = 'Check $1 value', -- $1 is parameter name anchor = 'bad_url', category = 'CS1 errors: URL', hidden = false }, err_bad_usenet_id = { message = 'Check <code class="cs1-code">&#124;message-id=</code> value', anchor = 'bad_message_id', category = 'CS1 errors: message-id', hidden = false }, err_bad_zbl = { message = 'Check <code class="cs1-code">&#124;zbl=</code> value', anchor = 'bad_zbl', category = 'CS1 errors: Zbl', hidden = false }, err_bare_url_missing_title = { message = '$1 missing title', -- $1 is parameter name anchor = 'bare_url_missing_title', category = 'CS1 errors: bare URL', hidden = false }, err_biorxiv_missing = { message = '<code class="cs1-code">&#124;biorxiv=</code> required', anchor = 'biorxiv_missing', category = 'CS1 errors: bioRxiv', -- same as bad bioRxiv hidden = false }, err_chapter_ignored = { message = '<code class="cs1-code">&#124;$1=</code> ignored', -- $1 is parameter name anchor = 'chapter_ignored', category = 'CS1 errors: chapter ignored', hidden = false }, err_citation_missing_title = { message = 'Missing or empty <code class="cs1-code">&#124;$1=</code>', -- $1 is parameter name anchor = 'citation_missing_title', category = 'CS1 errors: missing title', hidden = false }, err_citeseerx_missing = { message = '<code class="cs1-code">&#124;citeseerx=</code> required', anchor = 'citeseerx_missing', category = 'CS1 errors: citeseerx', -- same as bad citeseerx hidden = false }, err_cite_web_url = { -- this error applies to cite web and to cite podcast message = 'Missing or empty <code class="cs1-code">&#124;url=</code>', anchor = 'cite_web_url', category = 'CS1 errors: requires URL', hidden = false }, err_class_ignored = { message = '<code class="cs1-code">&#124;class=</code> ignored', anchor = 'class_ignored', category = 'CS1 errors: class', hidden = false }, err_contributor_ignored = { message = '<code class="cs1-code">&#124;contributor=</code> ignored', anchor = 'contributor_ignored', category = 'CS1 errors: contributor', hidden = false }, err_contributor_missing_required_param = { message = '<code class="cs1-code">&#124;contributor=</code> requires <code class="cs1-code">&#124;$1=</code>', -- $1 is parameter name anchor = 'contributor_missing_required_param', category = 'CS1 errors: contributor', hidden = false }, err_deprecated_params = { message = 'Cite uses deprecated parameter <code class="cs1-code">&#124;$1=</code>', -- $1 is parameter name anchor = 'deprecated_params', category = 'CS1 errors: deprecated parameters', hidden = false }, err_disp_name = { message = 'Invalid <code class="cs1-code">&#124;$1=$2</code>', -- $1 is parameter name; $2 is the assigned value anchor = 'disp_name', category = 'CS1 errors: display-names', hidden = false, }, err_doibroken_missing_doi = { message = '<code class="cs1-code">&#124;$1=</code> requires <code class="cs1-code">&#124;doi=</code>', -- $1 is parameter name anchor = 'doibroken_missing_doi', category = 'CS1 errors: DOI', hidden = false }, err_embargo_missing_pmc = { message = '<code class="cs1-code">&#124;$1=</code> requires <code class="cs1-code">&#124;pmc=</code>', -- $1 is parameter name anchor = 'embargo_missing_pmc', category = 'CS1 errors: PMC embargo', hidden = false }, err_empty_citation = { message = 'Empty citation', anchor = 'empty_citation', category = 'CS1 errors: empty citation', hidden = false }, err_etal = { message = 'Explicit use of et al. in: <code class="cs1-code">&#124;$1=</code>', -- $1 is parameter name anchor = 'explicit_et_al', category = 'CS1 errors: explicit use of et al.', hidden = false }, err_extra_text_edition = { message = '<code class="cs1-code">&#124;edition=</code> has extra text', anchor = 'extra_text_edition', category = 'CS1 errors: extra text: edition', hidden = false, }, err_extra_text_issue = { message = '<code class="cs1-code">&#124;$1=</code> has extra text', -- $1 is parameter name anchor = 'extra_text_issue', category = 'CS1 errors: extra text: issue', hidden = false, }, err_extra_text_pages = { message = '<code class="cs1-code">&#124;$1=</code> has extra text', -- $1 is parameter name anchor = 'extra_text_pages', category = 'CS1 errors: extra text: pages', hidden = false, }, err_extra_text_volume = { message = '<code class="cs1-code">&#124;$1=</code> has extra text', -- $1 is parameter name anchor = 'extra_text_volume', category = 'CS1 errors: extra text: volume', hidden = false, }, err_first_missing_last = { message = '<code class="cs1-code">&#124;$1=</code> missing <code class="cs1-code">&#124;$2=</code>', -- $1 is first alias, $2 is matching last alias anchor = 'first_missing_last', category = 'CS1 errors: missing name', -- author, contributor, editor, interviewer, translator hidden = false }, err_format_missing_url = { message = '<code class="cs1-code">&#124;$1=</code> requires <code class="cs1-code">&#124;$2=</code>', -- $1 is format parameter $2 is url parameter anchor = 'format_missing_url', category = 'CS1 errors: format without URL', hidden = false }, err_generic_name = { message = '<code class="cs1-code">&#124;$1=</code> has generic name', -- $1 is parameter name anchor = 'generic_name', category = 'CS1 errors: generic name', hidden = false, }, err_generic_title = { message = 'Cite uses generic title', anchor = 'generic_title', category = 'CS1 errors: generic title', hidden = false, }, err_invalid_isbn_date = { message = 'ISBN / Date incompatibility', anchor = 'invalid_isbn_date', category = 'CS1 errors: ISBN date', hidden = true }, err_invalid_param_val = { message = 'Invalid <code class="cs1-code">&#124;$1=$2</code>', -- $1 is parameter name $2 is parameter value anchor = 'invalid_param_val', category = 'CS1 errors: invalid parameter value', hidden = false }, err_invisible_char = { message = '$1 in $2 at position $3', -- $1 is invisible char $2 is parameter name $3 is position number anchor = 'invisible_char', category = 'CS1 errors: invisible characters', hidden = false }, err_medrxiv_missing = { message = '<code class="cs1-code">&#124;medrxiv=</code> required', anchor = 'medrxiv_missing', category = 'CS1 errors: medRxiv', -- same as bad medRxiv hidden = false }, err_missing_name = { message = 'Missing <code class="cs1-code">&#124;$1$2=</code>', -- $1 is modified NameList; $2 is enumerator anchor = 'missing_name', category = 'CS1 errors: missing name', -- author, contributor, editor, interviewer, translator hidden = false }, err_missing_periodical = { message = 'Cite $1 requires <code class="cs1-code">&#124;$2=</code>', -- $1 is cs1 template name; $2 is canonical periodical parameter name for cite $1 anchor = 'missing_periodical', category = 'CS1 errors: missing periodical', hidden = false }, err_missing_pipe = { message = 'Missing pipe in: <code class="cs1-code">&#124;$1=</code>', -- $1 is parameter name anchor = 'missing_pipe', category = 'CS1 errors: missing pipe', hidden = false }, err_missing_publisher = { message = 'Cite $1 requires <code class="cs1-code">&#124;$2=</code>', -- $1 is cs1 template name; $2 is canonical publisher parameter name for cite $1 anchor = 'missing_publisher', category = 'CS1 errors: missing publisher', hidden = false }, err_numeric_names = { message = '<code class="cs1-code">&#124;$1=</code> has numeric name', -- $1 is parameter name', anchor = 'numeric_names', category = 'CS1 errors: numeric name', hidden = false, }, err_param_access_requires_param = { message = '<code class="cs1-code">&#124;$1-access=</code> requires <code class="cs1-code">&#124;$1=</code>', -- $1 is parameter name anchor = 'param_access_requires_param', category = 'CS1 errors: param-access', hidden = false }, err_param_has_ext_link = { message = 'External link in <code class="cs1-code">$1</code>', -- $1 is parameter name anchor = 'param_has_ext_link', category = 'CS1 errors: external links', hidden = false }, err_param_has_twl_url = { message = 'Wikipedia Library link in <code class="cs1-code">$1</code>', -- $1 is parameter name anchor = 'param_has_twl_url', category = 'CS1 errors: URL', hidden = false }, err_parameter_ignored = { message = 'Unknown parameter <code class="cs1-code">&#124;$1=</code> ignored', -- $1 is parameter name anchor = 'parameter_ignored', category = 'CS1 errors: unsupported parameter', hidden = false }, err_parameter_ignored_suggest = { message = 'Unknown parameter <code class="cs1-code">&#124;$1=</code> ignored (<code class="cs1-code">&#124;$2=</code> suggested)', -- $1 is unknown parameter $2 is suggested parameter name anchor = 'parameter_ignored_suggest', category = 'CS1 errors: unsupported parameter', hidden = false }, err_periodical_ignored = { message = '<code class="cs1-code">&#124;$1=</code> ignored', -- $1 is parameter name anchor = 'periodical_ignored', category = 'CS1 errors: periodical ignored', hidden = false }, err_redundant_parameters = { message = 'More than one of $1 specified', -- $1 is error message detail anchor = 'redundant_parameters', category = 'CS1 errors: redundant parameter', hidden = false }, err_script_parameter = { message = 'Invalid <code class="cs1-code">&#124;$1=</code>: $2', -- $1 is parameter name $2 is script language code or error detail anchor = 'script_parameter', category = 'CS1 errors: script parameters', hidden = false }, err_ssrn_missing = { message = '<code class="cs1-code">&#124;ssrn=</code> required', anchor = 'ssrn_missing', category = 'CS1 errors: SSRN', hidden = false }, err_text_ignored = { message = 'Text "$1" ignored', -- $1 is ignored text anchor = 'text_ignored', category = 'CS1 errors: unrecognized parameter', hidden = false }, err_trans_missing_title = { message = '<code class="cs1-code">&#124;trans-$1=</code> requires <code class="cs1-code">&#124;$1=</code> or <code class="cs1-code">&#124;script-$1=</code>', -- $1 is base parameter name anchor = 'trans_missing_title', category = 'CS1 errors: translated title', hidden = false }, err_param_unknown_empty = { message = 'Cite has empty unknown parameter$1: $2', -- $1 is 's' or empty space; $2 is emty unknown param list anchor = 'param_unknown_empty', category = 'CS1 errors: empty unknown parameters', hidden = false }, err_vancouver = { message = 'Vancouver style error: $1 in name $2', -- $1 is error detail, $2 is the nth name anchor = 'vancouver', category = 'CS1 errors: Vancouver style', hidden = false }, err_wikilink_in_url = { message = 'URL–wikilink conflict', -- uses ndash anchor = 'wikilink_in_url', category = 'CS1 errors: URL–wikilink conflict', -- uses ndash hidden = false }, --[[--------------------------< M A I N T >------------------------------------- maint messages do not have a message (message = nil); otherwise the structure is the same as error messages ]] maint_archive_origin = { message = nil, anchor = 'archive_origin', category = 'CS1 maint: archive origin', hidden = true, }, maint_archived_copy = { message = nil, anchor = 'archived_copy', category = 'CS1 maint: archived copy as title', hidden = true, }, maint_bibcode = { message = nil, anchor = 'bibcode', category = 'CS1 maint: bibcode', hidden = true, }, maint_location_no_publisher = { -- cite book, conference, encyclopedia; citation as book cite or encyclopedia cite message = nil, anchor = 'location_no_publisher', category = 'CS1 maint: location missing publisher', hidden = true, }, maint_bot_unknown = { message = nil, anchor = 'bot:_unknown', category = 'CS1 maint: bot: original URL status unknown', hidden = true, }, maint_date_auto_xlated = { -- date auto-translation not supported by en.wiki message = nil, anchor = 'date_auto_xlated', category = 'CS1 maint: date auto-translated', hidden = true, }, maint_date_format = { message = nil, anchor = 'date_format', category = 'CS1 maint: date format', hidden = true, }, maint_date_year = { message = nil, anchor = 'date_year', category = 'CS1 maint: date and year', hidden = true, }, maint_deprecated_archive = { message = nil, anchor = 'deprecated_archive', category = 'CS1 maint: deprecated archival service', hidden = true, }, maint_doi_ignore = { message = nil, anchor = 'doi_ignore', category = 'CS1 maint: ignored DOI errors', hidden = true, }, maint_doi_inactive = { message = nil, anchor = 'doi_inactive', category = 'CS1 maint: DOI inactive', hidden = true, }, maint_doi_inactive_dated = { message = nil, anchor = 'doi_inactive_dated', category = 'CS1 maint: DOI inactive as of $2$3$1', -- $1 is year, $2 is month-name or empty string, $3 is space or empty string hidden = true, }, maint_doi_unflagged_free = { message = nil, anchor = 'doi_unflagged_free', category = 'CS1 maint: unflagged free DOI', hidden = true, }, maint_extra_punct = { message = nil, anchor = 'extra_punct', category = 'CS1 maint: extra punctuation', hidden = true, }, maint_id_limit_load_fail = { -- applies to all cs1|2 templates on a page; message = nil, -- maint message (category link) never emitted anchor = 'id_limit_load_fail', category = 'CS1 maint: ID limit load fail', hidden = true, }, maint_isbn_ignore = { message = nil, anchor = 'ignore_isbn_err', category = 'CS1 maint: ignored ISBN errors', hidden = true, }, maint_issn_ignore = { message = nil, anchor = 'ignore_issn', category = 'CS1 maint: ignored ISSN errors', hidden = true, }, maint_jfm_format = { message = nil, anchor = 'jfm_format', category = 'CS1 maint: JFM format', hidden = true, }, maint_location = { message = nil, anchor = 'location', category = 'CS1 maint: location', hidden = true, }, maint_missing_class = { message = nil, anchor = 'missing_class', category = 'CS1 maint: missing class', hidden = true, }, maint_mr_format = { message = nil, anchor = 'mr_format', category = 'CS1 maint: MR format', hidden = true, }, maint_mult_names = { message = nil, anchor = 'mult_names', category = 'CS1 maint: multiple names: $1', -- $1 is '<name>s list'; gets value from special_case_translation table hidden = true, }, maint_numeric_names = { message = nil, anchor = 'numeric_names', category = 'CS1 maint: numeric names: $1', -- $1 is '<name>s list'; gets value from special_case_translation table hidden = true, }, maint_others = { message = nil, anchor = 'others', category = 'CS1 maint: others', hidden = true, }, maint_others_avm = { message = nil, anchor = 'others_avm', category = 'CS1 maint: others in cite AV media (notes)', hidden = true, }, maint_overridden_setting = { message = nil, anchor = 'overridden', category = 'CS1 maint: overridden setting', hidden = true, }, maint_page_art_num = { message = nil, anchor = 'page_art_num', category = 'CS1 maint: article number as page number', hidden = true, }, maint_pmc_embargo = { message = nil, anchor = 'embargo', category = 'CS1 maint: PMC embargo expired', hidden = true, }, maint_pmc_format = { message = nil, anchor = 'pmc_format', category = 'CS1 maint: PMC format', hidden = true, }, maint_postscript = { message = nil, anchor = 'postscript', category = 'CS1 maint: postscript', hidden = true, }, maint_publisher_location = { message = nil, anchor = 'publisher_location', category = 'CS1 maint: publisher location', hidden = true, }, maint_ref_duplicates_default = { message = nil, anchor = 'ref_default', category = 'CS1 maint: ref duplicates default', hidden = true, }, maint_shortened_archive_url = { message = nil, anchor = 'shortened_archive_url', category = 'CS1 maint: shortened archive url', hidden = true, }, maint_unknown_lang = { message = nil, anchor = 'unknown_lang', category = 'CS1 maint: unrecognized language', hidden = true, }, maint_untitled = { message = nil, anchor = 'untitled', category = 'CS1 maint: untitled periodical', hidden = true, }, maint_url_status = { message = nil, anchor = 'url_status', category = 'CS1 maint: url-status', hidden = true, }, maint_work_isbn = { message = nil, anchor = 'work_isbn', category = 'CS1 maint: work parameter with ISBN', hidden = true, }, maint_year= { message = nil, anchor = 'year', category = 'CS1 maint: year', hidden = true, }, maint_zbl = { message = nil, anchor = 'zbl', category = 'CS1 maint: Zbl', hidden = true, }, } --[[--------------------------< I D _ L I M I T S _ D A T A _ T >---------------------------------------------- fetch id limits for certain identifiers from c:Data:CS1/Identifier limits.tab. This source is a json tabular data file maintained at wikipedia commons. Convert the json format to a table of k/v pairs. The values from <id_limits_data_t> are used to set handle.id_limit. From 2025-02-21, MediaWiki is broken. Use this link to edit the tablular data file: https://commons.wikimedia.org/w/index.php?title=Data:CS1/Identifier_limits.tab&action=edit See Phab:T389105 ]] local id_limits_data_t = {}; local id_limits_data_load_fail = false; -- flag; assume that we will be successful when loading json id limit tabular data local use_commons_data = true; -- set to false if your wiki does not have access to mediawiki commons; then, if false == use_commons_data then -- update this table from https://commons.wikimedia.org/wiki/Data:CS1/Identifier_limits.tab; last update: 2025-02-21 id_limits_data_t = {['OCLC'] = 10450000000, ['OSTI'] = 23010000, ['PMC'] = 11900000, ['PMID'] = 40400000, ['RFC'] = 9300, ['SSRN'] = 5200000, ['S2CID'] = 276000000}; -- this table must be maintained locally else -- here for wikis that do have access to mediawiki commons local load_fail_limit = 99999999999; -- very high number to avoid error messages on load failure id_limits_data_t = {['OCLC'] = load_fail_limit, ['OSTI'] = load_fail_limit, ['PMC'] = load_fail_limit, ['PMID'] = load_fail_limit, ['RFC'] = load_fail_limit, ['SSRN'] = load_fail_limit, ['S2CID'] = load_fail_limit}; if mw.ext.data == nil then id_limits_data_load_fail = true; -- safeguard against Lua errors if mw.ext.data is not available for some reason else local tab_data_t = mw.ext.data.get ('CS1/Identifier limits.tab'); -- attempt to load the tabular data from commons into <tab_data_t> if false == tab_data_t then -- undocumented 'feature': mw.ext.data.get() sometimes returns false id_limits_data_load_fail = true; -- set the flag so that Module:Citation/CS1 can create an unannotated maint category else for _, limit_t in ipairs (tab_data_t.data) do -- overwrite default <load_fail_limit> values from the data table in the tabular data id_limits_data_t[limit_t[1]] = limit_t[2]; -- <limit[1]> is identifier; <limit[2]> is upper limit for that identifier end end end end --[[--------------------------< I D _ H A N D L E R S >-------------------------------------------------------- The following contains a list of values for various defined identifiers. For each identifier we specify a variety of information necessary to properly render the identifier in the citation. parameters: a list of parameter aliases for this identifier; first in the list is the canonical form link: Wikipedia article name redirect: a local redirect to a local Wikipedia article name; at en.wiki, 'ISBN (identifier)' is a redirect to 'International Standard Book Number' q: Wikidata q number for the identifier label: the label preceding the identifier; label is linked to a Wikipedia article (in this order): redirect from id_handlers['<id>'].redirect when use_identifier_redirects is true Wikidata-supplied article name for the local wiki from id_handlers['<id>'].q local article name from id_handlers['<id>'].link prefix: the first part of a URL that will be concatenated with a second part which usually contains the identifier suffix: optional third part to be added after the identifier encode: true if URI should be percent-encoded; otherwise false COinS: identifier link or keyword for use in COinS: for identifiers registered at info-uri.info use: info:.... where '...' is the appropriate identifier label for identifiers that have COinS keywords, use the keyword: rft.isbn, rft.issn, rft.eissn for |asin= and |ol=, which require assembly, use the keyword: url for others make a URL using the value in prefix/suffix and #label, use the keyword: pre (not checked; any text other than 'info', 'rft', or 'url' works here) set to nil to leave the identifier out of the COinS separator: character or text between label and the identifier in the rendered citation id_limit: for those identifiers with established limits, this property holds the upper limit access: use this parameter to set the access level for all instances of this identifier. the value must be a valid access level for an identifier (see ['id-access'] in this file). custom_access: to enable custom access level for an identifier, set this parameter to the parameter that should control it (normally 'id-access') ]] local id_handlers = { ['ARXIV'] = { parameters = {'arxiv', 'eprint'}, link = 'arXiv', redirect = 'arXiv (identifier)', q = 'Q118398', label = 'arXiv', prefix = 'https://arxiv.org/abs/', encode = false, COinS = 'info:arxiv', separator = ':', access = 'free', -- free to read }, ['ASIN'] = { parameters = { 'asin', 'ASIN' }, link = 'Amazon Standard Identification Number', redirect = 'ASIN (identifier)', q = 'Q1753278', label = 'ASIN', prefix = 'https://www.amazon.', COinS = 'url', separator = '&nbsp;', encode = false; }, ['BIBCODE'] = { parameters = {'bibcode'}, link = 'Bibcode', redirect = 'Bibcode (identifier)', q = 'Q25754', label = 'Bibcode', prefix = 'https://ui.adsabs.harvard.edu/abs/', encode = false, COinS = 'info:bibcode', separator = ':', custom_access = 'bibcode-access', }, ['BIORXIV'] = { parameters = {'biorxiv'}, link = 'bioRxiv', redirect = 'bioRxiv (identifier)', q = 'Q19835482', label = 'bioRxiv', prefix = 'https://doi.org/', COinS = 'pre', -- use prefix value access = 'free', -- free to read encode = true, separator = '&nbsp;', }, ['CITESEERX'] = { parameters = {'citeseerx'}, link = 'CiteSeerX', redirect = 'CiteSeerX (identifier)', q = 'Q2715061', label = 'CiteSeerX', prefix = 'https://citeseerx.ist.psu.edu/viewdoc/summary?doi=', COinS = 'pre', -- use prefix value access = 'free', -- free to read encode = true, separator = '&nbsp;', }, ['DOI'] = { -- Used by InternetArchiveBot parameters = { 'doi', 'DOI'}, link = 'Digital object identifier', redirect = 'doi (identifier)', q = 'Q25670', label = 'doi', prefix = 'https://doi.org/', COinS = 'info:doi', separator = ':', encode = true, custom_access = 'doi-access', }, ['EISSN'] = { parameters = {'eissn', 'EISSN'}, link = 'International Standard Serial Number#Electronic ISSN', redirect = 'eISSN (identifier)', q = 'Q46339674', label = 'eISSN', prefix = 'https://search.worldcat.org/issn/', COinS = 'rft.eissn', encode = false, separator = '&nbsp;', }, ['HDL'] = { parameters = { 'hdl', 'HDL' }, link = 'Handle System', redirect = 'hdl (identifier)', q = 'Q3126718', label = 'hdl', prefix = 'https://hdl.handle.net/', COinS = 'info:hdl', separator = ':', encode = true, custom_access = 'hdl-access', }, ['ISBN'] = { -- Used by InternetArchiveBot parameters = {'isbn', 'ISBN'}, link = 'International Standard Book Number', redirect = 'ISBN (identifier)', q = 'Q33057', label = 'ISBN', prefix = 'Special:BookSources/', COinS = 'rft.isbn', separator = '&nbsp;', }, ['ISMN'] = { parameters = {'ismn', 'ISMN'}, link = 'International Standard Music Number', redirect = 'ISMN (identifier)', q = 'Q1666938', label = 'ISMN', prefix = '', -- not currently used; COinS = nil, -- nil because we can't use pre or rft or info: separator = '&nbsp;', }, ['ISSN'] = { parameters = {'issn', 'ISSN'}, link = 'International Standard Serial Number', redirect = 'ISSN (identifier)', q = 'Q131276', label = 'ISSN', prefix = 'https://search.worldcat.org/issn/', COinS = 'rft.issn', encode = false, separator = '&nbsp;', }, ['JFM'] = { parameters = {'jfm', 'JFM'}, link = 'Jahrbuch über die Fortschritte der Mathematik', redirect = 'JFM (identifier)', q = '', label = 'JFM', prefix = 'https://zbmath.org/?format=complete&q=an:', COinS = 'pre', -- use prefix value encode = true, separator = '&nbsp;', }, ['JSTOR'] = { parameters = {'jstor', 'JSTOR'}, link = 'JSTOR', redirect = 'JSTOR (identifier)', q = 'Q1420342', label = 'JSTOR', prefix = 'https://www.jstor.org/stable/', COinS = 'pre', -- use prefix value encode = false, separator = '&nbsp;', custom_access = 'jstor-access', }, ['LCCN'] = { parameters = {'lccn', 'LCCN'}, link = 'Library of Congress Control Number', redirect = 'LCCN (identifier)', q = 'Q620946', label = 'LCCN', prefix = 'https://lccn.loc.gov/', COinS = 'info:lccn', encode = false, separator = '&nbsp;', }, ['MEDRXIV'] = { parameters = {'medrxiv'}, link = 'medRxiv', redirect = 'medRxiv (identifier)', q = 'Q58465838', label = 'medRxiv', prefix = 'https://www.medrxiv.org/content/', COinS = 'pre', -- use prefix value access = 'free', -- free to read encode = false, separator = '&nbsp;', }, ['MR'] = { parameters = {'mr', 'MR'}, link = 'Mathematical Reviews', redirect = 'MR (identifier)', q = 'Q211172', label = 'MR', prefix = 'https://mathscinet.ams.org/mathscinet-getitem?mr=', COinS = 'pre', -- use prefix value encode = true, separator = '&nbsp;', }, ['OCLC'] = { parameters = {'oclc', 'OCLC'}, link = 'OCLC', redirect = 'OCLC (identifier)', q = 'Q190593', label = 'OCLC', prefix = 'https://search.worldcat.org/oclc/', COinS = 'info:oclcnum', encode = true, separator = '&nbsp;', id_limit = id_limits_data_t.OCLC or 0, }, ['OL'] = { parameters = { 'ol', 'OL' }, link = 'Open Library', redirect = 'OL (identifier)', q = 'Q1201876', label = 'OL', prefix = 'https://openlibrary.org/', COinS = 'url', separator = '&nbsp;', encode = true, custom_access = 'ol-access', }, ['OSTI'] = { parameters = {'osti', 'OSTI'}, link = 'Office of Scientific and Technical Information', redirect = 'OSTI (identifier)', q = 'Q2015776', label = 'OSTI', prefix = 'https://www.osti.gov/biblio/', COinS = 'pre', -- use prefix value encode = true, separator = '&nbsp;', id_limit = id_limits_data_t.OSTI or 0, custom_access = 'osti-access', }, ['PMC'] = { parameters = {'pmc', 'PMC'}, link = 'PubMed Central', redirect = 'PMC (identifier)', q = 'Q229883', label = 'PMC', prefix = 'https://www.ncbi.nlm.nih.gov/pmc/articles/PMC', suffix = '', COinS = 'pre', -- use prefix value encode = true, separator = '&nbsp;', id_limit = id_limits_data_t.PMC or 0, access = 'free', -- free to read }, ['PMID'] = { parameters = {'pmid', 'PMID'}, link = 'PubMed Identifier', redirect = 'PMID (identifier)', q = 'Q2082879', label = 'PMID', prefix = 'https://pubmed.ncbi.nlm.nih.gov/', COinS = 'info:pmid', encode = false, separator = '&nbsp;', id_limit = id_limits_data_t.PMID or 0, }, ['RFC'] = { parameters = {'rfc', 'RFC'}, link = 'Request for Comments', redirect = 'RFC (identifier)', q = 'Q212971', label = 'RFC', prefix = 'https://tools.ietf.org/html/rfc', COinS = 'pre', -- use prefix value encode = false, separator = '&nbsp;', id_limit = id_limits_data_t.RFC or 0, access = 'free', -- free to read }, ['SBN'] = { parameters = {'sbn', 'SBN'}, link = 'Standard Book Number', -- redirect to International_Standard_Book_Number#History redirect = 'SBN (identifier)', label = 'SBN', prefix = 'Special:BookSources/0-', -- prefix has leading zero necessary to make 9-digit sbn a 10-digit isbn COinS = nil, -- nil because we can't use pre or rft or info: separator = '&nbsp;', }, ['SSRN'] = { parameters = {'ssrn', 'SSRN'}, link = 'Social Science Research Network', redirect = 'SSRN (identifier)', q = 'Q7550801', label = 'SSRN', prefix = 'https://papers.ssrn.com/sol3/papers.cfm?abstract_id=', COinS = 'pre', -- use prefix value encode = true, separator = '&nbsp;', id_limit = id_limits_data_t.SSRN or 0, custom_access = 'ssrn-access', }, ['S2CID'] = { parameters = {'s2cid', 'S2CID'}, link = 'Semantic Scholar', redirect = 'S2CID (identifier)', q = 'Q22908627', label = 'S2CID', prefix = 'https://api.semanticscholar.org/CorpusID:', COinS = 'pre', -- use prefix value encode = false, separator = '&nbsp;', id_limit = id_limits_data_t.S2CID or 0, custom_access = 's2cid-access', }, ['USENETID'] = { parameters = {'message-id'}, link = 'Usenet', redirect = 'Usenet (identifier)', q = 'Q193162', label = 'Usenet:', prefix = 'news:', encode = false, COinS = 'pre', -- use prefix value separator = '&nbsp;', }, ['ZBL'] = { parameters = {'zbl', 'ZBL' }, link = 'Zentralblatt MATH', redirect = 'Zbl (identifier)', q = 'Q190269', label = 'Zbl', prefix = 'https://zbmath.org/?format=complete&q=an:', COinS = 'pre', -- use prefix value encode = true, separator = '&nbsp;', }, } --[[--------------------------< E X P O R T S >--------------------------------- ]] return { use_identifier_redirects = use_identifier_redirects, -- booleans defined in the settings at the top of this module local_lang_cat_enable = local_lang_cat_enable, date_name_auto_xlate_enable = date_name_auto_xlate_enable, date_digit_auto_xlate_enable = date_digit_auto_xlate_enable, enable_sort_keys = enable_sort_keys, suppress_archive_today_urls = suppress_archive_today_urls, -- tables and variables created when this module is loaded dependencies_t = dependencies_t, -- used to suppress parameters dependent on url-holding parameters holding archive.today urls enum_needs_xlation = '1' ~= date_names.xlate_digits['1'], -- to avoid unnecessary enumerator translation global_df = get_date_format (), -- this line can be replaced with "global_df = 'dmy-all'," to have all dates auto translated to dmy format. global_cs1_config_t = global_cs1_config_t, -- global settings from {{cs1 config}} id_limits_data_load_fail = id_limits_data_load_fail, -- true when commons tabular identifier-limit data fails to load known_free_doi_registrants_t = build_free_doi_registrants_table(), punct_skip = build_skip_table (punct_skip, punct_meta_params), url_skip = build_skip_table (url_skip, url_meta_params), archive_today_tlds_t = {['today'] = true, ['ph'] = true, ['is'] = true, ['md'] = true, ['li'] = true, ['fo'] = true, ['vn'] = true}; -- used by is_archive_today_url() name_space_sort_keys = name_space_sort_keys, aliases = aliases, special_case_translation = special_case_translation, date_names = date_names, err_msg_supl = err_msg_supl, error_conditions = error_conditions, editor_markup_patterns = editor_markup_patterns, et_al_patterns = et_al_patterns, extended_registrants_t = extended_registrants_t, id_handlers = id_handlers, keywords_lists = keywords_lists, keywords_xlate = keywords_xlate, stripmarkers = stripmarkers, invisible_chars = invisible_chars, invisible_defs = invisible_defs, indic_script = indic_script, emoji_t = emoji_t, maint_cats = maint_cats, messages = messages, presentation = presentation, prop_cats = prop_cats, script_lang_codes = script_lang_codes, lang_tag_remap = lang_tag_remap, lang_name_remap = lang_name_remap, this_wiki_code = this_wiki_code, title_types = title_types, uncategorized_namespaces = uncategorized_namespaces_t, uncategorized_subpages = uncategorized_subpages, templates_using_volume = templates_using_volume, templates_using_issue = templates_using_issue, templates_not_using_page = templates_not_using_page, vol_iss_pg_patterns = vol_iss_pg_patterns, single_letter_2nd_lvl_domains_t = single_letter_2nd_lvl_domains_t, url_access_map_t = url_access_map_t, inter_wiki_map = inter_wiki_map, mw_languages_by_tag_t = mw_languages_by_tag_t, mw_languages_by_name_t = mw_languages_by_name_t, citation_class_map_t = citation_class_map_t, citation_issue_t = citation_issue_t, citation_no_volume_t = citation_no_volume_t, } p8b8qtdkli97vrgz6h0940z9dcgf6fo Ajuda:Citation Style 1 12 8231 73017 2026-06-17T07:25:57Z en>Kanguole 0 Reverted edits by [[Special:Contribs/~2026-35442-95|~2026-35442-95]] ([[User talk:~2026-35442-95|talk]]) to last version by Namoroka 73017 wikitext text/x-wiki {{Short description|Help page for citation templates}} {{Wikipedia how-to|HELP:CS1|WP:CS1}} {{Bots|deny=Citation bot}} {{Nutshell|This is an introductory how-to for Wikipedia's most frequently used citation style. It does not cover every option of every citation template. See individual templates' documentation (e.g. at [[Template:Cite journal]]) for details beyond this basic cheatsheet.}} {{Mbox|text=<div style=padding:6px>This help page has {{subpages|testcases|Help:Citation Style 1}} demonstrating various uses.</div>|image=<div style=padding:2px>[[File:Gnome-applications-science.svg|40px]]</div>}} {{csdoc|cs1}} '''Citation Style 1''' ('''CS1''') is a collection of [[Wikipedia:Citing sources|reference citation]] [[Help:Template|templates]] that can be modified to create different styles for different referenced materials. Its purpose is to provide a set of default formats for references on Wikipedia. It includes a series of templates that in turn use [[Module:Citation/CS1]]. The use of CS1 or of templates is not compulsory, per [[WP:CITESTYLE]]. Articles already using a consistent style should not be changed without consensus on the talk page, per [[WP:CITEVAR]]. CS1 uses (in addition to Wikipedia's own [[WP:Manual of Style|Manual of Style]]) elements of ''[[The Chicago Manual of Style]]'' and the ''[[Publication Manual of the American Psychological Association]]'', with significant adaptations. ==Style== There are a number of templates that use a name starting with ''cite''; many were developed independently of CS1 and are not compliant with the CS1 style. There are also a number of templates that use one of the general use templates as a meta-template to cite a specific source. To be compliant with CS1, a template must: * Use [[Module:Citation/CS1]] or one of the templates listed below. * Use a period as a punctuation mark to separate fields and end the citation. * Use a semicolon as a punctuation mark to separate authors and editors. * Format the title of longer works in italics. * Format the title of short works such as chapters in quotes. ==How the templates work== {{Further|WP:CITEHOW}} CS1 templates present a citation generally as: ;With author : {{cite news |author=((Author)) |date=n.d. |title=((Title)) |work=Work |publisher=Publisher |page=x |id=Identifiers |ref=none}} ;Without author : {{cite news |date=n.d. |title=((Title)) |work=Work |publisher=Publisher |page=x |id=Identifiers}} (where "n.d." could also be any other valid date formatted per the MOS) ===Authors=== You can add authors to a citation by placing their first and last name into the template's parameters. To add a single author, use {{para|last}} and {{para|first}}. If a cited source has multiple authors, use {{para|last2}} and {{para|first2}}, {{para|last3}} and {{para|first3}}, etc.<ref name="NB_Prefix">The number of authors that can be listed in the citation and displayed when published is unlimited.</ref> For symmetry with the other numbered parameters, {{para|last1}} and {{para|first1}} are available as well, as shown in the following example: * <code><nowiki>{{cite book |last1=Hawking |first1=Stephen |last2=Hawking |first2=Lucy |title=George's Secret Key to the Universe}}</nowiki></code> * {{cite book |last1=Hawking |first1=Stephen |last2=Hawking |first2=Lucy |title=George's Secret Key to the Universe |ref=none}} In situations where "first" and "last" do not fit the authorship of the source you can use {{para|author}} and {{para|author{{var|n}}}}.<ref>This includes organizational authors or authors from cultures where a "last" name does not correspond to a [[surname]]. {{para|author}} should never hold the name of more than one author.</ref> An editor may be cited using separate parameters for the editor's last and first name. A single or first editor would use {{para|editor-last}} and {{para|editor-first}}; subsequent editors would use {{para|editor2-last}} and {{para|editor2-first}}, {{para|editor3-last}} and {{para|editor3-first}}, etc.<ref name="NB_Prefix"/> Similar to the {{para|author}} parameter, you can cite editors using {{para|editor}} and {{para|editor{{var|n}}}}. Both author and editor parameters can be used in a citation to a source that has multiple sections by different authors. By default, the templates will use the author parameters to create link anchors for [[H:SFN|shortened footnotes]]. If an author parameter is not used, the template will render the editor in the author location and use the editors for [[H:SFN|shortened footnotes]]. If neither author nor editor parameters are used, the template will not automatically create an anchor for shortened footnotes. If the cited source does not credit an author, as is common with newswire reports, press releases or company websites use: {{para|author|<nowiki><!--Not stated--></nowiki>}}<ref>This HTML comment alerts fact-checking and citation-fixing editors, and potentially bots, that the cited source did not name an author—the author was not overlooked. Without this entry editors and bots would waste time researching cited sources for a non-existent author credit.</ref> {| class="wikitable" |+ !{{diagonal split header|Source|Citation}} !CS1 markup !CS1 output !Short citation |- !Author and editor, using last names |<syntaxhighlight inline="" lang="wikitext">{{cite book |title=Title |chapter=Chapter |last=Last |first=First |editor-first=Editor-First |editor-last=Editor-Last |date=1999}}</syntaxhighlight> |{{cite book |title=Title |chapter=Chapter |last=((Last)) |first=((First)) |editor-first=((Editor-First)) |editor-last=((Editor-Last)) |date=1999}} |{{harvnb|Last|1999}} |- !Author and editor |<syntaxhighlight inline="" lang="wikitext">{{cite book |title=Title |chapter=Chapter |author=Author |editor=Editor |date=1999}}</syntaxhighlight> |{{cite book |title=Title |chapter=Chapter |author=((Author)) |editor=((Editor)) |date=1999}} |{{harvnb|Author|1999}} |- !Author only |<syntaxhighlight inline="" lang="wikitext">{{cite book |title=Title |author=Author |date=1998}}</syntaxhighlight> |{{cite book |title=Title |author=((Author)) |date=1998}} |{{harvnb|Author|1998}} |- !Editor but no author |<syntaxhighlight inline="" lang="wikitext">{{cite book |title=Title |editor=Editor |date=1999}}</syntaxhighlight> |{{cite book |title=Title |editor=((Editor)) |date=1999}} |{{harvnb|Editor|1999}} |- !Neither |<syntaxhighlight inline="" lang="wikitext">{{cite book |title=Title |author=<!--Not stated--> |date=1999 |ref={{sfnref|''Title''|1999}}}}</syntaxhighlight> |{{cite book |title=Title |author=<!--Not stated--> |date=1999 |ref={{sfnref|''Title''|1999}}}} |{{harvnb|''Title''|1999}} |} ===Dates=== The year or the full date can be placed in the {{para|date}} parameter. Available formats are shown in the "Acceptable date formats" table of the {{section link|Manual of Style/Dates and numbers|Dates, months and years}}. For an approximate year, precede with "<code>c. </code>", like this: {{para|date|c. 1900}}. When a source does not have a publication date, use {{para|date|n.d.}}. In the case where the same author has written more than one work in the same year, a lower-case letter may be appended to the year in the date parameter ({{xt|{{!}}date&#61;July 4, 1997b}}) or the year parameter ({{xt|{{!}}year&#61;1997b}}). For sources that have an original publication date and a later republication date, put the original date in the {{para|orig-date}} parameter. Citation Style 1 and [[Help:Citation Style 2|2]] templates automatically render dates in the style specified by the article's {{tlx|use dmy dates}} or {{tlx|use mdy dates}} template. See those templates' documentation for details. ====Auto-formatting citation template dates==== {{Use dmy dates|date={{CURRENTMONTHNAME}} {{CURRENTYEAR}}|cs1-dates=y}} Citation Style 1 and [[Help:Citation Style 2|2]] templates automatically render dates ({{para|date}}, {{para|access-date}}, {{para|archive-date}}, etc.) in the style specified by the article's {{tlx|use dmy dates}} or {{tlx|use mdy dates}} template. Editors may also choose how CS1/CS2 templates render dates by the use of {{para|cs1-dates|&lt;{{var|keyword}}>}} in the article's {{tld|use xxx dates}} template.<section begin="auto_date_format_table" /> {| class="wikitable" |+Acceptable <code>{{pipe}}cs1-dates=</code> keywords !scope="col"| Keyword !scope="col"| Definition |- !scope="row"| <code>l</code> |rowspan="2"| long-form publication and access- / archive-dates;<br />this is the default case when {{para|cs1-dates|plain=yes}} is omitted or empty |- !scope="row"| <code>ll</code> |- !scope="row"| <code>ls</code> | long-form publication dates; abbreviated access- / archive-dates |- !scope="row"| <code>ly</code> | long-form publication dates; year-initial numeric access- / archive-dates (ymd) |- !scope="row"| <code>s</code> |rowspan="2"| abbreviated publication and access- / archive-dates |- !scope="row"| <code>ss</code> |- !scope="row"| <code>sy</code> | abbreviated publication dates; year-initial numeric access- / archive-dates (ymd) |- !scope="row"| <code>y</code> |rowspan="2"| year-initial numeric publication, access- and archive-dates (ymd);<br />cs1|2 cannot reformat Month YYYY, Season YYYY, date-ranges of any form, or [[Julian calendar]] dates into ymd format |- !scope="row"| <code>yy</code> |}<section end="auto_date_format_table" /> Example: to have the CS1/CS2 templates in an article render their publication dates in the long form (fully spelled-out month names) with access-/archive-dates rendered in short form (abbreviated month names), write: :{{tlx|use dmy dates|date{{=}}{{CURRENTMONTHNAME}} {{CURRENTYEAR}}|cs1-dates{{=}}ls}} This documentation page has <code><nowiki>{</nowiki>{use dmy dates|date={{CURRENTMONTHNAME}} {{CURRENTYEAR}}|cs1-dates=y}}</code> at the top of this section so this cs1 template will render with ymd dates: :<code><nowiki>{{</nowiki>cite web |title=Example Webpage |date=31 October 2017 |website=Example |url=https://example.com/ |access-date=Dec 5, 2017}}</code> ::{{cite web |title=Example Webpage |date=31 October 2017 |website=Example |url=https://example.com/ |access-date=Dec 5, 2017}} This global setting may be overridden in individual CS1/CS2 templates by use of {{para|df}}; abbreviated date forms are not supported by {{para|df}}. {{lang|la|Nota bene}}: CS1/CS2 auto-date formatting does not apply when previewing an article section that does not contain a {{tld|use xxx dates}} template. ===Titles and chapters=== * '''title''': The title of the cited source, if in a Latin script. If the title is in a non-Latin script, place a romanization in '''title''' and the original in '''script-title'''. Titles are displayed in italics, except for short works such as a {{txl|cite press release}} and cited articles in {{tlx|cite news}}, {{tlx|cite journal}}, {{tlx|cite magazine}}, {{tlx|cite web}}, {{tlx|cite conference}}, and {{tlx|cite podcast}}, where the title is shown in quotation marks. For templates like these that show the title in quotation marks, any double quotation marks inside the title should be [[MOS:QINQ|converted]] to single quotation marks. Use either title case (as defined by [[MOS:TITLECAPS]]) or sentence case consistently throughout the article. Do not omit a leading "The" from the title. Subtitles are typically separated from titles with ": " though " – " is also used. [[MOS:TM|As with trademarks]], Wikipedia {{em|does not}} attempt to emulate any stylistic flourishes used by the cited source's publisher, such as ALL-CAPS, all-lower-case, {{smallcaps|Small Caps}}, etc.; use either standard title case or sentence case consistently. If the cited source is itself notable and has a Wikipedia article, the title can be wikilinked. Wikilinking the title will make it impossible to use the "url" parameter to link to an external copy of the cited source, so only do this when citing works that do not need to be externally linked. A link to the actual source is preferred to a link to a Wikipedia article about the source. * '''script-title''': The title of the cited source, if in a non-Latin script. Languages that do not use a Latin-based alphabet, Arabic, Chinese, Cyrillic, Greek, Hebrew, Japanese, Korean, etc., should not be italicized and may also read [[right-to-left]] (RTL). Titles in '''script-title''' are wrapped in special HTML markup to isolate RTL script from adjacent left-to-right text. Part of that special markup is a language attribute that browsers can use to assist in the proper display of the script. Editors must add a prefix to the script that will identify the language. The prefix is one of the [[Help:Citation Style 1#&#124;script-&lt;param>&#x3D; language codes|supported language codes]] followed by a colon: {{para|script-title|ar:<bdi>العربية</bdi>}}. Unrecognized codes are ignored and will display in the rendered citation. * '''trans-title''': If the cited source is in a foreign language, an English translation of the title can be given here. This field will be displayed in square brackets after the title and will be linked to {{para|url}} if used. * '''chapter''': The full title of the cited chapter from the source, if in a Latin script. If the title is in a non-Latin script, place a romanization in '''chapter''' and the original in '''script-chapter'''. Displayed in quotes before the title. For websites arranged in sections the "at" parameter serves a similar function: {{para|at|Featured News}} * '''script-chapter''': The title of the cited chapter, if in a non-Latin script. Languages that do not use a Latin-based alphabet, Arabic, Chinese, Cyrillic, Greek, Hebrew, Japanese, Korean, etc., may possibly read [[right-to-left]] (RTL). Chapter titles in '''script-chapter''' are wrapped in special HTML markup to isolate RTL script from adjacent left-to-right text. Part of that special markup is a language attribute that browsers can use to assist in the proper display of the script. Editors must add a prefix to the script that will identify the language. The prefix is one of the [[Help:Citation Style 1#&#124;script-&lt;param>&#x3D; language codes|supported language codes]] followed by a colon: {{para|script-chapter|ar:<bdi>العربية</bdi>}}. Unrecognized codes are ignored and will display in the rendered citation. This field will be displayed following the transliterated title. * '''trans-chapter''': If the cited source is in a foreign language, an English translation of the cited chapter title can be given here. This field will be displayed in square brackets within the quotation marks that enclose the chapter field. Titles containing certain characters will both display and link incorrectly unless those characters are replaced or encoded like this: {| class="wikitable" style="text-align:center;" |- !scope="col"| Character !scope="col"| Must be replaced with |- !scope="row"| newline | space |- !scope="row"| [ | &amp;#91; |- !scope="row"| ] | &amp;#93; |- !scope="row"| <nowiki>|</nowiki> | &amp;#124; |} ====|script-&lt;<var>param</var>>= language codes==== Language codes known to cs1|2 for languages that do not use a Latin script are: {{#invoke:Cs1 documentation support|script_lang_lister}}<!-- makes a language code: name list from the master list in [[Module:Citation/CS1/Configuration]] --> ===Type=== * '''type''': Specifies the type of work cited. Appears in parentheses immediately after the title. Some templates use a default that can be overridden; example: {{tl|cite press release}} will show "(Press release)" by default. Other useful values are: Review, Systemic review, Report, Abstract, Meta-analysis, Original article, Oral history<!-- supported as "Oral History" by Dublin Core/Zotero -->, Email<!-- supported by Dublin Core/Zotero -->, Website<!-- supported by Dublin Core/Zotero -->, Text<!-- supported by Dublin Core/Zotero -->, Document<!-- supported by Dublin Core/Zotero -->. Alias: '''medium''', in {{tl|cite AV media}}, where typical values are: Motion picture, Moving image<!-- supported as "Moving Image" by Dublin Core/Zotero -->, Television production, Videotape, DVD, Blu-ray, Trailer, CD, Radio broadcast, Podcast, Sound<!-- supported by Dublin Core/Zotero -->. ===Language=== {{csdoc|language}} ===Work and publisher=== {{Further|WP:CITEHOW}} * '''work''': Used by some templates such as {{tl|cite web}} (where it is aliased to '''website'''), {{tl|cite news}} (aliased to '''newspaper'''), {{tl|cite magazine}} (aliased to '''magazine'''), {{tl|cite journal}} (aliased to '''journal'''), and others where the citation is usually to a specific item (given in the "title" parameter) found in a larger work (this "work" parameter), most commonly an article in a website or print periodical, or an episode in a TV series. {{em|Do not confuse this with the "publisher" parameter}}, which is for the publishing company. If the work is notable and has an article in Wikipedia, it should be wiki-linked at first appearance in citations in the article. If the "title" is already linked-to externally, do not externally link to the "work". If the work title as given by the site/publication would be exactly or substantially the same as the name of the publisher, do not use the "publisher" parameter (see below for more detail). :On websites, in most cases "work" is the name of the website (as usually given in the logo/banner area of the site, and/or appearing in the {{tag|title|o}} of the homepage, which may appear as the page title in your browser tab, depending on browser). Do not append ".com" or the like if the site's actual title does not include it (thus {{para|work|<nowiki>[[Salon (magazine)|Salon]]</nowiki>}}, not <code>Salon.com</code>). If no clear title can be identified, or the title explicitly is the domain name, then use the site's domain name. Do not falsify the work's name by adding descriptive verbiage like "Website of [Publisher]" or "[Publisher]'s Homepage". Capitalize for reading clarity, and omit "www.", e.g. convert "www.veterinaryresourcesuk.com" to "VeterinaryResourcesUK.com". :Many journals use highly abbreviated titles when citing other journals (e.g. ''J. Am. Vet. Med.'' for ''[[Journal of the American Veterinary Medical Association]]'') because specialists in the field the journal covers usually already know what these abbreviations mean. Our readers usually do not, so these abbreviations should always be expanded. :If the titled item being cited is part of some other larger work, as in a book in a series, a special issue of a periodical, or a sub-site at a domain (e.g., you are citing the law school's section of a university's website system), it is usually better to use the name of that more specific work than just that of the entire larger work. Various citation templates provide separate fields for such information, e.g. {{para|chapter}}{{para|title}}{{para|volume}}{{para|series}} in {{tlx|Cite book}}. If the nature of the work and its relation to the site, book, or other context in which it is found is complicated or confusing, simply explain the situation after the citation template and before the {{xtag|ref|c}} that closes the citation. * '''publisher''': the name of the organization that actually published the source. The field should not include the corporate designation such as "Ltd" or "Inc.", unless some ambiguity would result or the organization is usually known with that designation even in everyday use (e.g. [[Apple Inc.]], which otherwise might be confused with [[Apple Records]] and other publishers). "Publisher", "Publishing" and "Publications" can be abbreviated "Pubr.", "Pubg." and "Pubs." respectively, but some templates in this series include a period (full-stop) immediately after this parameter, so the period may have to be omitted; check the output if you abbreviate here. They are usually safe to omit, but are usefully included where the publisher's name might be confusing without it. This is most often the case when the publisher's name is something like "Joshua Martin Publications", which without the designation might be mistaken for a co-author/editor. A leading "The" can generally be omitted, again unless confusion might result (e.g., for [[The International Cat Association]], "The" is part of their official acronym, TICA). If the publisher is notable and has an article independent of the "work", the "publisher" parameter can include a wiki-link to that article, but should never externally link to the publisher's website. Whether the publisher needs to be included depends to an extent on the type of work and sometimes on its recognizability. [[WP:Citing sources]], and most off-Wikipedia citation guides, suggest that it should be used for books (even famous ones), but not necessarily other works. The "publisher" parameter should not be included for widely-known mainstream news sources, for major academic journals, or where it would be the same or mostly the same as the work. For example, the "publisher" parameter should be omitted in these examples: *:{{para|work|<nowiki>[[Amazon.&#8288;com]]</nowiki>}}{{para|publisher|Amazon Inc.|!mxt=y}} *:{{para|newspaper|The Aberdeen Times}}{{para|publisher|The Aberdeen Times|!mxt=y}}<!--A genuine Idaho newspaper: http://www.smalltownpapers.com/newspapers/newspaper.php?id=1 --> *:{{para|newspaper|<nowiki>[[The New York Times]]</nowiki>}}{{para|publisher|The New York Times Company|!mxt=y}} *:{{para|newspaper|<nowiki>[[USA Today]]</nowiki>}}{{para|publisher|<nowiki>[[USA Today Co.]]</nowiki>|!mxt=y}} *:{{para|journal|<nowiki>[[Nature (journal)|Nature]]</nowiki>}}{{para|publisher|<nowiki>[[Nature Research]]</nowiki>|!mxt=y}} :If the work is self-published, [[WP:SELFPUB|this is a very important fact]] about [[WP:RS|potential reliability of the source]], and needs to be specified; no consensus exists for the exact value of {{para|publisher}} in such a case, but some printed style guides suggest "author", while many Wikipedia editors have used "self-published" for increased clarity. When an exhaustive attempt to discover the name of the publisher (try [[whois]] for websites, and [[WorldCat]] for books, etc.) fails, use {{para|publisher|<nowiki><!--Unspecified by source.--></nowiki>}} to explicitly indicate that this was checked, so other editors do not waste time duplicating your fruitless efforts. Do not guess at the publisher when this information is not clear. See next entry for co-published works and how to specify multiple publishers and their locations. * '''location''' (alias {{para|publication-place}}): Geographical place of publication ({{em|not}} where you found your copy, nor location of material in the source). This is usually {{var|City, Country}} or {{var|City, US State}}. The city name by itself can be used for world-recognized cities like New York, London (except in articles about [[London, Ontario|Canadian]] topics), Paris or Tokyo. Simply having a unique name does not mean it is world-recognized: eg, many people do not know where [[Mumbai]] is, especially if they are old enough that it was called [[Bombay]] for much of their lives. So if in doubt, be more rather than less specific, "Melbourne, Australia" and "Melbourne, Florida, USA" each benefit from being spelt out. Also be more specific when just {{var|City, Country}} would be ambiguous, e.g. {{para|location|Hanley, Staffordshire, UK}}, versus {{para|location|Hanley, Worcestershire, UK}}. Do not use sub-national postal abbreviations ("DE", "Wilts", "Tas", etc), per [[MOS:POSTABBR]]. The location parameter should be omitted when it is implied by the name of the work, e.g. ''The Sydney Morning Herald''. The location parameter should be used when the location is part of a common appellation of but not the actual title of a periodical. For example, the newspaper formerly known as and sometimes still called the ''San Jose Mercury News'' is actually ''[[The Mercury News]]'' and can be entered with {{para|newspaper|The Mercury News}} {{para|location|San Jose, California}}, which yields: ''The Mercury News''. San Jose, California. A similar example is ''[[The Times]]'' newspaper, which is published in London and so a correct ref would yield ''The Times''. London. (contrast ''[[The New York Times]]''). Per [[WP:SAYWHEREYOUGOTIT]], provide the location of the edition you are using (e.g., if a publisher has operations in both New York and London and you have the London-published edition, use {{para|location|London}}, even if the publisher's corporate HQ is in New York). If your edition specifically gives multiple locations, this can be indicated with, e.g., {{para|location|New York / London}}. This same technique can be used for co-published works, e.g.: {{para|location|Oakbrook Terrace, Illinois / Los Angeles}}{{para|publisher|<nowiki>[[Council of Science Editors]]</nowiki> / <nowiki>[[Loyola Marymount University]]</nowiki> Press}}; just get them in corresponding order in both parameters. The templates do {{em|not}} have separate {{para|location1|!mxt=y}}, {{para|publisher1|!mxt=y}}, etc., parameters. For historical publications that are still worth citing and still findable (e.g. via book digitizers – see the "via" parameter below), do not confuse the {{em|printer}} (printing press owner-operator) with the {{em|publisher}} (organization or person that sponsored the work); an edition may have a printer's name in larger type than the publisher, but for citation purposes we care about the publisher. If the distinction cannot be determined for certain in a particular case, list both. While some off-site publishers lean toward omitting publishing locations, they can serve more than purely bibliographical purposes on Wikipedia (e.g. an overabundance of material published in one place in an article about another place may reveal an editorial bias). * '''publication-date''': Date of publication when different from the date the work was written. Displays only if date or year are defined and only if different, else publication-date is used and displayed as date. Use the same format as other dates in the article; do not wikilink. Follows publisher; if work is not defined, then publication-date is preceded by "published" and enclosed in parenthesis. {{shortcut|WP:VIA|WP:CS1VIA}} * {{anchor|Via}} '''via''' (optional): Name of the content deliverer (when they are {{em|not}} the publisher). "via" is not a replacement for "publisher", but provides additional detail. It may be used when the content deliverer presents the source in a format other than the original, or when the URL provided does not make clear the identity of the deliverer, or as suggested in [[WP:The Wikipedia Library]], e.g. [[WP:Credo accounts/Citations]]. See also {{section link||Registration or subscription required}}. Typical uses of this parameter are identification of a book-scanning and -databasing project such as those provided by the [[Internet Archive]], [[Project Gutenberg]], and [[Google Books]]; journal indexing and search services through which we commonly find academic articles, e.g. [[PubMed Central]], [[Paperity]], and [[JSTOR]]; and other aggregators or indexers of previously-published content, such as [[Dictionary.com]]. Use via only when a standard identifier cannot be used (see {{section link||Identifiers}}). Example: <code><nowiki>{{Cite dictionary |entry=skeptic |entry-url=https://www.dictionary.com/browse/skeptic?s=t#collins-section |title=[[Collins English Dictionary]] |edition=Complete & Unabridged Digital |date=2012 |location=London |publisher=[[HarperCollins]] |via=[[Dictionary.com]] |access-date=</nowiki>{{CURRENTDAY}} {{CURRENTMONTHNAME}} {{CURRENTYEAR}}<nowiki>}}</nowiki></code> ===Pages=== {| class="wikitable plainrowheaders sortable" style="float:right; margin-left:1em;" |+CS1/CS2 template support for<br /><code>{{pipe}}volume=</code>, <code>{{pipe}}issue=</code>, <code>{{pipe}}page(s)=</code> |- !scope="col"| Template !scope="col"| {{pipe}}volume= !scope="col"| {{pipe}}issue= !scope="col"| {{pipe}}page(s)= !scope="col"| {{pipe}}quote-page(s)= |- !scope="row"| {{tlx|citation}} | {{yes}} || {{yes}} || {{yes}} || {{yes}} |- !scope="row"| {{tlx|cite arXiv}} | {{no}} || {{no}} || {{yes}} || {{yes}} |- !scope="row"| {{tlx|cite AV media}} | {{yes}} || {{no}} || {{no}} || {{no}} |- !scope="row"| {{tlx|cite AV media notes}} | {{no}} || {{no}} || {{yes}} || {{yes}} |- !scope="row"| {{tlx|cite bioRxiv}} | {{no}} || {{no}} || {{yes}} || {{yes}} |- !scope="row"| {{tlx|cite book}} | {{yes}} || {{no}} || {{yes}} || {{yes}} |- !scope="row"| {{tlx|cite citeseerx}} | {{no}} || {{no}} || {{yes}} || {{yes}} |- !scope="row"| {{plainlist| *{{tlx|cite conference}} *(as a book)}} | {{no}} || {{no}} || {{yes}} || {{yes}} |- !scope="row"| {{plainlist| *{{tlx|cite conference}} *(as a journal)}} | {{yes}} || {{yes}} || {{yes}} || {{yes}} |- !scope="row"| {{tlx|cite document}} | {{no}} || {{no}} || {{yes}} || {{yes}} |- !scope="row"| {{tlx|cite encyclopedia}} | {{yes}} || {{no}} || {{yes}} || {{yes}} |- !scope="row"| {{tlx|cite episode}} | {{no}} || {{yes}} || {{no}} || {{no}} |- !scope="row"| {{tlx|cite interview}} | {{yes}} || {{yes}} || {{yes}} || {{yes}} |- !scope="row"| {{tlx|cite journal}} | {{yes}} || {{yes}} || {{yes}} || {{yes}} |- !scope="row"| {{tlx|cite magazine}} | {{yes}} || {{yes}} || {{yes}} || {{yes}} |- !scope="row"| {{tlx|cite mailing list}} | {{no}} || {{no}} || {{no}} || {{no}} |- !scope="row"| {{plainlist| *{{tlx|cite map}} *(as book)}} | {{yes}} || {{no}} || {{yes}} || {{yes}} |- !scope="row"| {{plainlist| *{{tlx|cite map}} *(as journal or magazine)}} | {{yes}} || {{yes}} || {{yes}} || {{yes}} |- !scope="row"| {{tlx|cite news}} | {{yes}} || {{yes}} || {{yes}} || {{yes}} |- !scope="row"| {{tlx|cite newsgroup}} | {{no}} || {{no}} || {{no}} || {{no}} |- !scope="row"| {{tlx|cite podcast}} | {{no}} || {{yes}} || {{no}} || {{no}} |- !scope="row"| {{tlx|cite press release}} | {{no}} || {{no}} || {{yes}} || {{yes}} |- !scope="row"| {{tlx|cite report}} | {{yes}} || {{no}} || {{yes}} || {{yes}} |- !scope="row"| {{tlx|cite serial}} | {{no}} || {{no}} || {{no}} || {{no}} |- !scope="row"| {{tlx|cite sign}} | {{no}} || {{no}} || {{no}} || {{no}} |- !scope="row"| {{tlx|cite speech}} | {{no}} || {{no}} || {{no}} || {{no}} |- !scope="row"| {{tlx|cite ssrn}} | {{no}} || {{no}} || {{yes}} || {{yes}} |- !scope="row"| {{tlx|cite tech report}} | {{yes}} || {{no}} || {{yes}} || {{yes}} |- !scope="row"| {{tlx|cite thesis}} | {{yes}} || {{no}} || {{yes}} || {{yes}} |- !scope="row"| {{tlx|cite web}} | {{no}} || {{no}} || {{yes}} || {{yes}} |} An editor may use any <u>one</u> of the following parameters in a given citation to refer to the specific page(s) or place in a cited source that contains the information that supports the article text. If more than one of the following parameters are used in the same citation, the error message <span style="color:red">Extra <code>|pages=</code> or <code>|at=</code> (</span>[[Help:CS1 errors#extra pages|help]]<span style="color:red">)</span> will display in the published citation. When more than one of the following parameters is used in error, {{para|page}} overrides both {{para|pages}} and {{para|at}}; {{para|pages}} overrides {{para|at}}. To resolve the error, remove extra parameters of this type until only one remains in the affected citation. * '''page''': page in the cited source containing the information that supports the article text, for example {{para|page|52}}. **{{anchor|pagehyphen}}'''Note:''' For a hyphenated page, use {{para|page|<nowiki>12{{hyphen}}34</nowiki>}}. This will not only properly display a hyphen, but also reduce the likelihood that an editor/bot will convert this to {{para|pages|<nowiki>12{{endash}}34</nowiki>}} by mistake. * {{anchor|csdoc_pages<!-- for as long as we don't pull "pages" from csdoc, we can use this anchor here so that [[Help:Citation_Style_1#Accept-this-as-written_markup]] can link to an anchor "csdoc_pages" -->}}'''pages''': pages in the cited source containing the information that supports the article text. Separate page ranges with an [[En dash#En dash|en dash]]: – , for example {{para|pages|236–239}}. Separate non-sequential pages either with commas or semicolons, for example {{para|pages|157, 159}}. The form {{para|pages|461, 466–467}} is used when you are citing both non-contiguous and sequential pages. For page numbers higher than 999, either do not use thousands separators or enclose the page number in [[#Accept-this-as-written markup|accept-this-as-written markup]] to avoid commas being erroneously interpreted as list separators, e.g. {{para|pages|<nowiki>((1,234{{endash}}1,235))</nowiki>}}. For multiple hyphenated pages, use the [[Help:Citation Style 1#Accept-this-as-written markup|accept-this-as-written markup]] to avoid the hyphens being converted to dashes, e.g. {{para|pages|<nowiki>((1{{hyphen}}2)), ((3{{hyphen}}4))</nowiki>}}. **'''Note:''' CS1 citations do not record the total number of pages in a cited source; do not use this parameter for that purpose. * '''at''': place in the cited source containing the information that supports the article text when a page number is not available (such as in some digital books), is inappropriate or is insufficient. Common examples include column or col., paragraph or para. and section or sec. Depending on the source being cited, other indicators may be appropriate to use with the {{para|at}} parameter including, but not limited to, track, hours, minutes and seconds, act, scene, canto, book, part, folio, stanza, back cover, liner notes, indicia, colophon, dust jacket, etc. Examples include {{para|at|Column 2}} or {{para|at|Paragraph 5}} or {{para|at|Back cover}} or {{para|at|Act III, Scene 2}}. * <b>quote-page</b>: The number of a single page quoted in {{para|quote}}. Use either {{para|quote-page}} or {{para|quote-pages}}, but not both. Should be a subset of the page(s) specified in {{para|page}}, {{para|pages}} or {{para|at}}. Displays preceded by {{code|p.}} unless {{para|no-pp|yes}}. If hyphenated, use {{tl|hyphen}} to indicate this is intentional (e.g. {{para|quote-page|<nowiki>3{{hyphen}}12</nowiki>}}). Alias: none. * OR: <b>quote-pages</b>: A list or range of pages quoted in {{para|quote}}. Use either {{para|quote-page}} or {{para|quote-pages}}, but not both. Should be a subset of the pages specified in {{para|pages}} or {{para|at}}. Separate using an en dash (–); separate non-sequential pages with a comma (,). Displays preceded by {{code|pp.}} unless {{para|no-pp|yes}} is defined. Hyphens are automatically converted to en dashes; if hyphens are appropriate because individual page numbers contain hyphens, for example: pp. 3-1–3-15, use [[Help:Citation_Style_1#Accept-this-as-written_markup|double parentheses]] to tell the template to display the value of {{para|quote-pages}} without processing it, and use {{tl|hyphen}} to indicate to editors that a hyphen is really intended: {{para|quote-pages|<nowiki>((3{{hyphen}}1{{ndash}}3{{hyphen}}15))</nowiki>}}. Alias: none. If the same source is reused with different pages, separate citations must be created. A way around this problem is to use a short citation {{tlx|sfn}}, or {{tlx|rp}} to provide linked page number citations. ===Edition identifiers=== * '''edition''': Identifies the particular edition of a cited source when the source has more than one edition, such as "2nd", "Revised", etc. Note that this parameter automatically displays "ed." after your entry. For example, {{para|edition|Revised third}} displays as: "Revised third ed.". The edition parameter can be omitted if there is no content difference between two editions of the same work; e.g. if a book was identically published in the UK and the US except, for example, ISBN number and cover art, it is not necessary to indicate either "UK" or "US" edition; or if citing minute:seconds of a film available in both a regular edition and a "Special Limited Collector's Edition", if the running time and cut are the same, it is not necessary to cite the particular edition. * '''series''': When the source is part of a series, such as a book series or a journal where the issue numbering has restarted. For journal series, {{para|series}} should be limited to {{code|Original/New Series}}, {{code|First/Second/Third/... Series}}, or similar.{{refn|name="c17_14.126"|group="Note"|"Some numbered series have gone on so long that, as with certain long-lived journals, numbering has started over again, preceded by n.s. (new series), 2nd ser. (second series), or some similar notation, usually enclosed in commas. (A change of publisher may also be the occasion for a change in series designation.) Books in the old series may be identified by o.s., 1st ser., or whatever complements the notation for the new series."<ref group="Note">{{cite book |author=University of Chicago |title=The Chicago Manual of Style |edition=17th |year= 2017 |publisher=University of Chicago Press |page=14.126|location=Chicago |language= |isbn=978-0226104201}}</ref> <p>For instance the journal ''[[Physical Review]]'', was numbered volumes 1–35 from 1893 to 1912 (the first series). From 1913 to 1969, the volume numbering restarted at 1 and went up to 188 (the second series). In 1970, ''Physical Review'' split into different parts, ''Physical Review A'', ''Physical Review B'', ''Physical Review C'', and ''Physical Review D'', where volumes again restarted at 1 (the third series). Since there are two publications identified as ''Physical Review, Volume 1'', there is a need to distinguish which is which by use of {{para|series|First Series}} or {{para|series|Second Series}}. While ''Physical Review A'' is in the third series of the ''Physical Review'' [[media franchise]], it is the first series of the publication known as ''Physical Review A''. Since there is no confusion about what ''Physical Review A, Volume 1'' could be referring to, there is no need to clarify to which numbering series the journal belong.</p> <p>In particular, note that the {{para|series}} parameter is not to be used to distinguish the different parts of a [[media franchise]], like ''[[Physical Review A]]'', ''[[Acta Crystallographica Section A]]'', ''[[Journal of the Royal Statistical Society, Series B]]''.</p>}} * {{anchor|csdoc_volume<!-- for as long as we don't pull "volume" from csdoc, we can use this anchor here so that [[Help:Citation_Style_1#Accept-this-as-written_markup]] can link to an anchor "csdoc_volume" -->}}'''volume''': For a source published in several volumes. This field is displayed in bold after the title and series parameters. An alternative is to include the volume information in the title parameter after the main title. Separate volume ranges with an [[En dash#En dash|en dash]]: – , for example {{para|volume|I–IV}}. Separate non-sequential volumes either with commas or semicolons, for example {{para|volume|I, III}}. The form {{para|volume|I, III–V}} is used when you are citing both non-contiguous and sequential volumes. For volume numbers higher than 999, either do not use thousands separators or enclose the volume number in [[#Accept-this-as-written markup|accept-this-as-written markup]] to avoid commas being erroneously interpreted as list separators. * {{anchor|csdoc_issue<!-- for as long as we don't pull "journal" from csdoc, we can use this anchor here so that [[Help:Citation_Style_1#Accept-this-as-written_markup]] can link to an anchor "csdoc_issue" -->}}'''issue''': When the source is part of a series that is published periodically. Alias: '''number'''. When the issue has a special title of its own, this may be given, in italics, along with the issue number, e.g. {{para|issue|2, <nowiki>''</nowiki>Modern Canadian Literature<nowiki>''</nowiki>}}. Please choose either {{para|issue}} or {{para|number}} depending on what nomenclature is actually used in a publication. If a publication carries both, issue and number designations (typically one being a year-relative and the other an absolute value), provide them both, for example {{para|issue|2 #143}}. Separate ranges with an [[En dash#En dash|en dash]]: – , and non-sequential numbers either with commas or semicolons. For numbers higher than 999, either do not use thousands separators or enclose the number in [[#Accept-this-as-written markup|accept-this-as-written markup]] to avoid commas being erroneously interpreted as list separators. ===External links=== * '''url''': Adds a link to the title * '''chapter-url''': Adds a link to the chapter. * '''format''': Format of the document at its URL (e.g., PDF, XLS, etc.). Do not specify for HTML as it is implied as the default. Do not use this parameter for completely different purposes, with annotations such as "fee required" or "reprint"; its intent is to notify readers what the file format is (e.g. in case some browsers might have trouble with it, or some might prefer to save the link to disk rather than open it in the browser). Access restrictions can be shown using the appropriate {{para|url-access}} parameter, see [[#Registration or subscription required|Registration or subscription required]]. Other notes about reprintings, etc., should be placed after the template, and before {{tag|ref|c}}. ====Using |format= ==== When MediaWiki encounters an external link URL with a '.pdf' or '.PDF' [[filename extension|extension]], it renders the external link with a [https://example.com/document.pdf PDF icon] in place of the usual [https://example.com/document external-link icon]. To make rendered cs1|2 citations that link to PDF documents somewhat more accessible, cs1|2 automatically adds a parenthetical PDF annotation so that those readers using screen-reader technology can know the type of the linked file. This is imperfect because some on-line sources redirect .pdf URLs to .html landing pages (this is common for PDF documents behind paywalls or registration barriers). Because the parenthetical PDF annotation happens automatically, editors are not required to set {{para|format|PDF}}, though doing so causes no harm. The {{para|format|PDF}} parameter may be deleted as part of a more substantial edit but editors should consider that many cs1|2 templates are copied from en.Wikipedia to other-language Wikipedias when articles here are translated to that other language. Do not assume that other-language Wikipedias use up-to-date cs1|2 templates; many do not, so removing {{para|format|PDF}} here can affect readers/translators at other Wikipedias. ====Online sources==== {{Main|Wikipedia:External links|Wikipedia:Citing sources}} Links to sources are regarded as conveniences and are not required, except when citing Web-only sources. There are many digital libraries with works that may be used as sources. * Links should be to full versions of the source. * Online sources that require payment or subscription may be included per [[Wikipedia:Verifiability]]. Do not link to: * Sites that do not have permission to republish the work or that otherwise violate copyright. * Commercial sites such as Amazon, unless no alternative exists. * Reviews of the work. * Very short extracts such as Google Books snippet view where there is not enough context to verify the content, unless the entire work is also freely available there. (See [[WP:BOOKLINKS]]) ====Link formats==== Links should be kept as simple as possible. For example, when performing a search for a Google Book, the link for ''Monty Python and Philosophy'' would look like: : https://books.google.com/books?id=NPDgD546-doC&pg=PP1#v=onepage&q&f=false But can be trimmed to: : https://books.google.com/?id=NPDgD546-doC&pg=PP1#v=onepage&q&f=false or: : https://books.google.com/?id=NPDgD546-doC&printsec=frontcover or: : https://books.google.com/?id=NPDgD546-doC (if Google Books does not provide the cover page). ====Pages==== A direct link to a specific page may be used if supported by the host. For example, the link to page 172 of ''Monty Python and Philosophy'' on Google Books: : https://books.google.com/?id=NPDgD546-doC&pg=PA172 like so: : <code><nowiki>|page=[https://books.google.com/?id=wPQelKFNA5MC&pg=PA172 172]</nowiki></code> ====Special characters==== {{MediaWiki URL rules}} ====Access date==== * '''access-date''': The full date when the content pointed to by '''url''' was last verified to support the text in the article; do not wikilink; requires '''url'''; use the same format as other access and archive dates in the article's citations. It is ''not required for linked documents that do not change''. For example, '''access-date''' is not required for links to copies of published research papers accessed via DOI or a published book, but should be used for links to news articles on commercial websites (these can change from time to time, even if they are also published in a physical medium). Note that '''access-date''' is the date that the URL was checked to not just be working, but to support the assertion being cited (which the current version of the page may not do). Can be [[Help:Citation Style 1/accessdate|hidden or styled]] by registered editors. Alias: '''accessdate'''. ===Web archives=== {{Further|Wikipedia:Link rot}} * '''archive-url'''. Alias: '''archiveurl'''. * '''archive-date'''. Alias: '''archivedate'''. The original link may become unavailable. When an archived version is located, the original URL is retained and {{para|archive-url}} is added with a link to an archived copy of a web page, usually from services like WebCite and the Internet Archive. {{para|archive-date}} must be added to show the date the page was archived, not the date the link was added. When {{para|archive-url}} is used, {{para|url}} and {{para|archive-date}} are required, else an error will show. When an archived link is used, the citation displays with the title linked to the archive and the original link at the end: {{cite book |title=Monty Python and Philosophy |url=https://books.google.com/books?id=wPQelKFNA5MC |archive-url=https://web.archive.org/web/20130501102912/http://books.google.com/books?id=wPQelKFNA5MC |archive-date=May 1, 2013}} * '''url-status''': To change the order with the title retaining the original link and the archive linked at the end, set {{para|url-status|live}}: :{{cite book|title=Monty Python and Philosophy |url=https://books.google.com/books?id=wPQelKFNA5MC |archive-url=https://web.archive.org/web/20130501102912/http://books.google.com/books?id=wPQelKFNA5MC |archive-date=May 1, 2013 |url-status=live}} When the original URL has been usurped for the purposes of spam, advertising, or is otherwise unsuitable, setting {{para|url-status|unfit}} or {{para|url-status|usurped}} suppresses display of the original URL (but {{para|url}} and {{para|archive-url}} are still required). When the original URL is still 'live' but no longer supports the text in an article, set {{para|url-status|deviated}}. For further documentation of {{para|url-status}}, see {{slink|Template:Cite web#csdoc urlstatus}}. ===Identifiers=== {{csdoc|id2}} A custom identifier can be specified through {{csdoc|id1}} ===Registration or subscription required=== {{csdoc|registration}} ===Quote=== {{csdoc|quote|unpaginated=yes}} ===Anchors=== The module creates HTML IDs by default suitable for use with [[WP:CITESHORT|shortened footnotes]] using the [[Template:Harvard citation/doc|Harv- and sfn-family templates]]. These styles use in-text cites with a link that will jump to the ID created by the CS1 template. The ID is created from up to four author last names and the year, of the format <code>CITEREF''lastname(s)year''</code>. '''{{para|ref|<var>ID</var>}}''': Creates a custom ID equivalent to the value <var>ID</var>. This is useful where the author and/or date is unknown. The {{tlx|harvid}} template may be used here to create an ID for the Harv- and sfn-family templates. {| class="wikitable plainrowheaders" |+ Examples of anchors |- !scope="col"| Kind !scope="col"| Wikitext !scope="col"| ID created !scope="col"| Targetable by |- !scope="row"| Default, one name | <code><nowiki>{{cite book |first=Gary L. |last=Hardcastle |title=Monty Python and Philosophy |date=2006}}</nowiki></code> | <code>CITEREFHardcastle2006</code> | {{tlx|harv|Hardcastle|2006|4=pp=12-34}} |- !scope="row"| Default, two names | <code><nowiki>{{cite book |first=Gary L. |last=Hardcastle |first2=George A. |last2=Reisch |title=Monty Python and Philosophy |date=2006}}</nowiki></code> | <code>CITEREFHardcastleReisch2006</code> | {{tlx|harv|Hardcastle|Reisch|2006|5=pp=12-34}} |- !scope="row"| {{para|ref}} using {{tl|harvid}} | <code><nowiki>|ref={{harvid|Monty Python and Philosophy|2006}}</nowiki></code> | <code>{{harvid|Monty Python and Philosophy|2006}}</code> | {{tlx|harv|Monty Python and Philosophy|2006|4=pp=12-34}} |} ===Display options=== These features are not often used, but can customize the display for use with other styles. {{csdoc|display|lua=yes}} ====et al.==== et al. is the abbreviation of the Latin {{lang|la|et alii}} ('and others'). It is used to complete a list of authors of a published work, where the complete list is considered overly long. The abbreviation is widely used in English, thus it is not italicized per [[MOS:FOREIGN]]. ===Accept-this-as-written markup=== There are occasions where [[Module:Citation/CS1]] emits error or maintenance messages because of, or makes changes to, the values assigned to a select set of parameters. Special markup can be used to enforce that a value will nonetheless be accepted as written. The markup for this is <code>(({{var|value}}))</code>, i.e., wrap the entire parameter value in two sets of parentheses. Parameters that support this markup are: {| class="wikitable plainrowheaders" |+ Parameters that support accept-this-as-written markup !scope="col" style="width:10em"| Parameter !scope="col"| Notes |- !scope="row"| {{para|author{{var|n}}}} |rowspan="6"| The various {{var|name}} parameters (including their enumerated variants) are checked for extra comma and semicolon separator characters, which may indicate that the parameter is holding more than one name. If so, the list of names should be split up over multiple {{var|n}}-enumerated parameters. Corporate names, however, are sometimes comma-separated lists of names as well and so are erroneously flagged as a multiple-name error; markup can be used to indicate this.<br /><br />Legitimate names may be caught by the [[Help:CS1_errors#generic_name|generic-name test]]. This markup can prevent legitimate names from being flagged as generic. |- !scope="row"| {{para|contributor{{var|n}}}} |- !scope="row"| {{para|editor{{var|n}}}} |- !scope="row"| {{para|interviewer{{var|n}}}} |- !scope="row"| {{para|subject{{var|n}}}} |- !scope="row"| {{para|translator{{var|n}}}} |- !scope="row"| [[#csdoc_doi|{{para|doi}}]] |rowspan="5"| Identifiers are checked for validity to the extent possible. In rare cases, identifiers actually used in published works deviate from the checked standard format but are nonetheless valid. If the problem is down to a mere typographical error in a third-party source, correct the identifier instead of overriding the error message. |- !scope="row"| [[#csdoc issue|{{para|eissn}}]] |- !scope="row"| [[#csdoc issue|{{para|isbn}}]] |- !scope="row"| [[#csdoc_issn|{{para|issn}}]] |- !scope="row"| [[#csdoc_sbn|{{para|sbn}}]] |- !scope="row"| [[#csdoc_issue|{{para|issue}}]] |rowspan="2"|Spaces are inserted between commas and succeeding characters in comma-separated lists of issues, a hyphen is converted to an ndash in issue ranges, etc. A hyphenated issue number and an issue range cannot be distinguished, nor can a four-or-more-digit number with a thousands-separator from a comma-separated list of two or more issues. Markup can be applied to the entry as a whole or to individual list entries. |- !scope="row"| [[#csdoc_issue|{{para|number}}]] |- !scope="row"| [[#csdoc_volume|{{para|volume}}]] | Spaces are inserted between commas and succeeding characters in comma-separated lists of volumes, a hyphen is converted to an ndash in volume ranges, etc. A hyphenated volume and a volume range cannot be distinguished, nor can a four-or-more-digit volume with a thousands-separator from a comma-separated list of two or more volumes. Markup can be applied to the entry as a whole or to individual list entries. |- !scope="row"| [[#csdoc_pages|{{para|pages}}]] |rowspan="3"| Spaces are inserted between commas and succeeding characters in comma-separated lists of pages, a hyphen is converted to an ndash in page ranges, etc. A hyphenated page number and a page range cannot be distinguished, nor can a four-or-more-digit number with a thousands-separator from a comma-separated list of two or more pages. Markup can be applied to the entry as a whole or to individual list entries; does not apply to {{para|page}}, {{para|p}}, or {{para|quote-page}}. (This special markup is also supported by the plural page parameters {{para|pages}}, {{para|pp}} and {{para|quote-pages}} (as well as other aliases) of the {{tl|r}}, {{tl|rp}} and {{tl|ran}} citation templates. The family of {{tl|sfn}}- and {{tl|harv}}-style templates supports it as well in conjunction with {{para|pages}} and {{para|pp}}.) |- !scope="row"| [[#csdoc_pages|{{para|pp}}]] |- !scope="row"| [[#Quote|{{para|quote-pages}}]] |- !scope="row"| {{para|title}} | Trailing dots (periods) are normally removed from the value assigned to {{para|title}} as being redundant. There are cases where trailing dots are not redundant but are part of the title proper so should be retained. <!-- At present, the following applies only to {{cite journal}}: -->The parameter may also accept a number of special keywords (<code>none</code>, etc.<!-- don't document "off" for now as it may change again with the next update -->) taking precedence over free text input to specify a title; if a value also matching a keyword is meant as actual title text, markup can be used to indicate this. |- !scope="row"| {{para|title-link}} | <!-- At present, the following applies only to {{cite journal}}: -->The parameter may also accept a number of special keywords (<code>none</code>, <code>doi</code>, <code>pmc</code>) taking precedence over free text input to specify a link target; if a value also matching a keyword is meant as actual link target, markup can be used to indicate this. |- !scope="row"| [[#Authors|{{para|vauthors}}]] |rowspan="2"| Markup to suppress error messages and automatic Vancouver reformatting of allowed corporate names. |- !scope="row"| [[#Editors|{{para|veditors}}]] |} ==Printing== When viewing the page, CS1 templates render the URL to the title to create a link; when printing, the URL is printed. [[Help:External link icons|External link icons]] are not printed. ==Elements not included== Not all factually accurate pieces of information about a source are used in a Citation Style 1 citation. Examples of information not included: * The total number of pages in a cited source * The name of the library that provided access to an electronic copy of a cited source * The name of the library that owns a physical copy of a cited work * The library record or shelf location of a physical copy of a cited work ==Tools== {{Main|Help:Citation tools}} ===Generating CS1 citations=== * [[Wikipedia:RefToolbar|RefToolbar]] is part of the default source code editor.<ref group="Note">The "Source Editing" [[mW:Extension:WikiEditor|WikiEditor]] includes refToolbar 2.0 and is the default editor.</ref> It include a "Templates" menu with {{tl|cite web}}, {{tl|cite journal}}, {{tl|cite book}}, and {{tl|cite news}}. When filling out a template from the RefToolbar, select the magnifying glass icon [[File:System-search.svg|20px]] to autofill the template's parameters.<ref group="Note" name=citoid>Autofill is handled by [[mw:Citoid|Citoid]], a service which will automatically fill a templates parameters when provided the URL, DOI, ISBN, PMID, PMCID or QID.</ref> * The default citation option in the [[WP:Visual Editor|Visual Editor]] attempts to build a full citation based on a URL or other identifier.<ref group="Note" name=citoid/> It will automatically select a citation template. * [[User:ProveIt GT|ProveIt]] provides an optional graphical interface for editing, adding, and citing references.<ref group="Note" name=citoid/> * [[WP:Citation expander|Citation expander]] adds a button to pass the current article to the [https://citations.toolforge.org/ Wikipedia citation bot], a tool that will automatically fill out additional parameter of existing citations. * [https://tools.wmflabs.org/refill/ reFill] Adds references to templates while updating/filling-in title/dates/publisher/accessdates etc.<ref group="Note">This is an open source version of the older Reflinks tool.</ref> * [[Zotero]] can export citations in Wikipedia-ready format. * [http://tools.wmflabs.org/citer/ Citer] – generates full citation, shortened citation, and named reference for a given Google Books URL, ISBN, or DOI. It also supports some major news websites. {| class="wikitable" style="text-align:center;" |+ Generating and editing general-use CS1 templates !scope="col"| Template !scope="col"| Use ! scope="col" | [[Wikipedia:RefToolbar|RefToolbar]] ! scope="col" | [[Wikipedia:ProveIt|ProveIt]] ! scope="col" | [[WP:Citation expander|Citation expander]] |- !scope="row"| {{tl|Cite arXiv}} | [[arXiv]] preprints || || || |- !scope="row"| {{tl|Cite AV media}} | audio and visual sources || || {{yes|supported}} || |- !scope="row"| {{tl|Cite AV media notes}} | liner notes from albums, DVDs, CDs and similar audio-visual media || || || |- !scope="row"| {{tl|Cite book}} | books || {{yes|supported}} || {{yes|supported}} || {{yes|supported}} |- !scope="row"| {{tl|Cite conference}} | conference papers || || {{yes|supported}} || |- !scope="row"| {{tl|Cite encyclopedia}} | edited collections || || {{yes|supported}} || |- !scope="row"| {{tl|Cite episode}} | television or radio programs and episodes || || {{yes|supported}} || |- !scope="row"| {{tl|Cite interview}} | interviews || || || |- !scope="row"| {{tl|Cite journal}} | academic and scientific papers published in journals || {{yes|supported}} || {{yes|supported}} || {{yes|supported}} |- !scope="row"| {{tl|Cite magazine}} | magazines and newsletters || || {{yes|supported}} || |- !scope="row"| {{tl|Cite mailing list}} | archived public mailing lists || || || |- !scope="row"| {{tl|Cite map}} | maps || || || |- !scope="row"| {{tl|Cite news}} | news articles in print, video, audio or web || {{yes|supported}} || {{yes|supported}} || {{Partial|Partially supported}}<ref group="Note">Citation expander will only attempt to tidy up the citation and will not add new content</ref> |- !scope="row"| {{tl|Cite newsgroup}} | online newsgroups || || || |- !scope="row"| {{tl|Cite podcast}} | audio or video [[podcast]] || || || |- !scope="row"| {{tl|Cite press release}} | press releases || || {{yes|supported}} || |- !scope="row"| {{tl|Cite report}} | reports by government departments, instrumentalities, operated companies, etc. || || {{yes|supported}} || |- !scope="row"| {{tl|Cite serial}} | audio or video serials || || || |- !scope="row"| {{tl|Cite sign}} | signs, plaques and other visual sources || || {{yes|supported}} || |- !scope="row"| {{tl|Cite speech}} | speeches || || || |- !scope="row"| {{tl|Cite tech report}} | technical reports || || || |- !scope="row"| {{tl|Cite thesis}} | theses || || {{yes|supported}} || |- !scope="row"| {{tl|Cite web}} | web sources not characterized by another template || {{yes|supported}} || {{yes|supported}} || {{yes|supported}} |} ==={{anchor|Error checking}}Error checking [[Wikipedia:User scripts|scripts]]=== * [[User:Trappist the monk/HarvErrors]] is a script that may be enabled to display errors and warnings for potential issues when using [[WP:CITESHORT|shortened footnotes]]. * [[User:Svick/HarvErrors]] is very similar, but only shows confirmed errors. It does not warn when a long citation has been added but not linked from a short one (using {{tl|sfn}} or {{tl|harvnb}}). * [[User:BrandonXLF/CitationStyleMarker]] highlights inconsistent (CS1 vs CS2) citation styles used in the same article. Only works with templated citations. ==={{anchor|Reliability}}Reliability scripts=== * [[User:Headbomb/unreliable]] color codes URLs and DOIs in gray/red/pink/yellow depending on their broad reliability * [[User:Novem Linguae/Scripts/CiteHighlighter]] color codes URLs and DOIs according to [[Wikipedia:Reliable sources/Perennial sources#Legend]] * [[User:SuperHamster/CiteUnseen]] adds icons to citations that indicate the type of source ===Other tools=== * [[Wikipedia:OABOT]] adds [[open access]] links to existing citations * [[User:Nardog/RefRenamer]] replaces generic named reference names (like ":0") with descriptive names drawn from CS1 parameters (like "Doe-1999") ==TemplateData== This section documents interactions between [[WP:TemplateData|TemplateData]] and tools that use that data to edit Wikipedia such as [[VisualEditor]] and bots. Before making changes to the TemplateData be aware of these interactions. ===[[User:InternetArchiveBot]]=== *If an argument is set to "required" the argument will be added to all templates edited by IABot. This including adding empty arguments. For example, when {{para|website}} is "required" IABot makes the following edit: [https://en.wikipedia.org/w/index.php?title=2017%E2%80%9318_British_and_Irish_Cup&diff=prev&oldid=914629379]. ==Common issues== {{Shortcut|Help:CS1PROBS}} ; {{para|access-date}} does not show. : If {{para|url}} is not supplied, then {{para|access-date}} does not show; by design. ; The bare URL shows before the title. : If the {{para|title}} field includes a newline or an invalid character then the link will be malformed; see [[#Web links|Web links]]. ; The title appears in red. : If URL is supplied, then the title cannot be wikilinked. ; The URL is not linked and shows in brackets. : The URL must include the [[URI scheme]] in order for MediaWiki to recognize it as a link. For example: <code>www.example.org/</code> vs. <code>http://www.example.org/</code>. ; A field is truncated. : A pipe (<code>|</code>) in the value will truncate it. Use {{tlx|!}} instead. ; The template markup shows. : Double open brackets &#91;&#91; are used in a field without closing double brackets &#93;&#93;. ; The author shows in brackets with an external link icon. : The use of an URL in {{para|author-link}} will break the link; this field is for the name of the Wikipedia article about the author, not a website. ; Multiple author or editor names are defined and one or more does not show : The parameters must be used in sequence, i.e. if {{para|last}} or {{para|last1}} is not defined, then {{para|last2}} will not show. By design. ; {{para|page}}, {{para|pages}} or {{para|at}} do not show. : These parameters are mutually exclusive, and only one will show; by design. ; Lua error in Module{{colon}}Citation/CS1/Configuration at line N{{colon}} attempt to index a boolean value. : Some data for the citation module is hosted at [[:c:|Commons]]. This error displays when the module has trouble retrieving the data from Commons (and often displays several times per article). It can be corrected by [[Help:Purge|purging the page]]. ==See also== * [[Help:Citation Style 2]] * [[Help:CS1 errors]] *[[Help:Citation merging|Help:Citation merging (bundling)]] ==Notes== {{Reflist|group="Note"}} ==References== {{Reflist}} {{Wikipedia referencing}} {{Citation Style 1}} {{Wikipedia help pages}} [[Category:Citation Style 1 templates|*]] [[Category:Wikipedia citation administration]] oeumi2p144a6yiu5x61mzxl2jz2ybtj 73018 73017 2026-07-02T15:52:14Z Robertsky 10424 1 versaun husi [[:en:Help:Citation_Style_1]] 73017 wikitext text/x-wiki {{Short description|Help page for citation templates}} {{Wikipedia how-to|HELP:CS1|WP:CS1}} {{Bots|deny=Citation bot}} {{Nutshell|This is an introductory how-to for Wikipedia's most frequently used citation style. It does not cover every option of every citation template. See individual templates' documentation (e.g. at [[Template:Cite journal]]) for details beyond this basic cheatsheet.}} {{Mbox|text=<div style=padding:6px>This help page has {{subpages|testcases|Help:Citation Style 1}} demonstrating various uses.</div>|image=<div style=padding:2px>[[File:Gnome-applications-science.svg|40px]]</div>}} {{csdoc|cs1}} '''Citation Style 1''' ('''CS1''') is a collection of [[Wikipedia:Citing sources|reference citation]] [[Help:Template|templates]] that can be modified to create different styles for different referenced materials. Its purpose is to provide a set of default formats for references on Wikipedia. It includes a series of templates that in turn use [[Module:Citation/CS1]]. The use of CS1 or of templates is not compulsory, per [[WP:CITESTYLE]]. Articles already using a consistent style should not be changed without consensus on the talk page, per [[WP:CITEVAR]]. CS1 uses (in addition to Wikipedia's own [[WP:Manual of Style|Manual of Style]]) elements of ''[[The Chicago Manual of Style]]'' and the ''[[Publication Manual of the American Psychological Association]]'', with significant adaptations. ==Style== There are a number of templates that use a name starting with ''cite''; many were developed independently of CS1 and are not compliant with the CS1 style. There are also a number of templates that use one of the general use templates as a meta-template to cite a specific source. To be compliant with CS1, a template must: * Use [[Module:Citation/CS1]] or one of the templates listed below. * Use a period as a punctuation mark to separate fields and end the citation. * Use a semicolon as a punctuation mark to separate authors and editors. * Format the title of longer works in italics. * Format the title of short works such as chapters in quotes. ==How the templates work== {{Further|WP:CITEHOW}} CS1 templates present a citation generally as: ;With author : {{cite news |author=((Author)) |date=n.d. |title=((Title)) |work=Work |publisher=Publisher |page=x |id=Identifiers |ref=none}} ;Without author : {{cite news |date=n.d. |title=((Title)) |work=Work |publisher=Publisher |page=x |id=Identifiers}} (where "n.d." could also be any other valid date formatted per the MOS) ===Authors=== You can add authors to a citation by placing their first and last name into the template's parameters. To add a single author, use {{para|last}} and {{para|first}}. If a cited source has multiple authors, use {{para|last2}} and {{para|first2}}, {{para|last3}} and {{para|first3}}, etc.<ref name="NB_Prefix">The number of authors that can be listed in the citation and displayed when published is unlimited.</ref> For symmetry with the other numbered parameters, {{para|last1}} and {{para|first1}} are available as well, as shown in the following example: * <code><nowiki>{{cite book |last1=Hawking |first1=Stephen |last2=Hawking |first2=Lucy |title=George's Secret Key to the Universe}}</nowiki></code> * {{cite book |last1=Hawking |first1=Stephen |last2=Hawking |first2=Lucy |title=George's Secret Key to the Universe |ref=none}} In situations where "first" and "last" do not fit the authorship of the source you can use {{para|author}} and {{para|author{{var|n}}}}.<ref>This includes organizational authors or authors from cultures where a "last" name does not correspond to a [[surname]]. {{para|author}} should never hold the name of more than one author.</ref> An editor may be cited using separate parameters for the editor's last and first name. A single or first editor would use {{para|editor-last}} and {{para|editor-first}}; subsequent editors would use {{para|editor2-last}} and {{para|editor2-first}}, {{para|editor3-last}} and {{para|editor3-first}}, etc.<ref name="NB_Prefix"/> Similar to the {{para|author}} parameter, you can cite editors using {{para|editor}} and {{para|editor{{var|n}}}}. Both author and editor parameters can be used in a citation to a source that has multiple sections by different authors. By default, the templates will use the author parameters to create link anchors for [[H:SFN|shortened footnotes]]. If an author parameter is not used, the template will render the editor in the author location and use the editors for [[H:SFN|shortened footnotes]]. If neither author nor editor parameters are used, the template will not automatically create an anchor for shortened footnotes. If the cited source does not credit an author, as is common with newswire reports, press releases or company websites use: {{para|author|<nowiki><!--Not stated--></nowiki>}}<ref>This HTML comment alerts fact-checking and citation-fixing editors, and potentially bots, that the cited source did not name an author—the author was not overlooked. Without this entry editors and bots would waste time researching cited sources for a non-existent author credit.</ref> {| class="wikitable" |+ !{{diagonal split header|Source|Citation}} !CS1 markup !CS1 output !Short citation |- !Author and editor, using last names |<syntaxhighlight inline="" lang="wikitext">{{cite book |title=Title |chapter=Chapter |last=Last |first=First |editor-first=Editor-First |editor-last=Editor-Last |date=1999}}</syntaxhighlight> |{{cite book |title=Title |chapter=Chapter |last=((Last)) |first=((First)) |editor-first=((Editor-First)) |editor-last=((Editor-Last)) |date=1999}} |{{harvnb|Last|1999}} |- !Author and editor |<syntaxhighlight inline="" lang="wikitext">{{cite book |title=Title |chapter=Chapter |author=Author |editor=Editor |date=1999}}</syntaxhighlight> |{{cite book |title=Title |chapter=Chapter |author=((Author)) |editor=((Editor)) |date=1999}} |{{harvnb|Author|1999}} |- !Author only |<syntaxhighlight inline="" lang="wikitext">{{cite book |title=Title |author=Author |date=1998}}</syntaxhighlight> |{{cite book |title=Title |author=((Author)) |date=1998}} |{{harvnb|Author|1998}} |- !Editor but no author |<syntaxhighlight inline="" lang="wikitext">{{cite book |title=Title |editor=Editor |date=1999}}</syntaxhighlight> |{{cite book |title=Title |editor=((Editor)) |date=1999}} |{{harvnb|Editor|1999}} |- !Neither |<syntaxhighlight inline="" lang="wikitext">{{cite book |title=Title |author=<!--Not stated--> |date=1999 |ref={{sfnref|''Title''|1999}}}}</syntaxhighlight> |{{cite book |title=Title |author=<!--Not stated--> |date=1999 |ref={{sfnref|''Title''|1999}}}} |{{harvnb|''Title''|1999}} |} ===Dates=== The year or the full date can be placed in the {{para|date}} parameter. Available formats are shown in the "Acceptable date formats" table of the {{section link|Manual of Style/Dates and numbers|Dates, months and years}}. For an approximate year, precede with "<code>c. </code>", like this: {{para|date|c. 1900}}. When a source does not have a publication date, use {{para|date|n.d.}}. In the case where the same author has written more than one work in the same year, a lower-case letter may be appended to the year in the date parameter ({{xt|{{!}}date&#61;July 4, 1997b}}) or the year parameter ({{xt|{{!}}year&#61;1997b}}). For sources that have an original publication date and a later republication date, put the original date in the {{para|orig-date}} parameter. Citation Style 1 and [[Help:Citation Style 2|2]] templates automatically render dates in the style specified by the article's {{tlx|use dmy dates}} or {{tlx|use mdy dates}} template. See those templates' documentation for details. ====Auto-formatting citation template dates==== {{Use dmy dates|date={{CURRENTMONTHNAME}} {{CURRENTYEAR}}|cs1-dates=y}} Citation Style 1 and [[Help:Citation Style 2|2]] templates automatically render dates ({{para|date}}, {{para|access-date}}, {{para|archive-date}}, etc.) in the style specified by the article's {{tlx|use dmy dates}} or {{tlx|use mdy dates}} template. Editors may also choose how CS1/CS2 templates render dates by the use of {{para|cs1-dates|&lt;{{var|keyword}}>}} in the article's {{tld|use xxx dates}} template.<section begin="auto_date_format_table" /> {| class="wikitable" |+Acceptable <code>{{pipe}}cs1-dates=</code> keywords !scope="col"| Keyword !scope="col"| Definition |- !scope="row"| <code>l</code> |rowspan="2"| long-form publication and access- / archive-dates;<br />this is the default case when {{para|cs1-dates|plain=yes}} is omitted or empty |- !scope="row"| <code>ll</code> |- !scope="row"| <code>ls</code> | long-form publication dates; abbreviated access- / archive-dates |- !scope="row"| <code>ly</code> | long-form publication dates; year-initial numeric access- / archive-dates (ymd) |- !scope="row"| <code>s</code> |rowspan="2"| abbreviated publication and access- / archive-dates |- !scope="row"| <code>ss</code> |- !scope="row"| <code>sy</code> | abbreviated publication dates; year-initial numeric access- / archive-dates (ymd) |- !scope="row"| <code>y</code> |rowspan="2"| year-initial numeric publication, access- and archive-dates (ymd);<br />cs1|2 cannot reformat Month YYYY, Season YYYY, date-ranges of any form, or [[Julian calendar]] dates into ymd format |- !scope="row"| <code>yy</code> |}<section end="auto_date_format_table" /> Example: to have the CS1/CS2 templates in an article render their publication dates in the long form (fully spelled-out month names) with access-/archive-dates rendered in short form (abbreviated month names), write: :{{tlx|use dmy dates|date{{=}}{{CURRENTMONTHNAME}} {{CURRENTYEAR}}|cs1-dates{{=}}ls}} This documentation page has <code><nowiki>{</nowiki>{use dmy dates|date={{CURRENTMONTHNAME}} {{CURRENTYEAR}}|cs1-dates=y}}</code> at the top of this section so this cs1 template will render with ymd dates: :<code><nowiki>{{</nowiki>cite web |title=Example Webpage |date=31 October 2017 |website=Example |url=https://example.com/ |access-date=Dec 5, 2017}}</code> ::{{cite web |title=Example Webpage |date=31 October 2017 |website=Example |url=https://example.com/ |access-date=Dec 5, 2017}} This global setting may be overridden in individual CS1/CS2 templates by use of {{para|df}}; abbreviated date forms are not supported by {{para|df}}. {{lang|la|Nota bene}}: CS1/CS2 auto-date formatting does not apply when previewing an article section that does not contain a {{tld|use xxx dates}} template. ===Titles and chapters=== * '''title''': The title of the cited source, if in a Latin script. If the title is in a non-Latin script, place a romanization in '''title''' and the original in '''script-title'''. Titles are displayed in italics, except for short works such as a {{txl|cite press release}} and cited articles in {{tlx|cite news}}, {{tlx|cite journal}}, {{tlx|cite magazine}}, {{tlx|cite web}}, {{tlx|cite conference}}, and {{tlx|cite podcast}}, where the title is shown in quotation marks. For templates like these that show the title in quotation marks, any double quotation marks inside the title should be [[MOS:QINQ|converted]] to single quotation marks. Use either title case (as defined by [[MOS:TITLECAPS]]) or sentence case consistently throughout the article. Do not omit a leading "The" from the title. Subtitles are typically separated from titles with ": " though " – " is also used. [[MOS:TM|As with trademarks]], Wikipedia {{em|does not}} attempt to emulate any stylistic flourishes used by the cited source's publisher, such as ALL-CAPS, all-lower-case, {{smallcaps|Small Caps}}, etc.; use either standard title case or sentence case consistently. If the cited source is itself notable and has a Wikipedia article, the title can be wikilinked. Wikilinking the title will make it impossible to use the "url" parameter to link to an external copy of the cited source, so only do this when citing works that do not need to be externally linked. A link to the actual source is preferred to a link to a Wikipedia article about the source. * '''script-title''': The title of the cited source, if in a non-Latin script. Languages that do not use a Latin-based alphabet, Arabic, Chinese, Cyrillic, Greek, Hebrew, Japanese, Korean, etc., should not be italicized and may also read [[right-to-left]] (RTL). Titles in '''script-title''' are wrapped in special HTML markup to isolate RTL script from adjacent left-to-right text. Part of that special markup is a language attribute that browsers can use to assist in the proper display of the script. Editors must add a prefix to the script that will identify the language. The prefix is one of the [[Help:Citation Style 1#&#124;script-&lt;param>&#x3D; language codes|supported language codes]] followed by a colon: {{para|script-title|ar:<bdi>العربية</bdi>}}. Unrecognized codes are ignored and will display in the rendered citation. * '''trans-title''': If the cited source is in a foreign language, an English translation of the title can be given here. This field will be displayed in square brackets after the title and will be linked to {{para|url}} if used. * '''chapter''': The full title of the cited chapter from the source, if in a Latin script. If the title is in a non-Latin script, place a romanization in '''chapter''' and the original in '''script-chapter'''. Displayed in quotes before the title. For websites arranged in sections the "at" parameter serves a similar function: {{para|at|Featured News}} * '''script-chapter''': The title of the cited chapter, if in a non-Latin script. Languages that do not use a Latin-based alphabet, Arabic, Chinese, Cyrillic, Greek, Hebrew, Japanese, Korean, etc., may possibly read [[right-to-left]] (RTL). Chapter titles in '''script-chapter''' are wrapped in special HTML markup to isolate RTL script from adjacent left-to-right text. Part of that special markup is a language attribute that browsers can use to assist in the proper display of the script. Editors must add a prefix to the script that will identify the language. The prefix is one of the [[Help:Citation Style 1#&#124;script-&lt;param>&#x3D; language codes|supported language codes]] followed by a colon: {{para|script-chapter|ar:<bdi>العربية</bdi>}}. Unrecognized codes are ignored and will display in the rendered citation. This field will be displayed following the transliterated title. * '''trans-chapter''': If the cited source is in a foreign language, an English translation of the cited chapter title can be given here. This field will be displayed in square brackets within the quotation marks that enclose the chapter field. Titles containing certain characters will both display and link incorrectly unless those characters are replaced or encoded like this: {| class="wikitable" style="text-align:center;" |- !scope="col"| Character !scope="col"| Must be replaced with |- !scope="row"| newline | space |- !scope="row"| [ | &amp;#91; |- !scope="row"| ] | &amp;#93; |- !scope="row"| <nowiki>|</nowiki> | &amp;#124; |} ====|script-&lt;<var>param</var>>= language codes==== Language codes known to cs1|2 for languages that do not use a Latin script are: {{#invoke:Cs1 documentation support|script_lang_lister}}<!-- makes a language code: name list from the master list in [[Module:Citation/CS1/Configuration]] --> ===Type=== * '''type''': Specifies the type of work cited. Appears in parentheses immediately after the title. Some templates use a default that can be overridden; example: {{tl|cite press release}} will show "(Press release)" by default. Other useful values are: Review, Systemic review, Report, Abstract, Meta-analysis, Original article, Oral history<!-- supported as "Oral History" by Dublin Core/Zotero -->, Email<!-- supported by Dublin Core/Zotero -->, Website<!-- supported by Dublin Core/Zotero -->, Text<!-- supported by Dublin Core/Zotero -->, Document<!-- supported by Dublin Core/Zotero -->. Alias: '''medium''', in {{tl|cite AV media}}, where typical values are: Motion picture, Moving image<!-- supported as "Moving Image" by Dublin Core/Zotero -->, Television production, Videotape, DVD, Blu-ray, Trailer, CD, Radio broadcast, Podcast, Sound<!-- supported by Dublin Core/Zotero -->. ===Language=== {{csdoc|language}} ===Work and publisher=== {{Further|WP:CITEHOW}} * '''work''': Used by some templates such as {{tl|cite web}} (where it is aliased to '''website'''), {{tl|cite news}} (aliased to '''newspaper'''), {{tl|cite magazine}} (aliased to '''magazine'''), {{tl|cite journal}} (aliased to '''journal'''), and others where the citation is usually to a specific item (given in the "title" parameter) found in a larger work (this "work" parameter), most commonly an article in a website or print periodical, or an episode in a TV series. {{em|Do not confuse this with the "publisher" parameter}}, which is for the publishing company. If the work is notable and has an article in Wikipedia, it should be wiki-linked at first appearance in citations in the article. If the "title" is already linked-to externally, do not externally link to the "work". If the work title as given by the site/publication would be exactly or substantially the same as the name of the publisher, do not use the "publisher" parameter (see below for more detail). :On websites, in most cases "work" is the name of the website (as usually given in the logo/banner area of the site, and/or appearing in the {{tag|title|o}} of the homepage, which may appear as the page title in your browser tab, depending on browser). Do not append ".com" or the like if the site's actual title does not include it (thus {{para|work|<nowiki>[[Salon (magazine)|Salon]]</nowiki>}}, not <code>Salon.com</code>). If no clear title can be identified, or the title explicitly is the domain name, then use the site's domain name. Do not falsify the work's name by adding descriptive verbiage like "Website of [Publisher]" or "[Publisher]'s Homepage". Capitalize for reading clarity, and omit "www.", e.g. convert "www.veterinaryresourcesuk.com" to "VeterinaryResourcesUK.com". :Many journals use highly abbreviated titles when citing other journals (e.g. ''J. Am. Vet. Med.'' for ''[[Journal of the American Veterinary Medical Association]]'') because specialists in the field the journal covers usually already know what these abbreviations mean. Our readers usually do not, so these abbreviations should always be expanded. :If the titled item being cited is part of some other larger work, as in a book in a series, a special issue of a periodical, or a sub-site at a domain (e.g., you are citing the law school's section of a university's website system), it is usually better to use the name of that more specific work than just that of the entire larger work. Various citation templates provide separate fields for such information, e.g. {{para|chapter}}{{para|title}}{{para|volume}}{{para|series}} in {{tlx|Cite book}}. If the nature of the work and its relation to the site, book, or other context in which it is found is complicated or confusing, simply explain the situation after the citation template and before the {{xtag|ref|c}} that closes the citation. * '''publisher''': the name of the organization that actually published the source. The field should not include the corporate designation such as "Ltd" or "Inc.", unless some ambiguity would result or the organization is usually known with that designation even in everyday use (e.g. [[Apple Inc.]], which otherwise might be confused with [[Apple Records]] and other publishers). "Publisher", "Publishing" and "Publications" can be abbreviated "Pubr.", "Pubg." and "Pubs." respectively, but some templates in this series include a period (full-stop) immediately after this parameter, so the period may have to be omitted; check the output if you abbreviate here. They are usually safe to omit, but are usefully included where the publisher's name might be confusing without it. This is most often the case when the publisher's name is something like "Joshua Martin Publications", which without the designation might be mistaken for a co-author/editor. A leading "The" can generally be omitted, again unless confusion might result (e.g., for [[The International Cat Association]], "The" is part of their official acronym, TICA). If the publisher is notable and has an article independent of the "work", the "publisher" parameter can include a wiki-link to that article, but should never externally link to the publisher's website. Whether the publisher needs to be included depends to an extent on the type of work and sometimes on its recognizability. [[WP:Citing sources]], and most off-Wikipedia citation guides, suggest that it should be used for books (even famous ones), but not necessarily other works. The "publisher" parameter should not be included for widely-known mainstream news sources, for major academic journals, or where it would be the same or mostly the same as the work. For example, the "publisher" parameter should be omitted in these examples: *:{{para|work|<nowiki>[[Amazon.&#8288;com]]</nowiki>}}{{para|publisher|Amazon Inc.|!mxt=y}} *:{{para|newspaper|The Aberdeen Times}}{{para|publisher|The Aberdeen Times|!mxt=y}}<!--A genuine Idaho newspaper: http://www.smalltownpapers.com/newspapers/newspaper.php?id=1 --> *:{{para|newspaper|<nowiki>[[The New York Times]]</nowiki>}}{{para|publisher|The New York Times Company|!mxt=y}} *:{{para|newspaper|<nowiki>[[USA Today]]</nowiki>}}{{para|publisher|<nowiki>[[USA Today Co.]]</nowiki>|!mxt=y}} *:{{para|journal|<nowiki>[[Nature (journal)|Nature]]</nowiki>}}{{para|publisher|<nowiki>[[Nature Research]]</nowiki>|!mxt=y}} :If the work is self-published, [[WP:SELFPUB|this is a very important fact]] about [[WP:RS|potential reliability of the source]], and needs to be specified; no consensus exists for the exact value of {{para|publisher}} in such a case, but some printed style guides suggest "author", while many Wikipedia editors have used "self-published" for increased clarity. When an exhaustive attempt to discover the name of the publisher (try [[whois]] for websites, and [[WorldCat]] for books, etc.) fails, use {{para|publisher|<nowiki><!--Unspecified by source.--></nowiki>}} to explicitly indicate that this was checked, so other editors do not waste time duplicating your fruitless efforts. Do not guess at the publisher when this information is not clear. See next entry for co-published works and how to specify multiple publishers and their locations. * '''location''' (alias {{para|publication-place}}): Geographical place of publication ({{em|not}} where you found your copy, nor location of material in the source). This is usually {{var|City, Country}} or {{var|City, US State}}. The city name by itself can be used for world-recognized cities like New York, London (except in articles about [[London, Ontario|Canadian]] topics), Paris or Tokyo. Simply having a unique name does not mean it is world-recognized: eg, many people do not know where [[Mumbai]] is, especially if they are old enough that it was called [[Bombay]] for much of their lives. So if in doubt, be more rather than less specific, "Melbourne, Australia" and "Melbourne, Florida, USA" each benefit from being spelt out. Also be more specific when just {{var|City, Country}} would be ambiguous, e.g. {{para|location|Hanley, Staffordshire, UK}}, versus {{para|location|Hanley, Worcestershire, UK}}. Do not use sub-national postal abbreviations ("DE", "Wilts", "Tas", etc), per [[MOS:POSTABBR]]. The location parameter should be omitted when it is implied by the name of the work, e.g. ''The Sydney Morning Herald''. The location parameter should be used when the location is part of a common appellation of but not the actual title of a periodical. For example, the newspaper formerly known as and sometimes still called the ''San Jose Mercury News'' is actually ''[[The Mercury News]]'' and can be entered with {{para|newspaper|The Mercury News}} {{para|location|San Jose, California}}, which yields: ''The Mercury News''. San Jose, California. A similar example is ''[[The Times]]'' newspaper, which is published in London and so a correct ref would yield ''The Times''. London. (contrast ''[[The New York Times]]''). Per [[WP:SAYWHEREYOUGOTIT]], provide the location of the edition you are using (e.g., if a publisher has operations in both New York and London and you have the London-published edition, use {{para|location|London}}, even if the publisher's corporate HQ is in New York). If your edition specifically gives multiple locations, this can be indicated with, e.g., {{para|location|New York / London}}. This same technique can be used for co-published works, e.g.: {{para|location|Oakbrook Terrace, Illinois / Los Angeles}}{{para|publisher|<nowiki>[[Council of Science Editors]]</nowiki> / <nowiki>[[Loyola Marymount University]]</nowiki> Press}}; just get them in corresponding order in both parameters. The templates do {{em|not}} have separate {{para|location1|!mxt=y}}, {{para|publisher1|!mxt=y}}, etc., parameters. For historical publications that are still worth citing and still findable (e.g. via book digitizers – see the "via" parameter below), do not confuse the {{em|printer}} (printing press owner-operator) with the {{em|publisher}} (organization or person that sponsored the work); an edition may have a printer's name in larger type than the publisher, but for citation purposes we care about the publisher. If the distinction cannot be determined for certain in a particular case, list both. While some off-site publishers lean toward omitting publishing locations, they can serve more than purely bibliographical purposes on Wikipedia (e.g. an overabundance of material published in one place in an article about another place may reveal an editorial bias). * '''publication-date''': Date of publication when different from the date the work was written. Displays only if date or year are defined and only if different, else publication-date is used and displayed as date. Use the same format as other dates in the article; do not wikilink. Follows publisher; if work is not defined, then publication-date is preceded by "published" and enclosed in parenthesis. {{shortcut|WP:VIA|WP:CS1VIA}} * {{anchor|Via}} '''via''' (optional): Name of the content deliverer (when they are {{em|not}} the publisher). "via" is not a replacement for "publisher", but provides additional detail. It may be used when the content deliverer presents the source in a format other than the original, or when the URL provided does not make clear the identity of the deliverer, or as suggested in [[WP:The Wikipedia Library]], e.g. [[WP:Credo accounts/Citations]]. See also {{section link||Registration or subscription required}}. Typical uses of this parameter are identification of a book-scanning and -databasing project such as those provided by the [[Internet Archive]], [[Project Gutenberg]], and [[Google Books]]; journal indexing and search services through which we commonly find academic articles, e.g. [[PubMed Central]], [[Paperity]], and [[JSTOR]]; and other aggregators or indexers of previously-published content, such as [[Dictionary.com]]. Use via only when a standard identifier cannot be used (see {{section link||Identifiers}}). Example: <code><nowiki>{{Cite dictionary |entry=skeptic |entry-url=https://www.dictionary.com/browse/skeptic?s=t#collins-section |title=[[Collins English Dictionary]] |edition=Complete & Unabridged Digital |date=2012 |location=London |publisher=[[HarperCollins]] |via=[[Dictionary.com]] |access-date=</nowiki>{{CURRENTDAY}} {{CURRENTMONTHNAME}} {{CURRENTYEAR}}<nowiki>}}</nowiki></code> ===Pages=== {| class="wikitable plainrowheaders sortable" style="float:right; margin-left:1em;" |+CS1/CS2 template support for<br /><code>{{pipe}}volume=</code>, <code>{{pipe}}issue=</code>, <code>{{pipe}}page(s)=</code> |- !scope="col"| Template !scope="col"| {{pipe}}volume= !scope="col"| {{pipe}}issue= !scope="col"| {{pipe}}page(s)= !scope="col"| {{pipe}}quote-page(s)= |- !scope="row"| {{tlx|citation}} | {{yes}} || {{yes}} || {{yes}} || {{yes}} |- !scope="row"| {{tlx|cite arXiv}} | {{no}} || {{no}} || {{yes}} || {{yes}} |- !scope="row"| {{tlx|cite AV media}} | {{yes}} || {{no}} || {{no}} || {{no}} |- !scope="row"| {{tlx|cite AV media notes}} | {{no}} || {{no}} || {{yes}} || {{yes}} |- !scope="row"| {{tlx|cite bioRxiv}} | {{no}} || {{no}} || {{yes}} || {{yes}} |- !scope="row"| {{tlx|cite book}} | {{yes}} || {{no}} || {{yes}} || {{yes}} |- !scope="row"| {{tlx|cite citeseerx}} | {{no}} || {{no}} || {{yes}} || {{yes}} |- !scope="row"| {{plainlist| *{{tlx|cite conference}} *(as a book)}} | {{no}} || {{no}} || {{yes}} || {{yes}} |- !scope="row"| {{plainlist| *{{tlx|cite conference}} *(as a journal)}} | {{yes}} || {{yes}} || {{yes}} || {{yes}} |- !scope="row"| {{tlx|cite document}} | {{no}} || {{no}} || {{yes}} || {{yes}} |- !scope="row"| {{tlx|cite encyclopedia}} | {{yes}} || {{no}} || {{yes}} || {{yes}} |- !scope="row"| {{tlx|cite episode}} | {{no}} || {{yes}} || {{no}} || {{no}} |- !scope="row"| {{tlx|cite interview}} | {{yes}} || {{yes}} || {{yes}} || {{yes}} |- !scope="row"| {{tlx|cite journal}} | {{yes}} || {{yes}} || {{yes}} || {{yes}} |- !scope="row"| {{tlx|cite magazine}} | {{yes}} || {{yes}} || {{yes}} || {{yes}} |- !scope="row"| {{tlx|cite mailing list}} | {{no}} || {{no}} || {{no}} || {{no}} |- !scope="row"| {{plainlist| *{{tlx|cite map}} *(as book)}} | {{yes}} || {{no}} || {{yes}} || {{yes}} |- !scope="row"| {{plainlist| *{{tlx|cite map}} *(as journal or magazine)}} | {{yes}} || {{yes}} || {{yes}} || {{yes}} |- !scope="row"| {{tlx|cite news}} | {{yes}} || {{yes}} || {{yes}} || {{yes}} |- !scope="row"| {{tlx|cite newsgroup}} | {{no}} || {{no}} || {{no}} || {{no}} |- !scope="row"| {{tlx|cite podcast}} | {{no}} || {{yes}} || {{no}} || {{no}} |- !scope="row"| {{tlx|cite press release}} | {{no}} || {{no}} || {{yes}} || {{yes}} |- !scope="row"| {{tlx|cite report}} | {{yes}} || {{no}} || {{yes}} || {{yes}} |- !scope="row"| {{tlx|cite serial}} | {{no}} || {{no}} || {{no}} || {{no}} |- !scope="row"| {{tlx|cite sign}} | {{no}} || {{no}} || {{no}} || {{no}} |- !scope="row"| {{tlx|cite speech}} | {{no}} || {{no}} || {{no}} || {{no}} |- !scope="row"| {{tlx|cite ssrn}} | {{no}} || {{no}} || {{yes}} || {{yes}} |- !scope="row"| {{tlx|cite tech report}} | {{yes}} || {{no}} || {{yes}} || {{yes}} |- !scope="row"| {{tlx|cite thesis}} | {{yes}} || {{no}} || {{yes}} || {{yes}} |- !scope="row"| {{tlx|cite web}} | {{no}} || {{no}} || {{yes}} || {{yes}} |} An editor may use any <u>one</u> of the following parameters in a given citation to refer to the specific page(s) or place in a cited source that contains the information that supports the article text. If more than one of the following parameters are used in the same citation, the error message <span style="color:red">Extra <code>|pages=</code> or <code>|at=</code> (</span>[[Help:CS1 errors#extra pages|help]]<span style="color:red">)</span> will display in the published citation. When more than one of the following parameters is used in error, {{para|page}} overrides both {{para|pages}} and {{para|at}}; {{para|pages}} overrides {{para|at}}. To resolve the error, remove extra parameters of this type until only one remains in the affected citation. * '''page''': page in the cited source containing the information that supports the article text, for example {{para|page|52}}. **{{anchor|pagehyphen}}'''Note:''' For a hyphenated page, use {{para|page|<nowiki>12{{hyphen}}34</nowiki>}}. This will not only properly display a hyphen, but also reduce the likelihood that an editor/bot will convert this to {{para|pages|<nowiki>12{{endash}}34</nowiki>}} by mistake. * {{anchor|csdoc_pages<!-- for as long as we don't pull "pages" from csdoc, we can use this anchor here so that [[Help:Citation_Style_1#Accept-this-as-written_markup]] can link to an anchor "csdoc_pages" -->}}'''pages''': pages in the cited source containing the information that supports the article text. Separate page ranges with an [[En dash#En dash|en dash]]: – , for example {{para|pages|236–239}}. Separate non-sequential pages either with commas or semicolons, for example {{para|pages|157, 159}}. The form {{para|pages|461, 466–467}} is used when you are citing both non-contiguous and sequential pages. For page numbers higher than 999, either do not use thousands separators or enclose the page number in [[#Accept-this-as-written markup|accept-this-as-written markup]] to avoid commas being erroneously interpreted as list separators, e.g. {{para|pages|<nowiki>((1,234{{endash}}1,235))</nowiki>}}. For multiple hyphenated pages, use the [[Help:Citation Style 1#Accept-this-as-written markup|accept-this-as-written markup]] to avoid the hyphens being converted to dashes, e.g. {{para|pages|<nowiki>((1{{hyphen}}2)), ((3{{hyphen}}4))</nowiki>}}. **'''Note:''' CS1 citations do not record the total number of pages in a cited source; do not use this parameter for that purpose. * '''at''': place in the cited source containing the information that supports the article text when a page number is not available (such as in some digital books), is inappropriate or is insufficient. Common examples include column or col., paragraph or para. and section or sec. Depending on the source being cited, other indicators may be appropriate to use with the {{para|at}} parameter including, but not limited to, track, hours, minutes and seconds, act, scene, canto, book, part, folio, stanza, back cover, liner notes, indicia, colophon, dust jacket, etc. Examples include {{para|at|Column 2}} or {{para|at|Paragraph 5}} or {{para|at|Back cover}} or {{para|at|Act III, Scene 2}}. * <b>quote-page</b>: The number of a single page quoted in {{para|quote}}. Use either {{para|quote-page}} or {{para|quote-pages}}, but not both. Should be a subset of the page(s) specified in {{para|page}}, {{para|pages}} or {{para|at}}. Displays preceded by {{code|p.}} unless {{para|no-pp|yes}}. If hyphenated, use {{tl|hyphen}} to indicate this is intentional (e.g. {{para|quote-page|<nowiki>3{{hyphen}}12</nowiki>}}). Alias: none. * OR: <b>quote-pages</b>: A list or range of pages quoted in {{para|quote}}. Use either {{para|quote-page}} or {{para|quote-pages}}, but not both. Should be a subset of the pages specified in {{para|pages}} or {{para|at}}. Separate using an en dash (–); separate non-sequential pages with a comma (,). Displays preceded by {{code|pp.}} unless {{para|no-pp|yes}} is defined. Hyphens are automatically converted to en dashes; if hyphens are appropriate because individual page numbers contain hyphens, for example: pp. 3-1–3-15, use [[Help:Citation_Style_1#Accept-this-as-written_markup|double parentheses]] to tell the template to display the value of {{para|quote-pages}} without processing it, and use {{tl|hyphen}} to indicate to editors that a hyphen is really intended: {{para|quote-pages|<nowiki>((3{{hyphen}}1{{ndash}}3{{hyphen}}15))</nowiki>}}. Alias: none. If the same source is reused with different pages, separate citations must be created. A way around this problem is to use a short citation {{tlx|sfn}}, or {{tlx|rp}} to provide linked page number citations. ===Edition identifiers=== * '''edition''': Identifies the particular edition of a cited source when the source has more than one edition, such as "2nd", "Revised", etc. Note that this parameter automatically displays "ed." after your entry. For example, {{para|edition|Revised third}} displays as: "Revised third ed.". The edition parameter can be omitted if there is no content difference between two editions of the same work; e.g. if a book was identically published in the UK and the US except, for example, ISBN number and cover art, it is not necessary to indicate either "UK" or "US" edition; or if citing minute:seconds of a film available in both a regular edition and a "Special Limited Collector's Edition", if the running time and cut are the same, it is not necessary to cite the particular edition. * '''series''': When the source is part of a series, such as a book series or a journal where the issue numbering has restarted. For journal series, {{para|series}} should be limited to {{code|Original/New Series}}, {{code|First/Second/Third/... Series}}, or similar.{{refn|name="c17_14.126"|group="Note"|"Some numbered series have gone on so long that, as with certain long-lived journals, numbering has started over again, preceded by n.s. (new series), 2nd ser. (second series), or some similar notation, usually enclosed in commas. (A change of publisher may also be the occasion for a change in series designation.) Books in the old series may be identified by o.s., 1st ser., or whatever complements the notation for the new series."<ref group="Note">{{cite book |author=University of Chicago |title=The Chicago Manual of Style |edition=17th |year= 2017 |publisher=University of Chicago Press |page=14.126|location=Chicago |language= |isbn=978-0226104201}}</ref> <p>For instance the journal ''[[Physical Review]]'', was numbered volumes 1–35 from 1893 to 1912 (the first series). From 1913 to 1969, the volume numbering restarted at 1 and went up to 188 (the second series). In 1970, ''Physical Review'' split into different parts, ''Physical Review A'', ''Physical Review B'', ''Physical Review C'', and ''Physical Review D'', where volumes again restarted at 1 (the third series). Since there are two publications identified as ''Physical Review, Volume 1'', there is a need to distinguish which is which by use of {{para|series|First Series}} or {{para|series|Second Series}}. While ''Physical Review A'' is in the third series of the ''Physical Review'' [[media franchise]], it is the first series of the publication known as ''Physical Review A''. Since there is no confusion about what ''Physical Review A, Volume 1'' could be referring to, there is no need to clarify to which numbering series the journal belong.</p> <p>In particular, note that the {{para|series}} parameter is not to be used to distinguish the different parts of a [[media franchise]], like ''[[Physical Review A]]'', ''[[Acta Crystallographica Section A]]'', ''[[Journal of the Royal Statistical Society, Series B]]''.</p>}} * {{anchor|csdoc_volume<!-- for as long as we don't pull "volume" from csdoc, we can use this anchor here so that [[Help:Citation_Style_1#Accept-this-as-written_markup]] can link to an anchor "csdoc_volume" -->}}'''volume''': For a source published in several volumes. This field is displayed in bold after the title and series parameters. An alternative is to include the volume information in the title parameter after the main title. Separate volume ranges with an [[En dash#En dash|en dash]]: – , for example {{para|volume|I–IV}}. Separate non-sequential volumes either with commas or semicolons, for example {{para|volume|I, III}}. The form {{para|volume|I, III–V}} is used when you are citing both non-contiguous and sequential volumes. For volume numbers higher than 999, either do not use thousands separators or enclose the volume number in [[#Accept-this-as-written markup|accept-this-as-written markup]] to avoid commas being erroneously interpreted as list separators. * {{anchor|csdoc_issue<!-- for as long as we don't pull "journal" from csdoc, we can use this anchor here so that [[Help:Citation_Style_1#Accept-this-as-written_markup]] can link to an anchor "csdoc_issue" -->}}'''issue''': When the source is part of a series that is published periodically. Alias: '''number'''. When the issue has a special title of its own, this may be given, in italics, along with the issue number, e.g. {{para|issue|2, <nowiki>''</nowiki>Modern Canadian Literature<nowiki>''</nowiki>}}. Please choose either {{para|issue}} or {{para|number}} depending on what nomenclature is actually used in a publication. If a publication carries both, issue and number designations (typically one being a year-relative and the other an absolute value), provide them both, for example {{para|issue|2 #143}}. Separate ranges with an [[En dash#En dash|en dash]]: – , and non-sequential numbers either with commas or semicolons. For numbers higher than 999, either do not use thousands separators or enclose the number in [[#Accept-this-as-written markup|accept-this-as-written markup]] to avoid commas being erroneously interpreted as list separators. ===External links=== * '''url''': Adds a link to the title * '''chapter-url''': Adds a link to the chapter. * '''format''': Format of the document at its URL (e.g., PDF, XLS, etc.). Do not specify for HTML as it is implied as the default. Do not use this parameter for completely different purposes, with annotations such as "fee required" or "reprint"; its intent is to notify readers what the file format is (e.g. in case some browsers might have trouble with it, or some might prefer to save the link to disk rather than open it in the browser). Access restrictions can be shown using the appropriate {{para|url-access}} parameter, see [[#Registration or subscription required|Registration or subscription required]]. Other notes about reprintings, etc., should be placed after the template, and before {{tag|ref|c}}. ====Using |format= ==== When MediaWiki encounters an external link URL with a '.pdf' or '.PDF' [[filename extension|extension]], it renders the external link with a [https://example.com/document.pdf PDF icon] in place of the usual [https://example.com/document external-link icon]. To make rendered cs1|2 citations that link to PDF documents somewhat more accessible, cs1|2 automatically adds a parenthetical PDF annotation so that those readers using screen-reader technology can know the type of the linked file. This is imperfect because some on-line sources redirect .pdf URLs to .html landing pages (this is common for PDF documents behind paywalls or registration barriers). Because the parenthetical PDF annotation happens automatically, editors are not required to set {{para|format|PDF}}, though doing so causes no harm. The {{para|format|PDF}} parameter may be deleted as part of a more substantial edit but editors should consider that many cs1|2 templates are copied from en.Wikipedia to other-language Wikipedias when articles here are translated to that other language. Do not assume that other-language Wikipedias use up-to-date cs1|2 templates; many do not, so removing {{para|format|PDF}} here can affect readers/translators at other Wikipedias. ====Online sources==== {{Main|Wikipedia:External links|Wikipedia:Citing sources}} Links to sources are regarded as conveniences and are not required, except when citing Web-only sources. There are many digital libraries with works that may be used as sources. * Links should be to full versions of the source. * Online sources that require payment or subscription may be included per [[Wikipedia:Verifiability]]. Do not link to: * Sites that do not have permission to republish the work or that otherwise violate copyright. * Commercial sites such as Amazon, unless no alternative exists. * Reviews of the work. * Very short extracts such as Google Books snippet view where there is not enough context to verify the content, unless the entire work is also freely available there. (See [[WP:BOOKLINKS]]) ====Link formats==== Links should be kept as simple as possible. For example, when performing a search for a Google Book, the link for ''Monty Python and Philosophy'' would look like: : https://books.google.com/books?id=NPDgD546-doC&pg=PP1#v=onepage&q&f=false But can be trimmed to: : https://books.google.com/?id=NPDgD546-doC&pg=PP1#v=onepage&q&f=false or: : https://books.google.com/?id=NPDgD546-doC&printsec=frontcover or: : https://books.google.com/?id=NPDgD546-doC (if Google Books does not provide the cover page). ====Pages==== A direct link to a specific page may be used if supported by the host. For example, the link to page 172 of ''Monty Python and Philosophy'' on Google Books: : https://books.google.com/?id=NPDgD546-doC&pg=PA172 like so: : <code><nowiki>|page=[https://books.google.com/?id=wPQelKFNA5MC&pg=PA172 172]</nowiki></code> ====Special characters==== {{MediaWiki URL rules}} ====Access date==== * '''access-date''': The full date when the content pointed to by '''url''' was last verified to support the text in the article; do not wikilink; requires '''url'''; use the same format as other access and archive dates in the article's citations. It is ''not required for linked documents that do not change''. For example, '''access-date''' is not required for links to copies of published research papers accessed via DOI or a published book, but should be used for links to news articles on commercial websites (these can change from time to time, even if they are also published in a physical medium). Note that '''access-date''' is the date that the URL was checked to not just be working, but to support the assertion being cited (which the current version of the page may not do). Can be [[Help:Citation Style 1/accessdate|hidden or styled]] by registered editors. Alias: '''accessdate'''. ===Web archives=== {{Further|Wikipedia:Link rot}} * '''archive-url'''. Alias: '''archiveurl'''. * '''archive-date'''. Alias: '''archivedate'''. The original link may become unavailable. When an archived version is located, the original URL is retained and {{para|archive-url}} is added with a link to an archived copy of a web page, usually from services like WebCite and the Internet Archive. {{para|archive-date}} must be added to show the date the page was archived, not the date the link was added. When {{para|archive-url}} is used, {{para|url}} and {{para|archive-date}} are required, else an error will show. When an archived link is used, the citation displays with the title linked to the archive and the original link at the end: {{cite book |title=Monty Python and Philosophy |url=https://books.google.com/books?id=wPQelKFNA5MC |archive-url=https://web.archive.org/web/20130501102912/http://books.google.com/books?id=wPQelKFNA5MC |archive-date=May 1, 2013}} * '''url-status''': To change the order with the title retaining the original link and the archive linked at the end, set {{para|url-status|live}}: :{{cite book|title=Monty Python and Philosophy |url=https://books.google.com/books?id=wPQelKFNA5MC |archive-url=https://web.archive.org/web/20130501102912/http://books.google.com/books?id=wPQelKFNA5MC |archive-date=May 1, 2013 |url-status=live}} When the original URL has been usurped for the purposes of spam, advertising, or is otherwise unsuitable, setting {{para|url-status|unfit}} or {{para|url-status|usurped}} suppresses display of the original URL (but {{para|url}} and {{para|archive-url}} are still required). When the original URL is still 'live' but no longer supports the text in an article, set {{para|url-status|deviated}}. For further documentation of {{para|url-status}}, see {{slink|Template:Cite web#csdoc urlstatus}}. ===Identifiers=== {{csdoc|id2}} A custom identifier can be specified through {{csdoc|id1}} ===Registration or subscription required=== {{csdoc|registration}} ===Quote=== {{csdoc|quote|unpaginated=yes}} ===Anchors=== The module creates HTML IDs by default suitable for use with [[WP:CITESHORT|shortened footnotes]] using the [[Template:Harvard citation/doc|Harv- and sfn-family templates]]. These styles use in-text cites with a link that will jump to the ID created by the CS1 template. The ID is created from up to four author last names and the year, of the format <code>CITEREF''lastname(s)year''</code>. '''{{para|ref|<var>ID</var>}}''': Creates a custom ID equivalent to the value <var>ID</var>. This is useful where the author and/or date is unknown. The {{tlx|harvid}} template may be used here to create an ID for the Harv- and sfn-family templates. {| class="wikitable plainrowheaders" |+ Examples of anchors |- !scope="col"| Kind !scope="col"| Wikitext !scope="col"| ID created !scope="col"| Targetable by |- !scope="row"| Default, one name | <code><nowiki>{{cite book |first=Gary L. |last=Hardcastle |title=Monty Python and Philosophy |date=2006}}</nowiki></code> | <code>CITEREFHardcastle2006</code> | {{tlx|harv|Hardcastle|2006|4=pp=12-34}} |- !scope="row"| Default, two names | <code><nowiki>{{cite book |first=Gary L. |last=Hardcastle |first2=George A. |last2=Reisch |title=Monty Python and Philosophy |date=2006}}</nowiki></code> | <code>CITEREFHardcastleReisch2006</code> | {{tlx|harv|Hardcastle|Reisch|2006|5=pp=12-34}} |- !scope="row"| {{para|ref}} using {{tl|harvid}} | <code><nowiki>|ref={{harvid|Monty Python and Philosophy|2006}}</nowiki></code> | <code>{{harvid|Monty Python and Philosophy|2006}}</code> | {{tlx|harv|Monty Python and Philosophy|2006|4=pp=12-34}} |} ===Display options=== These features are not often used, but can customize the display for use with other styles. {{csdoc|display|lua=yes}} ====et al.==== et al. is the abbreviation of the Latin {{lang|la|et alii}} ('and others'). It is used to complete a list of authors of a published work, where the complete list is considered overly long. The abbreviation is widely used in English, thus it is not italicized per [[MOS:FOREIGN]]. ===Accept-this-as-written markup=== There are occasions where [[Module:Citation/CS1]] emits error or maintenance messages because of, or makes changes to, the values assigned to a select set of parameters. Special markup can be used to enforce that a value will nonetheless be accepted as written. The markup for this is <code>(({{var|value}}))</code>, i.e., wrap the entire parameter value in two sets of parentheses. Parameters that support this markup are: {| class="wikitable plainrowheaders" |+ Parameters that support accept-this-as-written markup !scope="col" style="width:10em"| Parameter !scope="col"| Notes |- !scope="row"| {{para|author{{var|n}}}} |rowspan="6"| The various {{var|name}} parameters (including their enumerated variants) are checked for extra comma and semicolon separator characters, which may indicate that the parameter is holding more than one name. If so, the list of names should be split up over multiple {{var|n}}-enumerated parameters. Corporate names, however, are sometimes comma-separated lists of names as well and so are erroneously flagged as a multiple-name error; markup can be used to indicate this.<br /><br />Legitimate names may be caught by the [[Help:CS1_errors#generic_name|generic-name test]]. This markup can prevent legitimate names from being flagged as generic. |- !scope="row"| {{para|contributor{{var|n}}}} |- !scope="row"| {{para|editor{{var|n}}}} |- !scope="row"| {{para|interviewer{{var|n}}}} |- !scope="row"| {{para|subject{{var|n}}}} |- !scope="row"| {{para|translator{{var|n}}}} |- !scope="row"| [[#csdoc_doi|{{para|doi}}]] |rowspan="5"| Identifiers are checked for validity to the extent possible. In rare cases, identifiers actually used in published works deviate from the checked standard format but are nonetheless valid. If the problem is down to a mere typographical error in a third-party source, correct the identifier instead of overriding the error message. |- !scope="row"| [[#csdoc issue|{{para|eissn}}]] |- !scope="row"| [[#csdoc issue|{{para|isbn}}]] |- !scope="row"| [[#csdoc_issn|{{para|issn}}]] |- !scope="row"| [[#csdoc_sbn|{{para|sbn}}]] |- !scope="row"| [[#csdoc_issue|{{para|issue}}]] |rowspan="2"|Spaces are inserted between commas and succeeding characters in comma-separated lists of issues, a hyphen is converted to an ndash in issue ranges, etc. A hyphenated issue number and an issue range cannot be distinguished, nor can a four-or-more-digit number with a thousands-separator from a comma-separated list of two or more issues. Markup can be applied to the entry as a whole or to individual list entries. |- !scope="row"| [[#csdoc_issue|{{para|number}}]] |- !scope="row"| [[#csdoc_volume|{{para|volume}}]] | Spaces are inserted between commas and succeeding characters in comma-separated lists of volumes, a hyphen is converted to an ndash in volume ranges, etc. A hyphenated volume and a volume range cannot be distinguished, nor can a four-or-more-digit volume with a thousands-separator from a comma-separated list of two or more volumes. Markup can be applied to the entry as a whole or to individual list entries. |- !scope="row"| [[#csdoc_pages|{{para|pages}}]] |rowspan="3"| Spaces are inserted between commas and succeeding characters in comma-separated lists of pages, a hyphen is converted to an ndash in page ranges, etc. A hyphenated page number and a page range cannot be distinguished, nor can a four-or-more-digit number with a thousands-separator from a comma-separated list of two or more pages. Markup can be applied to the entry as a whole or to individual list entries; does not apply to {{para|page}}, {{para|p}}, or {{para|quote-page}}. (This special markup is also supported by the plural page parameters {{para|pages}}, {{para|pp}} and {{para|quote-pages}} (as well as other aliases) of the {{tl|r}}, {{tl|rp}} and {{tl|ran}} citation templates. The family of {{tl|sfn}}- and {{tl|harv}}-style templates supports it as well in conjunction with {{para|pages}} and {{para|pp}}.) |- !scope="row"| [[#csdoc_pages|{{para|pp}}]] |- !scope="row"| [[#Quote|{{para|quote-pages}}]] |- !scope="row"| {{para|title}} | Trailing dots (periods) are normally removed from the value assigned to {{para|title}} as being redundant. There are cases where trailing dots are not redundant but are part of the title proper so should be retained. <!-- At present, the following applies only to {{cite journal}}: -->The parameter may also accept a number of special keywords (<code>none</code>, etc.<!-- don't document "off" for now as it may change again with the next update -->) taking precedence over free text input to specify a title; if a value also matching a keyword is meant as actual title text, markup can be used to indicate this. |- !scope="row"| {{para|title-link}} | <!-- At present, the following applies only to {{cite journal}}: -->The parameter may also accept a number of special keywords (<code>none</code>, <code>doi</code>, <code>pmc</code>) taking precedence over free text input to specify a link target; if a value also matching a keyword is meant as actual link target, markup can be used to indicate this. |- !scope="row"| [[#Authors|{{para|vauthors}}]] |rowspan="2"| Markup to suppress error messages and automatic Vancouver reformatting of allowed corporate names. |- !scope="row"| [[#Editors|{{para|veditors}}]] |} ==Printing== When viewing the page, CS1 templates render the URL to the title to create a link; when printing, the URL is printed. [[Help:External link icons|External link icons]] are not printed. ==Elements not included== Not all factually accurate pieces of information about a source are used in a Citation Style 1 citation. Examples of information not included: * The total number of pages in a cited source * The name of the library that provided access to an electronic copy of a cited source * The name of the library that owns a physical copy of a cited work * The library record or shelf location of a physical copy of a cited work ==Tools== {{Main|Help:Citation tools}} ===Generating CS1 citations=== * [[Wikipedia:RefToolbar|RefToolbar]] is part of the default source code editor.<ref group="Note">The "Source Editing" [[mW:Extension:WikiEditor|WikiEditor]] includes refToolbar 2.0 and is the default editor.</ref> It include a "Templates" menu with {{tl|cite web}}, {{tl|cite journal}}, {{tl|cite book}}, and {{tl|cite news}}. When filling out a template from the RefToolbar, select the magnifying glass icon [[File:System-search.svg|20px]] to autofill the template's parameters.<ref group="Note" name=citoid>Autofill is handled by [[mw:Citoid|Citoid]], a service which will automatically fill a templates parameters when provided the URL, DOI, ISBN, PMID, PMCID or QID.</ref> * The default citation option in the [[WP:Visual Editor|Visual Editor]] attempts to build a full citation based on a URL or other identifier.<ref group="Note" name=citoid/> It will automatically select a citation template. * [[User:ProveIt GT|ProveIt]] provides an optional graphical interface for editing, adding, and citing references.<ref group="Note" name=citoid/> * [[WP:Citation expander|Citation expander]] adds a button to pass the current article to the [https://citations.toolforge.org/ Wikipedia citation bot], a tool that will automatically fill out additional parameter of existing citations. * [https://tools.wmflabs.org/refill/ reFill] Adds references to templates while updating/filling-in title/dates/publisher/accessdates etc.<ref group="Note">This is an open source version of the older Reflinks tool.</ref> * [[Zotero]] can export citations in Wikipedia-ready format. * [http://tools.wmflabs.org/citer/ Citer] – generates full citation, shortened citation, and named reference for a given Google Books URL, ISBN, or DOI. It also supports some major news websites. {| class="wikitable" style="text-align:center;" |+ Generating and editing general-use CS1 templates !scope="col"| Template !scope="col"| Use ! scope="col" | [[Wikipedia:RefToolbar|RefToolbar]] ! scope="col" | [[Wikipedia:ProveIt|ProveIt]] ! scope="col" | [[WP:Citation expander|Citation expander]] |- !scope="row"| {{tl|Cite arXiv}} | [[arXiv]] preprints || || || |- !scope="row"| {{tl|Cite AV media}} | audio and visual sources || || {{yes|supported}} || |- !scope="row"| {{tl|Cite AV media notes}} | liner notes from albums, DVDs, CDs and similar audio-visual media || || || |- !scope="row"| {{tl|Cite book}} | books || {{yes|supported}} || {{yes|supported}} || {{yes|supported}} |- !scope="row"| {{tl|Cite conference}} | conference papers || || {{yes|supported}} || |- !scope="row"| {{tl|Cite encyclopedia}} | edited collections || || {{yes|supported}} || |- !scope="row"| {{tl|Cite episode}} | television or radio programs and episodes || || {{yes|supported}} || |- !scope="row"| {{tl|Cite interview}} | interviews || || || |- !scope="row"| {{tl|Cite journal}} | academic and scientific papers published in journals || {{yes|supported}} || {{yes|supported}} || {{yes|supported}} |- !scope="row"| {{tl|Cite magazine}} | magazines and newsletters || || {{yes|supported}} || |- !scope="row"| {{tl|Cite mailing list}} | archived public mailing lists || || || |- !scope="row"| {{tl|Cite map}} | maps || || || |- !scope="row"| {{tl|Cite news}} | news articles in print, video, audio or web || {{yes|supported}} || {{yes|supported}} || {{Partial|Partially supported}}<ref group="Note">Citation expander will only attempt to tidy up the citation and will not add new content</ref> |- !scope="row"| {{tl|Cite newsgroup}} | online newsgroups || || || |- !scope="row"| {{tl|Cite podcast}} | audio or video [[podcast]] || || || |- !scope="row"| {{tl|Cite press release}} | press releases || || {{yes|supported}} || |- !scope="row"| {{tl|Cite report}} | reports by government departments, instrumentalities, operated companies, etc. || || {{yes|supported}} || |- !scope="row"| {{tl|Cite serial}} | audio or video serials || || || |- !scope="row"| {{tl|Cite sign}} | signs, plaques and other visual sources || || {{yes|supported}} || |- !scope="row"| {{tl|Cite speech}} | speeches || || || |- !scope="row"| {{tl|Cite tech report}} | technical reports || || || |- !scope="row"| {{tl|Cite thesis}} | theses || || {{yes|supported}} || |- !scope="row"| {{tl|Cite web}} | web sources not characterized by another template || {{yes|supported}} || {{yes|supported}} || {{yes|supported}} |} ==={{anchor|Error checking}}Error checking [[Wikipedia:User scripts|scripts]]=== * [[User:Trappist the monk/HarvErrors]] is a script that may be enabled to display errors and warnings for potential issues when using [[WP:CITESHORT|shortened footnotes]]. * [[User:Svick/HarvErrors]] is very similar, but only shows confirmed errors. It does not warn when a long citation has been added but not linked from a short one (using {{tl|sfn}} or {{tl|harvnb}}). * [[User:BrandonXLF/CitationStyleMarker]] highlights inconsistent (CS1 vs CS2) citation styles used in the same article. Only works with templated citations. ==={{anchor|Reliability}}Reliability scripts=== * [[User:Headbomb/unreliable]] color codes URLs and DOIs in gray/red/pink/yellow depending on their broad reliability * [[User:Novem Linguae/Scripts/CiteHighlighter]] color codes URLs and DOIs according to [[Wikipedia:Reliable sources/Perennial sources#Legend]] * [[User:SuperHamster/CiteUnseen]] adds icons to citations that indicate the type of source ===Other tools=== * [[Wikipedia:OABOT]] adds [[open access]] links to existing citations * [[User:Nardog/RefRenamer]] replaces generic named reference names (like ":0") with descriptive names drawn from CS1 parameters (like "Doe-1999") ==TemplateData== This section documents interactions between [[WP:TemplateData|TemplateData]] and tools that use that data to edit Wikipedia such as [[VisualEditor]] and bots. Before making changes to the TemplateData be aware of these interactions. ===[[User:InternetArchiveBot]]=== *If an argument is set to "required" the argument will be added to all templates edited by IABot. This including adding empty arguments. For example, when {{para|website}} is "required" IABot makes the following edit: [https://en.wikipedia.org/w/index.php?title=2017%E2%80%9318_British_and_Irish_Cup&diff=prev&oldid=914629379]. ==Common issues== {{Shortcut|Help:CS1PROBS}} ; {{para|access-date}} does not show. : If {{para|url}} is not supplied, then {{para|access-date}} does not show; by design. ; The bare URL shows before the title. : If the {{para|title}} field includes a newline or an invalid character then the link will be malformed; see [[#Web links|Web links]]. ; The title appears in red. : If URL is supplied, then the title cannot be wikilinked. ; The URL is not linked and shows in brackets. : The URL must include the [[URI scheme]] in order for MediaWiki to recognize it as a link. For example: <code>www.example.org/</code> vs. <code>http://www.example.org/</code>. ; A field is truncated. : A pipe (<code>|</code>) in the value will truncate it. Use {{tlx|!}} instead. ; The template markup shows. : Double open brackets &#91;&#91; are used in a field without closing double brackets &#93;&#93;. ; The author shows in brackets with an external link icon. : The use of an URL in {{para|author-link}} will break the link; this field is for the name of the Wikipedia article about the author, not a website. ; Multiple author or editor names are defined and one or more does not show : The parameters must be used in sequence, i.e. if {{para|last}} or {{para|last1}} is not defined, then {{para|last2}} will not show. By design. ; {{para|page}}, {{para|pages}} or {{para|at}} do not show. : These parameters are mutually exclusive, and only one will show; by design. ; Lua error in Module{{colon}}Citation/CS1/Configuration at line N{{colon}} attempt to index a boolean value. : Some data for the citation module is hosted at [[:c:|Commons]]. This error displays when the module has trouble retrieving the data from Commons (and often displays several times per article). It can be corrected by [[Help:Purge|purging the page]]. ==See also== * [[Help:Citation Style 2]] * [[Help:CS1 errors]] *[[Help:Citation merging|Help:Citation merging (bundling)]] ==Notes== {{Reflist|group="Note"}} ==References== {{Reflist}} {{Wikipedia referencing}} {{Citation Style 1}} {{Wikipedia help pages}} [[Category:Citation Style 1 templates|*]] [[Category:Wikipedia citation administration]] oeumi2p144a6yiu5x61mzxl2jz2ybtj Template:Abbr 10 8232 73019 2024-02-17T05:01:01Z en>Pppery 0 Changed protection settings for "[[Template:Abbr]]": Always cascade protected via main page, for consistency ([Edit=Require administrator access] (indefinite) [Move=Require administrator access] (indefinite)) 73019 wikitext text/x-wiki <abbr {{#if:{{{class|}}}|class="{{{class}}}"}} {{#if:{{{id|}}}|id="{{{id}}}"}} {{#if:{{{style|}}}|style="{{{style}}}"}} title="{{#tag:nowiki|{{#invoke:String|replace|{{{2|}}}|"|&quot;}}}}">{{{1|}}}</abbr><noinclude>{{Documentation}} </noinclude> b6zvtcrye54kh0akzk3y1jq9lxg4lm6 73020 73019 2026-07-02T15:52:16Z Robertsky 10424 1 versaun husi [[:en:Template:Abbr]] 73019 wikitext text/x-wiki <abbr {{#if:{{{class|}}}|class="{{{class}}}"}} {{#if:{{{id|}}}|id="{{{id}}}"}} {{#if:{{{style|}}}|style="{{{style}}}"}} title="{{#tag:nowiki|{{#invoke:String|replace|{{{2|}}}|"|&quot;}}}}">{{{1|}}}</abbr><noinclude>{{Documentation}} </noinclude> b6zvtcrye54kh0akzk3y1jq9lxg4lm6 Template:DMCA 10 8233 73021 2023-02-03T21:12:07Z en>Paine Ellsworth 0 add [[WP:RCAT|rcat template]] 73021 wikitext text/x-wiki #REDIRECT [[Template:Dated maintenance category (articles)]] {{Redirect category shell| {{R from move}} {{R from modification}} {{R from template shortcut}} }} d7o1zgmi8ok7ch6ys9rawagqojiect0 73022 73021 2026-07-02T15:52:16Z Robertsky 10424 1 versaun husi [[:en:Template:DMCA]] 73021 wikitext text/x-wiki #REDIRECT [[Template:Dated maintenance category (articles)]] {{Redirect category shell| {{R from move}} {{R from modification}} {{R from template shortcut}} }} d7o1zgmi8ok7ch6ys9rawagqojiect0 Template:Use dmy dates 10 8234 73023 2023-12-07T04:39:36Z en>Izno 0 [[WP:VPT#Hidden templates creating whitespace]]? 73023 wikitext text/x-wiki {{ <includeonly>safesubst:</includeonly>#invoke:Unsubst||date=__DATE__ |$B={{DMCA|Use dmy dates|from|{{{date|}}}}}{{#invoke:Check for unknown parameters|check|unknown={{main other|[[Category:Pages using Use dmy dates template with unknown parameters|_VALUE_{{PAGENAME}}]]}}|preview=Page using [[Template:Use dmy dates]] with unknown parameter "_VALUE_"|ignoreblank=y| cs1-dates | date }}}}<noinclude>{{documentation}}</noinclude> p2o066x78qrsbxy4ey8hcr9fgw8kwjv 73024 73023 2026-07-02T15:52:16Z Robertsky 10424 1 versaun husi [[:en:Template:Use_dmy_dates]] 73023 wikitext text/x-wiki {{ <includeonly>safesubst:</includeonly>#invoke:Unsubst||date=__DATE__ |$B={{DMCA|Use dmy dates|from|{{{date|}}}}}{{#invoke:Check for unknown parameters|check|unknown={{main other|[[Category:Pages using Use dmy dates template with unknown parameters|_VALUE_{{PAGENAME}}]]}}|preview=Page using [[Template:Use dmy dates]] with unknown parameter "_VALUE_"|ignoreblank=y| cs1-dates | date }}}}<noinclude>{{documentation}}</noinclude> p2o066x78qrsbxy4ey8hcr9fgw8kwjv Template:Edit 10 8235 73025 2019-10-17T18:13:48Z en>Wugapodes 0 Add support for tooltips per edit request on talk 73025 wikitext text/x-wiki <span class="noprint plainlinks" title="{{#if:{{{tooltip|}}}|{{{tooltip}}}|Edit {{{1}}}}}">[{{fullurl:{{#if:{{{1|}}}|{{{1}}}|{{FULLPAGENAME}}}}|action=edit{{#if:{{{section|}}}|&section={{{section}}}}}{{#if:{{{editintro|}}}|&editintro={{urlencode:{{{editintro}}}|wiki}}}}{{#if:{{{preload|}}}|&preload={{urlencode:{{{preload}}}|wiki}}}}{{#if:{{{preloadtitle|}}}|&preloadtitle={{urlencode:{{{preloadtitle}}}}}}}}} {{{2|edit}}}]</span><noinclude> {{documentation}} </noinclude> 3tfmuuvjjnszagj2mzafv2005px018o 73026 73025 2026-07-02T15:52:17Z Robertsky 10424 1 versaun husi [[:en:Template:Edit]] 73025 wikitext text/x-wiki <span class="noprint plainlinks" title="{{#if:{{{tooltip|}}}|{{{tooltip}}}|Edit {{{1}}}}}">[{{fullurl:{{#if:{{{1|}}}|{{{1}}}|{{FULLPAGENAME}}}}|action=edit{{#if:{{{section|}}}|&section={{{section}}}}}{{#if:{{{editintro|}}}|&editintro={{urlencode:{{{editintro}}}|wiki}}}}{{#if:{{{preload|}}}|&preload={{urlencode:{{{preload}}}|wiki}}}}{{#if:{{{preloadtitle|}}}|&preloadtitle={{urlencode:{{{preloadtitle}}}}}}}}} {{{2|edit}}}]</span><noinclude> {{documentation}} </noinclude> 3tfmuuvjjnszagj2mzafv2005px018o Template:Smallcaps 10 8236 73027 2018-12-10T17:11:55Z en>Frietjes 0 Undid revision 873016043 by [[Special:Contributions/Godsy|Godsy]] ([[User talk:Godsy|talk]]) no discussion on the talk page 73027 wikitext text/x-wiki {{<includeonly>safesubst:</includeonly>ifsubst | 1=<span style="font-variant:small-caps">{{{1}}}</span> | 2=<templatestyles src="smallcaps/styles.css"/><span class="smallcaps">{{{1}}}</span> }}<noinclude> <!-- Add categories and interwikis to the /doc subpage, not here! --> {{documentation}} </noinclude> khqsztk4mo066r4tq05x25e7qvmck4p 73028 73027 2026-07-02T15:52:17Z Robertsky 10424 1 versaun husi [[:en:Template:Smallcaps]] 73027 wikitext text/x-wiki {{<includeonly>safesubst:</includeonly>ifsubst | 1=<span style="font-variant:small-caps">{{{1}}}</span> | 2=<templatestyles src="smallcaps/styles.css"/><span class="smallcaps">{{{1}}}</span> }}<noinclude> <!-- Add categories and interwikis to the /doc subpage, not here! --> {{documentation}} </noinclude> khqsztk4mo066r4tq05x25e7qvmck4p Template:Smallcaps/styles.css 10 8237 73029 2019-10-13T01:23:08Z en>Izno 0 more meaningful name 73029 sanitized-css text/css /* {{pp-template}} Styling for Template:Smallcaps */ span.smallcaps { font-variant: small-caps; } span.smallcaps-smaller { font-size: 85%; } 8lffmue4iv1b62pje3u895huur4gnpe 73030 73029 2026-07-02T15:52:17Z Robertsky 10424 1 versaun husi [[:en:Template:Smallcaps/styles.css]] 73029 sanitized-css text/css /* {{pp-template}} Styling for Template:Smallcaps */ span.smallcaps { font-variant: small-caps; } span.smallcaps-smaller { font-size: 85%; } 8lffmue4iv1b62pje3u895huur4gnpe Template:Harvid 10 8238 73031 2025-01-04T21:32:20Z en>Primefac 0 /* top */ replace template 73031 wikitext text/x-wiki #REDIRECT [[Template:SfnRef]] {{Redr| {{R from merge}} }} s6bases055s8n5tq6mmgk7svka3qqfj 73032 73031 2026-07-02T15:52:17Z Robertsky 10424 1 versaun husi [[:en:Template:Harvid]] 73031 wikitext text/x-wiki #REDIRECT [[Template:SfnRef]] {{Redr| {{R from merge}} }} s6bases055s8n5tq6mmgk7svka3qqfj Template:Refn 10 8239 73033 2022-07-19T20:36:13Z en>Paine Ellsworth 0 per edit request on talk page - include "follow" parameter 73033 wikitext text/x-wiki <includeonly>{{#if:{{{follow|}}}|{{#tag:ref|{{{1|{{{refn|}}}}}}|group={{{group|}}}|follow={{{follow|}}}}}|{{#if:{{{name|}}}|{{#tag:ref|{{{1|{{{refn|}}}}}}|name={{{name|}}}|group={{{group|}}}}}|{{#tag:ref|{{{1|{{{refn|}}}}}}|group={{{group|}}}}}}}}}</includeonly><noinclude>{{documentation}}</noinclude> io4dd44uoflipi3djyp8pgmxfxl0eie 73034 73033 2026-07-02T15:52:18Z Robertsky 10424 1 versaun husi [[:en:Template:Refn]] 73033 wikitext text/x-wiki <includeonly>{{#if:{{{follow|}}}|{{#tag:ref|{{{1|{{{refn|}}}}}}|group={{{group|}}}|follow={{{follow|}}}}}|{{#if:{{{name|}}}|{{#tag:ref|{{{1|{{{refn|}}}}}}|name={{{name|}}}|group={{{group|}}}}}|{{#tag:ref|{{{1|{{{refn|}}}}}}|group={{{group|}}}}}}}}}</includeonly><noinclude>{{documentation}}</noinclude> io4dd44uoflipi3djyp8pgmxfxl0eie Template:Diagonal split header 10 8240 73035 2026-03-14T21:50:13Z en>Mr. Starfleet Command 0 fixed my previous edit 73035 wikitext text/x-wiki <noinclude>{| class="wikitable" ! </noinclude>style="background:{{{3|var(--background-color-neutral,#eaecf0)}}};color:{{#if:{{{3|}}}|{{#ifeq:{{{3}}}|transparent|inherit|black}}|inherit}};background:linear-gradient(to top right,{{{3|var(--background-color-neutral,#eaecf0)}}} 49%,var(--border-color-base,#a2a9b1) 49.5%,var(--border-color-base,#a2a9b1) 50.5%,{{{4|{{{3|var(--background-color-neutral,#eaecf0)}}}}}} 51%);line-height:1.2;padding:0.1em 0.4em;{{{style|}}}"|<div style="margin-left:2em;text-align:right">{{{2}}}</div><div style="margin-right:2em;text-align:left">{{{1}}}</div><noinclude> |} {{Documentation}} <!-- Add categories to the /doc subpage and add interwikis to Wikidata --> </noinclude> owpu1nwh98lpg1ryr75ekwbmd05w3fd 73036 73035 2026-07-02T15:52:18Z Robertsky 10424 1 versaun husi [[:en:Template:Diagonal_split_header]] 73035 wikitext text/x-wiki <noinclude>{| class="wikitable" ! </noinclude>style="background:{{{3|var(--background-color-neutral,#eaecf0)}}};color:{{#if:{{{3|}}}|{{#ifeq:{{{3}}}|transparent|inherit|black}}|inherit}};background:linear-gradient(to top right,{{{3|var(--background-color-neutral,#eaecf0)}}} 49%,var(--border-color-base,#a2a9b1) 49.5%,var(--border-color-base,#a2a9b1) 50.5%,{{{4|{{{3|var(--background-color-neutral,#eaecf0)}}}}}} 51%);line-height:1.2;padding:0.1em 0.4em;{{{style|}}}"|<div style="margin-left:2em;text-align:right">{{{2}}}</div><div style="margin-right:2em;text-align:left">{{{1}}}</div><noinclude> |} {{Documentation}} <!-- Add categories to the /doc subpage and add interwikis to Wikidata --> </noinclude> owpu1nwh98lpg1ryr75ekwbmd05w3fd Template:Partial 10 8241 73039 2025-08-13T01:07:42Z en>Pppery 0 Changed protection settings for "[[Template:Partial]]" ([Edit=Require template editor access] (indefinite) [Move=Require template editor access] (indefinite)) 73039 wikitext text/x-wiki <noinclude>{| class="wikitable" |- |</noinclude>style="background:#FFB; color:black;vertical-align:middle;text-align:{{{align|center}}}; {{{style|}}}" class="table-partial"|{{{1|Partial}}}<noinclude> |} {{Documentation|Template:Table cell templates/doc}} </noinclude> ncghfbm6tut18t3pqtriwapk6z7twx3 73040 73039 2026-07-02T15:52:18Z Robertsky 10424 1 versaun husi [[:en:Template:Partial]] 73039 wikitext text/x-wiki <noinclude>{| class="wikitable" |- |</noinclude>style="background:#FFB; color:black;vertical-align:middle;text-align:{{{align|center}}}; {{{style|}}}" class="table-partial"|{{{1|Partial}}}<noinclude> |} {{Documentation|Template:Table cell templates/doc}} </noinclude> ncghfbm6tut18t3pqtriwapk6z7twx3 Template:Colon 10 8242 73041 2013-11-02T05:07:28Z en>Fuhghettaboutit 0 Changed protection level of Template:Colon: Enable access by template editors ([Edit=Allow only template editors and admins] (indefinite) [Move=Allow only template editors and admins] (indefinite)) 73041 wikitext text/x-wiki &#58;<noinclude>{{Documentation}}</noinclude> cc3ofm0i104e4kws9eikeit1yry2hki 73042 73041 2026-07-02T15:52:19Z Robertsky 10424 1 versaun husi [[:en:Template:Colon]] 73041 wikitext text/x-wiki &#58;<noinclude>{{Documentation}}</noinclude> cc3ofm0i104e4kws9eikeit1yry2hki Template:Define 10 8243 73043 2024-04-30T15:19:16Z en>PrimeBOT 0 /* top */[[User:PrimeBOT/24|Task 24]]: replace template being deleted following [[Wikipedia:Redirects_for_discussion/Log/2023_October_25|a discussion]] 73043 wikitext text/x-wiki #REDIRECT [[Template:Abbr]] {{Rcat shell| {{R from related word}} {{R tsh}} }} s0khobdafw8hy7vyafd7w379wk92bj5 73044 73043 2026-07-02T15:52:19Z Robertsky 10424 1 versaun husi [[:en:Template:Define]] 73043 wikitext text/x-wiki #REDIRECT [[Template:Abbr]] {{Rcat shell| {{R from related word}} {{R tsh}} }} s0khobdafw8hy7vyafd7w379wk92bj5 Template:Nutshell 10 8244 73045 2025-11-16T05:56:36Z en>Launchballer 0 Reverted [[WP:AGF|good faith]] edits by [[Special:Contributions/Pppery|Pppery]] ([[User talk:Pppery|talk]]): Is causing breakages such as at [[WP:HOOK]] 73045 wikitext text/x-wiki {{main other|{{error|Template:Nutshell should not be used in articles. Please remove it from this page.|tag=div}}|{{mbox | class = nutshell | image = [[File:Walnut.png|30px|link=|alt=]] | text = '''{{{title|This page}}} in a nutshell:''' {{#if:{{{2|}}} | {{unordered list|{{{1|}}}|{{{2|}}}|{{{3|}}}|{{{4|}}}}} | {{{1}}} }} | imageright = {{#if:{{{shortcut|{{{shortcut1|}}}}}} | {{Ombox/shortcut|{{{shortcut|{{{shortcut1|}}}}}}|{{{shortcut2|}}}|{{{shortcut3|}}}|{{{shortcut4|}}}|{{{shortcut5|}}} }} }} }}}}<noinclude> {{documentation}} <!-- Categories go on the /doc subpage, and interwikis go on Wikidata. --> </noinclude> maakv39sqtbl39e41mduy49aolcps5a 73046 73045 2026-07-02T15:52:19Z Robertsky 10424 1 versaun husi [[:en:Template:Nutshell]] 73045 wikitext text/x-wiki {{main other|{{error|Template:Nutshell should not be used in articles. Please remove it from this page.|tag=div}}|{{mbox | class = nutshell | image = [[File:Walnut.png|30px|link=|alt=]] | text = '''{{{title|This page}}} in a nutshell:''' {{#if:{{{2|}}} | {{unordered list|{{{1|}}}|{{{2|}}}|{{{3|}}}|{{{4|}}}}} | {{{1}}} }} | imageright = {{#if:{{{shortcut|{{{shortcut1|}}}}}} | {{Ombox/shortcut|{{{shortcut|{{{shortcut1|}}}}}}|{{{shortcut2|}}}|{{{shortcut3|}}}|{{{shortcut4|}}}|{{{shortcut5|}}} }} }} }}}}<noinclude> {{documentation}} <!-- Categories go on the /doc subpage, and interwikis go on Wikidata. --> </noinclude> maakv39sqtbl39e41mduy49aolcps5a Template:Wikipedia help pages 10 8245 73047 2026-06-05T14:38:31Z en>Choucas 0 rm link to deprecated page 73047 wikitext text/x-wiki <noinclude>{{Notice |style=margin-bottom:1.5em; |1=<span style="font-size:large;color:purple;">Please do not post your requests or questions on this page. If you have questions about using Wikipedia, please ask at the '''[[Wikipedia:Help desk|Help&nbsp;desk]]''' or the '''[[Wikipedia:Teahouse|Teahouse]]'''. For questions about subjects and topics, please use the '''[[Wikipedia:Reference desk|Reference Desk]]'''. Volunteers at these locations will respond to your questions as soon as possible.</span>}}</noinclude><!-- -->{{#invoke:navbox|navbox | name = Wikipedia help pages | state ={{{state<includeonly>|{{{1|collapsed}}}</includeonly>}}} | bodyclass = hlist | basestyle = text-align:center; | title = [[Help:Directory|Wikipedia help pages]] | above = *'''Visit the ''[[Wikipedia:Teahouse|Teahouse]]'' or the ''[[Wikipedia:Help desk|Help desk]]'' for an interactive {{abbr|Q & A|questions and answers}} forum.''' ---- * '''[[Wikipedia:FAQ|FAQs]]'''&nbsp;'''{{Define|(?)|This is a list of frequently asked questions about using and contributing to Wikipedia.}}''' * '''[[Wikipedia:Reference desk|Reference desks]]'''&nbsp;'''{{Define|(?)|Works like a library reference desk. Ask a question here and Wikipedia volunteers will try to answer it.}}''' * '''[[Wikipedia:Noticeboards|Noticeboards]]'''&nbsp;'''{{Define|(?)|Pages where editors can ask questions and request assistance from people who are familiar with the policies and guidelines covered by each individual board.}}''' * '''[[Help:Cheatsheet|Cheatsheet]]'''&nbsp;'''{{Define|(?)| For a list of the most commonly used Wiki markup and templates.}}''' * '''[[Wikipedia:Directories and indexes|Directories]]'''&nbsp;'''{{Define|(?)|For a list of Wikipedia's directories and indexes.}}''' * '''[[Wikipedia:Village pump|Village pumps]]'''&nbsp;{{Define|(?)|Discussions about Wikipedia}} | group1 = [[Wikipedia:About|About Wikipedia]]&nbsp;{{Define|(?)|Wikipedia's governess and customs}} | list1 = * [[Wikipedia:Administration|Administration]] **[[Wikipedia:Purpose|Purpose]] ** [[Wikipedia:Five pillars|Principles]] * [[Wikipedia:Policies and guidelines|Policies and guidelines]] * [[Wikipedia:What Wikipedia is not|What Wikipedia is not]] * [[Wikipedia:General disclaimer|Disclaimer]]&nbsp;([[Wikipedia:Advice for parents|parental advice]]) * [[Wikipedia:Request directory|Making requests]] * [[Wikipedia:Who writes Wikipedia?|Who writes Wikipedia?]] | group2 = [[Wikipedia:Reader's index to Wikipedia|Help for readers]]&nbsp;{{Define|(?)|Concerns and questions readers may have about Wikipedia}} | list2 = * [[Wikipedia:FAQ/Readers|FAQ]] * [[Help:Copyright|Copyright]] * [[Help:Glossary|Glossary]] * [[Help:Mobile access|Mobile access]] * [[Help:Navigation|Navigation]] * [[Help:Other languages|Other languages]] * [[Help:Saved pages|Saved pages]] * [[Help:Searching|Searching]] * [[Help:Student help|Students]] * [[Help:Viewing media|Viewing media]] | group3 = [[Wikipedia:Contributing to Wikipedia|Contributing<br/>to Wikipedia]]&nbsp;{{Define|(?)|Overviews and resources needed to comprehend, comment on, and edit}} | list3 = * [[Wikipedia:Guidance for younger editors|Advice for young editors]] * [[Wikipedia:Avoiding common mistakes|Avoiding common mistakes]] * [[Wikipedia:Etiquette|Etiquette]] * [[Wikipedia:Simplified Manual of Style|Simplified Manual of Style]] * [[Wikipedia:Simplified ruleset|Simplified rule-set]] ** [[Wikipedia:Ignore all rules|"Ignore all rules"]] ** [[Wikipedia:The rules are principles|"The rules are principles"]] *[[Wikipedia:Styletips|Style-tips]] * [[Wikipedia:Tip of the day|Tip of the day]] * [[Help:Your first article|Your first article]]&nbsp;([[Wikipedia:Article wizard|article wizard]]) | group4 = [[Help:Getting started|Getting started]]&nbsp;{{Define|(?)|Introductions and tutorials}} | list4 = * [[Wikipedia:Why create an account?|Why create an account?]] *[[Help:Introduction|Introductions by topic]] * [[Wikipedia:Graphics tutorials|Graphics tutorials]] ** [[Help:Pictures|Picture tutorial]] ** [[Wikipedia:IRC/Tutorial|IRC {{smaller|(live chat)}} tutorial]] * [[Wikipedia:VisualEditor/User guide|VisualEditor user guide]] | group5 = [[Wikipedia:Dos and don'ts|Dos and don'ts]]&nbsp;{{Define|(?)|Wikipedia policies, guidelines, and formatting standards in bullet points}} | list5 = * [[Wikipedia:Accessibility dos and don'ts|Accessibility]] * [[Wikipedia:Biography dos and don'ts|Biographies]] * [[Wikipedia:Biographies of living persons dos and don'ts|Biographies (living)]] * [[Wikipedia:Categorization dos and don'ts|Categorization]] * [[Wikipedia:Consensus dos and don'ts|Consensus]] * [[Wikipedia:Talk dos and don'ts|Discussions]] * [[Wikipedia:Disambiguation dos and don'ts|Disambiguation]] * [[Wikipedia:Image dos and don'ts|Images]] * [[Wikipedia:Lead dos and don'ts|Leads]] * [[Wikipedia:Linking dos and don'ts|Links]] * [[Wikipedia:List dos and don'ts|Lists]] * [[Wikipedia:References dos and don'ts|References]] * [[Wikipedia:Table dos and don'ts|Tables]] * [[Wikipedia:Article title dos and don'ts|Titles (of articles)]] | group7 = [[:Category:Wikipedia how-to|How-to pages]] and<br/>[[:Category:Wikipedia information pages|information pages]]&nbsp;{{Define|(?)|Topic specific informative and instructional pages}} | list7 = * [[Wikipedia:Guide to appealing blocks|Appealing blocks]] * [[Wikipedia:Guide to deletion|Article deletion]] * [[Help:Category|Categories]] * [[Help:Citations quick reference|Citations/references]] ** [[Help:Referencing for beginners|Referencing for beginners]] ** [[Help:Citation Style 1|Citation Style 1]] ** [[Help:Cite errors|Cite errors]] ** [[Help:References and page numbers|References and page numbers]] * [[Help:Convert|Convert]] * [[Help:Diff|Diff]] * [[Help:Editing|Editing]] ** [[Help:Minor edit|Minor edit]] ** [[Help:Edit toolbar|toolbar]] ** [[Help:Edit conflict|edit conflict]] * [[Help:Find sources|Find sources]] * [[Help:Files|Files]] * [[Help:Footnotes|Footnotes]] * [[Wikipedia:Guide to image deletion|Image deletion]] * [[Help:Infobox|Infoboxes]] * [[Help:Link|Linking]]&nbsp;([[Help:Link color|link color]]) * [[Help:Logging in|Logging in]] * [[Wikipedia:Merging|Merging]] * [[Help:Unreviewed new page|New page review]] * [[Help:Page name|Page name]] ** [[Help:How to move a page|Renaming pages]] * [[Help:Redirect|Redirect]] * [[Help:Reset password|Passwords]] ** [[Help:Email confirmation|Email confirmation]] * [[Help:Reverting|Reverting]] ** [[Help:Simple guide to vandalism cleanup|Simple vandalism cleanup]] * [[Help:Talk pages|Talk pages]]&nbsp;([[Help:Archiving a talk page|archiving]] *[[Help:Archiving (plain and simple)|simple archiving]]) * [[Help:User contributions|User contributions]] * [[Help:WP search protocol|WP search protocol]] | group8 = [[Wiki markup|Coding]]&nbsp;{{Define|(?)|Wikitext information consists of the syntax used to format a page}} | list8 = * [[Help:Wikitext|Wiki markup]] * [[Help:Barchart|Barchart]]s * [[Help:Calculation|Calculation]]s * [[Help:Special characters|Characters]] * [[Help:Columns|Columns]] * [[Help:Elevation|Elevation]] * [[Wikipedia:Manual of Style/Hidden text|Hidden text]] * [[Help:HTML in wikitext|HTML]] * [[Help:List|Lists]] * [[Help:Magic words|Magic words]] * [[Help:Musical symbols|Music symbols]] * [[Help:Section|Sections]] * [[Help:Sound file markup|Sounds]] * [[Help:Table|Tables]] * [[Help:Template|Template]]s * [[Wikipedia:Transclusion|Transclusion]] * [[Help:URL|URL]] * [[Help:Visual file markup|Visual files]] | group9 = [[Wikipedia:Directories and indexes|Directories]]&nbsp;{{Define|(?)|Wikipedia's directories and indexes}} | list9 = * [[Wikipedia:Wikipedia abbreviations|Abbreviations]] * [[Wikipedia:Artificial intelligence resources |AI]] * [[Wikipedia:Department directory|Departments]] * [[Wikipedia:Editor's index to Wikipedia|Editor's index]] * [[Wikipedia:Essay directory|Essays]] * [[Wikipedia:FAQ/Index|FAQs]] * [[Wikipedia:Glossary|Glossary]] * [[Wikipedia:List of guidelines|Guidelines]] * [[Wikipedia:Manual of Style/Contents|Manual of Style ]] * [[Wikipedia:List of policies|Policies]] *[[Wikipedia:Maintenance|Tasks]] * [[Wikipedia:Tips|Tips]] * [[Wikipedia:Tools|Tools]] | below =''' [[Help: Wikipedia: The Missing Manual|Missing Manual]]''' ---- {{edit|Special:MyTalk|'''Ask for help on your talk page'''|section=new|preload=Help:Contents/helpmepreload|preloadtitle=Help me!}}&nbsp;'''{{Define|(?)| If you need help, you can use this link to ask a question on your talk page; a volunteer will visit you there shortly!}}''' }}<noinclude> {{documentation}} <!-- Add categories to the /doc subpage and interwikis in Wikidata, not here! --> </noinclude> 2cnd9tio50mqa5svhkxu1z5x2o9pt30 73048 73047 2026-07-02T15:52:19Z Robertsky 10424 1 versaun husi [[:en:Template:Wikipedia_help_pages]] 73047 wikitext text/x-wiki <noinclude>{{Notice |style=margin-bottom:1.5em; |1=<span style="font-size:large;color:purple;">Please do not post your requests or questions on this page. If you have questions about using Wikipedia, please ask at the '''[[Wikipedia:Help desk|Help&nbsp;desk]]''' or the '''[[Wikipedia:Teahouse|Teahouse]]'''. For questions about subjects and topics, please use the '''[[Wikipedia:Reference desk|Reference Desk]]'''. Volunteers at these locations will respond to your questions as soon as possible.</span>}}</noinclude><!-- -->{{#invoke:navbox|navbox | name = Wikipedia help pages | state ={{{state<includeonly>|{{{1|collapsed}}}</includeonly>}}} | bodyclass = hlist | basestyle = text-align:center; | title = [[Help:Directory|Wikipedia help pages]] | above = *'''Visit the ''[[Wikipedia:Teahouse|Teahouse]]'' or the ''[[Wikipedia:Help desk|Help desk]]'' for an interactive {{abbr|Q & A|questions and answers}} forum.''' ---- * '''[[Wikipedia:FAQ|FAQs]]'''&nbsp;'''{{Define|(?)|This is a list of frequently asked questions about using and contributing to Wikipedia.}}''' * '''[[Wikipedia:Reference desk|Reference desks]]'''&nbsp;'''{{Define|(?)|Works like a library reference desk. Ask a question here and Wikipedia volunteers will try to answer it.}}''' * '''[[Wikipedia:Noticeboards|Noticeboards]]'''&nbsp;'''{{Define|(?)|Pages where editors can ask questions and request assistance from people who are familiar with the policies and guidelines covered by each individual board.}}''' * '''[[Help:Cheatsheet|Cheatsheet]]'''&nbsp;'''{{Define|(?)| For a list of the most commonly used Wiki markup and templates.}}''' * '''[[Wikipedia:Directories and indexes|Directories]]'''&nbsp;'''{{Define|(?)|For a list of Wikipedia's directories and indexes.}}''' * '''[[Wikipedia:Village pump|Village pumps]]'''&nbsp;{{Define|(?)|Discussions about Wikipedia}} | group1 = [[Wikipedia:About|About Wikipedia]]&nbsp;{{Define|(?)|Wikipedia's governess and customs}} | list1 = * [[Wikipedia:Administration|Administration]] **[[Wikipedia:Purpose|Purpose]] ** [[Wikipedia:Five pillars|Principles]] * [[Wikipedia:Policies and guidelines|Policies and guidelines]] * [[Wikipedia:What Wikipedia is not|What Wikipedia is not]] * [[Wikipedia:General disclaimer|Disclaimer]]&nbsp;([[Wikipedia:Advice for parents|parental advice]]) * [[Wikipedia:Request directory|Making requests]] * [[Wikipedia:Who writes Wikipedia?|Who writes Wikipedia?]] | group2 = [[Wikipedia:Reader's index to Wikipedia|Help for readers]]&nbsp;{{Define|(?)|Concerns and questions readers may have about Wikipedia}} | list2 = * [[Wikipedia:FAQ/Readers|FAQ]] * [[Help:Copyright|Copyright]] * [[Help:Glossary|Glossary]] * [[Help:Mobile access|Mobile access]] * [[Help:Navigation|Navigation]] * [[Help:Other languages|Other languages]] * [[Help:Saved pages|Saved pages]] * [[Help:Searching|Searching]] * [[Help:Student help|Students]] * [[Help:Viewing media|Viewing media]] | group3 = [[Wikipedia:Contributing to Wikipedia|Contributing<br/>to Wikipedia]]&nbsp;{{Define|(?)|Overviews and resources needed to comprehend, comment on, and edit}} | list3 = * [[Wikipedia:Guidance for younger editors|Advice for young editors]] * [[Wikipedia:Avoiding common mistakes|Avoiding common mistakes]] * [[Wikipedia:Etiquette|Etiquette]] * [[Wikipedia:Simplified Manual of Style|Simplified Manual of Style]] * [[Wikipedia:Simplified ruleset|Simplified rule-set]] ** [[Wikipedia:Ignore all rules|"Ignore all rules"]] ** [[Wikipedia:The rules are principles|"The rules are principles"]] *[[Wikipedia:Styletips|Style-tips]] * [[Wikipedia:Tip of the day|Tip of the day]] * [[Help:Your first article|Your first article]]&nbsp;([[Wikipedia:Article wizard|article wizard]]) | group4 = [[Help:Getting started|Getting started]]&nbsp;{{Define|(?)|Introductions and tutorials}} | list4 = * [[Wikipedia:Why create an account?|Why create an account?]] *[[Help:Introduction|Introductions by topic]] * [[Wikipedia:Graphics tutorials|Graphics tutorials]] ** [[Help:Pictures|Picture tutorial]] ** [[Wikipedia:IRC/Tutorial|IRC {{smaller|(live chat)}} tutorial]] * [[Wikipedia:VisualEditor/User guide|VisualEditor user guide]] | group5 = [[Wikipedia:Dos and don'ts|Dos and don'ts]]&nbsp;{{Define|(?)|Wikipedia policies, guidelines, and formatting standards in bullet points}} | list5 = * [[Wikipedia:Accessibility dos and don'ts|Accessibility]] * [[Wikipedia:Biography dos and don'ts|Biographies]] * [[Wikipedia:Biographies of living persons dos and don'ts|Biographies (living)]] * [[Wikipedia:Categorization dos and don'ts|Categorization]] * [[Wikipedia:Consensus dos and don'ts|Consensus]] * [[Wikipedia:Talk dos and don'ts|Discussions]] * [[Wikipedia:Disambiguation dos and don'ts|Disambiguation]] * [[Wikipedia:Image dos and don'ts|Images]] * [[Wikipedia:Lead dos and don'ts|Leads]] * [[Wikipedia:Linking dos and don'ts|Links]] * [[Wikipedia:List dos and don'ts|Lists]] * [[Wikipedia:References dos and don'ts|References]] * [[Wikipedia:Table dos and don'ts|Tables]] * [[Wikipedia:Article title dos and don'ts|Titles (of articles)]] | group7 = [[:Category:Wikipedia how-to|How-to pages]] and<br/>[[:Category:Wikipedia information pages|information pages]]&nbsp;{{Define|(?)|Topic specific informative and instructional pages}} | list7 = * [[Wikipedia:Guide to appealing blocks|Appealing blocks]] * [[Wikipedia:Guide to deletion|Article deletion]] * [[Help:Category|Categories]] * [[Help:Citations quick reference|Citations/references]] ** [[Help:Referencing for beginners|Referencing for beginners]] ** [[Help:Citation Style 1|Citation Style 1]] ** [[Help:Cite errors|Cite errors]] ** [[Help:References and page numbers|References and page numbers]] * [[Help:Convert|Convert]] * [[Help:Diff|Diff]] * [[Help:Editing|Editing]] ** [[Help:Minor edit|Minor edit]] ** [[Help:Edit toolbar|toolbar]] ** [[Help:Edit conflict|edit conflict]] * [[Help:Find sources|Find sources]] * [[Help:Files|Files]] * [[Help:Footnotes|Footnotes]] * [[Wikipedia:Guide to image deletion|Image deletion]] * [[Help:Infobox|Infoboxes]] * [[Help:Link|Linking]]&nbsp;([[Help:Link color|link color]]) * [[Help:Logging in|Logging in]] * [[Wikipedia:Merging|Merging]] * [[Help:Unreviewed new page|New page review]] * [[Help:Page name|Page name]] ** [[Help:How to move a page|Renaming pages]] * [[Help:Redirect|Redirect]] * [[Help:Reset password|Passwords]] ** [[Help:Email confirmation|Email confirmation]] * [[Help:Reverting|Reverting]] ** [[Help:Simple guide to vandalism cleanup|Simple vandalism cleanup]] * [[Help:Talk pages|Talk pages]]&nbsp;([[Help:Archiving a talk page|archiving]] *[[Help:Archiving (plain and simple)|simple archiving]]) * [[Help:User contributions|User contributions]] * [[Help:WP search protocol|WP search protocol]] | group8 = [[Wiki markup|Coding]]&nbsp;{{Define|(?)|Wikitext information consists of the syntax used to format a page}} | list8 = * [[Help:Wikitext|Wiki markup]] * [[Help:Barchart|Barchart]]s * [[Help:Calculation|Calculation]]s * [[Help:Special characters|Characters]] * [[Help:Columns|Columns]] * [[Help:Elevation|Elevation]] * [[Wikipedia:Manual of Style/Hidden text|Hidden text]] * [[Help:HTML in wikitext|HTML]] * [[Help:List|Lists]] * [[Help:Magic words|Magic words]] * [[Help:Musical symbols|Music symbols]] * [[Help:Section|Sections]] * [[Help:Sound file markup|Sounds]] * [[Help:Table|Tables]] * [[Help:Template|Template]]s * [[Wikipedia:Transclusion|Transclusion]] * [[Help:URL|URL]] * [[Help:Visual file markup|Visual files]] | group9 = [[Wikipedia:Directories and indexes|Directories]]&nbsp;{{Define|(?)|Wikipedia's directories and indexes}} | list9 = * [[Wikipedia:Wikipedia abbreviations|Abbreviations]] * [[Wikipedia:Artificial intelligence resources |AI]] * [[Wikipedia:Department directory|Departments]] * [[Wikipedia:Editor's index to Wikipedia|Editor's index]] * [[Wikipedia:Essay directory|Essays]] * [[Wikipedia:FAQ/Index|FAQs]] * [[Wikipedia:Glossary|Glossary]] * [[Wikipedia:List of guidelines|Guidelines]] * [[Wikipedia:Manual of Style/Contents|Manual of Style ]] * [[Wikipedia:List of policies|Policies]] *[[Wikipedia:Maintenance|Tasks]] * [[Wikipedia:Tips|Tips]] * [[Wikipedia:Tools|Tools]] | below =''' [[Help: Wikipedia: The Missing Manual|Missing Manual]]''' ---- {{edit|Special:MyTalk|'''Ask for help on your talk page'''|section=new|preload=Help:Contents/helpmepreload|preloadtitle=Help me!}}&nbsp;'''{{Define|(?)| If you need help, you can use this link to ask a question on your talk page; a volunteer will visit you there shortly!}}''' }}<noinclude> {{documentation}} <!-- Add categories to the /doc subpage and interwikis in Wikidata, not here! --> </noinclude> 2cnd9tio50mqa5svhkxu1z5x2o9pt30 Template:Wikipedia how-to 10 8246 73049 2024-08-14T22:39:59Z en>Remsense 0 varying was actually better here 73049 wikitext text/x-wiki {{ombox | type = notice | style = {{#if:{{{style|}}} |margin:0 auto;width:80%;{{{style}}} }} | image = [[File:Twemoji 1f527.svg|30x30px|link=|alt=]] | imageright = {{#if:{{{shortcut|{{{shortcut1|{{{sc1|{{{1<includeonly>|</includeonly>}}}}}}}}}}}} |{{Shortcut|{{{shortcut|{{{shortcut1|{{{sc1|{{{1}}}}}}}}}}}}|{{{shortcut2|{{{sc2|{{{2|}}}}}}}}}||{{{shortcut3|{{{sc3|{{{3|}}}}}}}}}|{{{shortcut4|{{{sc4|{{{4|}}}}}}}}}||{{{shortcut5|{{{sc5|{{{5|}}}}}}}}}<noinclude>|category=no</noinclude>}} }} | text = <div style="padding-top: 6px; padding-bottom: 5px;">'''This help page is a [[Wikipedia:Project namespace#Wikipedia how-to and information pages|how-to guide]].'''<br><div style="font-size: 90%;">It explains concepts or processes used <!-- -->{{#if:{{{page|{{{pages|{{{interprets|}}}}}}}}} | <!--doesn't handle multiple items--> {{#ifexist:{{{page|{{{pages|{{{interprets}}}}}}}}} |[[{{{page|{{{pages|{{{interprets}}}}}}}}}]] |{{{page|{{{pages|{{{interprets}}}}}}}}}}} | by the Wikipedia community. }} It is not one of [[Wikipedia:Policies and guidelines|Wikipedia's policies or guidelines]], and may reflect varying levels of [[Wikipedia:Consensus|consensus]].</div></div> }}{{#if: {{{nocat|{{{demo|}}}}}}||<includeonly>{{Namespace detect | wikipedia = {{{category|[[Category:Wikipedia how-to|{{#if:{{{sort-by|}}}|{{{sort-by}}}|{{PAGENAME}}}}]]}}} | help = {{{category|[[Category:Wikipedia how-to|{{#if:{{{sort-by|}}}|{{{sort-by}}}|{{PAGENAME}}}}]]}}} | user = [[Category:User essays]]{{{category|}}} }} </includeonly>}}<noinclude> {{Documentation|content= {{Information page/doc |howto=y}} }} </noinclude> 0u1rqw10kzi3nrke66i6iqruz7d0nv2 73050 73049 2026-07-02T15:52:20Z Robertsky 10424 1 versaun husi [[:en:Template:Wikipedia_how-to]] 73049 wikitext text/x-wiki {{ombox | type = notice | style = {{#if:{{{style|}}} |margin:0 auto;width:80%;{{{style}}} }} | image = [[File:Twemoji 1f527.svg|30x30px|link=|alt=]] | imageright = {{#if:{{{shortcut|{{{shortcut1|{{{sc1|{{{1<includeonly>|</includeonly>}}}}}}}}}}}} |{{Shortcut|{{{shortcut|{{{shortcut1|{{{sc1|{{{1}}}}}}}}}}}}|{{{shortcut2|{{{sc2|{{{2|}}}}}}}}}||{{{shortcut3|{{{sc3|{{{3|}}}}}}}}}|{{{shortcut4|{{{sc4|{{{4|}}}}}}}}}||{{{shortcut5|{{{sc5|{{{5|}}}}}}}}}<noinclude>|category=no</noinclude>}} }} | text = <div style="padding-top: 6px; padding-bottom: 5px;">'''This help page is a [[Wikipedia:Project namespace#Wikipedia how-to and information pages|how-to guide]].'''<br><div style="font-size: 90%;">It explains concepts or processes used <!-- -->{{#if:{{{page|{{{pages|{{{interprets|}}}}}}}}} | <!--doesn't handle multiple items--> {{#ifexist:{{{page|{{{pages|{{{interprets}}}}}}}}} |[[{{{page|{{{pages|{{{interprets}}}}}}}}}]] |{{{page|{{{pages|{{{interprets}}}}}}}}}}} | by the Wikipedia community. }} It is not one of [[Wikipedia:Policies and guidelines|Wikipedia's policies or guidelines]], and may reflect varying levels of [[Wikipedia:Consensus|consensus]].</div></div> }}{{#if: {{{nocat|{{{demo|}}}}}}||<includeonly>{{Namespace detect | wikipedia = {{{category|[[Category:Wikipedia how-to|{{#if:{{{sort-by|}}}|{{{sort-by}}}|{{PAGENAME}}}}]]}}} | help = {{{category|[[Category:Wikipedia how-to|{{#if:{{{sort-by|}}}|{{{sort-by}}}|{{PAGENAME}}}}]]}}} | user = [[Category:User essays]]{{{category|}}} }} </includeonly>}}<noinclude> {{Documentation|content= {{Information page/doc |howto=y}} }} </noinclude> 0u1rqw10kzi3nrke66i6iqruz7d0nv2 Template:Subpages 10 8247 73051 2018-01-19T00:33:36Z en>Primefac 0 Protected "[[Template:Subpages]]": [[WP:SEMIPROT|semi-protection]] of high-usage templates to combat systematic vandalism ([Edit=Require autoconfirmed or confirmed access] (indefinite) [Move=Require autoconfirmed or confirmed access] (indefinite)) 73051 wikitext text/x-wiki [[Special:Prefixindex/{{#if:{{{page|}}}|{{{page}}}|{{FULLPAGENAME}}}}/|{{{1|all subpages of this page}}}]]<noinclude> {{Documentation}} </noinclude> ayeqg2l7lgu1bmnlcfftt1599ywzfde 73052 73051 2026-07-02T15:52:20Z Robertsky 10424 1 versaun husi [[:en:Template:Subpages]] 73051 wikitext text/x-wiki [[Special:Prefixindex/{{#if:{{{page|}}}|{{{page}}}|{{FULLPAGENAME}}}}/|{{{1|all subpages of this page}}}]]<noinclude> {{Documentation}} </noinclude> ayeqg2l7lgu1bmnlcfftt1599ywzfde Template:Xtag 10 8248 73053 2025-07-12T16:44:11Z en>Redrose64 0 Undid revision [[Special:Diff/1300099827|1300099827]] by [[Special:Contributions/Waddie96|Waddie96]] ([[User talk:Waddie96|talk]]) templatedata belongs on doc page 73053 wikitext text/x-wiki <code class="nowrap">{{#switch:{{{2|pair}}} |c|close = <!--nothing--> |s|single |o|open |p|pair = &lt;{{#switch:{{{1|}}} |categorytree=[[mw:Extension:CategoryTree|categorytree]] |charinsert=[[mw:Extension:CharInsert|charinsert]] |ce=[[Help:Displaying a formula#Chemistry|ce]] |chem=[[Help:Displaying a formula#Chemistry|chem]] |gallery=[[Help:Gallery tag|gallery]] |graph=[[Help:Graph|graph]] |hiero=[[mw:Extension:WikiHiero|hiero]] |includeonly=[[Help:Template#Noinclude, includeonly, and onlyinclude|includeonly]] |indicator=[[mw:Help:Page status indicators|indicator]] |imagemap=[[mw:Extension:ImageMap|imagemap]] |inputbox=[[mw:Extension:InputBox|inputbox]] |mapframe=[[mw:Extension:Kartographer|mapframe]] |maplink=[[mw:Extension:Kartographer#<maplink>|maplink]] |math=[[mw:Extension:Math|math]] |math chem=[[Help:Displaying a formula#Chemistry|math chem]] |noinclude=[[Help:Template#Noinclude, includeonly, and onlyinclude|noinclude]] |nowiki=[[Help:Wikitext#Nowiki|nowiki]] |onlyinclude=[[Help:Template#Noinclude, includeonly, and onlyinclude|onlyinclude]] |poem=[[mw:Extension:Poem|poem]] |pre=[[Help:Wikitext#Pre|pre]] |ref=[[mw:Extension:Cite/Cite.php|ref]] |references=[[mw:Extension:Cite/Cite.php|references]] |score=[[Help:Score|score]] |section=[[mw:Extension:Labeled Section Transclusion|section]] |source=[[mw:Extension:SyntaxHighlight|source]] |syntaxhighlight=[[mw:Extension:SyntaxHighlight|syntaxhighlight]] |templatedata=[[Wikipedia:TemplateData/Tutorial|templatedata]] |templatestyles=[[mw:Extension:TemplateStyles|templatestyles]] |timeline=[[mw:Extension:EasyTimeline|timeline]] |#default={{{1|}}}[[Category:Pages using xtag template with unsupported tag name]] }}{{#if:{{{params|}}}|&#32;{{{params}}}}} }}{{#switch:{{{2|open}}} |c|close = {{{content|}}} |s|single = &#32;/&gt; |o|open = &gt;{{{content|}}} |p|pair = &gt;{{{content|...}}} }}{{#switch:{{{2|open}}} |s|single |o|open = <!--nothing--> |c|close |p|pair = &lt;/{{{1|tag}}}&gt; }}</code><noinclude> {{documentation}} </noinclude> 2vnd41n7pfohwg71j2wi96yt6lxbcfn 73054 73053 2026-07-02T15:52:20Z Robertsky 10424 1 versaun husi [[:en:Template:Xtag]] 73053 wikitext text/x-wiki <code class="nowrap">{{#switch:{{{2|pair}}} |c|close = <!--nothing--> |s|single |o|open |p|pair = &lt;{{#switch:{{{1|}}} |categorytree=[[mw:Extension:CategoryTree|categorytree]] |charinsert=[[mw:Extension:CharInsert|charinsert]] |ce=[[Help:Displaying a formula#Chemistry|ce]] |chem=[[Help:Displaying a formula#Chemistry|chem]] |gallery=[[Help:Gallery tag|gallery]] |graph=[[Help:Graph|graph]] |hiero=[[mw:Extension:WikiHiero|hiero]] |includeonly=[[Help:Template#Noinclude, includeonly, and onlyinclude|includeonly]] |indicator=[[mw:Help:Page status indicators|indicator]] |imagemap=[[mw:Extension:ImageMap|imagemap]] |inputbox=[[mw:Extension:InputBox|inputbox]] |mapframe=[[mw:Extension:Kartographer|mapframe]] |maplink=[[mw:Extension:Kartographer#<maplink>|maplink]] |math=[[mw:Extension:Math|math]] |math chem=[[Help:Displaying a formula#Chemistry|math chem]] |noinclude=[[Help:Template#Noinclude, includeonly, and onlyinclude|noinclude]] |nowiki=[[Help:Wikitext#Nowiki|nowiki]] |onlyinclude=[[Help:Template#Noinclude, includeonly, and onlyinclude|onlyinclude]] |poem=[[mw:Extension:Poem|poem]] |pre=[[Help:Wikitext#Pre|pre]] |ref=[[mw:Extension:Cite/Cite.php|ref]] |references=[[mw:Extension:Cite/Cite.php|references]] |score=[[Help:Score|score]] |section=[[mw:Extension:Labeled Section Transclusion|section]] |source=[[mw:Extension:SyntaxHighlight|source]] |syntaxhighlight=[[mw:Extension:SyntaxHighlight|syntaxhighlight]] |templatedata=[[Wikipedia:TemplateData/Tutorial|templatedata]] |templatestyles=[[mw:Extension:TemplateStyles|templatestyles]] |timeline=[[mw:Extension:EasyTimeline|timeline]] |#default={{{1|}}}[[Category:Pages using xtag template with unsupported tag name]] }}{{#if:{{{params|}}}|&#32;{{{params}}}}} }}{{#switch:{{{2|open}}} |c|close = {{{content|}}} |s|single = &#32;/&gt; |o|open = &gt;{{{content|}}} |p|pair = &gt;{{{content|...}}} }}{{#switch:{{{2|open}}} |s|single |o|open = <!--nothing--> |c|close |p|pair = &lt;/{{{1|tag}}}&gt; }}</code><noinclude> {{documentation}} </noinclude> 2vnd41n7pfohwg71j2wi96yt6lxbcfn