Güiquipeya extwiki https://ext.wikipedia.org/wiki/G%C3%BCiquipedia:Port%C3%A1 MediaWiki 1.47.0-wmf.1 first-letter Mediu Especial Caraba Usuario Usuario caraba Güiquipedia Güiquipedia caraba Archivu Archivu caraba MediaWiki MediaWiki caraba Prantilla Prantilla caraba Ayua Ayua caraba Categoría Categoría caraba TimedText TimedText talk Módulo Módulo discusión Evento Evento discusión Liubliana 0 6215 143053 143036 2026-05-06T21:00:18Z InternetArchiveBot 17037 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 143053 wikitext text/x-wiki {{Ficha de entidad subnacional}} '''Liubliana''' (n'eslovenu ''Ljubljana'', prenunciau [[IPA|/ʎubˈʎa:nʌ/]] (?·i), en [[alemán]] ''Laibach'' /'lɑɪbaχ/, en [[italianu]] ''Lubiana'' /lub'jaːna/) es la capital i mayol ciá d'[[Eslovénia|Eslovenia]]. En 2008 contaba con 270.828 habitantes, en una superficii de 275 km². '''Ljubljana''' ({{IPA|sl|li̯ubˈli̯aːna}}; en [[Alemán|aleman]], ''Laibach''; en [[Italianu|italiano]], ''Lubiana'') es la [[Capital (política)|capital]] d'[[Eslovénia]] i, al mesmu tiempu, la ciá más grandi nel [[País|país]]. Está assitiá nel centru del país, estoricamenti parti dela [[Carniola de Dentru]], i es una [[Ciá|ciá]] de tamañu meyu con unos 280.000 [[Habitanti|abitantis]]. Ljubljana es considerá el centru [[Coltura|coltural]], [[Ciéncia|científicu]], [[Economía|económicu]], [[Política|políticu]] i [[Almenistración|almenistrativu]] de Eslovénia, país endependienti dendi 1991. Estoricamenti, la ciá á síu enfruenciá pola su posición geográfica, nel cruzi delas colturas germánicas, latinas i eslavas. == Etimología == Los estoriaoris tienin puntus de vista deferentis eno que toca al origi del nombri dela ciá. Unus creyin que emana del nombri dela antígua ciá eslava "Laburus". Otros crein que emana del latín "Aluviana" endispués de que la ciá fuera inundá, hechu que se liga tamién col segnificau del nombri aleman, pues la parabra "Laibach" quier dizil "tremedal". Una ipótesis romántica sostriba qu'el nombri sali dela parabra eslava ''Luba'' ("queríu"). El nombri aleman dela ciá es ''Laibach'', gastau oficialmenti ata 1918<ref>{{cite web|url=http://www.osservatoriolibri.com/luoghi.html|title=Città di stampa dei LIBRI ANTICHI dei LIBRI VECCHI dei LIBRI RARI|accessdate=10 de diciembre de 2011|author=Libri Antichi Libri Rari|publisher=Osservatoriolibri.com}}</ref>. Sigún la leyenda griega, el éroi [[Iasón]] i los sus [[Argonáutas]], tras topar la [[Vellocino de Oro|lana d'oru]] en [[Cólquida]], la truxun pal norti navegandu pol [[Danúbiu]], en lugal de golvel pal [[Mari Egeu]]. Navegandu p'arriba, se dize que huerun pal ríu [[Sava]] i endispués al naceru del ríu ''Lublianica''. Desembarcarun pa carral con el su barcu ala [[Mari Adriática]], pal ponienti, pa allegal de golvi a casa. Entri las ciais de [[Vrhnika]] i Ljubljana, los argonáutas toparun un lagu cercau pun tremedal. Ellí se dize que Iasón venció a un monstru. Essu monstru era el [[Dragón|dragón]] que ogañu está presenti nel [[Escúu de Ljubljana|escúu]] i la [[Bandera de Ljubljana|bandera]] dela ciá. Varios dragones con alas decoran el ''Puenti del Dragón'' (''Zmajski most''), de muchas vezis considerau el puenti más galán fabricau pola [[Secesión de Viena]]. == Estoria == === Preestoria === Dendi 3600 ata 3100 a.C. se topan los assitiamientus más antíguus nel tremedal de Laibach (''Laibacher Moor''). Entri 1000 i 700 a.C. dessistierun los primeros assitiamientus ilíricos i venecianos i, en tornu al añu 400 a.C., siguió el tiempu delos celtas. El primer abitanti míticu es considerau Iasón (véassi la seción del Escúu). «El dragón nel escúu dela ciá se remonta a una leyenda sigún la cual el éroi griegu Iasón, tras el robu dela Lana d'Oru, llegó al naceru del ríu Ljubljanica i allí venció a un dragón nuna runcha. Iasón es considerau, pol tantu, el legendáriu primer abitanti de Ljubljana, i el dragón es el símbolu dela ciá»<ref name="Apollinaris">Hildegard Temporini y Wolfgang Haase, ''Aufstieg und Niedergang der römischen Welt''. de Gruyter, 1988. ISBN 3-11-011893-9. [http://books.google.be/books?id=74vdDevajNoC&pg=PA343&lpg=PA343&dq=Emona+legion+XV&source=web&ots=Oz_GEBKbi_&sig=jODLhDZxfNwHfBW48cBMhE2GCs0&hl=fr&sa=X&oi=book_result&resnum=8&ct=result Google Books, p.343]</ref>. === Empériu Romanu === Nel sigru I a.C., los romanos alicantarun una fortaleza melital nel sitiu de Ljubljana de ogañu, i nel añu 14 alicantarun el assitiamientu romanu '''Emona''' o '''Aemona''' (''Colonia Aemona Iulia tribu Claudia''). Inque estuviera assitiá nel lugal de Ljubljana de ogañu, cola migración delos puebrus es namás un assitiamientu antecessol dela ciá de ogañu. === Migración i Empériu Francu === Ábate nel 600 migrarun ala zona tribus eslavas, siguiendu el escaimientu del assitiamientu de Emona. En tornu al 800, la zona de Ljubljana cayó baxo el mandu delos francos. === Sacru Empériu Romanu Germánicu === En [[Fráncia Oriental]] i más tardi nel [[Sacru Empériu Romanu Germánicu]], la zona alreol de Ljubljana preteneció ala [[Marca de Carniola]]. El tiempu entri 1112 i 1125 es la fecha del origi delos primeros registros escritos de Ljubljana. La primera mención escrita dela ciá es del añu 1144. Fue nombrá pola primera vezi en 1220 ciá; en 1243 están registraus el derechu de mercau i el muru dela ciá; en 1280, los abitantis eran llamaus "cives" (citadanus). En 1270, Ljubljana fue conquistá pol rei de [[Boémia]] Ottokar II, quien dantis venció al mandu austriacu tras el fin dela dinastía [[Babenberg]], en 1246. ==== Gobielnu habsburgu ==== . === Empériu Austriacu === . === Reinu de Sérbia, Croácia i Eslovénia i Reinu de Jugoslávia === Al acabu del mes de otubri de 1918, Ljubljana se volvió parti del recén criau [[Reinu delos Serbios, Croatas i Eslovenos]]. En 1919 fue fundá la [[Nuversidá de Ljubljana]]. En 1929, Ljubljana se volvió la capital dela provincia del Drava (''Dravska banovina'') nel [[Reinu de Jugoslávia]]. === Anexión italiana i acupación alemana === === Repúbrica Socialista Federal de Jugoslávia === El 9 de mayu de 1945 tuvu lugal el esparcimientu oficial dela [[Província de Lubiana]]. En 1945, el restu delos alemanes de Laibach, lo mesmu que otros alemanes eslovenos, fuerun espulsaus basándu-si enas decisiones del AVNOJ. Muchas pressonas fuerun muertas. En 1945, Ljubljana se volvió la capital dela [[Repúbrica Populal de Eslovénia]] ena [[Repúbrica Populal Federal de Jugoslávia]]. En 1958, la primera televisión eslovena encetó las emisionis regulari. En 1958, el tranvía fue afechau. En 1980, el ditaol jugoslavu [[Josip Broz Tito]] murió en Ljubljana. === Repúbrica de Eslovénia === En 1991 la ciá festejó la endependéncia de Eslovénia. En 2002 el summit Bush/Putin tuvu lugal en Ljubljana. A solo unas sumanas del destapamentu dun nuevu soterramientu común con más de 4.000 partizanos assessinaus polos partizanos de Tito nuna mina eslovena, en abril de 2009, el conceyu munisipal de Ljubljana decidió cola mayoría delos partidos de gocha nombral una rúa tras Josip Broz Tito. En 1991 la atual ''Slovenska cesta'' (rúa eslovena) fue nombrá tras él. == Geografía i climi == === Assitiamientu === [[Archivu:Río Ljubljanica, Liubliana, Eslovenia, 2017-04-14, DD 08.jpg|thumb|240px|El ríu [[Ljubljanica]] baña la capital eslovena]] [[Archivu:Bežigrad.JPG|thumb|240px|Vista de Ljubljana colos [[Alpes de Kamnik i dela Savinja|Alpes de Kamnik]] nel hondu]] [[Archivu:Ljubljana under the snow 1.jpg|thumb|right|240px|Vista del centru estóricu nevau dendi la cuelna del castillu]] La ciá de Ljubljana está assitiá nel centru de [[Eslovénia]], nuna zona llana regá pol ríu [[Ljubljanica]], a una artitú de 298 m sobri el nivel del mari. La su posición central respetu a [[Áustria]], [[Ungría]], la región de [[Venécia]] (Itália) i [[Croácia]] á enfruenciáu abondu ena estoria i desenvolvimientu dela ciá. El su términu munisipal linda colos de [[Medvode]], [[Kranj]], [[Škofja Loka]], [[Vodice]], [[Mengeš]], [[Trzin]], [[Domžale]], [[Dol pri Ljubljani]], [[Litija]], [[Smartno pri Litiji]], [[Ivančna Gorica]], [[Grosuplje]], [[Škofljica]], [[Ig]], [[Brezovica]] i [[Dobrova-Polhov Gradec]]. === Relievi i idrografía === Assitiá a meyu caminu entri los [[Alpes Julianos]] i la región del [[Karst]], Ljubljana, the capital of Slovenia el su assitiamientu nel valli del ríu Ljubljanica About Ljubljana hazi que la capital eslovena se assienti nuna zona prencipalmenti llana, a 298 m de artitú, inque el Castillu se sitúa a 366 m mientres que el puntu más artu dela ciá, el llamau Janški Hrib, llega als 794 m. Ljubljana in Numbers En lo que toca ala idrografía, Ljubljana está bañá pol ríu Ljubljanica de ponienti a levanti, estandu canalizau al su passu pola ciá. Assimesmu, esta es rodeá, ena su parti norti, pol ríu [[Sava]], al qual vierte las sus aguas el Ljubljanica alas afueras dela ciá. Ljubljana, the capital of Slovenia ;Geología La ciá se estiende sobri una llanura aluvial que data del [[Períodu cuaternáriu]]. Las regionis montañosas cercanas, más antíguas, datan del [[Era Mesozoica|Mesozoicu]] ([[Triásicu]]) o [[Era Paleozoica|Paleozoicu]]. Geological Map of Slovenia Varios [[terremotu|terremotus]] han rruinau Ljubljana a lo largu dela estoria, comu el de 1511 o el de [[terremotu de Ljubljana de 1895|1895]]. About Ljubljana De fachu, Eslovénia se assienta sobri una zona sísmica bastanti ativa debíu ala su posición al sul dela [[Praca Euroasiática]]. Seismology Assin, el país está ena unión de tres zonas tectónicas emportantis: los [[Alpes]] al norti, los [[Alpes Dináricos]] al sul i la [[Llanura Panónica]] al levanti. Seismology Nel passau, los científicos han pofíu identifical ata 60 terremotus destrutivus. Debíu a estu, por tol país ai instalá una redi de vigilancia sísmica. Seismology === Climi === El climi dela ciá es de tipu [[climi oceánicu|oceánicu]]. Las águas del cielu están repartiás de horma regulal duranti tol añu, con mínimos entri eneru i abril i máximos en setiembri i otubri. Average Conditions: Ljubljana, Slovenia Las temperaturas son la más delas vezis frescas, con una meya añal de 10 °C, con enviernos fríos, siéndu la temperatura más fría registrá los -28 °C, siéndu frecuentis las elás, de otubri a mayu, i la nievi. Average Conditions: Ljubljana, Slovenia El vranu es cálidu, con temperaturas máximas pol cima de 20 °C, siéndu la más elevá registrá los 40 °C. Average Conditions: Ljubljana, Slovenia {{Clima |metric_first= yes |single_line= yes |lugar= Ljubljana |Jan record high C=15.8 |Feb record high C=22.3 |Mar record high C=24.3 |Apr record high C=27.8 |May record high C=32.4 |Jun record high C=35.6 |Jul record high C=37.1 |Aug record high C=40.2 |Sep record high C=30.3 |Oct record high C=25.8 |Nov record high C=20.9 |Dec record high C=16.7 |year record high C=40.2 |Jan high C=3.4 |Feb high C=6.4 |Mar high C=11.4 |Apr high C=16.1 |May high C=21.4 |Jun high C=24.6 |Jul high C=27.3 |Aug high C=26.7 |Sep high C=21.6 |Oct high C=15.9 |Nov high C=8.8 |Dec high C=3.8 |year high C=15.6 |Jan mean C=0.3 |Feb mean C=1.9 |Mar mean C=6.5 |Apr mean C=10.8 |May mean C=15.8 |Jun mean C=19.1 |Jul mean C=21.3 |Aug mean C=20.6 |Sep mean C=16.0 |Oct mean C=11.2 |Nov mean C=5.6 |Dec mean C=1.2 |year mean C=10.9 |Jan low C=-2.5 |Feb low C=-2.0 |Mar low C=1.7 |Apr low C=5.8 |May low C=10.3 |Jun low C=13.7 |Jul low C=15.5 |Aug low C=15.2 |Sep low C=11.5 |Oct low C=7.7 |Nov low C=2.8 |Dec low C=-1.1 |year low C=6.6 |Jan record low C=-20.3 |Feb record low C=-23.3 |Mar record low C=-14.1 |Apr record low C=-3.2 |May record low C=0.2 |Jun record low C=3.8 |Jul record low C=7.4 |Aug record low C=5.8 |Sep record low C=3.1 |Oct record low C=-5.2 |Nov record low C=-14.5 |Dec record low C=-14.5 |year record low C=-23.3 |Jan precipitation mm=69 |Feb precipitation mm=70 |Mar precipitation mm=88 |Apr precipitation mm=99 |May precipitation mm=109 |Jun precipitation mm=144 |Jul precipitation mm=115 |Aug precipitation mm=137 |Sep precipitation mm=147 |Oct precipitation mm=147 |Nov precipitation mm=129 |Dec precipitation mm=107 |year precipitation mm=1362 |unit precipitation days=0.1 mm |Jan precipitation days=11 |Feb precipitation days=9 |Mar precipitation days=11 |Apr precipitation days=14 |May precipitation days=14 |Jun precipitation days=15 |Jul precipitation days=12 |Aug precipitation days=12 |Sep precipitation days=12 |Oct precipitation days=13 |Nov precipitation days=14 |Dec precipitation days=14 |year precipitation days=153 |Jan sun=71 |Feb sun=114 |Mar sun=149 |Apr sun=178 |May sun=235 |Jun sun=246 |Jul sun=293 |Aug sun=264 |Sep sun=183 |Oct sun=120 |Nov sun=66 |Dec sun=56 |year sun=1974 |source 1=Slovenian Environment Agency (ARSO) Climate normals 1981-2010 (data for 1981–2010) |source 2=Slovenian Environment Agency (ARSO) Extreme values of measured yearly, monthly and daily values of chosen meteorological parameters in 1948-2011 (some extreme values for 1948–2013) }} == Destritus == [[Archivu:Ljubljana quarters.png|thumb|right|320px|Destritus de Ljubljana]] Ljubljana tini 17 destritus. Antañu estaba hormá pol cincu munisipalidais (Bežigrad, Centru, Moste-Polje, Šiška i Vič-Rudnik) que entavía se correspondin colos destritus eletoralis dela ciá. {| cellpadding="5" |- style="vertical-align:top;" | ''Bežigrad'' ''Centru'' ''Črnuče'' ''Dravlje'' ''Golovec'' ''Jarše'' ''Moste'' ''Polje'' ''Posavje'' || || ''Rožnik'' ''Rudnik'' ''Sostro'' ''Šentvid'' ''Šiška'' ''Šmarna gora'' ''Trnovo'' ''Vič'' |} == Demografía == En 1869, Ljubljana tenía pocu menos de 27.000 abitantis, un númeru que creció ata 80.000 a metá delos años 1930. El crecimientu demográficu á estau bastanti firmi entri 1930 i 2007. Dantis de 1996, la puebración pasaba delos 320.000, peru el achicamiento del númeru fue causau prencipalmenti por una reorganización del territoriu que hizu que ciertus lugaris del alreol fueran juntaus a munisipalidais vezinas. Nel censu de 2002, el 39,2% delos abitantis de Ljubljana eran católicus; el 30,4% eran creyentis que no pretenecían a nuna religión; el 19,2% eran ateus; el 5,5% eran ortodoxos; el 5% eran musulmanes; i el restu del 0,7% eran protestantis o pretenecían a otra religión. == Gobielnu i criminalidá == == Economía == Ljubljana genera ábate el 25% del PIB de Eslovénia. En 2003, el nivel dela puebración ativa estaba nel 62%; el 64% curraban nel setol privau i el 36% nel setol púbricu. En eneru de 2007, el nivel de paru era del 6,5% (abaxu del 7,7% nel añu dantis) baju en comparanza col nivel nacional de 8,7%. Registered unemployment rates (%) by regional offices in 2006 and 2007 La endústria acontina siendu el prencipal alabanti dela ciá, señaladamenti la endústria farmacéutica, petroquímica i alimentária. Otros campus Enportantis son el bancáriu, las finanças, el trasporti, las construcionis, el comerciu, los servicios i el turismu. El setol púbricu da labutu enos campus dela educación, la coltura, la melecina i la almenistración local. La Borça de Ljubljana (''Ljubljanska borza''), mercá en 2008 pola ''Borça de Viena'', Austricecii cumpără Bursa din Ljubljana se acupa delas grandis compañias eslovenas. Algu-nas tienin el su assientu ena zona dela capital: pol ejemplu, la redi de tiendas ''Mercator'', la compañia petrolera ''Petrol d.d.'' i la compañia de comunicacionis ''Telekom Slovenije''. Ljubljanska borza d.d. Más de 15.000 compañias fucionan ena ciá, las más dellas nel setol terciáriu. Ljubljana: centrul economic al Sloveniei == Educación == [[Archivu:SLO-Ljubljana53.JPG|thumb|right|Ereificiu prencipal dela Nuversidá de Ljubljana, antañu ereificiu del parramentu carniolanu]] L'Academia del Endustriosu (''Academia operosorum Labacensis'') s'abrió en 1693; fue afechá en 1801, peru fue un antecessol pa l'Academia Eslovena de Ciéncias i Artis, fundá en 1938. Ogañu los estudiantis forman una sétima parti dela puebración de Ljubljana, dándu-li ala ciá un carátel mozu i quenta además con distintos institutos culturales internacionales, como el [[Estitutu Cervantes]] Cervantes]] (España), [[British Council]] (Reino Unido) o [[[Goethe Institut]] (Alemaña).<ref>{{Enlace roto|1={{Cita web |url=http://www.visitljubljana.si/en/experiences/culture-and-art/default.html?category |título=Foreign cultural centres |fechaacceso=16 de marzo de 2010 |idioma=inglés}} |2=http://www.visitljubljana.si/en/experiences/culture-and-art/default.html?category |bot=InternetArchiveBot }} Centros culturales extranjeros en Liubliana.</ref>. === Estoria dela Nuversidá de Ljubljana=== Es la más emportanti nuversidá de Eslovénia i la única nuversidá en Ljubljana<ref name="Université Ljubljana">{{Cita web |url=http://www.uni-lj.si/en/about_university_of_ljubljana/ul_history.aspx |título=UL history |fechaacceso=31 de julio de 2008 |idioma=inglés |fechaarchivo=23 de febrero de 2009 |urlarchivo=https://web.archive.org/web/20090223021942/http://www.uni-lj.si/en/about_university_of_ljubljana/ul_history.aspx |deadurl=yes }} Información general sobre la Universidad.</ref>, fue fundá en 1919. En 2008 tenía 22 facultais, tres academias i un colegiu. Estas ufrecen cursus ena luenga eslovena en (entri otras cosas) melecina, ciéncias apricás, artis, derechu i almenistración. Statutes of UL La nuversidá tini ábate 64.000 estudiantis i 4.000 profesores i personal educativu. En 2004 la Biblioteca Nacional i Nuversitária de Eslovénia tenía 1.169.090 de lúbrus en total. En 2006 las 55 escuelas primarias tenían 20.802 alumnos i los 32 liceus tenían 25.797 alumnos. == Coltura i monumentus == [[Archivu:StNicholas-Ljubljana.JPG|mini|Domu de San Nicolás]] [[Archivu:Ljubljana Prešeren Square.jpg|thumb|Praça Prešeren ena ciá vieja]] [[Archivu:NationalGallery-Ljubljana.JPG|thumb|Galería nacional de Eslovénia]] La ciá es mentá polos sus monumentus de arquitetura sigún los pranus de Jože Plečnik i pol su centru estóricu bien conservau, entri ellus: La ciá vieja (que preteneci al patrimoniu coltural). Ereificius de Jože Plečnik, comu el ''Tromostovje'', la biblioteca nuversitária (NUK), el cimentériu de Žale, ''Križanke'' i el parqui Tivoli. El castillu. El Domu de San Nicolás (''Stolnica svetega Nikolaja'') sigún los pranus del pairi jesuita Andrea Pozzo. El paláciu del arzobispu. La ilesia franciscana de Santa María (''Cerkev Marijinega oznanjenja'') ena Praça Prešeren (''Prešernov trg''). El concéyu. La ilesia ortodoxa (''Cerkev sv. Cirila in Metoda''). La Galería nacional de Eslovénia. El museu d'arti (''Moderna Galerija''). El museu dela ciá (''Mestni muzej''). == Desporti == ;Entidais desportivas [[Archivu:HalaTivoli-Ljubljana.JPG|thumb|El pabellón [[Tivoli Arena|Tivoli]], ondi juegan dalgunus delos clubis dela ciá|alt=]] En fubu, la ciá cuenta col [[Interblock Ljubljana]],<ref>{{Cita web|url=http://www.nkinterblock.eu/news/index/7|2=|título=NK Interblock|fechaacceso=6 de junio de 2009|idioma=inglés|urlarchivo=https://web.archive.org/web/20090618141511/http://nkinterblock.eu/news/index/7|fechaarchivo=18 de junio de 2009}} Página oficial del club. ganador de dos [[Copa de Eslovenia|copas de Eslovénia]] i el [[NK Olimpija Ljubljana|Olimpija Ljubljana]]</ref>,<ref>{{Cita web|url=http://www.nkolimpija.com/|2=|título=NK Olimpija Ljubljana|fechaacceso=11 de junio de 2009|idioma=esloveno|urlarchivo=https://web.archive.org/web/20090221192514/http://www.nkolimpija.com/|fechaarchivo=21 de febrero de 2009}} Página oficial del club.</ref> ganador de quatru [[Prva SNL|ligas]] i quatru copas de Eslovénia, dambus a dos ena [[Prva SNL|PrvaLiga]] eslovena. En baloncestu, Ljubljana está representá pol [[KD Slovan]],<ref>{{Cita web |url=http://www.slovanbasket.com/ |2= |título=Košakarsko društvo geoplin Slovan |fechaacceso=6 de junio de 2009 |idioma=esloveno |urlarchivo=https://web.archive.org/web/20090302091243/http://www.slovanbasket.com/ |fechaarchivo=2 de marzo de 2009 }} Página oficial del club. el [[ŽKD Ježica Ljubljana]]{{Cita web |url=http://www.zkdjezica.si/ |2= |título=ŽKD Ježica Ljubljana |fechaacceso=6 de junio de 2009 |idioma=esloveno |urlarchivo=https://web.archive.org/web/20190408180505/https://zkdjezica.si/ |fechaarchivo=8 de abril de 2019 }} Página oficial del club</ref>. i el [[KK Union Olimpija]], el más luraú dela ciá, con venti ligas de baloncestu (seis dellas duranti l'antigua Yugoslávia), quinzi copas de Eslovénia, tres Supercopas de Eslovénia i un tercel puestu ena [[Euroliga]] de 1997.<ref>{{Cita web|url=http://www.union.olimpija.com/137/138/?UnionOlimpija=5g3h3vnek4e9nh4q4rq8n5luj2|2=|título=Union Olimpija|fechaacceso=6 de junio de 2009|idioma=inglés|urlarchivo=https://web.archive.org/web/20160309175741/http://union.olimpija.com/137/138?unionolimpija=5g3h3vnek4e9nh4q4rq8n5luj2|fechaarchivo=9 de marzo de 2016}} Información en la página oficial del club</ref>. Tocanti al [[oque sobri ielu]], los clubis de Ljubljana son el [[HD HS Olimpija]],<ref>{{Cita web|url=http://www.hsolimpija.over.net/|2=|título=Hokejske Selekcije Olimpija|fechaacceso=31 de agosto de 2008|idioma=esloveno|urlarchivo=https://web.archive.org/web/20080913172227/http://hsolimpija.over.net/|fechaarchivo=13 de septiembre de 2008}} Página oficial del club. el [[ŠD Alfa]]</ref>, el [[HK Slavija]]<ref>{{Cita web |url=http://www.hk-slavija.si/ |2= |título=Hokejske klub Slavija |fechaacceso=6 de junio de 2009 |idioma=esloveno |urlarchivo=https://web.archive.org/web/20090228120922/http://www.hk-slavija.si/ |fechaarchivo=28 de febrero de 2009 }} Página oficial.</ref> i el [[HDD Olimpija Ljubljana]].<ref>{{Cita web |url=http://www.hddolimpija.com/ |2= |título=HDD Tilia Olimpija |fechaacceso=6 de junio de 2009 |idioma=esloveno |urlarchivo=https://web.archive.org/web/20090228193922/http://www.hddolimpija.com/ |fechaarchivo=28 de febrero de 2009 }} Toos compitin ena [[liga de hockey sobre hielo de Eslovenia|liga de oque sobri ielu de Eslovénia]]</ref> i dalgunus dellus tamién ena [[liga de hockey sobre hielo de Austria|liga austríaca]]. Tocanti al esquí, las pistas más cercanas se assitían a 30 km al noroesti, cerca de [[Kamnik]]. La estación de ''Krvavec'' tini dieç [[telesilla|telesillas]] pa 35 km de pistas.<ref>{{Cita web |url=http://www.slovenia.info/?smucanje=0&lng=2 | |título=Skiing |fechaacceso=31 de agosto de 2008 |idioma=inglés}}{{Cita web |url=http://www.rtc-krvavec.si/en/plan-smucisc |2= |título=RTC Krvavec |fechaacceso=31 de agosto de 2008 |idioma=inglés |urlarchivo=https://web.archive.org/web/20080924015947/http://www.rtc-krvavec.si/en/plan-smucisc |fechaarchivo=24 de septiembre de 2008 }} Información general sobre la estación</ref>. ;Enstalaçionis desportivas [[Archivu:Ljubljana marathon.JPG|thumb|La [[Maratón de Liubliana|Maratón de Ljubljana]] atra de milis de correoris ca añu|alt=]] El pabellón [[Tivoli Arena]] fue construíu entri 1963 i 1965, i se alcuentra nel centru dela ciá, ena periferia del [[parque Tivoli|parqui Tivoli]]. Tras la su renovación, acabá en 2000, la sala grandi tini una capacidá de 6000 espetaoris, mientres que la sala pequeña, acabá en 1995, tini 4050 asientos.<ref>{{Cita web |url=http://www.union.olimpija.com/137/141/?UnionOlimpija=5g3h3vnek4e9nh4q4rq8n5luj2 |2= |título=Tivoli Arena |fechaacceso=11 de junio de 2009 |idioma=inglés |urlarchivo=https://web.archive.org/web/20160304114321/http://www.union.olimpija.com/137/141/?UnionOlimpija=5g3h3vnek4e9nh4q4rq8n5luj2 |fechaarchivo=4 de marzo de 2016 }} Información sobre el pabellón en la página del Union Olimpija</ref>. El [[Estadio Central (Liubliana)|Estadiu Central]] (''Osrednji stadion'') fue construíu pala [[Sociedad Orel|Sociedá Orel]] entri 1925 i 1941 sigún los diseñus de [[Jože Plečnik]]. El su estilu queda frucháu, pol ejemplu, enas balaustrás o enas bóvedas de entrá apoyás sobri pseudo-colunas dóricas.<ref>{{Cita web |url=http://www.ljubljana.si/en/tourism/sights/plecnik_ljubljana/central_stadium/default.html |2= |título=Central Stadium |fechaacceso=11 de junio de 2009 |idioma=inglés |urlarchivo=https://web.archive.org/web/20090425071505/http://www.ljubljana.si/en/tourism/sights/plecnik_ljubljana/central_stadium/default.html |fechaarchivo=25 de abril de 2009 }} Información e historia sobre el estadio. Usuau de siguíu en partíus de fubu o pa conciertus, fue afechau en 2008 de cara a una reforma del mesmu.{{Cita web |url=http://en.stadioni.org/ljubljana/stadion_za_bezigradom |2= |título=Stadion za Bežigradom |fechaacceso=11 de junio de 2009 |idioma=inglés |fechaarchivo=23 de julio de 2012 |urlarchivo=https://web.archive.org/web/20120723101137/http://en.stadioni.org/ljubljana/stadion_za_bezigradom |deadurl=yes }} Información e imágenes sobre el estadio. En marçu de 2009 se aprevó el proyetu ganador, obra del estudiu de arquitetura GMP de [[Berlín]].{{Enlace roto|1={{Cita web |url=http://www.ljubljana.si/en/highlights/m_projects/project_8/default.html |2= |título=Renovation of the Plečnik stadium in Bežigrad |fechaacceso=11 de junio de 2009 |idioma=inglés |archive-date=2021-04-19 |archive-url=https://web.archive.org/web/20210419091157/https://www.ljubljana.si/en/highlights/m_projects/project_8/default.html |dead-url=yes }} |2=http://www.ljubljana.si/en/highlights/m_projects/project_8/default.html |bot=InternetArchiveBot }} Noticias relacionadas con el proyecto de reforma del estadio</ref>. ;Eventus desportivus El últimu domingu de otubri tini lugal polas callis dela ciá la [[Maratón Internacional de Liubliana|Maratón Enternacional de Ljubljana]] (''Ljubljanski maraton''), que, dendi 1996, atra de milis de correoris ca añu.<ref>{{Cita web |url=http://www.ljubljana.si/en/highlights/current_topics/marathon/default.html |2= |título=13th Ljubljana marathon |fechaacceso=11 de junio de 2009 |idioma=inglés |urlarchivo=https://web.archive.org/web/20090530072719/http://www.ljubljana.si/en/highlights/current_topics/marathon/default.html |fechaarchivo=30 de mayo de 2009 }} Información sobre la edición de 2009</ref>. Tamién, i dendi 1957, entri el 8 i el 10 de mayu se celebra la traicional marcha a lo largu del [[Sendero de la Memoria y la Camaradería|Senderu dela Memória i la Camaraería]] (''Pot spominov in tovarištva''), conmemorandu la liberación de Ljubljana el 9 de mayu de 1945. La localidá de [[Tacen]], assitiá juntu al ríu [[Sava]], ochu quilómetrus al noroesti de Ljubljana, acohi ábate toos los añus una competición enternacional de [[kayak]], que se remonta a 1939, siéndu parti, pol ejemplu, dela Copa del Mundu de Eslalon i delos Campeonatus del Mundu de 1991 i 2010.<ref>{{Cita web |url=http://www.wc-tacen.si/1/?pID=2 |2= |título=Slalom World Cup Tacen 2008 |fechaacceso=11 de junio de 2009 |idioma=inglés |urlarchivo=https://web.archive.org/web/20090303064633/http://www.wc-tacen.si/1/?pID=2 |fechaarchivo=3 de marzo de 2009 }} Información sobre la edición de 2008</ref>. Entri el 22 i el 27 de otubri de 1970 la ciá fue sei del XVII [[Campeonato Mundial de Gimnasia|Campeonatu Mundial de Ginásia]]. == Trasporti == {{Seción vacía}} == Relacionis enternacionalis == === Ciais jermanás === Ljubljana está jermaná con: {{flagicon|GRE}} [[Atenas]], Grécia, dendi 2000. {{flagicon|SRB}} [[Belgradu]], Sérbia, dendi 2003. {{flagicon|SVK}} [[Bratislava]], Eslováquia, dendi 1967. Bratislava - Orașe înfrățite {{flagicon|BEL}} [[Bruselas]], Bélgica, dendi 2004. {{flagicon|GER}} [[Chemnitz]], Alemaña, dendi 1966. {{flagicon|CHN}} [[Chengdu]], China, dendi 1981. {{flagicon|USA}} [[Cleveland]], Estaus Unius. {{flagicon|GER}} [[Leverkusen]], Alemaña, dendi 1979. {{flagicon|TUR}} [[Mardin]], Turquia, dendi 2003. {{flagicon|POR}} [[Santa Maria da Feira]], Portugal, dendi 2006. {{flagicon|RUS}} [[Moscú]], Rusia, dendi 2000. {{flagicon|UK}} [[Nottingham]], Reinu Uniu, dendi 1963. {{flagicon|ITA}} [[Palermu]], Itália, dendi 1964. {{flagicon|ITA}} [[Parma]], Itália, dendi 1964. {{flagicon|ITA}} [[Pesaro]], Itália, dendi 1964. {{flagicon|CRO}} [[Ploče]], Croácia, dendi 1982. {{flagicon|CRO}} [[Rijeka]], Croácia, dendi 1979. {{flagicon|BIH}} [[Sarajevu]], Bósnia i Ercegovina, dendi 2002. Site oficial Sarajevo: Orașe înfrățite {{flagicon|Macedonia}} [[Skopje]], Macedónia del Norti, dendi 2007. Portal oficial al orașului Skopje - Orașe înfrățite {{flagicon|TUN}} [[Sousse]], Túnez, dendi 1969. {{flagicon|GEO}} [[Tbilisi]], Geórgia, dendi 1977. Portal municipal Tbilisi - Orașe înfrățite {{flagicon|AUT}} [[Viena]], Áustria, dendi 1999. {{flagicon|GER}} [[Wiesbaden]], Alemaña, dendi 1977. {{flagicon|CRO [[Zagreb]], Croácia, dendi 2001. Orașe înfrățite cu Zagreb == Pressonalidais nacías aquí == August Ferdinand Haller von Hallerstein (1703 - 1774), fraili misioneru. Philipp von Cobenzl (1741 - 1810), ombri d'Estau. Anastasius Grün (1806 - 1876), escritol i ombri políticu. Constantin von Wurzbach (1818 - 1893), encicropedista. Carlos, Duqui de Madril (1848 - 1909), príncipi d'España. Emil Johann Lambert Heinricher (1856 – 1934), botánicu. Ivana Kobilca (1861 – 1926), pintora. Fritz Pregl (1869 - 1930), químicu, premiu Nobel. [[Jože Plečnik]] (1872 - 1957), arquitetu. Ernst Moro (1874 - 1951), mélicu pediatra. Josip Murn (1879 - 1901), poeta. Milan Vidmar (1885 - 1962), engenieru eletroténicu. Svatopluk Innemann (1896 - 1945), cineasta. Edvard Kardelj (1910 - 1979), ombri políticu, comunista. Maks Bajc (1919 - 1983), atol. Demeter Bitenc (1922 - 2018), atol. Andrej Hieng (1925 - 2000), escritol. Kaja Juvan (n. 2000), jugadora de tenis. == Referencias == {{listaref}} == Bibliografía == Harald Heppner (ed.), ''Hauptstädte zwischen Save, Bosphorus und Dnjepr'', Böhlau Verlag 1998, Wien-Köln-Weimar. == Atijus esternus == [http://www.evz.ro/detalii/stiri/ljubljana-la-prima-vedere-418305.html Ljubljana ala primera vista] faubqmtckf3m5ysynculugmf5h5x0g7 Módulo:Documentation/config 828 8067 143039 115326 2026-05-06T12:52:50Z Danielyepezgarces 17152 143039 Scribunto text/plain ---------------------------------------------------------------------------------------------------- -- -- Configuration for Module:Documentation -- -- Here you can set the values of the parameters and messages used in Module:Documentation to -- localise it to your wiki and your language. Unless specified otherwise, values given here -- should be string values. ---------------------------------------------------------------------------------------------------- local cfg = {} -- Do not edit this line. ---------------------------------------------------------------------------------------------------- -- Protection template configuration ---------------------------------------------------------------------------------------------------- -- cfg['protection-reason-edit'] -- The protection reason for edit-protected templates to pass to -- [[Module:Protection banner]]. cfg['protection-reason-edit'] = 'template' --[[ ---------------------------------------------------------------------------------------------------- -- Sandbox notice configuration -- -- On sandbox pages the module can display a template notifying users that the current page is a -- sandbox, and the location of test cases pages, etc. The module decides whether the page is a -- sandbox or not based on the value of cfg['sandbox-subpage']. The following settings configure the -- messages that the notices contains. ---------------------------------------------------------------------------------------------------- --]] -- cfg['sandbox-notice-image'] -- The image displayed in the sandbox notice. cfg['sandbox-notice-image'] = '[[Image:Sandbox.svg|50px|alt=|link=]]' --[[ -- cfg['sandbox-notice-pagetype-template'] -- cfg['sandbox-notice-pagetype-module'] -- cfg['sandbox-notice-pagetype-other'] -- The page type of the sandbox page. The message that is displayed depends on the current subject -- namespace. This message is used in either cfg['sandbox-notice-blurb'] or -- cfg['sandbox-notice-diff-blurb']. --]] cfg['sandbox-notice-pagetype-template'] = '[[Wikipedia:Template test cases|template sandbox]] page' cfg['sandbox-notice-pagetype-module'] = '[[Wikipedia:Template test cases|module sandbox]] page' cfg['sandbox-notice-pagetype-other'] = 'sandbox page' --[[ -- cfg['sandbox-notice-blurb'] -- cfg['sandbox-notice-diff-blurb'] -- cfg['sandbox-notice-diff-display'] -- Either cfg['sandbox-notice-blurb'] or cfg['sandbox-notice-diff-blurb'] is the opening sentence -- of the sandbox notice. The latter has a diff link, but the former does not. $1 is the page -- type, which is either cfg['sandbox-notice-pagetype-template'], -- cfg['sandbox-notice-pagetype-module'] or cfg['sandbox-notice-pagetype-other'] depending what -- namespace we are in. $2 is a link to the main template page, and $3 is a diff link between -- the sandbox and the main template. The display value of the diff link is set by -- cfg['sandbox-notice-compare-link-display']. --]] cfg['sandbox-notice-blurb'] = 'This is the $1 for $2.' cfg['sandbox-notice-diff-blurb'] = 'This is the $1 for $2 ($3).' cfg['sandbox-notice-compare-link-display'] = 'diff' --[[ -- cfg['sandbox-notice-testcases-blurb'] -- cfg['sandbox-notice-testcases-link-display'] -- cfg['sandbox-notice-testcases-run-blurb'] -- cfg['sandbox-notice-testcases-run-link-display'] -- cfg['sandbox-notice-testcases-blurb'] is a sentence notifying the user that there is a test cases page -- corresponding to this sandbox that they can edit. $1 is a link to the test cases page. -- cfg['sandbox-notice-testcases-link-display'] is the display value for that link. -- cfg['sandbox-notice-testcases-run-blurb'] is a sentence notifying the user that there is a test cases page -- corresponding to this sandbox that they can edit, along with a link to run it. $1 is a link to the test -- cases page, and $2 is a link to the page to run it. -- cfg['sandbox-notice-testcases-run-link-display'] is the display value for the link to run the test -- cases. --]] cfg['sandbox-notice-testcases-blurb'] = 'See also the companion subpage for $1.' cfg['sandbox-notice-testcases-link-display'] = 'test cases' cfg['sandbox-notice-testcases-run-blurb'] = 'See also the companion subpage for $1 ($2).' cfg['sandbox-notice-testcases-run-link-display'] = 'run' -- cfg['sandbox-category'] -- A category to add to all template sandboxes. cfg['sandbox-category'] = 'Template sandboxes' ---------------------------------------------------------------------------------------------------- -- Start box configuration ---------------------------------------------------------------------------------------------------- -- cfg['documentation-icon-wikitext'] -- The wikitext for the icon shown at the top of the template. cfg['documentation-icon-wikitext'] = '[[File:Test Template Info-Icon - Version (2).svg|50px|link=|alt=]]' -- cfg['template-namespace-heading'] -- The heading shown in the template namespace. cfg['template-namespace-heading'] = 'Template documentation' -- cfg['module-namespace-heading'] -- The heading shown in the module namespace. cfg['module-namespace-heading'] = 'Module documentation' -- cfg['file-namespace-heading'] -- The heading shown in the file namespace. cfg['file-namespace-heading'] = 'Summary' -- cfg['other-namespaces-heading'] -- The heading shown in other namespaces. cfg['other-namespaces-heading'] = 'Documentation' -- cfg['view-link-display'] -- The text to display for "view" links. cfg['view-link-display'] = 'view' -- cfg['edit-link-display'] -- The text to display for "edit" links. cfg['edit-link-display'] = 'edit' -- cfg['history-link-display'] -- The text to display for "history" links. cfg['history-link-display'] = 'history' -- cfg['purge-link-display'] -- The text to display for "purge" links. cfg['purge-link-display'] = 'purge' -- cfg['create-link-display'] -- The text to display for "create" links. cfg['create-link-display'] = 'create' ---------------------------------------------------------------------------------------------------- -- Link box (end box) configuration ---------------------------------------------------------------------------------------------------- -- cfg['transcluded-from-blurb'] -- Notice displayed when the docs are transcluded from another page. $1 is a wikilink to that page. cfg['transcluded-from-blurb'] = 'The above [[Wikipedia:Template documentation|documentation]] is [[Wikipedia:Transclusion|transcluded]] from $1.' --[[ -- cfg['create-module-doc-blurb'] -- Notice displayed in the module namespace when the documentation subpage does not exist. -- $1 is a link to create the documentation page with the preload cfg['module-preload'] and the -- display cfg['create-link-display']. --]] cfg['create-module-doc-blurb'] = 'You might want to $1 a documentation page for this [[Wikipedia:Lua|Scribunto module]].' ---------------------------------------------------------------------------------------------------- -- Experiment blurb configuration ---------------------------------------------------------------------------------------------------- --[[ -- cfg['experiment-blurb-template'] -- cfg['experiment-blurb-module'] -- The experiment blurb is the text inviting editors to experiment in sandbox and test cases pages. -- It is only shown in the template and module namespaces. With the default English settings, it -- might look like this: -- -- Editors can experiment in this template's sandbox (edit | diff) and testcases (edit) pages. -- -- In this example, "sandbox", "edit", "diff", "testcases", and "edit" would all be links. -- -- There are two versions, cfg['experiment-blurb-template'] and cfg['experiment-blurb-module'], depending -- on what namespace we are in. -- -- Parameters: -- -- $1 is a link to the sandbox page. If the sandbox exists, it is in the following format: -- -- cfg['sandbox-link-display'] (cfg['sandbox-edit-link-display'] | cfg['compare-link-display']) -- -- If the sandbox doesn't exist, it is in the format: -- -- cfg['sandbox-link-display'] (cfg['sandbox-create-link-display'] | cfg['mirror-link-display']) -- -- The link for cfg['sandbox-create-link-display'] link preloads the page with cfg['template-sandbox-preload'] -- or cfg['module-sandbox-preload'], depending on the current namespace. The link for cfg['mirror-link-display'] -- loads a default edit summary of cfg['mirror-edit-summary']. -- -- $2 is a link to the test cases page. If the test cases page exists, it is in the following format: -- -- cfg['testcases-link-display'] (cfg['testcases-edit-link-display'] | cfg['testcases-run-link-display']) -- -- If the test cases page doesn't exist, it is in the format: -- -- cfg['testcases-link-display'] (cfg['testcases-create-link-display']) -- -- If the test cases page doesn't exist, the link for cfg['testcases-create-link-display'] preloads the -- page with cfg['template-testcases-preload'] or cfg['module-testcases-preload'], depending on the current -- namespace. --]] cfg['experiment-blurb-template'] = "Editors can experiment in this template's $1 and $2 pages." cfg['experiment-blurb-module'] = "Editors can experiment in this module's $1 and $2 pages." ---------------------------------------------------------------------------------------------------- -- Sandbox link configuration ---------------------------------------------------------------------------------------------------- -- cfg['sandbox-subpage'] -- The name of the template subpage typically used for sandboxes. cfg['sandbox-subpage'] = 'sandbox' -- cfg['template-sandbox-preload'] -- Preload file for template sandbox pages. cfg['template-sandbox-preload'] = 'Template:Documentation/preload-sandbox' -- cfg['module-sandbox-preload'] -- Preload file for Lua module sandbox pages. cfg['module-sandbox-preload'] = 'Template:Documentation/preload-module-sandbox' -- cfg['sandbox-link-display'] -- The text to display for "sandbox" links. cfg['sandbox-link-display'] = 'sandbox' -- cfg['sandbox-edit-link-display'] -- The text to display for sandbox "edit" links. cfg['sandbox-edit-link-display'] = 'edit' -- cfg['sandbox-create-link-display'] -- The text to display for sandbox "create" links. cfg['sandbox-create-link-display'] = 'create' -- cfg['compare-link-display'] -- The text to display for "compare" links. cfg['compare-link-display'] = 'diff' -- cfg['mirror-edit-summary'] -- The default edit summary to use when a user clicks the "mirror" link. $1 is a wikilink to the -- template page. cfg['mirror-edit-summary'] = 'Create sandbox version of $1' -- cfg['mirror-link-display'] -- The text to display for "mirror" links. cfg['mirror-link-display'] = 'mirror' -- cfg['mirror-link-preload'] -- The page to preload when a user clicks the "mirror" link. cfg['mirror-link-preload'] = 'Template:Documentation/mirror' ---------------------------------------------------------------------------------------------------- -- Test cases link configuration ---------------------------------------------------------------------------------------------------- -- cfg['testcases-subpage'] -- The name of the template subpage typically used for test cases. cfg['testcases-subpage'] = 'testcases' -- cfg['template-testcases-preload'] -- Preload file for template test cases pages. cfg['template-testcases-preload'] = 'Template:Documentation/preload-testcases' -- cfg['module-testcases-preload'] -- Preload file for Lua module test cases pages. cfg['module-testcases-preload'] = 'Template:Documentation/preload-module-testcases' -- cfg['testcases-link-display'] -- The text to display for "testcases" links. cfg['testcases-link-display'] = 'testcases' -- cfg['testcases-edit-link-display'] -- The text to display for test cases "edit" links. cfg['testcases-edit-link-display'] = 'edit' -- cfg['testcases-run-link-display'] -- The text to display for test cases "run" links. cfg['testcases-run-link-display'] = 'run' -- cfg['testcases-create-link-display'] -- The text to display for test cases "create" links. cfg['testcases-create-link-display'] = 'create' ---------------------------------------------------------------------------------------------------- -- Add categories blurb configuration ---------------------------------------------------------------------------------------------------- --[[ -- cfg['add-categories-blurb'] -- Text to direct users to add categories to the /doc subpage. Not used if the "content" or -- "docname fed" arguments are set, as then it is not clear where to add the categories. $1 is a -- link to the /doc subpage with a display value of cfg['doc-link-display']. --]] cfg['add-categories-blurb'] = 'Please add categories to the $1 subpage.' -- cfg['doc-link-display'] -- The text to display when linking to the /doc subpage. cfg['doc-link-display'] = '/doc' ---------------------------------------------------------------------------------------------------- -- Subpages link configuration ---------------------------------------------------------------------------------------------------- --[[ -- cfg['subpages-blurb'] -- The "Subpages of this template" blurb. $1 is a link to the main template's subpages with a -- display value of cfg['subpages-link-display']. In the English version this blurb is simply -- the link followed by a period, and the link display provides the actual text. --]] cfg['subpages-blurb'] = '$1.' --[[ -- cfg['subpages-link-display'] -- The text to display for the "subpages of this page" link. $1 is cfg['template-pagetype'], -- cfg['module-pagetype'] or cfg['default-pagetype'], depending on whether the current page is in -- the template namespace, the module namespace, or another namespace. --]] cfg['subpages-link-display'] = 'Subpages of this $1' -- cfg['template-pagetype'] -- The pagetype to display for template pages. cfg['template-pagetype'] = 'template' -- cfg['module-pagetype'] -- The pagetype to display for Lua module pages. cfg['module-pagetype'] = 'module' -- cfg['default-pagetype'] -- The pagetype to display for pages other than templates or Lua modules. cfg['default-pagetype'] = 'page' ---------------------------------------------------------------------------------------------------- -- Doc link configuration ---------------------------------------------------------------------------------------------------- -- cfg['doc-subpage'] -- The name of the subpage typically used for documentation pages. cfg['doc-subpage'] = 'doc' -- cfg['file-docpage-preload'] -- Preload file for documentation page in the file namespace. cfg['file-docpage-preload'] = 'Template:Documentation/preload-filespace' -- cfg['docpage-preload'] -- Preload file for template documentation pages in all namespaces. cfg['docpage-preload'] = 'Template:Documentation/preload' -- cfg['module-preload'] -- Preload file for Lua module documentation pages. cfg['module-preload'] = 'Template:Documentation/preload-module-doc' ---------------------------------------------------------------------------------------------------- -- Print version configuration ---------------------------------------------------------------------------------------------------- -- cfg['print-subpage'] -- The name of the template subpage used for print versions. cfg['print-subpage'] = 'Print' -- cfg['print-link-display'] -- The text to display when linking to the /Print subpage. cfg['print-link-display'] = '/Print' -- cfg['print-blurb'] -- Text to display if a /Print subpage exists. $1 is a link to the subpage with a display value of cfg['print-link-display']. cfg['print-blurb'] = 'A [[Help:Books/for experts#Improving the book layout|print version]] of this template exists at $1.' .. ' If you make a change to this template, please update the print version as well.' -- cfg['display-print-category'] -- Set to true to enable output of cfg['print-category'] if a /Print subpage exists. -- This should be a boolean value (either true or false). cfg['display-print-category'] = true -- cfg['print-category'] -- Category to output if cfg['display-print-category'] is set to true, and a /Print subpage exists. cfg['print-category'] = 'Templates with print versions' ---------------------------------------------------------------------------------------------------- -- HTML and CSS configuration ---------------------------------------------------------------------------------------------------- cfg['container'] = 'documentation-container' -- cfg['main-div-id'] -- The "id" attribute of the main HTML "div" tag. cfg['main-div-id'] = 'template-documentation' -- cfg['main-div-classes'] -- The CSS classes added to the main HTML "div" tag. cfg['main-div-classes'] = 'template-documentation iezoomfix' -- cfg['start-box-linkclasses'] -- The CSS classes used for the [view][edit][history] or [create] links in the start box. cfg['start-box-linkclasses'] = 'mw-editsection-like plainlinks' -- cfg['start-box-link-id'] -- The HTML "id" attribute for the links in the start box. cfg['start-box-link-id'] = 'doc_editlinks' ---------------------------------------------------------------------------------------------------- -- {{fmbox}} template configuration ---------------------------------------------------------------------------------------------------- -- cfg['fmbox-id'] -- The id sent to the "id" parameter of the {{fmbox}} template. cfg['fmbox-id'] = 'documentation-meta-data' -- cfg['fmbox-style'] -- The value sent to the style parameter of {{fmbox}}. cfg['fmbox-style'] = 'background-color: #ecfcf4' -- cfg['fmbox-textstyle'] -- The value sent to the "textstyle parameter of {{fmbox}}. cfg['fmbox-textstyle'] = 'font-style: italic' ---------------------------------------------------------------------------------------------------- -- Tracking category configuration ---------------------------------------------------------------------------------------------------- -- cfg['display-strange-usage-category'] -- Set to true to enable output of cfg['strange-usage-category'] if the module is used on a /doc subpage -- or a /testcases subpage. This should be a boolean value (either true or false). cfg['display-strange-usage-category'] = true -- cfg['strange-usage-category'] -- Category to output if cfg['display-strange-usage-category'] is set to true and the module is used on a -- /doc subpage or a /testcases subpage. cfg['strange-usage-category'] = 'Wikipedia pages with strange ((documentation)) usage' --[[ ---------------------------------------------------------------------------------------------------- -- End configuration -- -- Don't edit anything below this line. ---------------------------------------------------------------------------------------------------- --]] return cfg na8bt5a944nrtcene04xslapz4kw6g7 143040 143039 2026-05-06T12:54:12Z Danielyepezgarces 17152 143040 Scribunto text/plain ---------------------------------------------------------------------------------------------------- -- -- Configuration for Module:Documentation -- -- Here you can set the values of the parameters and messages used in Module:Documentation to -- localise it to your wiki and your language. Unless specified otherwise, values given here -- should be string values. ---------------------------------------------------------------------------------------------------- local cfg = {} -- Do not edit this line. ---------------------------------------------------------------------------------------------------- -- Protection template configuration ---------------------------------------------------------------------------------------------------- -- cfg['protection-reason-edit'] -- The protection reason for edit-protected templates to pass to -- [[Module:Protection banner]]. cfg['protection-reason-edit'] = 'template' --[[ ---------------------------------------------------------------------------------------------------- -- Sandbox notice configuration -- -- On sandbox pages the module can display a template notifying users that the current page is a -- sandbox, and the location of test cases pages, etc. The module decides whether the page is a -- sandbox or not based on the value of cfg['sandbox-subpage']. The following settings configure the -- messages that the notices contains. ---------------------------------------------------------------------------------------------------- --]] -- cfg['sandbox-notice-image'] -- The image displayed in the sandbox notice. cfg['sandbox-notice-image'] = '[[Image:Sandbox.svg|50px|alt=|link=]]' --[[ -- cfg['sandbox-notice-pagetype-template'] -- cfg['sandbox-notice-pagetype-module'] -- cfg['sandbox-notice-pagetype-other'] -- The page type of the sandbox page. The message that is displayed depends on the current subject -- namespace. This message is used in either cfg['sandbox-notice-blurb'] or -- cfg['sandbox-notice-diff-blurb']. --]] cfg['sandbox-notice-pagetype-template'] = '[[Wikipedia:Template test cases|template sandbox]] page' cfg['sandbox-notice-pagetype-module'] = '[[Wikipedia:Template test cases|module sandbox]] page' cfg['sandbox-notice-pagetype-other'] = 'sandbox page' --[[ -- cfg['sandbox-notice-blurb'] -- cfg['sandbox-notice-diff-blurb'] -- cfg['sandbox-notice-diff-display'] -- Either cfg['sandbox-notice-blurb'] or cfg['sandbox-notice-diff-blurb'] is the opening sentence -- of the sandbox notice. The latter has a diff link, but the former does not. $1 is the page -- type, which is either cfg['sandbox-notice-pagetype-template'], -- cfg['sandbox-notice-pagetype-module'] or cfg['sandbox-notice-pagetype-other'] depending what -- namespace we are in. $2 is a link to the main template page, and $3 is a diff link between -- the sandbox and the main template. The display value of the diff link is set by -- cfg['sandbox-notice-compare-link-display']. --]] cfg['sandbox-notice-blurb'] = 'This is the $1 for $2.' cfg['sandbox-notice-diff-blurb'] = 'This is the $1 for $2 ($3).' cfg['sandbox-notice-compare-link-display'] = 'diff' --[[ -- cfg['sandbox-notice-testcases-blurb'] -- cfg['sandbox-notice-testcases-link-display'] -- cfg['sandbox-notice-testcases-run-blurb'] -- cfg['sandbox-notice-testcases-run-link-display'] -- cfg['sandbox-notice-testcases-blurb'] is a sentence notifying the user that there is a test cases page -- corresponding to this sandbox that they can edit. $1 is a link to the test cases page. -- cfg['sandbox-notice-testcases-link-display'] is the display value for that link. -- cfg['sandbox-notice-testcases-run-blurb'] is a sentence notifying the user that there is a test cases page -- corresponding to this sandbox that they can edit, along with a link to run it. $1 is a link to the test -- cases page, and $2 is a link to the page to run it. -- cfg['sandbox-notice-testcases-run-link-display'] is the display value for the link to run the test -- cases. --]] cfg['sandbox-notice-testcases-blurb'] = 'See also the companion subpage for $1.' cfg['sandbox-notice-testcases-link-display'] = 'test cases' cfg['sandbox-notice-testcases-run-blurb'] = 'See also the companion subpage for $1 ($2).' cfg['sandbox-notice-testcases-run-link-display'] = 'run' -- cfg['sandbox-category'] -- A category to add to all template sandboxes. cfg['sandbox-category'] = 'Template sandboxes' ---------------------------------------------------------------------------------------------------- -- Start box configuration ---------------------------------------------------------------------------------------------------- -- cfg['documentation-icon-wikitext'] -- The wikitext for the icon shown at the top of the template. cfg['documentation-icon-wikitext'] = '[[File:Test Template Info-Icon - Version (2).svg|50px|link=|alt=]]' -- cfg['template-namespace-heading'] -- The heading shown in the template namespace. cfg['template-namespace-heading'] = 'Template documentation' -- cfg['module-namespace-heading'] -- The heading shown in the module namespace. cfg['module-namespace-heading'] = 'Module documentation' -- cfg['file-namespace-heading'] -- The heading shown in the file namespace. cfg['file-namespace-heading'] = 'Summary' -- cfg['other-namespaces-heading'] -- The heading shown in other namespaces. cfg['other-namespaces-heading'] = 'Documentation' -- cfg['view-link-display'] -- The text to display for "view" links. cfg['view-link-display'] = 'view' -- cfg['edit-link-display'] -- The text to display for "edit" links. cfg['edit-link-display'] = 'edit' -- cfg['history-link-display'] -- The text to display for "history" links. cfg['history-link-display'] = 'history' -- cfg['purge-link-display'] -- The text to display for "purge" links. cfg['purge-link-display'] = 'purge' -- cfg['create-link-display'] -- The text to display for "create" links. cfg['create-link-display'] = 'create' ---------------------------------------------------------------------------------------------------- -- Link box (end box) configuration ---------------------------------------------------------------------------------------------------- -- cfg['transcluded-from-blurb'] -- Notice displayed when the docs are transcluded from another page. $1 is a wikilink to that page. cfg['transcluded-from-blurb'] = 'The above [[Wikipedia:Template documentation|documentation]] is [[Wikipedia:Transclusion|transcluded]] from $1.' --[[ -- cfg['create-module-doc-blurb'] -- Notice displayed in the module namespace when the documentation subpage does not exist. -- $1 is a link to create the documentation page with the preload cfg['module-preload'] and the -- display cfg['create-link-display']. --]] cfg['create-module-doc-blurb'] = 'You might want to $1 a documentation page for this [[Wikipedia:Lua|Scribunto module]].' ---------------------------------------------------------------------------------------------------- -- Experiment blurb configuration ---------------------------------------------------------------------------------------------------- --[[ -- cfg['experiment-blurb-template'] -- cfg['experiment-blurb-module'] -- The experiment blurb is the text inviting editors to experiment in sandbox and test cases pages. -- It is only shown in the template and module namespaces. With the default English settings, it -- might look like this: -- -- Editors can experiment in this template's sandbox (edit | diff) and testcases (edit) pages. -- -- In this example, "sandbox", "edit", "diff", "testcases", and "edit" would all be links. -- -- There are two versions, cfg['experiment-blurb-template'] and cfg['experiment-blurb-module'], depending -- on what namespace we are in. -- -- Parameters: -- -- $1 is a link to the sandbox page. If the sandbox exists, it is in the following format: -- -- cfg['sandbox-link-display'] (cfg['sandbox-edit-link-display'] | cfg['compare-link-display']) -- -- If the sandbox doesn't exist, it is in the format: -- -- cfg['sandbox-link-display'] (cfg['sandbox-create-link-display'] | cfg['mirror-link-display']) -- -- The link for cfg['sandbox-create-link-display'] link preloads the page with cfg['template-sandbox-preload'] -- or cfg['module-sandbox-preload'], depending on the current namespace. The link for cfg['mirror-link-display'] -- loads a default edit summary of cfg['mirror-edit-summary']. -- -- $2 is a link to the test cases page. If the test cases page exists, it is in the following format: -- -- cfg['testcases-link-display'] (cfg['testcases-edit-link-display'] | cfg['testcases-run-link-display']) -- -- If the test cases page doesn't exist, it is in the format: -- -- cfg['testcases-link-display'] (cfg['testcases-create-link-display']) -- -- If the test cases page doesn't exist, the link for cfg['testcases-create-link-display'] preloads the -- page with cfg['template-testcases-preload'] or cfg['module-testcases-preload'], depending on the current -- namespace. --]] cfg['experiment-blurb-template'] = "Editors can experiment in this template's $1 and $2 pages." cfg['experiment-blurb-module'] = "Editors can experiment in this module's $1 and $2 pages." ---------------------------------------------------------------------------------------------------- -- Sandbox link configuration ---------------------------------------------------------------------------------------------------- -- cfg['sandbox-subpage'] -- The name of the template subpage typically used for sandboxes. cfg['sandbox-subpage'] = 'sandbox' -- cfg['template-sandbox-preload'] -- Preload file for template sandbox pages. cfg['template-sandbox-preload'] = 'Template:Documentation/preload-sandbox' -- cfg['module-sandbox-preload'] -- Preload file for Lua module sandbox pages. cfg['module-sandbox-preload'] = 'Template:Documentation/preload-module-sandbox' -- cfg['sandbox-link-display'] -- The text to display for "sandbox" links. cfg['sandbox-link-display'] = 'sandbox' -- cfg['sandbox-edit-link-display'] -- The text to display for sandbox "edit" links. cfg['sandbox-edit-link-display'] = 'edit' -- cfg['sandbox-create-link-display'] -- The text to display for sandbox "create" links. cfg['sandbox-create-link-display'] = 'create' -- cfg['compare-link-display'] -- The text to display for "compare" links. cfg['compare-link-display'] = 'diff' -- cfg['mirror-edit-summary'] -- The default edit summary to use when a user clicks the "mirror" link. $1 is a wikilink to the -- template page. cfg['mirror-edit-summary'] = 'Create sandbox version of $1' -- cfg['mirror-link-display'] -- The text to display for "mirror" links. cfg['mirror-link-display'] = 'mirror' -- cfg['mirror-link-preload'] -- The page to preload when a user clicks the "mirror" link. cfg['mirror-link-preload'] = 'Template:Documentation/mirror' ---------------------------------------------------------------------------------------------------- -- Test cases link configuration ---------------------------------------------------------------------------------------------------- -- cfg['testcases-subpage'] -- The name of the template subpage typically used for test cases. cfg['testcases-subpage'] = 'testcases' -- cfg['template-testcases-preload'] -- Preload file for template test cases pages. cfg['template-testcases-preload'] = 'Template:Documentation/preload-testcases' -- cfg['module-testcases-preload'] -- Preload file for Lua module test cases pages. cfg['module-testcases-preload'] = 'Template:Documentation/preload-module-testcases' -- cfg['testcases-link-display'] -- The text to display for "testcases" links. cfg['testcases-link-display'] = 'testcases' -- cfg['testcases-edit-link-display'] -- The text to display for test cases "edit" links. cfg['testcases-edit-link-display'] = 'edit' -- cfg['testcases-run-link-display'] -- The text to display for test cases "run" links. cfg['testcases-run-link-display'] = 'run' -- cfg['testcases-create-link-display'] -- The text to display for test cases "create" links. cfg['testcases-create-link-display'] = 'create' ---------------------------------------------------------------------------------------------------- -- Add categories blurb configuration ---------------------------------------------------------------------------------------------------- --[[ -- cfg['add-categories-blurb'] -- Text to direct users to add categories to the /doc subpage. Not used if the "content" or -- "docname fed" arguments are set, as then it is not clear where to add the categories. $1 is a -- link to the /doc subpage with a display value of cfg['doc-link-display']. --]] cfg['add-categories-blurb'] = 'Please add categories to the $1 subpage.' -- cfg['doc-link-display'] -- The text to display when linking to the /doc subpage. cfg['doc-link-display'] = '/doc' ---------------------------------------------------------------------------------------------------- -- Subpages link configuration ---------------------------------------------------------------------------------------------------- --[[ -- cfg['subpages-blurb'] -- The "Subpages of this template" blurb. $1 is a link to the main template's subpages with a -- display value of cfg['subpages-link-display']. In the English version this blurb is simply -- the link followed by a period, and the link display provides the actual text. --]] cfg['subpages-blurb'] = '$1.' --[[ -- cfg['subpages-link-display'] -- The text to display for the "subpages of this page" link. $1 is cfg['template-pagetype'], -- cfg['module-pagetype'] or cfg['default-pagetype'], depending on whether the current page is in -- the template namespace, the module namespace, or another namespace. --]] cfg['subpages-link-display'] = 'Subpages of this $1' -- cfg['template-pagetype'] -- The pagetype to display for template pages. cfg['template-pagetype'] = 'template' -- cfg['module-pagetype'] -- The pagetype to display for Lua module pages. cfg['module-pagetype'] = 'module' -- cfg['default-pagetype'] -- The pagetype to display for pages other than templates or Lua modules. cfg['default-pagetype'] = 'page' ---------------------------------------------------------------------------------------------------- -- Doc link configuration ---------------------------------------------------------------------------------------------------- -- cfg['doc-subpage'] -- The name of the subpage typically used for documentation pages. cfg['doc-subpage'] = 'doc' -- cfg['file-docpage-preload'] -- Preload file for documentation page in the file namespace. cfg['file-docpage-preload'] = 'Template:Documentation/preload-filespace' -- cfg['docpage-preload'] -- Preload file for template documentation pages in all namespaces. cfg['docpage-preload'] = 'Template:Documentation/preload' -- cfg['module-preload'] -- Preload file for Lua module documentation pages. cfg['module-preload'] = 'Template:Documentation/preload-module-doc' ---------------------------------------------------------------------------------------------------- -- Print version configuration ---------------------------------------------------------------------------------------------------- -- cfg['print-subpage'] -- The name of the template subpage used for print versions. cfg['print-subpage'] = 'Print' -- cfg['print-link-display'] -- The text to display when linking to the /Print subpage. cfg['print-link-display'] = '/Print' -- cfg['print-blurb'] -- Text to display if a /Print subpage exists. $1 is a link to the subpage with a display value of cfg['print-link-display']. cfg['print-blurb'] = 'A [[Help:Books/for experts#Improving the book layout|print version]] of this template exists at $1.' .. ' If you make a change to this template, please update the print version as well.' -- cfg['display-print-category'] -- Set to true to enable output of cfg['print-category'] if a /Print subpage exists. -- This should be a boolean value (either true or false). cfg['display-print-category'] = true -- cfg['print-category'] -- Category to output if cfg['display-print-category'] is set to true, and a /Print subpage exists. cfg['print-category'] = 'Templates with print versions' ---------------------------------------------------------------------------------------------------- -- HTML and CSS configuration ---------------------------------------------------------------------------------------------------- cfg['container'] = 'documentation-container' cfg['main-div-heading-class'] = 'documentation-heading' -- cfg['main-div-id'] -- The "id" attribute of the main HTML "div" tag. cfg['main-div-id'] = 'template-documentation' -- cfg['main-div-classes'] -- The CSS classes added to the main HTML "div" tag. cfg['main-div-classes'] = 'template-documentation iezoomfix' -- cfg['start-box-linkclasses'] -- The CSS classes used for the [view][edit][history] or [create] links in the start box. cfg['start-box-linkclasses'] = 'mw-editsection-like plainlinks' -- cfg['start-box-link-id'] -- The HTML "id" attribute for the links in the start box. cfg['start-box-link-id'] = 'doc_editlinks' ---------------------------------------------------------------------------------------------------- -- {{fmbox}} template configuration ---------------------------------------------------------------------------------------------------- -- cfg['fmbox-id'] -- The id sent to the "id" parameter of the {{fmbox}} template. cfg['fmbox-id'] = 'documentation-meta-data' -- cfg['fmbox-style'] -- The value sent to the style parameter of {{fmbox}}. cfg['fmbox-style'] = 'background-color: #ecfcf4' -- cfg['fmbox-textstyle'] -- The value sent to the "textstyle parameter of {{fmbox}}. cfg['fmbox-textstyle'] = 'font-style: italic' ---------------------------------------------------------------------------------------------------- -- Tracking category configuration ---------------------------------------------------------------------------------------------------- -- cfg['display-strange-usage-category'] -- Set to true to enable output of cfg['strange-usage-category'] if the module is used on a /doc subpage -- or a /testcases subpage. This should be a boolean value (either true or false). cfg['display-strange-usage-category'] = true -- cfg['strange-usage-category'] -- Category to output if cfg['display-strange-usage-category'] is set to true and the module is used on a -- /doc subpage or a /testcases subpage. cfg['strange-usage-category'] = 'Wikipedia pages with strange ((documentation)) usage' --[[ ---------------------------------------------------------------------------------------------------- -- End configuration -- -- Don't edit anything below this line. ---------------------------------------------------------------------------------------------------- --]] return cfg sjja73w6i2zu0lb8cmy759jskeq3ahe 143041 143040 2026-05-06T12:55:41Z Danielyepezgarces 17152 143041 Scribunto text/plain ---------------------------------------------------------------------------------------------------- -- -- Configuration for Module:Documentation -- -- Here you can set the values of the parameters and messages used in Module:Documentation to -- localise it to your wiki and your language. Unless specified otherwise, values given here -- should be string values. ---------------------------------------------------------------------------------------------------- local cfg = {} -- Do not edit this line. ---------------------------------------------------------------------------------------------------- -- Protection template configuration ---------------------------------------------------------------------------------------------------- -- cfg['protection-reason-edit'] -- The protection reason for edit-protected templates to pass to -- [[Module:Protection banner]]. cfg['protection-reason-edit'] = 'template' --[[ ---------------------------------------------------------------------------------------------------- -- Sandbox notice configuration -- -- On sandbox pages the module can display a template notifying users that the current page is a -- sandbox, and the location of test cases pages, etc. The module decides whether the page is a -- sandbox or not based on the value of cfg['sandbox-subpage']. The following settings configure the -- messages that the notices contains. ---------------------------------------------------------------------------------------------------- --]] -- cfg['sandbox-notice-image'] -- The image displayed in the sandbox notice. cfg['sandbox-notice-image'] = '[[Image:Sandbox.svg|50px|alt=|link=]]' --[[ -- cfg['sandbox-notice-pagetype-template'] -- cfg['sandbox-notice-pagetype-module'] -- cfg['sandbox-notice-pagetype-other'] -- The page type of the sandbox page. The message that is displayed depends on the current subject -- namespace. This message is used in either cfg['sandbox-notice-blurb'] or -- cfg['sandbox-notice-diff-blurb']. --]] cfg['sandbox-notice-pagetype-template'] = '[[Wikipedia:Template test cases|template sandbox]] page' cfg['sandbox-notice-pagetype-module'] = '[[Wikipedia:Template test cases|module sandbox]] page' cfg['sandbox-notice-pagetype-other'] = 'sandbox page' --[[ -- cfg['sandbox-notice-blurb'] -- cfg['sandbox-notice-diff-blurb'] -- cfg['sandbox-notice-diff-display'] -- Either cfg['sandbox-notice-blurb'] or cfg['sandbox-notice-diff-blurb'] is the opening sentence -- of the sandbox notice. The latter has a diff link, but the former does not. $1 is the page -- type, which is either cfg['sandbox-notice-pagetype-template'], -- cfg['sandbox-notice-pagetype-module'] or cfg['sandbox-notice-pagetype-other'] depending what -- namespace we are in. $2 is a link to the main template page, and $3 is a diff link between -- the sandbox and the main template. The display value of the diff link is set by -- cfg['sandbox-notice-compare-link-display']. --]] cfg['sandbox-notice-blurb'] = 'This is the $1 for $2.' cfg['sandbox-notice-diff-blurb'] = 'This is the $1 for $2 ($3).' cfg['sandbox-notice-compare-link-display'] = 'diff' --[[ -- cfg['sandbox-notice-testcases-blurb'] -- cfg['sandbox-notice-testcases-link-display'] -- cfg['sandbox-notice-testcases-run-blurb'] -- cfg['sandbox-notice-testcases-run-link-display'] -- cfg['sandbox-notice-testcases-blurb'] is a sentence notifying the user that there is a test cases page -- corresponding to this sandbox that they can edit. $1 is a link to the test cases page. -- cfg['sandbox-notice-testcases-link-display'] is the display value for that link. -- cfg['sandbox-notice-testcases-run-blurb'] is a sentence notifying the user that there is a test cases page -- corresponding to this sandbox that they can edit, along with a link to run it. $1 is a link to the test -- cases page, and $2 is a link to the page to run it. -- cfg['sandbox-notice-testcases-run-link-display'] is the display value for the link to run the test -- cases. --]] cfg['sandbox-notice-testcases-blurb'] = 'See also the companion subpage for $1.' cfg['sandbox-notice-testcases-link-display'] = 'test cases' cfg['sandbox-notice-testcases-run-blurb'] = 'See also the companion subpage for $1 ($2).' cfg['sandbox-notice-testcases-run-link-display'] = 'run' -- cfg['sandbox-category'] -- A category to add to all template sandboxes. cfg['sandbox-category'] = 'Template sandboxes' ---------------------------------------------------------------------------------------------------- -- Start box configuration ---------------------------------------------------------------------------------------------------- -- cfg['documentation-icon-wikitext'] -- The wikitext for the icon shown at the top of the template. cfg['documentation-icon-wikitext'] = '[[File:Test Template Info-Icon - Version (2).svg|50px|link=|alt=]]' -- cfg['template-namespace-heading'] -- The heading shown in the template namespace. cfg['template-namespace-heading'] = 'Template documentation' -- cfg['module-namespace-heading'] -- The heading shown in the module namespace. cfg['module-namespace-heading'] = 'Module documentation' -- cfg['file-namespace-heading'] -- The heading shown in the file namespace. cfg['file-namespace-heading'] = 'Summary' -- cfg['other-namespaces-heading'] -- The heading shown in other namespaces. cfg['other-namespaces-heading'] = 'Documentation' -- cfg['view-link-display'] -- The text to display for "view" links. cfg['view-link-display'] = 'view' -- cfg['edit-link-display'] -- The text to display for "edit" links. cfg['edit-link-display'] = 'edit' -- cfg['history-link-display'] -- The text to display for "history" links. cfg['history-link-display'] = 'history' -- cfg['purge-link-display'] -- The text to display for "purge" links. cfg['purge-link-display'] = 'purge' -- cfg['create-link-display'] -- The text to display for "create" links. cfg['create-link-display'] = 'create' ---------------------------------------------------------------------------------------------------- -- Link box (end box) configuration ---------------------------------------------------------------------------------------------------- -- cfg['transcluded-from-blurb'] -- Notice displayed when the docs are transcluded from another page. $1 is a wikilink to that page. cfg['transcluded-from-blurb'] = 'The above [[Wikipedia:Template documentation|documentation]] is [[Wikipedia:Transclusion|transcluded]] from $1.' --[[ -- cfg['create-module-doc-blurb'] -- Notice displayed in the module namespace when the documentation subpage does not exist. -- $1 is a link to create the documentation page with the preload cfg['module-preload'] and the -- display cfg['create-link-display']. --]] cfg['create-module-doc-blurb'] = 'You might want to $1 a documentation page for this [[Wikipedia:Lua|Scribunto module]].' ---------------------------------------------------------------------------------------------------- -- Experiment blurb configuration ---------------------------------------------------------------------------------------------------- --[[ -- cfg['experiment-blurb-template'] -- cfg['experiment-blurb-module'] -- The experiment blurb is the text inviting editors to experiment in sandbox and test cases pages. -- It is only shown in the template and module namespaces. With the default English settings, it -- might look like this: -- -- Editors can experiment in this template's sandbox (edit | diff) and testcases (edit) pages. -- -- In this example, "sandbox", "edit", "diff", "testcases", and "edit" would all be links. -- -- There are two versions, cfg['experiment-blurb-template'] and cfg['experiment-blurb-module'], depending -- on what namespace we are in. -- -- Parameters: -- -- $1 is a link to the sandbox page. If the sandbox exists, it is in the following format: -- -- cfg['sandbox-link-display'] (cfg['sandbox-edit-link-display'] | cfg['compare-link-display']) -- -- If the sandbox doesn't exist, it is in the format: -- -- cfg['sandbox-link-display'] (cfg['sandbox-create-link-display'] | cfg['mirror-link-display']) -- -- The link for cfg['sandbox-create-link-display'] link preloads the page with cfg['template-sandbox-preload'] -- or cfg['module-sandbox-preload'], depending on the current namespace. The link for cfg['mirror-link-display'] -- loads a default edit summary of cfg['mirror-edit-summary']. -- -- $2 is a link to the test cases page. If the test cases page exists, it is in the following format: -- -- cfg['testcases-link-display'] (cfg['testcases-edit-link-display'] | cfg['testcases-run-link-display']) -- -- If the test cases page doesn't exist, it is in the format: -- -- cfg['testcases-link-display'] (cfg['testcases-create-link-display']) -- -- If the test cases page doesn't exist, the link for cfg['testcases-create-link-display'] preloads the -- page with cfg['template-testcases-preload'] or cfg['module-testcases-preload'], depending on the current -- namespace. --]] cfg['experiment-blurb-template'] = "Editors can experiment in this template's $1 and $2 pages." cfg['experiment-blurb-module'] = "Editors can experiment in this module's $1 and $2 pages." ---------------------------------------------------------------------------------------------------- -- Sandbox link configuration ---------------------------------------------------------------------------------------------------- -- cfg['sandbox-subpage'] -- The name of the template subpage typically used for sandboxes. cfg['sandbox-subpage'] = 'sandbox' -- cfg['template-sandbox-preload'] -- Preload file for template sandbox pages. cfg['template-sandbox-preload'] = 'Template:Documentation/preload-sandbox' -- cfg['module-sandbox-preload'] -- Preload file for Lua module sandbox pages. cfg['module-sandbox-preload'] = 'Template:Documentation/preload-module-sandbox' -- cfg['sandbox-link-display'] -- The text to display for "sandbox" links. cfg['sandbox-link-display'] = 'sandbox' -- cfg['sandbox-edit-link-display'] -- The text to display for sandbox "edit" links. cfg['sandbox-edit-link-display'] = 'edit' -- cfg['sandbox-create-link-display'] -- The text to display for sandbox "create" links. cfg['sandbox-create-link-display'] = 'create' -- cfg['compare-link-display'] -- The text to display for "compare" links. cfg['compare-link-display'] = 'diff' -- cfg['mirror-edit-summary'] -- The default edit summary to use when a user clicks the "mirror" link. $1 is a wikilink to the -- template page. cfg['mirror-edit-summary'] = 'Create sandbox version of $1' -- cfg['mirror-link-display'] -- The text to display for "mirror" links. cfg['mirror-link-display'] = 'mirror' -- cfg['mirror-link-preload'] -- The page to preload when a user clicks the "mirror" link. cfg['mirror-link-preload'] = 'Template:Documentation/mirror' ---------------------------------------------------------------------------------------------------- -- Test cases link configuration ---------------------------------------------------------------------------------------------------- -- cfg['testcases-subpage'] -- The name of the template subpage typically used for test cases. cfg['testcases-subpage'] = 'testcases' -- cfg['template-testcases-preload'] -- Preload file for template test cases pages. cfg['template-testcases-preload'] = 'Template:Documentation/preload-testcases' -- cfg['module-testcases-preload'] -- Preload file for Lua module test cases pages. cfg['module-testcases-preload'] = 'Template:Documentation/preload-module-testcases' -- cfg['testcases-link-display'] -- The text to display for "testcases" links. cfg['testcases-link-display'] = 'testcases' -- cfg['testcases-edit-link-display'] -- The text to display for test cases "edit" links. cfg['testcases-edit-link-display'] = 'edit' -- cfg['testcases-run-link-display'] -- The text to display for test cases "run" links. cfg['testcases-run-link-display'] = 'run' -- cfg['testcases-create-link-display'] -- The text to display for test cases "create" links. cfg['testcases-create-link-display'] = 'create' ---------------------------------------------------------------------------------------------------- -- Add categories blurb configuration ---------------------------------------------------------------------------------------------------- --[[ -- cfg['add-categories-blurb'] -- Text to direct users to add categories to the /doc subpage. Not used if the "content" or -- "docname fed" arguments are set, as then it is not clear where to add the categories. $1 is a -- link to the /doc subpage with a display value of cfg['doc-link-display']. --]] cfg['add-categories-blurb'] = 'Please add categories to the $1 subpage.' -- cfg['doc-link-display'] -- The text to display when linking to the /doc subpage. cfg['doc-link-display'] = '/doc' ---------------------------------------------------------------------------------------------------- -- Subpages link configuration ---------------------------------------------------------------------------------------------------- --[[ -- cfg['subpages-blurb'] -- The "Subpages of this template" blurb. $1 is a link to the main template's subpages with a -- display value of cfg['subpages-link-display']. In the English version this blurb is simply -- the link followed by a period, and the link display provides the actual text. --]] cfg['subpages-blurb'] = '$1.' --[[ -- cfg['subpages-link-display'] -- The text to display for the "subpages of this page" link. $1 is cfg['template-pagetype'], -- cfg['module-pagetype'] or cfg['default-pagetype'], depending on whether the current page is in -- the template namespace, the module namespace, or another namespace. --]] cfg['subpages-link-display'] = 'Subpages of this $1' -- cfg['template-pagetype'] -- The pagetype to display for template pages. cfg['template-pagetype'] = 'template' -- cfg['module-pagetype'] -- The pagetype to display for Lua module pages. cfg['module-pagetype'] = 'module' -- cfg['default-pagetype'] -- The pagetype to display for pages other than templates or Lua modules. cfg['default-pagetype'] = 'page' ---------------------------------------------------------------------------------------------------- -- Doc link configuration ---------------------------------------------------------------------------------------------------- -- cfg['doc-subpage'] -- The name of the subpage typically used for documentation pages. cfg['doc-subpage'] = 'doc' -- cfg['file-docpage-preload'] -- Preload file for documentation page in the file namespace. cfg['file-docpage-preload'] = 'Template:Documentation/preload-filespace' -- cfg['docpage-preload'] -- Preload file for template documentation pages in all namespaces. cfg['docpage-preload'] = 'Template:Documentation/preload' -- cfg['module-preload'] -- Preload file for Lua module documentation pages. cfg['module-preload'] = 'Template:Documentation/preload-module-doc' ---------------------------------------------------------------------------------------------------- -- Print version configuration ---------------------------------------------------------------------------------------------------- -- cfg['print-subpage'] -- The name of the template subpage used for print versions. cfg['print-subpage'] = 'Print' -- cfg['print-link-display'] -- The text to display when linking to the /Print subpage. cfg['print-link-display'] = '/Print' -- cfg['print-blurb'] -- Text to display if a /Print subpage exists. $1 is a link to the subpage with a display value of cfg['print-link-display']. cfg['print-blurb'] = 'A [[Help:Books/for experts#Improving the book layout|print version]] of this template exists at $1.' .. ' If you make a change to this template, please update the print version as well.' -- cfg['display-print-category'] -- Set to true to enable output of cfg['print-category'] if a /Print subpage exists. -- This should be a boolean value (either true or false). cfg['display-print-category'] = true -- cfg['print-category'] -- Category to output if cfg['display-print-category'] is set to true, and a /Print subpage exists. cfg['print-category'] = 'Templates with print versions' ---------------------------------------------------------------------------------------------------- -- HTML and CSS configuration ---------------------------------------------------------------------------------------------------- cfg['container'] = 'documentation-container' cfg['main-div-heading-class'] = 'documentation-heading' cfg['start-box-link-classes'] = 'mw-editsection-like plainlinks' -- cfg['main-div-id'] -- The "id" attribute of the main HTML "div" tag. cfg['main-div-id'] = 'template-documentation' -- cfg['main-div-classes'] -- The CSS classes added to the main HTML "div" tag. cfg['main-div-classes'] = 'template-documentation iezoomfix' -- cfg['start-box-linkclasses'] -- The CSS classes used for the [view][edit][history] or [create] links in the start box. cfg['start-box-linkclasses'] = 'mw-editsection-like plainlinks' -- cfg['start-box-link-id'] -- The HTML "id" attribute for the links in the start box. cfg['start-box-link-id'] = 'doc_editlinks' ---------------------------------------------------------------------------------------------------- -- {{fmbox}} template configuration ---------------------------------------------------------------------------------------------------- -- cfg['fmbox-id'] -- The id sent to the "id" parameter of the {{fmbox}} template. cfg['fmbox-id'] = 'documentation-meta-data' -- cfg['fmbox-style'] -- The value sent to the style parameter of {{fmbox}}. cfg['fmbox-style'] = 'background-color: #ecfcf4' -- cfg['fmbox-textstyle'] -- The value sent to the "textstyle parameter of {{fmbox}}. cfg['fmbox-textstyle'] = 'font-style: italic' ---------------------------------------------------------------------------------------------------- -- Tracking category configuration ---------------------------------------------------------------------------------------------------- -- cfg['display-strange-usage-category'] -- Set to true to enable output of cfg['strange-usage-category'] if the module is used on a /doc subpage -- or a /testcases subpage. This should be a boolean value (either true or false). cfg['display-strange-usage-category'] = true -- cfg['strange-usage-category'] -- Category to output if cfg['display-strange-usage-category'] is set to true and the module is used on a -- /doc subpage or a /testcases subpage. cfg['strange-usage-category'] = 'Wikipedia pages with strange ((documentation)) usage' --[[ ---------------------------------------------------------------------------------------------------- -- End configuration -- -- Don't edit anything below this line. ---------------------------------------------------------------------------------------------------- --]] return cfg d01aqx1iyz1twyia5r6p5fxzfsbyia0 143042 143041 2026-05-06T12:56:49Z Danielyepezgarces 17152 143042 Scribunto text/plain ---------------------------------------------------------------------------------------------------- -- -- Configuration for Module:Documentation -- -- Here you can set the values of the parameters and messages used in Module:Documentation to -- localise it to your wiki and your language. Unless specified otherwise, values given here -- should be string values. ---------------------------------------------------------------------------------------------------- local cfg = {} -- Do not edit this line. ---------------------------------------------------------------------------------------------------- -- Protection template configuration ---------------------------------------------------------------------------------------------------- -- cfg['protection-reason-edit'] -- The protection reason for edit-protected templates to pass to -- [[Module:Protection banner]]. cfg['protection-reason-edit'] = 'template' --[[ ---------------------------------------------------------------------------------------------------- -- Sandbox notice configuration -- -- On sandbox pages the module can display a template notifying users that the current page is a -- sandbox, and the location of test cases pages, etc. The module decides whether the page is a -- sandbox or not based on the value of cfg['sandbox-subpage']. The following settings configure the -- messages that the notices contains. ---------------------------------------------------------------------------------------------------- --]] -- cfg['sandbox-notice-image'] -- The image displayed in the sandbox notice. cfg['sandbox-notice-image'] = '[[Image:Sandbox.svg|50px|alt=|link=]]' --[[ -- cfg['sandbox-notice-pagetype-template'] -- cfg['sandbox-notice-pagetype-module'] -- cfg['sandbox-notice-pagetype-other'] -- The page type of the sandbox page. The message that is displayed depends on the current subject -- namespace. This message is used in either cfg['sandbox-notice-blurb'] or -- cfg['sandbox-notice-diff-blurb']. --]] cfg['sandbox-notice-pagetype-template'] = '[[Wikipedia:Template test cases|template sandbox]] page' cfg['sandbox-notice-pagetype-module'] = '[[Wikipedia:Template test cases|module sandbox]] page' cfg['sandbox-notice-pagetype-other'] = 'sandbox page' --[[ -- cfg['sandbox-notice-blurb'] -- cfg['sandbox-notice-diff-blurb'] -- cfg['sandbox-notice-diff-display'] -- Either cfg['sandbox-notice-blurb'] or cfg['sandbox-notice-diff-blurb'] is the opening sentence -- of the sandbox notice. The latter has a diff link, but the former does not. $1 is the page -- type, which is either cfg['sandbox-notice-pagetype-template'], -- cfg['sandbox-notice-pagetype-module'] or cfg['sandbox-notice-pagetype-other'] depending what -- namespace we are in. $2 is a link to the main template page, and $3 is a diff link between -- the sandbox and the main template. The display value of the diff link is set by -- cfg['sandbox-notice-compare-link-display']. --]] cfg['sandbox-notice-blurb'] = 'This is the $1 for $2.' cfg['sandbox-notice-diff-blurb'] = 'This is the $1 for $2 ($3).' cfg['sandbox-notice-compare-link-display'] = 'diff' --[[ -- cfg['sandbox-notice-testcases-blurb'] -- cfg['sandbox-notice-testcases-link-display'] -- cfg['sandbox-notice-testcases-run-blurb'] -- cfg['sandbox-notice-testcases-run-link-display'] -- cfg['sandbox-notice-testcases-blurb'] is a sentence notifying the user that there is a test cases page -- corresponding to this sandbox that they can edit. $1 is a link to the test cases page. -- cfg['sandbox-notice-testcases-link-display'] is the display value for that link. -- cfg['sandbox-notice-testcases-run-blurb'] is a sentence notifying the user that there is a test cases page -- corresponding to this sandbox that they can edit, along with a link to run it. $1 is a link to the test -- cases page, and $2 is a link to the page to run it. -- cfg['sandbox-notice-testcases-run-link-display'] is the display value for the link to run the test -- cases. --]] cfg['sandbox-notice-testcases-blurb'] = 'See also the companion subpage for $1.' cfg['sandbox-notice-testcases-link-display'] = 'test cases' cfg['sandbox-notice-testcases-run-blurb'] = 'See also the companion subpage for $1 ($2).' cfg['sandbox-notice-testcases-run-link-display'] = 'run' -- cfg['sandbox-category'] -- A category to add to all template sandboxes. cfg['sandbox-category'] = 'Template sandboxes' ---------------------------------------------------------------------------------------------------- -- Start box configuration ---------------------------------------------------------------------------------------------------- -- cfg['documentation-icon-wikitext'] -- The wikitext for the icon shown at the top of the template. cfg['documentation-icon-wikitext'] = '[[File:Test Template Info-Icon - Version (2).svg|50px|link=|alt=]]' -- cfg['template-namespace-heading'] -- The heading shown in the template namespace. cfg['template-namespace-heading'] = 'Template documentation' -- cfg['module-namespace-heading'] -- The heading shown in the module namespace. cfg['module-namespace-heading'] = 'Module documentation' -- cfg['file-namespace-heading'] -- The heading shown in the file namespace. cfg['file-namespace-heading'] = 'Summary' -- cfg['other-namespaces-heading'] -- The heading shown in other namespaces. cfg['other-namespaces-heading'] = 'Documentation' -- cfg['view-link-display'] -- The text to display for "view" links. cfg['view-link-display'] = 'view' -- cfg['edit-link-display'] -- The text to display for "edit" links. cfg['edit-link-display'] = 'edit' -- cfg['history-link-display'] -- The text to display for "history" links. cfg['history-link-display'] = 'history' -- cfg['purge-link-display'] -- The text to display for "purge" links. cfg['purge-link-display'] = 'purge' -- cfg['create-link-display'] -- The text to display for "create" links. cfg['create-link-display'] = 'create' ---------------------------------------------------------------------------------------------------- -- Link box (end box) configuration ---------------------------------------------------------------------------------------------------- -- cfg['transcluded-from-blurb'] -- Notice displayed when the docs are transcluded from another page. $1 is a wikilink to that page. cfg['transcluded-from-blurb'] = 'The above [[Wikipedia:Template documentation|documentation]] is [[Wikipedia:Transclusion|transcluded]] from $1.' --[[ -- cfg['create-module-doc-blurb'] -- Notice displayed in the module namespace when the documentation subpage does not exist. -- $1 is a link to create the documentation page with the preload cfg['module-preload'] and the -- display cfg['create-link-display']. --]] cfg['create-module-doc-blurb'] = 'You might want to $1 a documentation page for this [[Wikipedia:Lua|Scribunto module]].' ---------------------------------------------------------------------------------------------------- -- Experiment blurb configuration ---------------------------------------------------------------------------------------------------- --[[ -- cfg['experiment-blurb-template'] -- cfg['experiment-blurb-module'] -- The experiment blurb is the text inviting editors to experiment in sandbox and test cases pages. -- It is only shown in the template and module namespaces. With the default English settings, it -- might look like this: -- -- Editors can experiment in this template's sandbox (edit | diff) and testcases (edit) pages. -- -- In this example, "sandbox", "edit", "diff", "testcases", and "edit" would all be links. -- -- There are two versions, cfg['experiment-blurb-template'] and cfg['experiment-blurb-module'], depending -- on what namespace we are in. -- -- Parameters: -- -- $1 is a link to the sandbox page. If the sandbox exists, it is in the following format: -- -- cfg['sandbox-link-display'] (cfg['sandbox-edit-link-display'] | cfg['compare-link-display']) -- -- If the sandbox doesn't exist, it is in the format: -- -- cfg['sandbox-link-display'] (cfg['sandbox-create-link-display'] | cfg['mirror-link-display']) -- -- The link for cfg['sandbox-create-link-display'] link preloads the page with cfg['template-sandbox-preload'] -- or cfg['module-sandbox-preload'], depending on the current namespace. The link for cfg['mirror-link-display'] -- loads a default edit summary of cfg['mirror-edit-summary']. -- -- $2 is a link to the test cases page. If the test cases page exists, it is in the following format: -- -- cfg['testcases-link-display'] (cfg['testcases-edit-link-display'] | cfg['testcases-run-link-display']) -- -- If the test cases page doesn't exist, it is in the format: -- -- cfg['testcases-link-display'] (cfg['testcases-create-link-display']) -- -- If the test cases page doesn't exist, the link for cfg['testcases-create-link-display'] preloads the -- page with cfg['template-testcases-preload'] or cfg['module-testcases-preload'], depending on the current -- namespace. --]] cfg['experiment-blurb-template'] = "Editors can experiment in this template's $1 and $2 pages." cfg['experiment-blurb-module'] = "Editors can experiment in this module's $1 and $2 pages." ---------------------------------------------------------------------------------------------------- -- Sandbox link configuration ---------------------------------------------------------------------------------------------------- -- cfg['sandbox-subpage'] -- The name of the template subpage typically used for sandboxes. cfg['sandbox-subpage'] = 'sandbox' -- cfg['template-sandbox-preload'] -- Preload file for template sandbox pages. cfg['template-sandbox-preload'] = 'Template:Documentation/preload-sandbox' -- cfg['module-sandbox-preload'] -- Preload file for Lua module sandbox pages. cfg['module-sandbox-preload'] = 'Template:Documentation/preload-module-sandbox' -- cfg['sandbox-link-display'] -- The text to display for "sandbox" links. cfg['sandbox-link-display'] = 'sandbox' -- cfg['sandbox-edit-link-display'] -- The text to display for sandbox "edit" links. cfg['sandbox-edit-link-display'] = 'edit' -- cfg['sandbox-create-link-display'] -- The text to display for sandbox "create" links. cfg['sandbox-create-link-display'] = 'create' -- cfg['compare-link-display'] -- The text to display for "compare" links. cfg['compare-link-display'] = 'diff' -- cfg['mirror-edit-summary'] -- The default edit summary to use when a user clicks the "mirror" link. $1 is a wikilink to the -- template page. cfg['mirror-edit-summary'] = 'Create sandbox version of $1' -- cfg['mirror-link-display'] -- The text to display for "mirror" links. cfg['mirror-link-display'] = 'mirror' -- cfg['mirror-link-preload'] -- The page to preload when a user clicks the "mirror" link. cfg['mirror-link-preload'] = 'Template:Documentation/mirror' ---------------------------------------------------------------------------------------------------- -- Test cases link configuration ---------------------------------------------------------------------------------------------------- -- cfg['testcases-subpage'] -- The name of the template subpage typically used for test cases. cfg['testcases-subpage'] = 'testcases' -- cfg['template-testcases-preload'] -- Preload file for template test cases pages. cfg['template-testcases-preload'] = 'Template:Documentation/preload-testcases' -- cfg['module-testcases-preload'] -- Preload file for Lua module test cases pages. cfg['module-testcases-preload'] = 'Template:Documentation/preload-module-testcases' -- cfg['testcases-link-display'] -- The text to display for "testcases" links. cfg['testcases-link-display'] = 'testcases' -- cfg['testcases-edit-link-display'] -- The text to display for test cases "edit" links. cfg['testcases-edit-link-display'] = 'edit' -- cfg['testcases-run-link-display'] -- The text to display for test cases "run" links. cfg['testcases-run-link-display'] = 'run' -- cfg['testcases-create-link-display'] -- The text to display for test cases "create" links. cfg['testcases-create-link-display'] = 'create' ---------------------------------------------------------------------------------------------------- -- Add categories blurb configuration ---------------------------------------------------------------------------------------------------- --[[ -- cfg['add-categories-blurb'] -- Text to direct users to add categories to the /doc subpage. Not used if the "content" or -- "docname fed" arguments are set, as then it is not clear where to add the categories. $1 is a -- link to the /doc subpage with a display value of cfg['doc-link-display']. --]] cfg['add-categories-blurb'] = 'Please add categories to the $1 subpage.' -- cfg['doc-link-display'] -- The text to display when linking to the /doc subpage. cfg['doc-link-display'] = '/doc' ---------------------------------------------------------------------------------------------------- -- Subpages link configuration ---------------------------------------------------------------------------------------------------- --[[ -- cfg['subpages-blurb'] -- The "Subpages of this template" blurb. $1 is a link to the main template's subpages with a -- display value of cfg['subpages-link-display']. In the English version this blurb is simply -- the link followed by a period, and the link display provides the actual text. --]] cfg['subpages-blurb'] = '$1.' --[[ -- cfg['subpages-link-display'] -- The text to display for the "subpages of this page" link. $1 is cfg['template-pagetype'], -- cfg['module-pagetype'] or cfg['default-pagetype'], depending on whether the current page is in -- the template namespace, the module namespace, or another namespace. --]] cfg['subpages-link-display'] = 'Subpages of this $1' -- cfg['template-pagetype'] -- The pagetype to display for template pages. cfg['template-pagetype'] = 'template' -- cfg['module-pagetype'] -- The pagetype to display for Lua module pages. cfg['module-pagetype'] = 'module' -- cfg['default-pagetype'] -- The pagetype to display for pages other than templates or Lua modules. cfg['default-pagetype'] = 'page' ---------------------------------------------------------------------------------------------------- -- Doc link configuration ---------------------------------------------------------------------------------------------------- -- cfg['doc-subpage'] -- The name of the subpage typically used for documentation pages. cfg['doc-subpage'] = 'doc' -- cfg['file-docpage-preload'] -- Preload file for documentation page in the file namespace. cfg['file-docpage-preload'] = 'Template:Documentation/preload-filespace' -- cfg['docpage-preload'] -- Preload file for template documentation pages in all namespaces. cfg['docpage-preload'] = 'Template:Documentation/preload' -- cfg['module-preload'] -- Preload file for Lua module documentation pages. cfg['module-preload'] = 'Template:Documentation/preload-module-doc' ---------------------------------------------------------------------------------------------------- -- Print version configuration ---------------------------------------------------------------------------------------------------- -- cfg['print-subpage'] -- The name of the template subpage used for print versions. cfg['print-subpage'] = 'Print' -- cfg['print-link-display'] -- The text to display when linking to the /Print subpage. cfg['print-link-display'] = '/Print' -- cfg['print-blurb'] -- Text to display if a /Print subpage exists. $1 is a link to the subpage with a display value of cfg['print-link-display']. cfg['print-blurb'] = 'A [[Help:Books/for experts#Improving the book layout|print version]] of this template exists at $1.' .. ' If you make a change to this template, please update the print version as well.' -- cfg['display-print-category'] -- Set to true to enable output of cfg['print-category'] if a /Print subpage exists. -- This should be a boolean value (either true or false). cfg['display-print-category'] = true -- cfg['print-category'] -- Category to output if cfg['display-print-category'] is set to true, and a /Print subpage exists. cfg['print-category'] = 'Templates with print versions' ---------------------------------------------------------------------------------------------------- -- HTML and CSS configuration ---------------------------------------------------------------------------------------------------- cfg['container'] = 'documentation-container' cfg['toolbar-class'] = 'documentation-toolbar' cfg['clear'] = 'documentation-clear' cfg['start-box-class'] = 'documentation-startbox' cfg['end-box-class'] = 'documentation-metadata' cfg['end-box-plainlinks'] = 'plainlinks' cfg['main-div-heading-class'] = 'documentation-heading' cfg['start-box-link-classes'] = 'mw-editsection-like plainlinks' -- cfg['main-div-id'] -- The "id" attribute of the main HTML "div" tag. cfg['main-div-id'] = 'template-documentation' -- cfg['main-div-classes'] -- The CSS classes added to the main HTML "div" tag. cfg['main-div-classes'] = 'template-documentation iezoomfix' -- cfg['start-box-linkclasses'] -- The CSS classes used for the [view][edit][history] or [create] links in the start box. cfg['start-box-linkclasses'] = 'mw-editsection-like plainlinks' -- cfg['start-box-link-id'] -- The HTML "id" attribute for the links in the start box. cfg['start-box-link-id'] = 'doc_editlinks' ---------------------------------------------------------------------------------------------------- -- {{fmbox}} template configuration ---------------------------------------------------------------------------------------------------- -- cfg['fmbox-id'] -- The id sent to the "id" parameter of the {{fmbox}} template. cfg['fmbox-id'] = 'documentation-meta-data' -- cfg['fmbox-style'] -- The value sent to the style parameter of {{fmbox}}. cfg['fmbox-style'] = 'background-color: #ecfcf4' -- cfg['fmbox-textstyle'] -- The value sent to the "textstyle parameter of {{fmbox}}. cfg['fmbox-textstyle'] = 'font-style: italic' ---------------------------------------------------------------------------------------------------- -- Tracking category configuration ---------------------------------------------------------------------------------------------------- -- cfg['display-strange-usage-category'] -- Set to true to enable output of cfg['strange-usage-category'] if the module is used on a /doc subpage -- or a /testcases subpage. This should be a boolean value (either true or false). cfg['display-strange-usage-category'] = true -- cfg['strange-usage-category'] -- Category to output if cfg['display-strange-usage-category'] is set to true and the module is used on a -- /doc subpage or a /testcases subpage. cfg['strange-usage-category'] = 'Wikipedia pages with strange ((documentation)) usage' --[[ ---------------------------------------------------------------------------------------------------- -- End configuration -- -- Don't edit anything below this line. ---------------------------------------------------------------------------------------------------- --]] return cfg 9hkmfg960vocfr0ph3e5sdjhwvhpfl9 Testigus de Jehová 0 9250 143047 127871 2026-05-06T15:05:47Z InternetArchiveBot 17037 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 143047 wikitext text/x-wiki [[Archivu:Evangelização.jpg|thumb|200px|right|Testigus de Jehová]] Los '''Testigus de Jehová''' son un grupu [[cristianismu|cristianu]]. Fundáu oficialmenti nel añu [[1875]] por [[Charles Taze Russell]], ena capital de [[Pittsburgh]] ([[Estaus Uníus]]). Se tienin pola restauración del cristianismu castizu. No tienin dengún líder espiritual, inqui el su bandu cuenta con un ordin xerarquicu. Ogañu es dirixiu por un Cuerpu Gobernanti dende la su sedi prencipal en [[Warwick (Nueva York)]].<ref>http://wol.jw.org/es/</ref> Este cuerpu gobernanti se encarga de avallal la doctrina oficial dela congregación mundial. La su guía es la ''[[Biblia]]'' por mé del su propiu canteu, entitulau ''[[Tradución del Nuevu Mundu de las Santas Escrituras]]''. Tomaron el nombri de "Testigus de Jehová" nel añu [[1931]], basáu nel testu d'[[Isaías]] 40:10-12, onde izi: "Vusotrus seis los mis Testigus, izi [[Jehová]]". En España están esculcaus comu "Testigus Cristianus de Jehová" conel númeru 131 del Ministeriu de Xusticia. Según los sus propius datus, en 2019, las sus publicacionis se destribuyun en 240 paísis i territorius; contaban con 8.7 millonis de publicaoris ativus i la asistencia anual a la «Conmemoración dela cena de Jesús» jue de 20.919.041 personas. Ena Estremaúra hai comunidais tanto nelas grandis capitais, comu nus pequeñus puebrus. == Presecución religosa == [[Archivu:Uniforme triangulo purpura.jpg|thumb|180px|left|Uniforme de los Testigos de Jehová prisioneros Testigus de Jehová ena [[Alemaña]]]] Los Testigus de Jehová juerun preseguius polos nazis alemanis, prencipalmenti pola su resistencia a reconocel la autoriá del estau, a gastal el salúu fascista, i pola su objeción de concencia al serviciu militar.<ref>http://auschwitz.net/testigos-de-jehova</ref>. Se calcula que duranti la Segunda Guerra Mundial aprossimadamenti 11.300 Testigus de Jehová juerun angayolaus en campus de concentración, onde murieron, según la juenti consultá, entri 1490 i 2550, dentri ellus 253 que juerun sentenciaus a muerti.40​41<ref>https://web.archive.org/web/20090305063313/http://www.museenkoeln.de/ns-dok_neu/homepage/JZ-NS-Verfolgung-Koeln.pdf|título=Wayback Machine</ref><ref>{{Cita web |url=http://cultura.elpais.com/cultura/2010/04/28/actualidad/1272405609_850215.html |título=Archive copy |fechaacceso=2020-12-01 |archive-date=2016-12-01 |archive-url=https://web.archive.org/web/20161201211138/http://cultura.elpais.com/cultura/2010/04/28/actualidad/1272405609_850215.html |dead-url=yes }}</ref>​ El Círculu Europeu de antiguus deportaus i internaus Testigus de Jehová apondera que el 97% de los Testigus de Jehová alemanis padecierun de una o dotra jorma la persecución del nazismu <ref>http://www.memoriadeuntestimonio.org/holocausto.htm</ref>. Enus campus de concentración desus añus los izian Bibelforscher (estudiatis dela Biblia) portaban un triángulu pórpura cosiu ena pechera dela ropa comu identificación<ref>http://www.alst.org/pages-es/archivos/Triangulos-purpura.html </ref> . Los Testigus de Jehová podían empendolar-si del campo de concentración i recuperal sus propiedais i la su ciudadanía si enfirmaban un cartapaciu i arrenunciaban dela su fé<ref>http://www.holocaust-trc.org/persecution-and-resistance-of-jehovahs-witnesses/</ref>. El 5 de otubri de 2006, el Museu del Olocaustu de Washington D. C. ofreció un día dedicau alos Testigus de Jehová víctimas del nazismo<ref>http://www.ushmm.org/museum/publicprograms/past.php?content=2006-10-05 |fecha=5 de octubre de 2006 |idioma=inglés |urlarchivo=https://web.archive.org/web/20120705081105/http://www.ushmm.org/museum/publicprograms/past.php</ref>. == Huentis == {{Listaref}} == Atijus == * {{en}} [https://www.jw.org/en/ Testigos de Xehová] (páxina oficial) * {{es}} [https://www.jw.org/es/ Testigos de Xehová] (páxina oficial) [[Categoría:Cristianismu]] 3hh963mgzbk8r852pa9g1nsy4b32pfg Módulo:Citas 828 9829 143043 121524 2026-05-06T12:58:43Z Danielyepezgarces 17152 143043 Scribunto text/plain local z = { error_categories = {}; error_ids = {}; message_tail = {}; } -- Include translation message hooks, ID and error handling configuration settings. local cfg = mw.loadData( 'Mdódulo:Citas/Configuración' ); -- Contains a list of all recognized parameters --local whitelist = mw.loadData( 'Módulo:Citas/Whitelist/pruebas' ); --local dates = require('Módulo:Citas/ValidaciónFechas/pruebas').dates -- location of date validation code --Módulo para formatear las fechas local DateModule = require('Módulo:Date')._Date -- Whether variable is set or not function is_set( var ) return not (var == nil or var == ''); end -- First set variable or nil if none function first_set(...) local list = {...}; for _, var in pairs(list) do if is_set( var ) then return var; end end end -- Whether needle is in haystack function inArray( needle, haystack ) if needle == nil then return false; end for n,v in ipairs( haystack ) do if v == needle then return n; end end return false; end --[[ Formatea una fecha para que se devuelva de la siguiente forma: "1 de enero de 2020" Formats a date so it is returned as follows: "1 de enero de 2020" ]] function format_date(date_string) function dateFormatter(text) return DateModule(text):text('%-d de %B de %-Y') end local stat, res = pcall(dateFormatter, date_string) if stat then return res else return date_string end end --[[ Categorize and emit an error message when the citation contains one or more deprecated parameters. Because deprecated parameters (currently |day=, |month=, |coauthor=, and |coauthors=) aren't related to each other and because these parameters may be concatenated into the variables used by |date= and |author#= (and aliases) details of which parameter caused the error message are not provided. Only one error message is emitted regarless of the number of deprecated parameters in the citation. ]] function deprecated_parameter( name ) -- table.insert( z.message_tail, { seterror( 'deprecated_params', {error_message}, true ) } ); -- add error message table.insert( z.message_tail, { seterror( 'deprecated_params', { name }, true ) } ); -- add error message end -- Populates numbered arguments in a message string using an argument table. function substitute( msg, args ) -- return args and tostring( mw.message.newRawMessage( msg, args ) ) or msg; return args and mw.message.newRawMessage( msg, args ):plain() or msg; end --[[ Apply kerning to open the space between the quote mark provided by the Module and a leading or trailing quote mark contained in a |title= or |chapter= parameter's value. This function will positive kern either single or double quotes: "'Unkerned title with leading and trailing single quote marks'" " 'Kerned title with leading and trailing single quote marks' " (in real life the kerning isn't as wide as this example) ]] function kern_quotes (str) local left='<span style="padding-left:0.2em;">%1</span>'; -- spacing to use when title contains leading single or double quote mark local right='<span style="padding-right:0.2em;">%1</span>'; -- spacing to use when title contains trailing single or double quote mark if str:match ("^[\"\'][^\']") then str = string.gsub( str, "^[\"\']", left, 1 ); -- replace (captured) leading single or double quote with left-side <span> end if str:match ("[^\'][\"\']$") then str = string.gsub( str, "[\"\']$", right, 1 ); -- replace (captured) trailing single or double quote with right-side <span> end return str; end -- Wraps a string using a message_list configuration taking one argument function wrap( key, str, lower ) if not is_set( str ) then return ""; elseif inArray( key, { 'italic-title', 'trans-italic-title' } ) then str = safeforitalics( str ); end if lower == true then return substitute( cfg.messages[key]:lower(), {str} ); else return substitute( cfg.messages[key], {str} ); end end --[[ Argument wrapper. This function provides support for argument mapping defined in the configuration file so that multiple names can be transparently aliased to single internal variable. ]] function argument_wrapper( args ) local origin = {}; return setmetatable({ ORIGIN = function( self, k ) local dummy = self[k]; --force the variable to be loaded. return origin[k]; end }, { __index = function ( tbl, k ) if origin[k] ~= nil then return nil; end local args, list, v = args, cfg.aliases[k]; if type( list ) == 'table' then v, origin[k] = selectone( args, list, 'redundant_parameters' ); if origin[k] == nil then origin[k] = ''; -- Empty string, not nil end elseif list ~= nil then v, origin[k] = args[list], list; else -- maybe let through instead of raising an error? -- v, origin[k] = args[k], k; error( cfg.messages['unknown_argument_map'] ); end -- Empty strings, not nil; if v == nil then v = cfg.defaults[k] or ''; origin[k] = ''; end tbl = rawset( tbl, k, v ); return v; end, }); end --[[ Looks for a parameter's name in the whitelist. Parameters in the whitelist can have three values: true - active, supported parameters false - deprecated, supported parameters nil - unsupported parameters ]] function validate( name ) local name = tostring( name ); local state = whitelist.basic_arguments[ name ]; -- Normal arguments if true == state then return true; end -- valid actively supported parameter if false == state then deprecated_parameter ( name ); -- parameter is deprecated but still supported return true; end -- Arguments with numbers in them name = name:gsub( "%d+", "#" ); -- replace digit(s) with # (last25 becomes last# state = whitelist.numbered_arguments[ name ]; if true == state then return true; end -- valid actively supported parameter if false == state then deprecated_parameter ( name ); -- parameter is deprecated but still supported return true; end return false; -- Not supported because not found or name is set to nil end -- Formats a comment for error trapping function errorcomment( content, hidden ) return wrap( hidden and 'hidden-error' or 'visible-error', content ); end --[[ Sets an error condition and returns the appropriate error message. The actual placement of the error message in the output is the responsibility of the calling function. ]] function seterror( error_id, arguments, raw, prefix, suffix ) local error_state = cfg.error_conditions[ error_id ]; prefix = prefix or ""; suffix = suffix or ""; if error_state == nil then error( cfg.messages['undefined_error'] ); elseif is_set( error_state.category ) then table.insert( z.error_categories, error_state.category ); end local message = substitute( error_state.message, arguments ); message = message .. " ([[" .. cfg.messages['help page link'] .. "#" .. error_state.anchor .. "|" .. cfg.messages['help page label'] .. "]])"; z.error_ids[ error_id ] = true; if inArray( error_id, { 'bare_url_missing_title', 'trans_missing_title' } ) and z.error_ids['citation_missing_title'] then return '', false; end message = table.concat({ prefix, message, suffix }); if raw == true then return message, error_state.hidden; end return errorcomment( message, error_state.hidden ); end -- Formats a wiki style external link function externallinkid(options) local url_string = options.id; if options.encode == true or options.encode == nil then url_string = mw.uri.encode( url_string ); end return wrap( 'id', internallink(options.link, options.label) .. (options.separator or "&nbsp;") .. mw.ustring.format( '[%s%s%s %s]', options.prefix, url_string, options.suffix or "", mw.text.nowiki(options.id) )); end -- Formats a wiki style internal link function internallinkid(options) return wrap( 'id', internallink(options.link, options.label) .. (options.separator or "&nbsp;") .. mw.ustring.format( '[[%s%s%s|%s]]', options.prefix, options.id, options.suffix or "", mw.text.nowiki(options.id) )); end -- Format an internal link, if link is really set function internallink( link, label ) if link and link ~= '' then return mw.ustring.format( '[[%s|%s]]', link, label ) else return label end end -- Format an external link with error checking function externallink( URL, label, source ) local error_str = ""; if not is_set( label ) then label = URL; if is_set( source ) then error_str = seterror( 'bare_url_missing_title', { wrap( 'parameter', source ) }, false, " " ); else error( cfg.messages["bare_url_no_origin"] ); end end if not checkurl( URL ) then error_str = seterror( 'bad_url', {}, false, " " ) .. error_str; elseif mw.title.getCurrentTitle():inNamespaces(0) and not mw.title.getCurrentTitle().text:match('Wikipedia') and URL:match('//[%a%.%-]+%.wikipedia%.org') then error_str = seterror( 'bad_url_autorreferencia', {}, false, " " ) .. error_str; end return table.concat({ "[", URL, " ", safeforurl( label ), "]", error_str }); end --[[--------------------------< N O R M A L I Z E _ L C C N >-------------------------------------------------- lccn normalization (http://www.loc.gov/marc/lccn-namespace.html#normalization) 1. Remove all blanks. 2. If there is a forward slash (/) in the string, remove it, and remove all characters to the right of the forward slash. 3. If there is a hyphen in the string: a. Remove it. b. Inspect the substring following (to the right of) the (removed) hyphen. Then (and assuming that steps 1 and 2 have been carried out): 1. All these characters should be digits, and there should be six or less. (not done in this function) 2. If the length of the substring is less than 6, left-fill the substring with zeroes until the length is six. Returns a normalized lccn for lccn() to validate. There is no error checking (step 3.b.1) performed in this function. ]] local function normalize_lccn (lccn) lccn = lccn:gsub ("%s", ""); -- 1. strip whitespace if nil ~= string.find (lccn,'/') then lccn = lccn:match ("(.-)/"); -- 2. remove forward slash and all character to the right of it end local prefix local suffix prefix, suffix = lccn:match ("(.+)%-(.+)"); -- 3.a remove hyphen by splitting the string into prefix and suffix if nil ~= suffix then -- if there was a hyphen suffix=string.rep("0", 6-string.len (suffix)) .. suffix; -- 3.b.2 left fill the suffix with 0s if suffix length less than 6 lccn=prefix..suffix; -- reassemble the lccn end return lccn; end --[[ Format LCCN link and do simple error checking. LCCN is a character string 8-12 characters long. The length of the LCCN dictates the character type of the first 1-3 characters; the rightmost eight are always digits. http://info-uri.info/registry/OAIHandler?verb=GetRecord&metadataPrefix=reg&identifier=info:lccn/ length = 8 then all digits length = 9 then lccn[1] is alpha length = 10 then lccn[1] and lccn[2] are both alpha or both digits length = 11 then lccn[1] is alpha, lccn[2] and lccn[3] are both alpha or both digits length = 12 then lccn[1] and lccn[2] are both alpha ]] function lccn(id) local handler = cfg.id_handlers['LCCN']; local err_cat = ''; -- presume that LCCN is valid id = normalize_lccn (id); local len = id:len(); -- get the length of the lccn if 8 == len then if id:match("[^%d]") then -- if LCCN has anything but digits (nil if only digits) err_cat = ' ' .. seterror( 'bad_lccn' ); -- set an error message end elseif 9 == len then -- LCCN should be adddddddd if nil == id:match("%a%d%d%d%d%d%d%d%d") then -- does it match our pattern? err_cat = ' ' .. seterror( 'bad_lccn' ); -- set an error message end elseif 10 == len then -- LCCN should be aadddddddd or dddddddddd if id:match("[^%d]") then -- if LCCN has anything but digits (nil if only digits) ... if nil == id:match("^%a%a%d%d%d%d%d%d%d%d") then -- ... see if it matches our pattern err_cat = ' ' .. seterror( 'bad_lccn' ); -- no match, set an error message end end elseif 11 == len then -- LCCN should be aaadddddddd or adddddddddd if not (id:match("^%a%a%a%d%d%d%d%d%d%d%d") or id:match("^%a%d%d%d%d%d%d%d%d%d%d")) then -- see if it matches one of our patterns err_cat = ' ' .. seterror( 'bad_lccn' ); -- no match, set an error message end elseif 12 == len then -- LCCN should be aadddddddddd if not id:match("^%a%a%d%d%d%d%d%d%d%d%d%d") then -- see if it matches our pattern err_cat = ' ' .. seterror( 'bad_lccn' ); -- no match, set an error message end else err_cat = ' ' .. seterror( 'bad_lccn' ); -- wrong length, set an error message end return externallinkid({link = handler.link, label = handler.label, prefix=handler.prefix,id=id,separator=handler.separator, encode=handler.encode}) .. err_cat; end --[[ Format PMID and do simple error checking. PMIDs are sequential numbers beginning at 1 and counting up. This code checks the PMID to see that it contains only digits and is less than test_limit; the value in local variable test_limit will need to be updated periodically as more PMIDs are issued. ]] function pmid(id) local test_limit = 36000000; -- update this value as PMIDs approach local handler = cfg.id_handlers['PMID']; local err_cat = ''; -- presume that PMID is valid if id:match("[^%d]") then -- if PMID has anything but digits err_cat = ' ' .. seterror( 'bad_pmid' ); -- set an error message else -- PMID is only digits local id_num = tonumber(id); -- convert id to a number for range testing if 1 > id_num or test_limit < id_num then -- if PMID is outside test limit boundaries err_cat = ' ' .. seterror( 'bad_pmid' ); -- set an error message end end return externallinkid({link = handler.link, label = handler.label, prefix=handler.prefix,id=id,separator=handler.separator, encode=handler.encode}) .. err_cat; end --[[ Determines if a PMC identifier's online version is embargoed. Compares the date in |embargo= against today's date. If embargo date is in the future, returns true; otherwse, returns false because the embargo has expired or |embargo= not set in this cite. ]] function is_embargoed(embargo) if is_set(embargo) then local lang = mw.getContentLanguage(); local good1, embargo_date, good2, todays_date; good1, embargo_date = pcall( lang.formatDate, lang, 'U', embargo ); good2, todays_date = pcall( lang.formatDate, lang, 'U' ); if good1 and good2 and tonumber( embargo_date ) >= tonumber( todays_date ) then --is embargo date is in the future? return true; -- still embargoed end end return false; -- embargo expired or |embargo= not set end --[[ Format a PMC, do simple error checking, and check for embargoed articles. The embargo parameter takes a date for a value. If the embargo date is in the future the PMC identifier will not be linked to the article. If the embargo specifies a date in the past, or if it is empty or omitted, then the PMC identifier is linked to the article through the link at cfg.id_handlers['PMC'].prefix. PMCs are sequential numbers beginning at 1 and counting up. This code checks the PMC to see that it contains only digits and is less than test_limit; the value in local variable test_limit will need to be updated periodically as more PMCs are issued. ]] function pmc(id, embargo) local test_limit = 10000000; -- update this value as PMCs approach local handler = cfg.id_handlers['PMC']; local err_cat = ''; -- presume that PMC is valid local text; if id:match("[^%d]") then -- if PMC has anything but digits err_cat = ' ' .. seterror( 'bad_pmc' ); -- set an error message else -- PMC is only digits local id_num = tonumber(id); -- convert id to a number for range testing if 1 > id_num or test_limit < id_num then -- if PMC is outside test limit boundaries err_cat = ' ' .. seterror( 'bad_pmc' ); -- set an error message end end if is_embargoed(embargo) then text="[[" .. handler.link .. "|" .. handler.label .. "]]:" .. handler.separator .. id .. err_cat; --still embargoed so no external link else text = externallinkid({link = handler.link, label = handler.label, --no embargo date, ok to link to article prefix=handler.prefix,id=id,separator=handler.separator, encode=handler.encode}) .. err_cat; end return text; end -- Formats a DOI and checks for DOI errors. -- DOI names contain two parts: prefix and suffix separated by a forward slash. -- Prefix: directory indicator '10.' followed by a registrant code -- Suffix: character string of any length chosen by the registrant -- This function checks a DOI name for: prefix/suffix. If the doi name contains spaces or endashes, -- or, if it ends with a period or a comma, this function will emit a bad_doi error message. -- DOI names are case-insensitive and can incorporate any printable Unicode characters so the test for spaces, endash, -- and terminal punctuation may not be technically correct but it appears, that in practice these characters are rarely if ever used in doi names. function doi(id, inactive) local cat = "" local handler = cfg.id_handlers['DOI']; local text; if is_set(inactive) then local inactive_year = inactive:match("%d%d%d%d") or ''; -- try to get the year portion from the inactive date text = "[[" .. handler.link .. "|" .. handler.label .. "]]:" .. id; if is_set(inactive_year) then table.insert( z.error_categories, "Wikipedia:Páginas con DOI inactivos desde " .. inactive_year ); else table.insert( z.error_categories, "Wikipedia:Páginas con DOI inactivos" ); -- when inactive doesn't contain a recognizable year end inactive = " (" .. cfg.messages['inactive'] .. " " .. inactive .. ")" else text = externallinkid({link = handler.link, label = handler.label, prefix=handler.prefix,id=id,separator=handler.separator, encode=handler.encode}) inactive = "" end if nil == id:match("^10%.[^%s–]-/[^%s–]-[^%.,]$") then -- doi must begin with '10.', must contain a fwd slash, must not contain spaces or endashes, and must not end with period or comma cat = ' ' .. seterror( 'bad_doi' ); end return text .. inactive .. cat end -- Formats an OpenLibrary link, and checks for associated errors. function openlibrary(id) local code = id:sub(-1,-1) local handler = cfg.id_handlers['OL']; if ( code == "A" ) then return externallinkid({link=handler.link, label=handler.label, prefix="http://openlibrary.org/authors/OL",id=id, separator=handler.separator, encode = handler.encode}) elseif ( code == "M" ) then return externallinkid({link=handler.link, label=handler.label, prefix="http://openlibrary.org/books/OL",id=id, separator=handler.separator, encode = handler.encode}) elseif ( code == "W" ) then return externallinkid({link=handler.link, label=handler.label, prefix= "http://openlibrary.org/works/OL",id=id, separator=handler.separator, encode = handler.encode}) else return externallinkid({link=handler.link, label=handler.label, prefix= "http://openlibrary.org/OL",id=id, separator=handler.separator, encode = handler.encode}) .. ' ' .. seterror( 'bad_ol' ); end end --[[ Validate and format an issn. This code fixes the case where an editor has included an ISSN in the citation but has separated the two groups of four digits with a space. When that condition occurred, the resulting link looked like this: |issn=0819 4327 gives: [http://www.worldcat.org/issn/0819 4327 0819 4327] -- can't have spaces in an external link This code now prevents that by inserting a hyphen at the issn midpoint. It also validates the issn for length and makes sure that the checkdigit agrees with the calculated value. Incorrect length (8 digits), characters other than 0-9 and X, or checkdigit / calculated value mismatch will all cause a check issn error message. The issn is always displayed with a hyphen, even if the issn was given as a single group of 8 digits. ]] function issn(id) local ModuloIdentificadores = require('Módulo:Identificadores') local issn_copy = id; -- save a copy of unadulterated issn; use this version for display if issn does not validate local handler = cfg.id_handlers['ISSN']; local text; local valid_issn = true; id=id:gsub( "[%s-–]", "" ); -- strip spaces, hyphens, and ndashes from the issn if 8 ~= id:len() or nil == id:match( "^%d*X?$" ) then -- validate the issn: 8 didgits long, containing only 0-9 or X in the last position valid_issn=false; -- wrong length or improper character else valid_issn=ModuloIdentificadores.esValidoISXN(id, 8); -- validate issn end if true == valid_issn then id = string.sub( id, 1, 4 ) .. "-" .. string.sub( id, 5 ); -- if valid, display correctly formatted version else id = issn_copy; -- if not valid, use the show the invalid issn with error message end text = externallinkid({link = handler.link, label = handler.label, prefix=handler.prefix,id=id,separator=handler.separator, encode=handler.encode}) if false == valid_issn then text = text .. ' ' .. seterror( 'bad_issn' ) -- add an error message if the issn is invalid end return text end --[[ This function sets default title types (equivalent to the citation including |type=<default value>) for those citations that have defaults. Also handles the special case where it is desireable to omit the title type from the rendered citation (|type=none). ]] function set_titletype(cite_class, title_type) if is_set(title_type) then if "none" == title_type then title_type = ""; -- if |type=none then type parameter not displayed end return title_type; -- if |type= has been set to any other value use that value end -- if "AV media notes" == cite_class or "DVD notes" == cite_class then -- if this citation is cite AV media notes or cite DVD notes if "notas audiovisual" == cite_class or "notas de DVD" == cite_class then -- if this citation is cite AV media notes or cite DVD notes return "Media notes"; -- display AV media notes / DVD media notes annotation -- Falta traducir elseif "podcast" == cite_class then -- if this citation is cite podcast return "Podcast"; -- display podcast annotation elseif "pressrelease" == cite_class then -- if this citation is cite press release return "Press release"; -- display press release annotation elseif "techreport" == cite_class then -- if this citation is cite techreport return "Technical report"; -- display techreport annotation elseif "tesis" == cite_class then -- if this citation is cite thesis (degree option handled after this function returns) return "Tesis"; -- display simple thesis annotation (without |degree= modification) end end --[[ Determines whether a URL string is valid At present the only check is whether the string appears to be prefixed with a URI scheme. It is not determined whether the URI scheme is valid or whether the URL is otherwise well formed. ]] function checkurl( url_str ) -- Protocol-relative or URL scheme return url_str:sub(1,2) == "//" or url_str:match( "^[^/]*:" ) ~= nil; end -- Removes irrelevant text and dashes from ISBN number -- Similar to that used for Special:BookSources function cleanisbn( isbn_str ) return isbn_str:gsub( "[^-0-9X]", "" ); end -- Extract page numbers from external wikilinks in any of the |page=, |pages=, or |at= parameters for use in COinS. function get_coins_pages (pages) if not is_set (pages) then return pages; end -- if no page numbers then we're done while true do pattern = pages:match("%[([%w/:\.]+%s+)[%w%d].*%]"); -- pattern is the opening bracket, the url and following space(s): "[url " if nil == pattern then break; end -- no more urls pages = pages:gsub(pattern, ""); -- remove as many instances of pattern as possible end pages = pages:gsub("[%[%]]", ""); -- remove the brackets pages = pages:gsub("–", "-" ); -- replace endashes with hyphens pages = pages:gsub("&%w+;", "-" ); -- and replace html entities (&ndash; etc) with hyphens; do we need to replace numerical entities like &#32; and the like? return pages; end -- Gets the display text for a wikilink like [[A|B]] or [[B]] gives B function removewikilink( str ) return (str:gsub( "%[%[([^%[%]]*)%]%]", function(l) return l:gsub( "^[^|]*|(.*)$", "%1" ):gsub("^%s*(.-)%s*$", "%1"); end)); end -- Escape sequences for content that will be used for URL descriptions function safeforurl( str ) if str:match( "%[%[.-%]%]" ) ~= nil then table.insert( z.message_tail, { seterror( 'wikilink_in_url', {}, true ) } ); end return str:gsub( '[%[%]\n]', { ['['] = '&#91;', [']'] = '&#93;', ['\n'] = ' ' } ); end -- Convierte un guión largo (signo de negativo) en un guión corto. function dashtohyphen( str ) if not is_set(str) or str:match( "[%[%]{}<>]" ) ~= nil then return str; end return str:gsub( '–', '-' ); end -- Protects a string that will be wrapped in wiki italic markup '' ... '' function safeforitalics( str ) --[[ Note: We can not use <i> for italics, as the expected behavior for italics specified by ''...'' in the title is that they will be inverted (i.e. unitalicized) in the resulting references. In addition, <i> and '' tend to interact poorly under Mediawiki's HTML tidy. ]] if not is_set(str) then return str; else if str:sub(1,1) == "'" then str = "<span></span>" .. str; end if str:sub(-1,-1) == "'" then str = str .. "<span></span>"; end -- Remove newlines as they break italics. return str:gsub( '\n', ' ' ); end end --[[ Joins a sequence of strings together while checking for duplicate separation characters. ]] function safejoin( tbl, duplicate_char ) --[[ Note: we use string functions here, rather than ustring functions. This has considerably faster performance and should work correctly as long as the duplicate_char is strict ASCII. The strings in tbl may be ASCII or UTF8. ]] local str = ''; local comp = ''; local end_chr = ''; local trim; for _, value in ipairs( tbl ) do if value == nil then value = ''; end if str == '' then str = value; elseif value ~= '' then if value:sub(1,1) == '<' then -- Special case of values enclosed in spans and other markup. comp = value:gsub( "%b<>", "" ); else comp = value; end if comp:sub(1,1) == duplicate_char then trim = false; end_chr = str:sub(-1,-1); -- str = str .. "<HERE(enchr=" .. end_chr.. ")" if end_chr == duplicate_char then str = str:sub(1,-2); elseif end_chr == "'" then if str:sub(-3,-1) == duplicate_char .. "''" then str = str:sub(1, -4) .. "''"; elseif str:sub(-5,-1) == duplicate_char .. "]]''" then trim = true; elseif str:sub(-4,-1) == duplicate_char .. "]''" then trim = true; end elseif end_chr == "]" then if str:sub(-3,-1) == duplicate_char .. "]]" then trim = true; elseif str:sub(-2,-1) == duplicate_char .. "]" then trim = true; end elseif end_chr == " " then if str:sub(-2,-1) == duplicate_char .. " " then str = str:sub(1,-3); end end if trim then if value ~= comp then local dup2 = duplicate_char; if dup2:match( "%A" ) then dup2 = "%" .. dup2; end value = value:gsub( "(%b<>)" .. dup2, "%1", 1 ) else value = value:sub( 2, -1 ); end end end str = str .. value; end end return str; end -- Attempts to convert names to initials. function reducetoinitials(first) local initials = {} for word in string.gmatch(first, "%S+") do table.insert(initials, string.sub(word,1,1)) -- Vancouver format does not include full stops. end return table.concat(initials) -- Vancouver format does not include spaces. end -- Formats a list of people (e.g. authors / editors) function listpeople(control, people) local sep = control.sep; local namesep = control.namesep local format = control.format local maximum = control.maximum local lastauthoramp = control.lastauthoramp; local text = {} local etal = false; if sep:sub(-1,-1) ~= " " then sep = sep .. " " end if maximum ~= nil and maximum < 1 then return "", 0; end for i,person in ipairs(people) do if is_set(person.last) then local mask = person.mask local one local sep_one = sep; if maximum ~= nil and i > maximum then etal = true; break; elseif (mask ~= nil) then local n = tonumber(mask) if (n ~= nil) then one = string.rep("&mdash;",n) else one = mask; sep_one = " "; end else one = person.last local first = person.first if is_set(first) then if ( "vanc" == format ) then first = reducetoinitials(first) end one = one .. namesep .. first end if is_set(person.link) then one = "[[" .. person.link .. "|" .. one .. "]]" end if is_set(person.link) and nil ~= person.link:find("//") then one = one .. " " .. seterror( 'bad_authorlink' ) end -- check for url in author link; end table.insert( text, one ) table.insert( text, sep_one ) end end local count = #text / 2; if count > 0 then if count > 1 and is_set(lastauthoramp) and not etal then text[#text-2] = " & "; end text[#text] = nil; end local result = table.concat(text) -- construct list if etal then local etal_text = cfg.messages['et al']; result = result .. " " .. etal_text; end -- if necessary wrap result in <span> tag to format in Small Caps if ( "scap" == format ) then result = '<span class="smallcaps" style="font-variant:small-caps">' .. result .. '</span>'; end return result, count end -- Generates a CITEREF anchor ID. function anchorid( options ) return "CITAREF" .. table.concat( options ); --return "CITEREF" .. table.concat( options ); end -- Gets name list from the input arguments function extractnames(args, list_name) local names = {}; local i = 1; local last; while true do last = selectone( args, cfg.aliases[list_name .. '-Last'], 'redundant_parameters', i ); if not is_set(last) then -- just in case someone passed in an empty parameter break; end names[i] = { last = last, first = selectone( args, cfg.aliases[list_name .. '-First'], 'redundant_parameters', i ), link = selectone( args, cfg.aliases[list_name .. '-Link'], 'redundant_parameters', i ), mask = selectone( args, cfg.aliases[list_name .. '-Mask'], 'redundant_parameters', i ) }; i = i + 1; end return names; end -- Populates ID table from arguments using configuration settings function extractids( args ) local id_list = {}; for k, v in pairs( cfg.id_handlers ) do v = selectone( args, v.parameters, 'redundant_parameters' ); if is_set(v) then id_list[k] = v; end end return id_list; end -- Takes a table of IDs and turns it into a table of formatted ID outputs. function buildidlist( id_list, options ) local new_list, handler = {}; function fallback(k) return { __index = function(t,i) return cfg.id_handlers[k][i] end } end; for k, v in pairs( id_list ) do -- fallback to read-only cfg handler = setmetatable( { ['id'] = v }, fallback(k) ); if handler.mode == 'external' then table.insert( new_list, {handler.label, externallinkid( handler ) } ); elseif handler.mode == 'internal' then table.insert( new_list, {handler.label, internallinkid( handler ) } ); elseif handler.mode ~= 'manual' then error( cfg.messages['unknown_ID_mode'] ); elseif k == 'DOI' then table.insert( new_list, {handler.label, doi( v, options.DoiBroken ) } ); elseif k == 'LCCN' then table.insert( new_list, {handler.label, lccn( v ) } ); elseif k == 'OL' then table.insert( new_list, {handler.label, openlibrary( v ) } ); elseif k == 'PMC' then table.insert( new_list, {handler.label, pmc( v, options.Embargo ) } ); elseif k == 'PMID' then table.insert( new_list, {handler.label, pmid( v ) } ); elseif k == 'ISSN' then table.insert( new_list, {handler.label, issn( v:upper() ) } ); elseif k == 'ISBN' then --local ISBN = internallinkid( handler ); --if not checkisbn( v ) and not is_set(options.IgnoreISBN) then -- ISBN = ISBN .. seterror( 'bad_isbn', {}, false, " ", "" ); --end local ISBN if options.ISBNCorrecto or options.ISBNSugerido or is_set(options.IgnoreISBN) then ISBN = internallinkid( handler ); else -- ISBN incorrecto. ISBN = internallinkid( handler ) .. seterror( 'bad_isbn', {}, false, " ", "" ); end table.insert( new_list, {handler.label, ISBN } ); else error( cfg.messages['unknown_manual_ID'] ); end end function comp( a, b ) -- used in following table.sort() return a[1] < b[1]; end table.sort( new_list, comp ); for k, v in ipairs( new_list ) do new_list[k] = v[2]; end return new_list; end function CorregirISBN(ISBNIncorrecto) local ModuloIdentificadores = require('Módulo:Identificadores') local ISBNCorregido -- Convertir mayúsculas ISBNCorregido = ISBNIncorrecto:upper() -- Corregir guiones ISBNCorregido = ISBNCorregido:gsub("%–","-"); -- Eliminar ISBN del principio ISBNCorregido =ISBNCorregido:match("ISBN (.*)") or ISBNCorregido; -- Eliminar separadores como "." y "," del final ISBNCorregido = ISBNCorregido:gsub("[%.,]",""); if ModuloIdentificadores.esValidoISBN(ISBNCorregido) then return ISBNCorregido end -- Ver si se trata de un ISBN de 13 local ISBNCorregidoSin978 ISBNCorregidoSin978 = ISBNCorregido:match("^978[%s-]*(.*)") if ISBNCorregidoSin978 and ModuloIdentificadores.esValidoISBN(ISBNCorregidoSin978) then -- "978" + ISBN10 return ISBNCorregidoSin978 end -- ISBN de 13 al que se ha quitado 978 if ModuloIdentificadores.esValidoISBN('978'..ISBNCorregido) then if ISBNCorregido:match('-') then return '978-' .. ISBNCorregido elseif ISBNCorregido:match(' ') then return '978 ' .. ISBNCorregido else return '978' .. ISBNCorregido end end -- 13 ISBN o 13: ISBN local ISBNCorregidoSi13 ISBNCorregidoSin13 = ISBNCorregido:match("^13:?[%s]+(.*)") if ISBNCorregidoSin13 and ModuloIdentificadores.esValidoISBN(ISBNCorregidoSin13) then return ISBNCorregidoSin13 end end function CorregirISBNs(ISBNIncorrecto1, ISBNIncorrecto2) -- Tomar aquel de los dos ISBNs correctos si uno de ellos es un ISBN10 y el -- otro el correspondiente ISBN13 local ISBN1Corregido = CorregirISBN(ISBNIncorrecto1) local ISBN2Corregido = CorregirISBN(ISBNIncorrecto2) if ISBN1Corregido and ISBN2Corregido then -- Ambos son correctos. if ISBN1Corregido == ISBN2Corregido then -- Ambos son iguales (tras corregirse) return ISBN1Corregido end -- Ver si uno de ellos es un ISBN10 y el otro un ISBN13 local ISBNSinDigitoControl ISBNSinDigitoControl = ISBN1Corregido:match("(.*).") if ISBNSinDigitoControl and ISBN2Corregido:match("978[%s-]*" .. ISBNSinDigitoControl) then return ISBN2Corregido end ISBNSinDigitoControl = ISBN2Corregido:match("(.*).") if ISBNSinDigitoControl and ISBN1Corregido:match("978[%s-]*" .. ISBNSinDigitoControl) then return ISBN1Corregido end elseif ISBN1Corregido then return ISBN1Corregido elseif ISBN2Corregido then return ISBN1Corregido end end function SugerirISBN(ISBNIncorrecto) local ISBNSugerido -- Ejemplos: -- 0 88254 165 x --> 0 88254 165 X -- 0-7153-5734-4. --> 0-7153-5734-4 -- 0–313–31807–7 --> 0-313-31807-7 -- ISBN(13): 9788495379092 -- 978-0-7432-9302-0 y 0-7432-9302-0 -- 9788430948949 8430948945 -- 8496702057 9788496702059 -- 0198152213, 978019815221 -- 13 978-0-511-41399-5 -- 13: 9788432238406 -- ISBN con caracteres incorrectos. ISBNSugerido=CorregirISBN(ISBNIncorrecto) if ISBNSugerido then return ISBNSugerido end -- ISBN10, ISBN13 o ISBN13, ISBN10 local ISBN1, ISBN2 ISBN1, ISBN2 = ISBNIncorrecto:match("(.*),%s*(.*)") if is_set(ISBN1) and is_set(ISBN2) then ISBNSugerido = CorregirISBNs(ISBN1, ISBN2) if ISBNSugerido then return ISBNSugerido end end -- ISBN10 y ISBN13 o ISBN13 y ISBN10 ISBN1, ISBN2 = ISBNIncorrecto:match("(.*)%s+y%s+(.*)") if is_set(ISBN1) and is_set(ISBN2) then ISBNSugerido = CorregirISBNs(ISBN1, ISBN2) if ISBNSugerido then return ISBNSugerido end end -- ISBN10 ISBN13 o ISBN13 ISBN10 ISBN1, ISBN2 = ISBNIncorrecto:match("(.*)%s+(.*)") if is_set(ISBN1) and is_set(ISBN2) then ISBNSugerido = CorregirISBNs(ISBN1, ISBN2) if ISBNSugerido then return ISBNSugerido end end end -- Chooses one matching parameter from a list of parameters to consider -- Generates an error if more than one match is present. function selectone( args, possible, error_condition, index ) local value = nil; local selected = ''; local error_list = {}; if index ~= nil then index = tostring(index); end -- Handle special case of "#" replaced by empty string if index == '1' then for _, v in ipairs( possible ) do v = v:gsub( "#", "" ); if is_set(args[v]) then if value ~= nil and selected ~= v then table.insert( error_list, v ); else value = args[v]; selected = v; end end end end for _, v in ipairs( possible ) do if index ~= nil then v = v:gsub( "#", index ); end if is_set(args[v]) then if value ~= nil and selected ~= v then table.insert( error_list, v ); else value = args[v]; selected = v; end end end if #error_list > 0 then local error_str = ""; for _, k in ipairs( error_list ) do if error_str ~= "" then error_str = error_str .. cfg.messages['parameter-separator'] end error_str = error_str .. wrap( 'parameter', k ); end if #error_list > 1 then error_str = error_str .. cfg.messages['parameter-final-separator']; else error_str = error_str .. cfg.messages['parameter-pair-separator']; end error_str = error_str .. wrap( 'parameter', selected ); table.insert( z.message_tail, { seterror( error_condition, {error_str}, true ) } ); end return value, selected; end -- COinS metadata (see <http://ocoins.info/>) allows automated tools to parse -- the citation information. function COinS(data) if 'table' ~= type(data) or nil == next(data) then return ''; end local ctx_ver = "Z39.88-2004"; -- treat table strictly as an array with only set values. local OCinSoutput = setmetatable( {}, { __newindex = function(self, key, value) if is_set(value) then rawset( self, #self+1, table.concat{ key, '=', mw.uri.encode( removewikilink( value ) ) } ); end end }); if is_set(data.Chapter) then OCinSoutput.rft_val_fmt = "info:ofi/fmt:kev:mtx:book"; OCinSoutput["rft.genre"] = "bookitem"; OCinSoutput["rft.btitle"] = data.Chapter; OCinSoutput["rft.atitle"] = data.Title; elseif is_set(data.Periodical) then OCinSoutput.rft_val_fmt = "info:ofi/fmt:kev:mtx:journal"; OCinSoutput["rft.genre"] = "article"; OCinSoutput["rft.jtitle"] = data.Periodical; OCinSoutput["rft.atitle"] = data.Title; else OCinSoutput.rft_val_fmt = "info:ofi/fmt:kev:mtx:book"; OCinSoutput["rft.genre"] = "book" OCinSoutput["rft.btitle"] = data.Title; end OCinSoutput["rft.place"] = data.PublicationPlace; OCinSoutput["rft.date"] = data.Date; OCinSoutput["rft.series"] = data.Series; OCinSoutput["rft.volume"] = data.Volume; OCinSoutput["rft.issue"] = data.Issue; OCinSoutput["rft.pages"] = data.Pages; OCinSoutput["rft.edition"] = data.Edition; OCinSoutput["rft.pub"] = data.PublisherName; for k, v in pairs( data.ID_list ) do local id, value = cfg.id_handlers[k].COinS; if k == 'ISBN' then value = cleanisbn( v ); else value = v; end if string.sub( id or "", 1, 4 ) == 'info' then OCinSoutput["rft_id"] = table.concat{ id, "/", v }; else OCinSoutput[ id ] = value; end end local last, first; for k, v in ipairs( data.Authors ) do last, first = v.last, v.first; if k == 1 then if is_set(last) then OCinSoutput["rft.aulast"] = last; end if is_set(first) then OCinSoutput["rft.aufirst"] = first; end end if is_set(last) and is_set(first) then OCinSoutput["rft.au"] = table.concat{ last, ", ", first }; elseif is_set(last) then OCinSoutput["rft.au"] = last; end end OCinSoutput.rft_id = data.URL; OCinSoutput.rfr_id = table.concat{ "info:sid/", mw.site.server:match( "[^/]*$" ), ":", data.RawPage }; OCinSoutput = setmetatable( OCinSoutput, nil ); -- sort with version string always first, and combine. table.sort( OCinSoutput ); table.insert( OCinSoutput, 1, "ctx_ver=" .. ctx_ver ); -- such as "Z39.88-2004" return table.concat(OCinSoutput, "&"); end --[[ This is the main function doing the majority of the citation formatting. ]] function citation0( config, args) local ModuloIdentificadores = require('Módulo:Identificadores') --[[ Load Input Parameters The argment_wrapper facillitates the mapping of multiple aliases to single internal variable. ]] local A = argument_wrapper( args ); local i local PPrefix = A['PPrefix'] local PPPrefix = A['PPPrefix'] if is_set( A['NoPP'] ) then PPPrefix = "" PPrefix = "" end -- Pick out the relevant fields from the arguments. Different citation templates -- define different field names for the same underlying things. local Authors = A['Authors']; local a = extractnames( args, 'AuthorList' ); local Coauthors = A['Coauthors']; local Editors = A['Editors']; local e = extractnames( args, 'EditorList' ); local Year = A['Year']; local wYear=Year; local PublicationDate = A['PublicationDate']; local OrigYear = A['OrigYear']; local Date = A['Date']; local wfecha = Date; local LayDate = A['LayDate']; ------------------------------------------------- Get title data local Title = A['Title']; local BookTitle = A['BookTitle']; local Conference = A['Conference']; local TransTitle = A['TransTitle']; local TitleNote = A['TitleNote']; local TitleLink = A['TitleLink']; local Chapter = A['Chapter']; local ChapterLink = A['ChapterLink']; local TransChapter = A['TransChapter']; local TitleType = A['TitleType']; local Degree = A['Degree']; local Docket = A['Docket']; local ArchiveURL = A['ArchiveURL']; local URL = A['URL'] local URLorigin = A:ORIGIN('URL'); local ChapterURL = A['ChapterURL']; local ChapterURLorigin = A:ORIGIN('ChapterURL'); local ConferenceURL = A['ConferenceURL']; local ConferenceURLorigin = A:ORIGIN('ConferenceURL'); local SinURL = false; local Periodical = A['Periodical']; local Series = A['Series']; local Volume = A['Volume']; local Issue = A['Issue']; local Position = ''; local Page = A['Page']; local Pages = dashtohyphen( A['Pages'] ); local At = A['At']; local Others = A['Others']; local Edition = A['Edition']; local PublicationPlace = A['PublicationPlace'] local Place = A['Place']; local Passage = A['Passage']; local PassageURL = A['PassageURL']; local PublisherName = A['PublisherName']; local UrlAccess = A['UrlAccess']; local RegistrationRequired = A['RegistrationRequired']; local SubscriptionRequired = A['SubscriptionRequired']; local Via = A['Via']; local AccessDate = A['AccessDate']; local MesAcceso = A['MesAcceso']; -- Inexistente en la plantilla original local AnyoAcceso = A['AñoAcceso']; -- Inexistente en la plantilla original local ArchiveDate = A['ArchiveDate']; local Agency = A['Agency']; local DeadURL = A['DeadURL'] local Language = A['Language']; local Format = A['Format']; local Ref = A['Ref']; local DoiBroken = A['DoiBroken']; local ID = A['ID']; local IgnoreISBN = A['IgnoreISBN']; local Embargo = A['Embargo']; local Texto1 = A['Texto1'] local ID_list = extractids( args ); local ISBNCorrecto = false; local ISBNSugerido; if is_set (ID_list['ISBN']) and not is_set (IgnoreISBN) then if ModuloIdentificadores.esValidoISBN(ID_list['ISBN']) then ISBNCorrecto= true else ISBNSugerido = SugerirISBN(ID_list['ISBN']) if ISBNSugerido then ID_list['ISBN'] = ISBNSugerido end end end local Lista_Identificadores_Formateados={} -- Lista de identificadores con enlaces y en su caso con los errores local Quote = A['Quote']; local TransQuote = A['TransQuote']; local PostScript = A['PostScript']; local LayURL = A['LayURL']; local LaySource = A['LaySource']; local Transcript = A['Transcript']; local TranscriptURL = A['TranscriptURL'] local TranscriptURLorigin = A:ORIGIN('TranscriptURL'); local sepc = A['Separator']; local LastAuthorAmp = A['LastAuthorAmp']; local no_tracking_cats = A['NoTracking']; --these are used by cite interview local Callsign = A['Callsign']; local City = A['City']; local Cointerviewers = A['Cointerviewers']; -- deprecated local Interviewer = A['Interviewer']; -- deprecated local Program = A['Program']; --Parámetros que no se utilizan en la plantilla inglesa local SinEd = A['SinEd'] local Extra = A['Extra'] local Traductor = A['Traductor'] local Traductores = A['Traductores'] --local variables that are not cs1 parameters local page_type; -- is this needed? Doesn't appear to be used anywhere; local use_lowercase local this_page = mw.title.getCurrentTitle(); --Also used for COinS and for language -- local anchor_year; -- used in the CITEREF identifier local COinS_date; -- used in the COinS metadata --check this page to see if it is in one of the namespaces that cs1 is not supposed to add to the error categories. if not is_set(no_tracking_cats) then -- ignore if we are already not going to categorize this page for k, v in pairs( cfg.uncategorized_namespaces ) do -- otherwise, spin through the list of namespaces we don't include in error categories if this_page.nsText == v then -- if we find one no_tracking_cats = "true"; -- set no_trackin_cats break; -- and we're done end end end -- check for extra |page=, |pages= or |at= parameters. if is_set(Page) then -- La categoría de la plantilla inglesa es intraducible. Utilizo otro error similar. --if is_set(Pages) or is_set(At) then -- Page = Page .. " " .. seterror('extra_pages'); -- add error message -- Pages = ''; -- unset the others -- At = ''; --end if is_set(Pages) then Page = Page .. " " .. seterror('redundant_parameters', '<code>&#124;página=</code> y <code>&#124;páginas=</code>'); Pages = ''; -- unset the others At = ''; Passage = ''; elseif is_set(At) then Page = Page .. " " .. seterror('redundant_parameters', '<code>&#124;página=</code> y <code>&#124;en=</code>'); Pages = ''; -- unset the others At = ''; Passage = ''; elseif is_set(Passage) then Page = Page .. " " .. seterror('redundant_parameters', '<code>&#124;página=</code> y <code>&#124;pasaje=</code>'); Pages = ''; -- unset the others At = ''; Passage = ''; end elseif is_set(Pages) then if is_set(At) then -- Pages = Pages .. " " .. seterror('extra_pages'); -- add error messages Pages = Pages .. " " .. seterror('redundant_parameters', '<code>&#124;páginas=</code> y <code>&#124;en=</code>'); At = ''; Passage = ''; elseif is_set(Passage) then Pages = Pages .. " " .. seterror('redundant_parameters', '<code>&#124;páginas=</code> y <code>&#124;pasaje=</code>'); At = ''; Passage = ''; end elseif is_set(At) then if is_set(Passage) then At = At .. " " .. seterror('redundant_parameters', '<code>&#124;en=</code> y <code>&#124;pasaje=</code>'); Passage = ''; end end -- both |publication-place= and |place= (|location=) allowed if different if not is_set(PublicationPlace) and is_set(Place) then PublicationPlace = Place; -- promote |place= (|location=) to |publication-place end if PublicationPlace == Place then Place = ''; end -- don't need both if they are the same --[[ Parameter remapping for cite encyclopedia: When the citation has these parameters: |encyclopedia and |title then map |title to |article and |encyclopedia to |title |encyclopedia and |article then map |encyclopedia to |title |encyclopedia then map |encyclopedia to |title |trans_title maps to |trans_chapter when |title is re-mapped All other combinations of |encyclopedia, |title, and |article are not modified ]] -- if ( config.ClaseCita == "encyclopaedia" ) then if ( config.ClaseCita == "enciclopedia" ) then if is_set(Periodical) then -- Periodical is set when |encyclopedia is set if is_set(Title) then if not is_set(Chapter) then Chapter = Title; -- |encyclopedia and |title are set so map |title to |article and |encyclopedia to |title TransChapter = TransTitle; Title = Periodical; Periodical = ''; -- redundant so unset TransTitle = ''; -- redundant so unset end else -- |title not set Title = Periodical; -- |encyclopedia set and |article set or not set so map |encyclopedia to |title Periodical = ''; -- redundant so unset end end end --special cases for classic book if config.ClaseCita == 'libro' and is_set(Passage) then if is_set(PassageURL) then Passage = externallink( PassageURL, Passage ) end if not is_set (sepc) then sepc = ' '; end else Passage = '' end --special cases for citation. if (config.ClaseCita == "citation") then -- for citation templates if not is_set (sepc) then -- if |separator= is not set sepc = ','; -- set citation separator to its default (comma) end else -- not a citation template if not is_set (sepc) then -- if |separator= has not been set sepc = '.'; -- set cite xxx separator to its default (period) end end if not is_set (Ref) then -- if |ref= is not set -- if inArray(config.ClaseCita, {"citation", "libro", "publicación", "web"}) then -- for citation templates -- En la Wikipedia inglesa solo se usan citas Harvard para la clase citation -- Quedan habilitadas las citas Harvard para cualquier clase que contenga algún autor o editor if #a > 0 or #e > 0 then Ref = "harv"; -- set default |ref=harv end end -- check for specital case where |separator=none if 'none' == sepc:lower() then -- if |separator=none sepc = ''; -- then set it to a empty string end use_lowercase = ( sepc ~= '.' ); Others = is_set(Others) and (sepc .. " " .. Others) or ""; -- Special case for cite techreport. if (config.ClaseCita == "techreport") then -- special case for cite techreport if is_set(Issue) then -- cite techreport uses 'number', which other citations aliase to 'issue' if not is_set(ID) then -- can we use ID for the "number"? ID = Issue; -- yes, use it Issue = ""; -- unset Issue so that "number" isn't duplicated in the rendered citation or COinS metadata else -- can't use ID so emit error message ID = ID .. " " .. seterror('redundant_parameters', '<code>&#124;id=</code> and <code>&#124;number=</code>'); end end -- special case for cite interview elseif (config.ClaseCita == "entrevista") then if is_set(Program) then ID = ' ' .. Program; end if is_set(Callsign) then if is_set(ID) then ID = ID .. sepc .. ' ' .. Callsign; else ID = ' ' .. Callsign; end end if is_set(City) then if is_set(ID) then ID = ID .. sepc .. ' ' .. City; else ID = ' ' .. City; end end if is_set(Interviewer) then if is_set(TitleType) then Others = sepc .. ' ' .. TitleType .. ' con ' .. Interviewer -- ' ' .. TitleType .. ' con ' .. Interviewer; TitleType = ''; else Others = sepc .. ' ' .. wrap('interview', Interviewer, use_lowercase) .. Others -- ' ' .. 'Entrevista con ' .. Interviewer; end if is_set(Cointerviewers) then Others = Others .. sepc .. ' ' .. Cointerviewers; end else Others = Others .. sepc .. ' (Entrevista)' --'(Interview)'; end elseif is_set(ID) then ID = wrap( 'id', ID) end --Account for the oddity that is {{cite journal}} with |pmc= set and |url= not set -- if config.ClaseCita == "journal" and not is_set(URL) and is_set(ID_list['PMC']) then if config.ClaseCita == "publicación" and not is_set(URL) and is_set(ID_list['PMC']) then if not is_embargoed(Embargo) then URL=cfg.id_handlers['PMC'].prefix .. ID_list['PMC']; -- set url to be the same as the PMC external link if not embargoed URLorigin = cfg.id_handlers['PMC'].parameters[1]; -- set URLorigin to parameter name for use in error message if citation is missing a |title= end end if is_set(Texto1) and Texto1:match("%S+") then -- Informar la URL con el valor del campo 1 en su caso if config.ClaseCita == "web" and not is_set(URL) and checkurl(Texto1) then table.insert( z.message_tail, { seterror( 'url_sugerida', {Texto1, 'url'}, true ) } ) --URL = Texto1 Utilizar URL como texto. else table.insert( z.message_tail, { seterror( 'text_ignored', {Texto1}, true ) } ) end end -- Account for the oddity that is {{cite conference}}, before generation of COinS data. --TODO: if this is only for {{cite conference}}, shouldn't we be checking? (if config.ClaseCita=='conference' then ...) if 'conferencia' == config.ClaseCita then if is_set(BookTitle) then Chapter = Title; -- ChapterLink = TitleLink; -- |chapterlink= is deprecated ChapterURL = URL; ChapterUrlAccess = UrlAccess; ChapterURLorigin = URLorigin; URLorigin = ''; ChapterFormat = Format; TransChapter = TransTitle; Title = BookTitle; Format = ''; -- TitleLink = ''; TransTitle = ''; URL = ''; end elseif 'speech' ~= config.ClaseCita then Conference = ''; -- not cite conference or cite speech so make sure this is empty string end -- Account for the oddity that is {{cite episode}}, before generation of COinS data. --[[ -- {{cite episode}} is not currently supported by this module if config.ClaseCita == "episode" then local AirDate = A['AirDate']; local SeriesLink = A['SeriesLink']; local Season = A['Season']; local SeriesNumber = A['SeriesNumber']; local Network = A['Network']; local Station = A['Station']; local s, n = {}, {}; local Sep = (first_set(A["SeriesSeparator"], A["Separator"]) or "") .. " "; if is_set(Issue) then table.insert(s, cfg.messages["episode"] .. " " .. Issue); Issue = ''; end if is_set(Season) then table.insert(s, cfg.messages["season"] .. " " .. Season); end if is_set(SeriesNumber) then table.insert(s, cfg.messages["series"] .. " " .. SeriesNumber); end if is_set(Network) then table.insert(n, Network); end if is_set(Station) then table.insert(n, Station); end Date = Date or AirDate; Chapter = Title; ChapterLink = TitleLink; TransChapter = TransTitle; Title = Series; TitleLink = SeriesLink; TransTitle = ''; Series = table.concat(s, Sep); ID = table.concat(n, Sep); end -- end of {{cite episode}} stuff]] -- legacy: promote concatenation of |day=, |month=, and |year= to Date if Date not set; or, promote PublicationDate to Date if neither Date nor Year are set. if not is_set(Date) then Date = Year; -- promote Year to Date Year = nil; -- make nil so Year as empty string isn't used for CITEREF if is_set(Date) then local Month = A['Month']; if is_set(Month) then Date = Month .. " de " .. Date; --Month .. " " .. Date; local Day = A['Day'] if is_set(Day) then Date = Day .. " de " .. Date end --if is_set(Day) then Date = Day .. " " .. Date end end elseif is_set(PublicationDate) then -- use PublicationDate when |date= and |year= are not set Date = PublicationDate; -- promonte PublicationDate to Date PublicationDate = ''; -- unset, no longer needed end end if PublicationDate == Date then PublicationDate = ''; end -- if PublicationDate is same as Date, don't display in rendered citation --[[ Go test all of the date-holding parameters for valid MOS:DATE format and make sure that dates are real dates. This must be done before we do COinS because here is where we get the date used in the metadata. Date validation supporting code is in Módulo:Citas/ValidaciónFechas ]] --[[ anchor_year, COinS_date, error_message = dates({['accessdate']=AccessDate, ['airdate']=AirDate, ['archivedate']=ArchiveDate, ['date']=Date, ['doi_brokendate']=DoiBroken, ['embargo']=Embargo, ['laydate']=LayDate, ['publicationdate']=PublicationDate, ['year']=Year}); if is_set(error_message) then table.insert( z.message_tail, { seterror( 'bad_date', {error_message}, true ) } ); -- add this error message end ]] -- At this point fields may be nil if they weren't specified in the template use. We can use that fact. -- COinS metadata (see <http://ocoins.info/>) for -- automated parsing of citation information. local OCinSoutput = COinS{ ['Periodical'] = Periodical, ['Chapter'] = Chapter, ['Title'] = Title, ['PublicationPlace'] = PublicationPlace, ['Date'] = first_set(COinS_date, Date), -- COinS_date has correctly formatted date if Date is valid; any reason to keep Date here? Should we be including invalid dates in metadata? ['Series'] = Series, ['Volume'] = Volume, ['Issue'] = Issue, ['Pages'] = get_coins_pages (first_set(Page, Pages, At)), -- pages stripped of external links ['Edition'] = Edition, ['PublisherName'] = PublisherName, ['URL'] = first_set( URL, ChapterURL ), ['Authors'] = a, ['ID_list'] = ID_list, ['RawPage'] = this_page.prefixedText, }; if is_set(Periodical) and not is_set(Chapter) and is_set(Title) then Chapter = Title; ChapterLink = TitleLink; TransChapter = TransTitle; Title = ''; TitleLink = ''; TransTitle = ''; end -- Now perform various field substitutions. -- We also add leading spaces and surrounding markup and punctuation to the -- various parts of the citation, but only when they are non-nil. if not is_set(Authors) then local Maximum = tonumber( A['DisplayAuthors'] ); -- Preserve old-style implicit et al. if not is_set(Maximum) and #a == 9 then Maximum = 8; table.insert( z.message_tail, { seterror('implict_etal_author', {}, true ) } ); elseif not is_set(Maximum) then Maximum = #a + 1; end local control = { sep = A["AuthorSeparator"] .. " ", namesep = (first_set(A["AuthorNameSeparator"], A["NameSeparator"]) or "") .. " ", format = A["AuthorFormat"], maximum = Maximum, lastauthoramp = LastAuthorAmp }; -- If the coauthor field is also used, prevent ampersand and et al. formatting. if is_set(Coauthors) then control.lastauthoramp = nil; control.maximum = #a + 1; end Authors = listpeople(control, a) end if not is_set(Authors) and is_set(Coauthors) then -- coauthors aren't displayed if one of authors=, authorn=, or lastn= isn't specified table.insert( z.message_tail, { seterror('coauthors_missing_author', {}, true) } ); -- emit error message -- Utilizo temporalmente los coautores como autores. Authors = Coauthors Coauthors = nil end local EditorCount if not is_set(Editors) then local Maximum = tonumber( A['DisplayEditors'] ); -- Preserve old-style implicit et al. if not is_set(Maximum) and #e == 4 then Maximum = 3; table.insert( z.message_tail, { seterror('implict_etal_editor', {}, true) } ); elseif not is_set(Maximum) then Maximum = #e + 1; end local control = { sep = A["EditorSeparator"] .. " ", namesep = (first_set(A["EditorNameSeparator"], A["NameSeparator"]) or "") .. " ", format = A['EditorFormat'], maximum = Maximum, lastauthoramp = LastAuthorAmp }; Editors, EditorCount = listpeople(control, e); else EditorCount = 1; end local Cartography = ""; local Scale = ""; if config.ClaseCita == "map" then if not is_set( Authors ) and is_set( PublisherName ) then Authors = PublisherName; PublisherName = ""; end Cartography = A['Cartography']; if is_set( Cartography ) then Cartography = sepc .. " " .. wrap( 'cartography', Cartography, use_lowercase ); end Scale = A['Scale']; if is_set( Scale ) then Scale = sepc .. " " .. Scale; end end if not is_set(URL) and not is_set(ChapterURL) and not is_set(ArchiveURL) and not is_set(ConferenceURL) and not is_set(TranscriptURL) then sinURL = true -- Test if cite web or cite podcast |url= is missing or empty if inArray(config.ClaseCita, {"web","podcast"}) then table.insert( z.message_tail, { seterror( 'cite_web_url', {}, true ) } ); end -- Test if format is given without giving a URL if is_set(Format) then Format = Format .. seterror( 'format_missing_url' ); end end -- Test if citation has no title if not is_set(Chapter) and not is_set(Title) and not is_set(Periodical) and not is_set(Conference) and not is_set(TransTitle) and not is_set(TransChapter) and not is_set(Passage) then table.insert( z.message_tail, { seterror( 'citation_missing_title', {}, true ) } ); end Format = is_set(Format) and " " .. wrap( 'format', Format ) or ""; --is_set(Format) and " (" .. Format .. ")" or ""; local OriginalURL = URL DeadURL = DeadURL:lower(); if is_set( ArchiveURL ) then if ( DeadURL ~= "no" ) then URL = ArchiveURL URLorigin = A:ORIGIN('ArchiveURL') end end -- Format chapter / article title if is_set(Chapter) and is_set(ChapterLink) then Chapter = "[[" .. ChapterLink .. "|" .. Chapter .. "]]"; end if is_set(Periodical) and is_set(Title) then Chapter = wrap( 'italic-title', Chapter ); TransChapter = wrap( 'trans-italic-title', TransChapter ); else Chapter = kern_quotes (Chapter); -- if necessary, separate chapter title's leading and trailing quote marks from Module provided quote marks Chapter = wrap( 'quoted-title', Chapter ); TransChapter = wrap( 'trans-quoted-title', TransChapter ); end local TransError = "" if is_set(TransChapter) then if not is_set(Chapter) then TransError = " " .. seterror( 'trans_missing_chapter' ); else TransChapter = " " .. TransChapter; end end Chapter = Chapter .. TransChapter; if is_set(Chapter) then if not is_set(ChapterLink) then if is_set(ChapterURL) then Chapter = externallink( ChapterURL, Chapter ) .. TransError; if not is_set(URL) then Chapter = Chapter .. Format; Format = ""; end elseif is_set(URL) then Chapter = externallink( URL, Chapter ) .. TransError .. Format; URL = ""; Format = ""; else Chapter = Chapter .. TransError; end elseif is_set(ChapterURL) then Chapter = Chapter .. " " .. externallink( ChapterURL, nil, ChapterURLorigin ) .. TransError; else Chapter = Chapter .. TransError; end Chapter = Chapter .. sepc .. " " -- with end-space elseif is_set(ChapterURL) then Chapter = " " .. externallink( ChapterURL, nil, ChapterURLorigin ) .. sepc .. " "; end -- Format main title. if is_set(TitleLink) and is_set(Title) then Title = "[[" .. TitleLink .. "|" .. Title .. "]]" end if is_set(Traductor) and is_set(Traductores) then Traductor = " " .. wrap( 'traductores', Traductores) .. " " .. seterror('redundant_parameters', '<code>&#124;traductor=</code> y <code>&#124;traductores=</code>') elseif is_set(Traductor) then Traductor = " " .. wrap( 'traductor', Traductor) elseif is_set(Traductores) then Traductor = " " .. wrap( 'traductores', Traductores) end Traductores = '' if is_set(Periodical) then Title = kern_quotes (Title); -- if necessary, separate title's leading and trailing quote marks from Module provided quote marks Title = wrap( 'quoted-title', Title ); TransTitle = wrap( 'trans-quoted-title', TransTitle ); -- elseif inArray(config.ClaseCita, {"web","news","pressrelease","conference","podcast"}) and elseif inArray(config.ClaseCita, {"web","noticia","pressrelease","conference","podcast"}) and not is_set(Chapter) then Title = kern_quotes (Title); -- if necessary, separate title's leading and trailing quote marks from Module provided quote marks Title = wrap( 'quoted-title', Title ); TransTitle = wrap( 'trans-quoted-title', TransTitle ); else Title = wrap( 'italic-title', Title ); TransTitle = wrap( 'trans-italic-title', TransTitle ); end TransError = ""; if is_set(TransTitle) then if not is_set(Title) then TransError = " " .. seterror( 'trans_missing_title' ); else TransTitle = " " .. TransTitle; end end Title = Title .. Traductor .. TransTitle; if is_set(Title) then if not is_set(TitleLink) and is_set(URL) then Title = externallink( URL, Title, URL_origin, UrlAccess ) .. TransError .. Format URL = ""; TieneURL = true; Format = ""; else Title = Title .. TransError; end end if is_set(Place) then Place = " " .. wrap( 'written', Place, use_lowercase ) .. sepc .. " "; end if is_set(Conference) then if is_set(ConferenceURL) then Conference = externallink( ConferenceURL, Conference ); end Conference = sepc .. " " .. Conference elseif is_set(ConferenceURL) then Conference = sepc .. " " .. externallink( ConferenceURL, nil, ConferenceURLorigin ); end if not is_set(Position) then local Minutes = A['Minutes']; if is_set(Minutes) then Position = " " .. Minutes .. " " .. cfg.messages['minutes']; else local Time = A['Time']; if is_set(Time) then local TimeCaption = A['TimeCaption'] if not is_set(TimeCaption) then TimeCaption = cfg.messages['event']; if sepc ~= '.' then TimeCaption = TimeCaption:lower(); end end Position = " " .. TimeCaption .. " " .. Time; end end else Position = " " .. Position; At = ''; end if not is_set(Page) then if is_set(Pages) then if is_set(Periodical) and -- not inArray(config.ClaseCita, {"encyclopaedia","web","book","news","podcast"}) then not inArray(config.ClaseCita, {"enciclopedia","web","libro","noticia","podcast"}) then Pages = ": " .. Pages; elseif tonumber(Pages) ~= nil then Pages = sepc .." " .. PPrefix .. Pages; else Pages = sepc .." " .. PPPrefix .. Pages; end end else if is_set(Periodical) and -- not inArray(config.ClaseCita, {"encyclopaedia","web","book","news","podcast"}) then not inArray(config.ClaseCita, {"enciclopedia","web","libro","noticia","podcast"}) then Page = ": " .. Page; else Page = sepc .." " .. PPrefix .. Page; end end At = is_set(At) and (sepc .. " " .. At) or ""; Passage = is_set(Passage) and (sepc .. " " .. Passage) or ""; Position = is_set(Position) and (sepc .. " " .. Position) or ""; if config.ClaseCita == 'map' then local Section = A['Section']; local Inset = A['Inset']; if first_set( Pages, Page, At ) ~= nil or sepc ~= '.' then if is_set( Section ) then Section = ", " .. wrap( 'section', Section, true ); end if is_set( Inset ) then Inset = ", " .. wrap( 'inset', Inset, true ); end else if is_set( Section ) then Section = sepc .. " " .. wrap( 'section', Section, use_lowercase ); if is_set( Inset ) then Inset = ", " .. wrap( 'inset', Inset, true ); end elseif is_set( Inset ) then Inset = sepc .. " " .. wrap( 'inset', Inset, use_lowercase ); end end At = At .. Section .. Inset; end --[[Look in the list of iso639-1 language codes to see if the value provided in the language parameter matches one of them. If a match is found, use that value; if not, then use the value that was provided with the language parameter. Categories are assigned in a manner similar to the {{xx icon}} templates - categorizes only mainspace citations and only when the language code is not 'en' (English). ]] if is_set (Language) then -- Poner en minúsculas el primer caracter del idioma si está en mayúsculas Language = Language:gsub("^%u", string.lower) if Language == 'español' or Language == 'castellano' or Language == 'es' or Language:match('^es%-.*') then Language=""; -- No mostrar el idioma español else local name = mw.language.fetchLanguageName( Language:lower(), "es" ); -- experiment: this seems to return correct ISO 639-1 language names if is_set (name) then Language=" " .. wrap( 'language', name ); else Language=" " .. wrap( 'language', Language ); -- no match, use parameter's value end end else Language=""; -- Asegurarnos de que el idioma no es nulo. end -- handle type parameter for those CS1 citations that have default values -- if inArray(config.ClaseCita, {"AV media notes", "DVD notes", "podcast", "pressrelease", "techreport", "thesis"}) then if inArray(config.ClaseCita, {"notas audiovisual", "notas de DVD", "podcast", "pressrelease", "techreport", "tesis"}) then TitleType = set_titletype (config.ClaseCita, TitleType); if is_set(Degree) and "Tesis" == TitleType then -- special case for cite thesis TitleType = "Tesis de " .. Degree; end end if is_set(TitleType) then -- if type parameter is specified TitleType = " (" .. TitleType .. ")"; -- display it in parentheses end TitleNote = is_set(TitleNote) and (sepc .. " " .. TitleNote) or ""; if is_set(Edition) then if is_set(SinEd) then -- No existe el parámetro en el módulo de la wikipedia inglesa. Edition = " " .. wrap( 'sin edición', Edition ) -- No existe el parámetro en el módulo de la wikipedia inglesa. else Edition = " " .. wrap( 'edition', Edition ) end else Edition = "" end Issue = is_set(Issue) and (" (" .. Issue .. ")") or ""; Series = is_set(Series) and (sepc .. " " .. Series) or ""; OrigYear = is_set(OrigYear) and (" [" .. OrigYear .. "]") or ""; Agency = is_set(Agency) and (sepc .. " " .. Agency) or ""; if is_set(Volume) then if Volume:match ('^%d+$') or Volume:match ('^[MDCLXVI]+$') -- negrita solamente si el capítulo está reflejado como cifra decimal o números romanos then Volume = " <b>" .. dashtohyphen(Volume) .. "</b>"; else Volume = sepc .." " .. Volume; end end --[[ This code commented out while discussion continues until after week of 2014-03-23 live module update; if is_set(Volume) then if ( mw.ustring.len(Volume) > 4 ) then Volume = sepc .. " " .. Volume; else Volume = " <b>" .. hyphentodash(Volume) .. "</b>"; if is_set(Series) then Volume = sepc .. Volume; end end end ]] ------------------------------------ totally unrelated data --[[ Loosely mimic {{subscription required}} template; Via parameter identifies a delivery source that is not the publisher; these sources often, but not always, exist behind a registration or paywall. So here, we've chosen to decouple via from subscription (via has never been part of the registration required template). Subscription implies paywall; Registration does not. If both are used in a citation, the subscription required link note is displayed. There are no error messages for this condition. ]] if is_set(Via) then Via = " " .. wrap( 'via', Via ); end if UrlAccess == 'registration' then RegistrationRequired = true end if is_set(SubscriptionRequired) then SubscriptionRequired = sepc .. " " .. cfg.messages['subscription']; --here when 'via' parameter not used but 'subscription' is elseif is_set(RegistrationRequired) then SubscriptionRequired = sepc .. " " .. cfg.messages['registration']; --here when 'via' and 'subscription' parameters not used but 'registration' is end -- if is_set(AccessDate) then if is_set(AccessDate) or is_set(AnyoAcceso) then -- Test if accessdate is given without giving a URL if sinURL then table.insert( z.message_tail, { seterror( 'accessdate_missing_url', {}, true ) } ); AccessDate = ''; else if is_set(AccessDate) then if is_set(MesAcceso) and is_set(AnyoAcceso) then AccessDate = AccessDate .. seterror('redundant_parameters', '<code>&#124;fechaacceso=</code>, <code>&#124;añoacceso=</code> y <code>&#124;mesacceso=</code>') elseif is_set(MesAcceso) then AccessDate = AccessDate .. seterror('redundant_parameters', '<code>&#124;fechaacceso=</code> y <code>&#124;mesacceso=</code>') elseif is_set(AnyoAcceso) then if string.find(AccessDate, '%sde%s') then AccessDate = AccessDate .. ' de ' .. AnyoAcceso else AccessDate = AccessDate .. seterror('redundant_parameters', '<code>&#124;fechaacceso=</code> y <code>&#124;Añoacceso=</code>'); end end elseif is_set(MesAcceso) then AccessDate = MesAcceso .. ' de ' .. AnyoAcceso else AccessDate = AnyoAcceso end local retrv_text = " " .. cfg.messages['retrieved'] if (sepc ~= ".") then retrv_text = retrv_text:lower() end AccessDate = '<span class="reference-accessdate">' .. sepc .. substitute( retrv_text, {format_date(AccessDate)} ) .. '</span>' end elseif is_set(MesAcceso) then end if is_set(ID) then ID = sepc .." ".. ID; end if "tesis" == config.ClaseCita and is_set(Docket) then ID = sepc .." Docket ".. Docket .. ID; end Lista_Identificadores_Formateados = buildidlist( ID_list, {DoiBroken = DoiBroken, IgnoreISBN = IgnoreISBN, Embargo=Embargo, ISBNCorrecto = ISBNCorrecto, ISBNSugerido = ISBNSugerido} ); if is_set(URL) then URL = " " .. externallink( URL, nil, URLorigin, UrlAccess ); end -- Set postscript default. if not is_set (PostScript) then -- if |postscript= has not been set (Postscript is nil which is the default for {{citation}}) and if (config.ClaseCita ~= "citation") then -- this template is not a citation template PostScript = '.'; -- must be a cite xxx template so set postscript to default (period) end else if PostScript:lower() == 'none' then -- if |postscript=none then PostScript = ''; -- no postscript end end if is_set(Quote) or is_set(TransQuote) then -- Eliminar comillas de Quote if (Quote:sub(1,1) == '"' and Quote:sub(-1,-1) == '"') or (Quote:sub(1,1) == '«' and Quote:sub(-1,-1) == '»') then Quote = Quote:sub(2,-2); end -- No añadir el punto final a la cita si el campo Quote ya incluye un punto if Quote:sub(-1,-1) == '.' or Quote:sub(-1,-1) == '?' or Quote:sub(-1,-1) == '!' then PostScript = "" end -- Eliminar comillas de TransQuote if (TransQuote:sub(1, 1) == '"' and TransQuote:sub(-1, -1) == '"') or (Quote:sub(1,1) == '«' and Quote:sub(-1,-1) == '»') then TransQuote = TransQuote:sub(2, -2); end -- No añadir el punto final a la cita si el campo TransQuote ya incluye un punto if TransQuote:sub(-1,-1) == '.' or TransQuote:sub(-1,-1) == '?' or TransQuote:sub(-1,-1) == '!' then PostScript = "" end Quote = Quote .. " " .. wrap( 'trans-quoted-title', TransQuote ); TransQuote = wrap( 'trans-quoted-title', TransQuote ); Quote = sepc .." " .. wrap( 'quoted-text', Quote ); end local Archived if is_set(ArchiveURL) then if not is_set(ArchiveDate) then ArchiveDate = seterror('archive_missing_date'); else ArchiveDate = format_date(ArchiveDate) end if "no" == DeadURL then local arch_text = cfg.messages['archived']; if sepc ~= "." then arch_text = arch_text:lower() end Archived = sepc .. " " .. substitute( cfg.messages['archived-not-dead'], { externallink( ArchiveURL, arch_text ), ArchiveDate } ); if not is_set(OriginalURL) then Archived = Archived .. " " .. seterror('archive_missing_url'); end elseif is_set(OriginalURL) then local arch_text = cfg.messages['archived-dead']; if sepc ~= "." then arch_text = arch_text:lower() end Archived = sepc .. " " .. substitute( arch_text, { externallink( OriginalURL, cfg.messages['original'] ), ArchiveDate } ); else local arch_text = cfg.messages['archived-missing']; if sepc ~= "." then arch_text = arch_text:lower() end Archived = sepc .. " " .. substitute( arch_text, { seterror('archive_missing_url'), ArchiveDate } ); end else Archived = "" end local Lay if is_set(LayURL) then if is_set(LayDate) then LayDate = " (" .. format_date(LayDate) .. ")" end if is_set(LaySource) then LaySource = " &ndash; ''" .. safeforitalics(LaySource) .. "''"; else LaySource = ""; end if sepc == '.' then Lay = sepc .. " " .. externallink( LayURL, cfg.messages['lay summary'] ) .. LaySource .. LayDate else Lay = sepc .. " " .. externallink( LayURL, cfg.messages['lay summary']:lower() ) .. LaySource .. LayDate end else Lay = ""; end if is_set(Transcript) then if is_set(TranscriptURL) then Transcript = externallink( TranscriptURL, Transcript ); end elseif is_set(TranscriptURL) then Transcript = externallink( TranscriptURL, nil, TranscriptURLorigin ); end local Publisher; if is_set(Periodical) and -- not inArray(config.ClaseCita, {"encyclopaedia","web","pressrelease","podcast"}) then not inArray(config.ClaseCita, {"enciclopedia","web","pressrelease","podcast"}) then if is_set(PublisherName) then if is_set(PublicationPlace) then Publisher = PublicationPlace .. ": " .. PublisherName; else Publisher = PublisherName; end elseif is_set(PublicationPlace) then Publisher= PublicationPlace; else Publisher = ""; end if is_set(PublicationDate) then if is_set(Publisher) then Publisher = Publisher .. ", " .. wrap( 'published', PublicationDate ); else Publisher = PublicationDate; end end if is_set(Publisher) then Publisher = " (" .. Publisher .. ")"; end else if is_set(PublicationDate) then PublicationDate = " (" .. wrap( 'published', format_date(PublicationDate) ) .. ")"; end if is_set(PublisherName) then if is_set(PublicationPlace) then Publisher = sepc .. " " .. PublicationPlace .. ": " .. PublisherName .. PublicationDate; else Publisher = sepc .. " " .. PublisherName .. PublicationDate; end elseif is_set(PublicationPlace) then Publisher= sepc .. " " .. PublicationPlace .. PublicationDate; else Publisher = PublicationDate; end end -- Several of the above rely upon detecting this as nil, so do it last. if is_set(Periodical) then if is_set(Title) or is_set(TitleNote) then Periodical = sepc .. " " .. wrap( 'italic-title', Periodical ) else Periodical = wrap( 'italic-title', Periodical ) end end --[[ Handle the oddity that is cite speech. This code overrides whatever may be the value assigned to TitleNote (through |department=) and forces it to be " (Speech)" so that the annotation directly follows the |title= parameter value in the citation rather than the |event= parameter value (if provided). ]] if "speech" == config.ClaseCita then -- cite speech only TitleNote = " (Speech)"; -- annotate the citation if is_set (Periodical) then -- if Periodical, perhaps because of an included |website= or |journal= parameter if is_set (Conference) then -- and if |event= is set Conference = Conference .. sepc .. " "; -- then add appropriate punctuation to the end of the Conference variable before rendering end end end -- Piece all bits together at last. Here, all should be non-nil. -- We build things this way because it is more efficient in LUA -- not to keep reassigning to the same string variable over and over. local tcommon -- if inArray(config.ClaseCita, {"journal","citation"}) and is_set(Periodical) then if inArray(config.ClaseCita, {"publicación","citation"}) and is_set(Periodical) then if is_set(Others) then Others = Others .. sepc .. " " end tcommon = safejoin( {Others, Title, TitleNote, Conference, Periodical, Format, TitleType, Scale, Series, Language, Cartography, Edition, Publisher, Agency, Volume, Issue}, sepc ); else tcommon = safejoin( {Title, TitleNote, Conference, Periodical, Format, TitleType, Scale, Series, Language, Volume, Issue, Others, Cartography, Edition, Publisher, Agency}, sepc ); end if #Lista_Identificadores_Formateados > 0 then Lista_Identificadores_Formateados = safejoin( { sepc .. " ", table.concat( Lista_Identificadores_Formateados, sepc .. " " ), ID }, sepc ); else Lista_Identificadores_Formateados = ID; end local idcommon = safejoin( { Lista_Identificadores_Formateados, URL, Archived, AccessDate, Via, SubscriptionRequired, Lay, Quote }, sepc ); local text; local pgtext = Position .. Page .. Pages .. At .. Passage; if is_set(Authors) then if is_set(Coauthors) then Authors = Authors .. A['AuthorSeparator'] .. " " .. Coauthors end if is_set(Date) then Date = " ("..format_date(Date)..")" .. OrigYear .. sepc .. " " elseif string.sub(Authors,-1,-1) == sepc then Authors = Authors .. " " else Authors = Authors .. sepc .. " " end if is_set(Editors) then local in_text = " "; local post_text = ""; if is_set(Chapter) then in_text = in_text .. cfg.messages['in'] .. " " end if EditorCount <= 1 then post_text = ", " .. cfg.messages['editor']; else post_text = ", " .. cfg.messages['editors']; end if (sepc ~= '.') then in_text = in_text:lower() end Editors = in_text .. Editors .. post_text; if (string.sub(Editors,-1,-1) == sepc) then Editors = Editors .. " " else Editors = Editors .. sepc .. " " end end text = safejoin( {Authors, Date, Chapter, Place, Editors, tcommon }, sepc ); text = safejoin( {text, pgtext, idcommon}, sepc ); elseif is_set(Editors) then if is_set(Date) then if EditorCount <= 1 then Editors = Editors .. ", " .. cfg.messages['editor']; else Editors = Editors .. ", " .. cfg.messages['editors']; end Date = " (" .. format_date(Date) ..")" .. OrigYear .. sepc .. " " else if EditorCount <= 1 then Editors = Editors .. " (" .. cfg.messages['editor'] .. ")" .. sepc .. " " else Editors = Editors .. " (" .. cfg.messages['editors'] .. ")" .. sepc .. " " end end text = safejoin( {Editors, Date, Chapter, Place, tcommon}, sepc ); text = safejoin( {text, pgtext, idcommon}, sepc ); else if is_set(Date) then if ( string.sub(tcommon,-1,-1) ~= sepc ) then Date = sepc .." " .. format_date(Date) .. OrigYear else Date = " " .. format_date(Date) .. OrigYear end end -- if config.ClaseCita=="journal" and is_set(Periodical) then if config.ClaseCita=="publicación" and is_set(Periodical) then text = safejoin( {Chapter, Place, tcommon}, sepc ); text = safejoin( {text, pgtext, Date, idcommon}, sepc ); else text = safejoin( {Chapter, Place, tcommon, Date}, sepc ); text = safejoin( {text, pgtext, idcommon}, sepc ); end end if is_set(PostScript) and PostScript ~= sepc then text = safejoin( {text, sepc}, sepc ); --Deals with italics, spaces, etc. text = text:sub(1,-sepc:len()-1); -- text = text:sub(1,-2); --Remove final separator (assumes that sepc is only one character) end text = safejoin( {text, PostScript}, sepc ); -- Now enclose the whole thing in a <span/> element local options = {}; if is_set(config.ClaseCita) and config.ClaseCita ~= "citation" then options.class = "citation " .. config.ClaseCita; else options.class = "citation"; end if is_set(Ref) and Ref:lower() ~= "none" then local id = Ref if ( "harv" == Ref ) then local names = {} --table of last names & year if #a > 0 then for i,v in ipairs(a) do names[i] = v.last if i == 4 then break end end elseif #e > 0 then for i,v in ipairs(e) do names[i] = v.last if i == 4 then break end end end -- names[ #names + 1 ] = first_set(Year, anchor_year); -- Year first for legacy citations -- names[ #names + 1 ] = first_set(Year, ''); -- Year first for legacy citations names[ #names + 1 ] = first_set(wYear, wfecha, ''); -- Year first for legacy citations id = anchorid(names) end options.id = id; end if string.len(text:gsub("<span[^>/]*>.-</span>", ""):gsub("%b<>","")) <= 2 then z.error_categories = {}; text = seterror('empty_citation'); z.message_tail = {}; end if is_set(options.id) then text = '<span id="' .. mw.uri.anchorEncode(options.id) ..'" class="' .. mw.text.nowiki(options.class) .. '">' .. text .. "</span>"; else text = '<span class="' .. mw.text.nowiki(options.class) .. '">' .. text .. "</span>"; end local empty_span = '<span style="display:none;">&nbsp;</span>'; -- Note: Using display: none on then COinS span breaks some clients. local OCinS = '<span title="' .. OCinSoutput .. '" class="Z3988">' .. empty_span .. '</span>'; text = text .. OCinS; if #z.message_tail ~= 0 then text = text .. " "; for i,v in ipairs( z.message_tail ) do if is_set(v[1]) then if i == #z.message_tail then text = text .. errorcomment( v[1], v[2] ); else text = text .. errorcomment( v[1] .. "; ", v[2] ); end end end end no_tracking_cats = no_tracking_cats:lower(); if inArray(no_tracking_cats, {"", "no", "false", "n"}) then for _, v in ipairs( z.error_categories ) do text = text .. '[[Category:' .. v ..']]'; end end return text end -- This is used by templates such as {{cite book}} to create the actual citation text. function z.cita(frame) local pframe = frame:getParent() if nil ~= string.find( frame:getTitle(), 'sandbox', 1, true ) then -- did the {{#invoke:}} use sandbox version? cfg = mw.loadData('Módulo:Citas/Configuración/pruebas' ); -- load sandbox versions of Configuration and Whitelist and ... whitelist = mw.loadData('Módulo:Citas/Whitelist/pruebas' ); dates = require ('Módulo:Citas/ValidaciónFechas/pruebas').dates -- ... sandbox version of date validation code else -- otherwise cfg = mw.loadData('Módulo:Citas/Configuración' ); -- load live versions of Configuration and Whitelist and ... whitelist = mw.loadData('Módulo:Citas/Whitelist' ); dates = require ('Módulo:Citas/ValidaciónFechas').dates -- ... live version of date validation code end local args = {}; local suggestions = {}; local error_text, error_state; local config = {}; for k, v in pairs( frame.args ) do config[k] = v; args[k] = v; end for k, v in pairs( pframe.args ) do if v ~= '' then if not validate( k ) then error_text = ""; if type( k ) ~= 'string' then -- Exclude empty numbered parameters if v:match("%S+") ~= nil then error_text, error_state = seterror( 'text_ignored', {v}, true ); end elseif validate( k:lower() ) then error_text, error_state = seterror( 'parameter_ignored_suggest', {k, k:lower()}, true ); else if #suggestions == 0 then suggestions = mw.loadData( 'Módulo:Citas/Sugerencias' ); end if suggestions[ k:lower() ] ~= nil then error_text, error_state = seterror( 'parameter_ignored_suggest', {k, suggestions[ k:lower() ]}, true ); elseif cfg.parametros_a_implementar[k:lower()] then error_text, error_state = seterror( 'parametro_por_implementar', {k}, true ); else error_text, error_state = seterror( 'parameter_ignored', {k}, true ); end end if error_text ~= '' then table.insert( z.message_tail, {error_text, error_state} ); end end args[k] = v; elseif args[k] ~= nil or (k == 'postscript') then args[k] = v; end end return citation0( config, args) end return z 42b045o1k1xkcj2h20s3tr5ri4zxcc3 143044 143043 2026-05-06T12:59:06Z Danielyepezgarces 17152 143044 Scribunto text/plain local z = { error_categories = {}; error_ids = {}; message_tail = {}; } -- Include translation message hooks, ID and error handling configuration settings. local cfg = mw.loadData( 'Módulo:Citas/Configuración' ); -- Contains a list of all recognized parameters --local whitelist = mw.loadData( 'Módulo:Citas/Whitelist/pruebas' ); --local dates = require('Módulo:Citas/ValidaciónFechas/pruebas').dates -- location of date validation code --Módulo para formatear las fechas local DateModule = require('Módulo:Date')._Date -- Whether variable is set or not function is_set( var ) return not (var == nil or var == ''); end -- First set variable or nil if none function first_set(...) local list = {...}; for _, var in pairs(list) do if is_set( var ) then return var; end end end -- Whether needle is in haystack function inArray( needle, haystack ) if needle == nil then return false; end for n,v in ipairs( haystack ) do if v == needle then return n; end end return false; end --[[ Formatea una fecha para que se devuelva de la siguiente forma: "1 de enero de 2020" Formats a date so it is returned as follows: "1 de enero de 2020" ]] function format_date(date_string) function dateFormatter(text) return DateModule(text):text('%-d de %B de %-Y') end local stat, res = pcall(dateFormatter, date_string) if stat then return res else return date_string end end --[[ Categorize and emit an error message when the citation contains one or more deprecated parameters. Because deprecated parameters (currently |day=, |month=, |coauthor=, and |coauthors=) aren't related to each other and because these parameters may be concatenated into the variables used by |date= and |author#= (and aliases) details of which parameter caused the error message are not provided. Only one error message is emitted regarless of the number of deprecated parameters in the citation. ]] function deprecated_parameter( name ) -- table.insert( z.message_tail, { seterror( 'deprecated_params', {error_message}, true ) } ); -- add error message table.insert( z.message_tail, { seterror( 'deprecated_params', { name }, true ) } ); -- add error message end -- Populates numbered arguments in a message string using an argument table. function substitute( msg, args ) -- return args and tostring( mw.message.newRawMessage( msg, args ) ) or msg; return args and mw.message.newRawMessage( msg, args ):plain() or msg; end --[[ Apply kerning to open the space between the quote mark provided by the Module and a leading or trailing quote mark contained in a |title= or |chapter= parameter's value. This function will positive kern either single or double quotes: "'Unkerned title with leading and trailing single quote marks'" " 'Kerned title with leading and trailing single quote marks' " (in real life the kerning isn't as wide as this example) ]] function kern_quotes (str) local left='<span style="padding-left:0.2em;">%1</span>'; -- spacing to use when title contains leading single or double quote mark local right='<span style="padding-right:0.2em;">%1</span>'; -- spacing to use when title contains trailing single or double quote mark if str:match ("^[\"\'][^\']") then str = string.gsub( str, "^[\"\']", left, 1 ); -- replace (captured) leading single or double quote with left-side <span> end if str:match ("[^\'][\"\']$") then str = string.gsub( str, "[\"\']$", right, 1 ); -- replace (captured) trailing single or double quote with right-side <span> end return str; end -- Wraps a string using a message_list configuration taking one argument function wrap( key, str, lower ) if not is_set( str ) then return ""; elseif inArray( key, { 'italic-title', 'trans-italic-title' } ) then str = safeforitalics( str ); end if lower == true then return substitute( cfg.messages[key]:lower(), {str} ); else return substitute( cfg.messages[key], {str} ); end end --[[ Argument wrapper. This function provides support for argument mapping defined in the configuration file so that multiple names can be transparently aliased to single internal variable. ]] function argument_wrapper( args ) local origin = {}; return setmetatable({ ORIGIN = function( self, k ) local dummy = self[k]; --force the variable to be loaded. return origin[k]; end }, { __index = function ( tbl, k ) if origin[k] ~= nil then return nil; end local args, list, v = args, cfg.aliases[k]; if type( list ) == 'table' then v, origin[k] = selectone( args, list, 'redundant_parameters' ); if origin[k] == nil then origin[k] = ''; -- Empty string, not nil end elseif list ~= nil then v, origin[k] = args[list], list; else -- maybe let through instead of raising an error? -- v, origin[k] = args[k], k; error( cfg.messages['unknown_argument_map'] ); end -- Empty strings, not nil; if v == nil then v = cfg.defaults[k] or ''; origin[k] = ''; end tbl = rawset( tbl, k, v ); return v; end, }); end --[[ Looks for a parameter's name in the whitelist. Parameters in the whitelist can have three values: true - active, supported parameters false - deprecated, supported parameters nil - unsupported parameters ]] function validate( name ) local name = tostring( name ); local state = whitelist.basic_arguments[ name ]; -- Normal arguments if true == state then return true; end -- valid actively supported parameter if false == state then deprecated_parameter ( name ); -- parameter is deprecated but still supported return true; end -- Arguments with numbers in them name = name:gsub( "%d+", "#" ); -- replace digit(s) with # (last25 becomes last# state = whitelist.numbered_arguments[ name ]; if true == state then return true; end -- valid actively supported parameter if false == state then deprecated_parameter ( name ); -- parameter is deprecated but still supported return true; end return false; -- Not supported because not found or name is set to nil end -- Formats a comment for error trapping function errorcomment( content, hidden ) return wrap( hidden and 'hidden-error' or 'visible-error', content ); end --[[ Sets an error condition and returns the appropriate error message. The actual placement of the error message in the output is the responsibility of the calling function. ]] function seterror( error_id, arguments, raw, prefix, suffix ) local error_state = cfg.error_conditions[ error_id ]; prefix = prefix or ""; suffix = suffix or ""; if error_state == nil then error( cfg.messages['undefined_error'] ); elseif is_set( error_state.category ) then table.insert( z.error_categories, error_state.category ); end local message = substitute( error_state.message, arguments ); message = message .. " ([[" .. cfg.messages['help page link'] .. "#" .. error_state.anchor .. "|" .. cfg.messages['help page label'] .. "]])"; z.error_ids[ error_id ] = true; if inArray( error_id, { 'bare_url_missing_title', 'trans_missing_title' } ) and z.error_ids['citation_missing_title'] then return '', false; end message = table.concat({ prefix, message, suffix }); if raw == true then return message, error_state.hidden; end return errorcomment( message, error_state.hidden ); end -- Formats a wiki style external link function externallinkid(options) local url_string = options.id; if options.encode == true or options.encode == nil then url_string = mw.uri.encode( url_string ); end return wrap( 'id', internallink(options.link, options.label) .. (options.separator or "&nbsp;") .. mw.ustring.format( '[%s%s%s %s]', options.prefix, url_string, options.suffix or "", mw.text.nowiki(options.id) )); end -- Formats a wiki style internal link function internallinkid(options) return wrap( 'id', internallink(options.link, options.label) .. (options.separator or "&nbsp;") .. mw.ustring.format( '[[%s%s%s|%s]]', options.prefix, options.id, options.suffix or "", mw.text.nowiki(options.id) )); end -- Format an internal link, if link is really set function internallink( link, label ) if link and link ~= '' then return mw.ustring.format( '[[%s|%s]]', link, label ) else return label end end -- Format an external link with error checking function externallink( URL, label, source ) local error_str = ""; if not is_set( label ) then label = URL; if is_set( source ) then error_str = seterror( 'bare_url_missing_title', { wrap( 'parameter', source ) }, false, " " ); else error( cfg.messages["bare_url_no_origin"] ); end end if not checkurl( URL ) then error_str = seterror( 'bad_url', {}, false, " " ) .. error_str; elseif mw.title.getCurrentTitle():inNamespaces(0) and not mw.title.getCurrentTitle().text:match('Wikipedia') and URL:match('//[%a%.%-]+%.wikipedia%.org') then error_str = seterror( 'bad_url_autorreferencia', {}, false, " " ) .. error_str; end return table.concat({ "[", URL, " ", safeforurl( label ), "]", error_str }); end --[[--------------------------< N O R M A L I Z E _ L C C N >-------------------------------------------------- lccn normalization (http://www.loc.gov/marc/lccn-namespace.html#normalization) 1. Remove all blanks. 2. If there is a forward slash (/) in the string, remove it, and remove all characters to the right of the forward slash. 3. If there is a hyphen in the string: a. Remove it. b. Inspect the substring following (to the right of) the (removed) hyphen. Then (and assuming that steps 1 and 2 have been carried out): 1. All these characters should be digits, and there should be six or less. (not done in this function) 2. If the length of the substring is less than 6, left-fill the substring with zeroes until the length is six. Returns a normalized lccn for lccn() to validate. There is no error checking (step 3.b.1) performed in this function. ]] local function normalize_lccn (lccn) lccn = lccn:gsub ("%s", ""); -- 1. strip whitespace if nil ~= string.find (lccn,'/') then lccn = lccn:match ("(.-)/"); -- 2. remove forward slash and all character to the right of it end local prefix local suffix prefix, suffix = lccn:match ("(.+)%-(.+)"); -- 3.a remove hyphen by splitting the string into prefix and suffix if nil ~= suffix then -- if there was a hyphen suffix=string.rep("0", 6-string.len (suffix)) .. suffix; -- 3.b.2 left fill the suffix with 0s if suffix length less than 6 lccn=prefix..suffix; -- reassemble the lccn end return lccn; end --[[ Format LCCN link and do simple error checking. LCCN is a character string 8-12 characters long. The length of the LCCN dictates the character type of the first 1-3 characters; the rightmost eight are always digits. http://info-uri.info/registry/OAIHandler?verb=GetRecord&metadataPrefix=reg&identifier=info:lccn/ length = 8 then all digits length = 9 then lccn[1] is alpha length = 10 then lccn[1] and lccn[2] are both alpha or both digits length = 11 then lccn[1] is alpha, lccn[2] and lccn[3] are both alpha or both digits length = 12 then lccn[1] and lccn[2] are both alpha ]] function lccn(id) local handler = cfg.id_handlers['LCCN']; local err_cat = ''; -- presume that LCCN is valid id = normalize_lccn (id); local len = id:len(); -- get the length of the lccn if 8 == len then if id:match("[^%d]") then -- if LCCN has anything but digits (nil if only digits) err_cat = ' ' .. seterror( 'bad_lccn' ); -- set an error message end elseif 9 == len then -- LCCN should be adddddddd if nil == id:match("%a%d%d%d%d%d%d%d%d") then -- does it match our pattern? err_cat = ' ' .. seterror( 'bad_lccn' ); -- set an error message end elseif 10 == len then -- LCCN should be aadddddddd or dddddddddd if id:match("[^%d]") then -- if LCCN has anything but digits (nil if only digits) ... if nil == id:match("^%a%a%d%d%d%d%d%d%d%d") then -- ... see if it matches our pattern err_cat = ' ' .. seterror( 'bad_lccn' ); -- no match, set an error message end end elseif 11 == len then -- LCCN should be aaadddddddd or adddddddddd if not (id:match("^%a%a%a%d%d%d%d%d%d%d%d") or id:match("^%a%d%d%d%d%d%d%d%d%d%d")) then -- see if it matches one of our patterns err_cat = ' ' .. seterror( 'bad_lccn' ); -- no match, set an error message end elseif 12 == len then -- LCCN should be aadddddddddd if not id:match("^%a%a%d%d%d%d%d%d%d%d%d%d") then -- see if it matches our pattern err_cat = ' ' .. seterror( 'bad_lccn' ); -- no match, set an error message end else err_cat = ' ' .. seterror( 'bad_lccn' ); -- wrong length, set an error message end return externallinkid({link = handler.link, label = handler.label, prefix=handler.prefix,id=id,separator=handler.separator, encode=handler.encode}) .. err_cat; end --[[ Format PMID and do simple error checking. PMIDs are sequential numbers beginning at 1 and counting up. This code checks the PMID to see that it contains only digits and is less than test_limit; the value in local variable test_limit will need to be updated periodically as more PMIDs are issued. ]] function pmid(id) local test_limit = 36000000; -- update this value as PMIDs approach local handler = cfg.id_handlers['PMID']; local err_cat = ''; -- presume that PMID is valid if id:match("[^%d]") then -- if PMID has anything but digits err_cat = ' ' .. seterror( 'bad_pmid' ); -- set an error message else -- PMID is only digits local id_num = tonumber(id); -- convert id to a number for range testing if 1 > id_num or test_limit < id_num then -- if PMID is outside test limit boundaries err_cat = ' ' .. seterror( 'bad_pmid' ); -- set an error message end end return externallinkid({link = handler.link, label = handler.label, prefix=handler.prefix,id=id,separator=handler.separator, encode=handler.encode}) .. err_cat; end --[[ Determines if a PMC identifier's online version is embargoed. Compares the date in |embargo= against today's date. If embargo date is in the future, returns true; otherwse, returns false because the embargo has expired or |embargo= not set in this cite. ]] function is_embargoed(embargo) if is_set(embargo) then local lang = mw.getContentLanguage(); local good1, embargo_date, good2, todays_date; good1, embargo_date = pcall( lang.formatDate, lang, 'U', embargo ); good2, todays_date = pcall( lang.formatDate, lang, 'U' ); if good1 and good2 and tonumber( embargo_date ) >= tonumber( todays_date ) then --is embargo date is in the future? return true; -- still embargoed end end return false; -- embargo expired or |embargo= not set end --[[ Format a PMC, do simple error checking, and check for embargoed articles. The embargo parameter takes a date for a value. If the embargo date is in the future the PMC identifier will not be linked to the article. If the embargo specifies a date in the past, or if it is empty or omitted, then the PMC identifier is linked to the article through the link at cfg.id_handlers['PMC'].prefix. PMCs are sequential numbers beginning at 1 and counting up. This code checks the PMC to see that it contains only digits and is less than test_limit; the value in local variable test_limit will need to be updated periodically as more PMCs are issued. ]] function pmc(id, embargo) local test_limit = 10000000; -- update this value as PMCs approach local handler = cfg.id_handlers['PMC']; local err_cat = ''; -- presume that PMC is valid local text; if id:match("[^%d]") then -- if PMC has anything but digits err_cat = ' ' .. seterror( 'bad_pmc' ); -- set an error message else -- PMC is only digits local id_num = tonumber(id); -- convert id to a number for range testing if 1 > id_num or test_limit < id_num then -- if PMC is outside test limit boundaries err_cat = ' ' .. seterror( 'bad_pmc' ); -- set an error message end end if is_embargoed(embargo) then text="[[" .. handler.link .. "|" .. handler.label .. "]]:" .. handler.separator .. id .. err_cat; --still embargoed so no external link else text = externallinkid({link = handler.link, label = handler.label, --no embargo date, ok to link to article prefix=handler.prefix,id=id,separator=handler.separator, encode=handler.encode}) .. err_cat; end return text; end -- Formats a DOI and checks for DOI errors. -- DOI names contain two parts: prefix and suffix separated by a forward slash. -- Prefix: directory indicator '10.' followed by a registrant code -- Suffix: character string of any length chosen by the registrant -- This function checks a DOI name for: prefix/suffix. If the doi name contains spaces or endashes, -- or, if it ends with a period or a comma, this function will emit a bad_doi error message. -- DOI names are case-insensitive and can incorporate any printable Unicode characters so the test for spaces, endash, -- and terminal punctuation may not be technically correct but it appears, that in practice these characters are rarely if ever used in doi names. function doi(id, inactive) local cat = "" local handler = cfg.id_handlers['DOI']; local text; if is_set(inactive) then local inactive_year = inactive:match("%d%d%d%d") or ''; -- try to get the year portion from the inactive date text = "[[" .. handler.link .. "|" .. handler.label .. "]]:" .. id; if is_set(inactive_year) then table.insert( z.error_categories, "Wikipedia:Páginas con DOI inactivos desde " .. inactive_year ); else table.insert( z.error_categories, "Wikipedia:Páginas con DOI inactivos" ); -- when inactive doesn't contain a recognizable year end inactive = " (" .. cfg.messages['inactive'] .. " " .. inactive .. ")" else text = externallinkid({link = handler.link, label = handler.label, prefix=handler.prefix,id=id,separator=handler.separator, encode=handler.encode}) inactive = "" end if nil == id:match("^10%.[^%s–]-/[^%s–]-[^%.,]$") then -- doi must begin with '10.', must contain a fwd slash, must not contain spaces or endashes, and must not end with period or comma cat = ' ' .. seterror( 'bad_doi' ); end return text .. inactive .. cat end -- Formats an OpenLibrary link, and checks for associated errors. function openlibrary(id) local code = id:sub(-1,-1) local handler = cfg.id_handlers['OL']; if ( code == "A" ) then return externallinkid({link=handler.link, label=handler.label, prefix="http://openlibrary.org/authors/OL",id=id, separator=handler.separator, encode = handler.encode}) elseif ( code == "M" ) then return externallinkid({link=handler.link, label=handler.label, prefix="http://openlibrary.org/books/OL",id=id, separator=handler.separator, encode = handler.encode}) elseif ( code == "W" ) then return externallinkid({link=handler.link, label=handler.label, prefix= "http://openlibrary.org/works/OL",id=id, separator=handler.separator, encode = handler.encode}) else return externallinkid({link=handler.link, label=handler.label, prefix= "http://openlibrary.org/OL",id=id, separator=handler.separator, encode = handler.encode}) .. ' ' .. seterror( 'bad_ol' ); end end --[[ Validate and format an issn. This code fixes the case where an editor has included an ISSN in the citation but has separated the two groups of four digits with a space. When that condition occurred, the resulting link looked like this: |issn=0819 4327 gives: [http://www.worldcat.org/issn/0819 4327 0819 4327] -- can't have spaces in an external link This code now prevents that by inserting a hyphen at the issn midpoint. It also validates the issn for length and makes sure that the checkdigit agrees with the calculated value. Incorrect length (8 digits), characters other than 0-9 and X, or checkdigit / calculated value mismatch will all cause a check issn error message. The issn is always displayed with a hyphen, even if the issn was given as a single group of 8 digits. ]] function issn(id) local ModuloIdentificadores = require('Módulo:Identificadores') local issn_copy = id; -- save a copy of unadulterated issn; use this version for display if issn does not validate local handler = cfg.id_handlers['ISSN']; local text; local valid_issn = true; id=id:gsub( "[%s-–]", "" ); -- strip spaces, hyphens, and ndashes from the issn if 8 ~= id:len() or nil == id:match( "^%d*X?$" ) then -- validate the issn: 8 didgits long, containing only 0-9 or X in the last position valid_issn=false; -- wrong length or improper character else valid_issn=ModuloIdentificadores.esValidoISXN(id, 8); -- validate issn end if true == valid_issn then id = string.sub( id, 1, 4 ) .. "-" .. string.sub( id, 5 ); -- if valid, display correctly formatted version else id = issn_copy; -- if not valid, use the show the invalid issn with error message end text = externallinkid({link = handler.link, label = handler.label, prefix=handler.prefix,id=id,separator=handler.separator, encode=handler.encode}) if false == valid_issn then text = text .. ' ' .. seterror( 'bad_issn' ) -- add an error message if the issn is invalid end return text end --[[ This function sets default title types (equivalent to the citation including |type=<default value>) for those citations that have defaults. Also handles the special case where it is desireable to omit the title type from the rendered citation (|type=none). ]] function set_titletype(cite_class, title_type) if is_set(title_type) then if "none" == title_type then title_type = ""; -- if |type=none then type parameter not displayed end return title_type; -- if |type= has been set to any other value use that value end -- if "AV media notes" == cite_class or "DVD notes" == cite_class then -- if this citation is cite AV media notes or cite DVD notes if "notas audiovisual" == cite_class or "notas de DVD" == cite_class then -- if this citation is cite AV media notes or cite DVD notes return "Media notes"; -- display AV media notes / DVD media notes annotation -- Falta traducir elseif "podcast" == cite_class then -- if this citation is cite podcast return "Podcast"; -- display podcast annotation elseif "pressrelease" == cite_class then -- if this citation is cite press release return "Press release"; -- display press release annotation elseif "techreport" == cite_class then -- if this citation is cite techreport return "Technical report"; -- display techreport annotation elseif "tesis" == cite_class then -- if this citation is cite thesis (degree option handled after this function returns) return "Tesis"; -- display simple thesis annotation (without |degree= modification) end end --[[ Determines whether a URL string is valid At present the only check is whether the string appears to be prefixed with a URI scheme. It is not determined whether the URI scheme is valid or whether the URL is otherwise well formed. ]] function checkurl( url_str ) -- Protocol-relative or URL scheme return url_str:sub(1,2) == "//" or url_str:match( "^[^/]*:" ) ~= nil; end -- Removes irrelevant text and dashes from ISBN number -- Similar to that used for Special:BookSources function cleanisbn( isbn_str ) return isbn_str:gsub( "[^-0-9X]", "" ); end -- Extract page numbers from external wikilinks in any of the |page=, |pages=, or |at= parameters for use in COinS. function get_coins_pages (pages) if not is_set (pages) then return pages; end -- if no page numbers then we're done while true do pattern = pages:match("%[([%w/:\.]+%s+)[%w%d].*%]"); -- pattern is the opening bracket, the url and following space(s): "[url " if nil == pattern then break; end -- no more urls pages = pages:gsub(pattern, ""); -- remove as many instances of pattern as possible end pages = pages:gsub("[%[%]]", ""); -- remove the brackets pages = pages:gsub("–", "-" ); -- replace endashes with hyphens pages = pages:gsub("&%w+;", "-" ); -- and replace html entities (&ndash; etc) with hyphens; do we need to replace numerical entities like &#32; and the like? return pages; end -- Gets the display text for a wikilink like [[A|B]] or [[B]] gives B function removewikilink( str ) return (str:gsub( "%[%[([^%[%]]*)%]%]", function(l) return l:gsub( "^[^|]*|(.*)$", "%1" ):gsub("^%s*(.-)%s*$", "%1"); end)); end -- Escape sequences for content that will be used for URL descriptions function safeforurl( str ) if str:match( "%[%[.-%]%]" ) ~= nil then table.insert( z.message_tail, { seterror( 'wikilink_in_url', {}, true ) } ); end return str:gsub( '[%[%]\n]', { ['['] = '&#91;', [']'] = '&#93;', ['\n'] = ' ' } ); end -- Convierte un guión largo (signo de negativo) en un guión corto. function dashtohyphen( str ) if not is_set(str) or str:match( "[%[%]{}<>]" ) ~= nil then return str; end return str:gsub( '–', '-' ); end -- Protects a string that will be wrapped in wiki italic markup '' ... '' function safeforitalics( str ) --[[ Note: We can not use <i> for italics, as the expected behavior for italics specified by ''...'' in the title is that they will be inverted (i.e. unitalicized) in the resulting references. In addition, <i> and '' tend to interact poorly under Mediawiki's HTML tidy. ]] if not is_set(str) then return str; else if str:sub(1,1) == "'" then str = "<span></span>" .. str; end if str:sub(-1,-1) == "'" then str = str .. "<span></span>"; end -- Remove newlines as they break italics. return str:gsub( '\n', ' ' ); end end --[[ Joins a sequence of strings together while checking for duplicate separation characters. ]] function safejoin( tbl, duplicate_char ) --[[ Note: we use string functions here, rather than ustring functions. This has considerably faster performance and should work correctly as long as the duplicate_char is strict ASCII. The strings in tbl may be ASCII or UTF8. ]] local str = ''; local comp = ''; local end_chr = ''; local trim; for _, value in ipairs( tbl ) do if value == nil then value = ''; end if str == '' then str = value; elseif value ~= '' then if value:sub(1,1) == '<' then -- Special case of values enclosed in spans and other markup. comp = value:gsub( "%b<>", "" ); else comp = value; end if comp:sub(1,1) == duplicate_char then trim = false; end_chr = str:sub(-1,-1); -- str = str .. "<HERE(enchr=" .. end_chr.. ")" if end_chr == duplicate_char then str = str:sub(1,-2); elseif end_chr == "'" then if str:sub(-3,-1) == duplicate_char .. "''" then str = str:sub(1, -4) .. "''"; elseif str:sub(-5,-1) == duplicate_char .. "]]''" then trim = true; elseif str:sub(-4,-1) == duplicate_char .. "]''" then trim = true; end elseif end_chr == "]" then if str:sub(-3,-1) == duplicate_char .. "]]" then trim = true; elseif str:sub(-2,-1) == duplicate_char .. "]" then trim = true; end elseif end_chr == " " then if str:sub(-2,-1) == duplicate_char .. " " then str = str:sub(1,-3); end end if trim then if value ~= comp then local dup2 = duplicate_char; if dup2:match( "%A" ) then dup2 = "%" .. dup2; end value = value:gsub( "(%b<>)" .. dup2, "%1", 1 ) else value = value:sub( 2, -1 ); end end end str = str .. value; end end return str; end -- Attempts to convert names to initials. function reducetoinitials(first) local initials = {} for word in string.gmatch(first, "%S+") do table.insert(initials, string.sub(word,1,1)) -- Vancouver format does not include full stops. end return table.concat(initials) -- Vancouver format does not include spaces. end -- Formats a list of people (e.g. authors / editors) function listpeople(control, people) local sep = control.sep; local namesep = control.namesep local format = control.format local maximum = control.maximum local lastauthoramp = control.lastauthoramp; local text = {} local etal = false; if sep:sub(-1,-1) ~= " " then sep = sep .. " " end if maximum ~= nil and maximum < 1 then return "", 0; end for i,person in ipairs(people) do if is_set(person.last) then local mask = person.mask local one local sep_one = sep; if maximum ~= nil and i > maximum then etal = true; break; elseif (mask ~= nil) then local n = tonumber(mask) if (n ~= nil) then one = string.rep("&mdash;",n) else one = mask; sep_one = " "; end else one = person.last local first = person.first if is_set(first) then if ( "vanc" == format ) then first = reducetoinitials(first) end one = one .. namesep .. first end if is_set(person.link) then one = "[[" .. person.link .. "|" .. one .. "]]" end if is_set(person.link) and nil ~= person.link:find("//") then one = one .. " " .. seterror( 'bad_authorlink' ) end -- check for url in author link; end table.insert( text, one ) table.insert( text, sep_one ) end end local count = #text / 2; if count > 0 then if count > 1 and is_set(lastauthoramp) and not etal then text[#text-2] = " & "; end text[#text] = nil; end local result = table.concat(text) -- construct list if etal then local etal_text = cfg.messages['et al']; result = result .. " " .. etal_text; end -- if necessary wrap result in <span> tag to format in Small Caps if ( "scap" == format ) then result = '<span class="smallcaps" style="font-variant:small-caps">' .. result .. '</span>'; end return result, count end -- Generates a CITEREF anchor ID. function anchorid( options ) return "CITAREF" .. table.concat( options ); --return "CITEREF" .. table.concat( options ); end -- Gets name list from the input arguments function extractnames(args, list_name) local names = {}; local i = 1; local last; while true do last = selectone( args, cfg.aliases[list_name .. '-Last'], 'redundant_parameters', i ); if not is_set(last) then -- just in case someone passed in an empty parameter break; end names[i] = { last = last, first = selectone( args, cfg.aliases[list_name .. '-First'], 'redundant_parameters', i ), link = selectone( args, cfg.aliases[list_name .. '-Link'], 'redundant_parameters', i ), mask = selectone( args, cfg.aliases[list_name .. '-Mask'], 'redundant_parameters', i ) }; i = i + 1; end return names; end -- Populates ID table from arguments using configuration settings function extractids( args ) local id_list = {}; for k, v in pairs( cfg.id_handlers ) do v = selectone( args, v.parameters, 'redundant_parameters' ); if is_set(v) then id_list[k] = v; end end return id_list; end -- Takes a table of IDs and turns it into a table of formatted ID outputs. function buildidlist( id_list, options ) local new_list, handler = {}; function fallback(k) return { __index = function(t,i) return cfg.id_handlers[k][i] end } end; for k, v in pairs( id_list ) do -- fallback to read-only cfg handler = setmetatable( { ['id'] = v }, fallback(k) ); if handler.mode == 'external' then table.insert( new_list, {handler.label, externallinkid( handler ) } ); elseif handler.mode == 'internal' then table.insert( new_list, {handler.label, internallinkid( handler ) } ); elseif handler.mode ~= 'manual' then error( cfg.messages['unknown_ID_mode'] ); elseif k == 'DOI' then table.insert( new_list, {handler.label, doi( v, options.DoiBroken ) } ); elseif k == 'LCCN' then table.insert( new_list, {handler.label, lccn( v ) } ); elseif k == 'OL' then table.insert( new_list, {handler.label, openlibrary( v ) } ); elseif k == 'PMC' then table.insert( new_list, {handler.label, pmc( v, options.Embargo ) } ); elseif k == 'PMID' then table.insert( new_list, {handler.label, pmid( v ) } ); elseif k == 'ISSN' then table.insert( new_list, {handler.label, issn( v:upper() ) } ); elseif k == 'ISBN' then --local ISBN = internallinkid( handler ); --if not checkisbn( v ) and not is_set(options.IgnoreISBN) then -- ISBN = ISBN .. seterror( 'bad_isbn', {}, false, " ", "" ); --end local ISBN if options.ISBNCorrecto or options.ISBNSugerido or is_set(options.IgnoreISBN) then ISBN = internallinkid( handler ); else -- ISBN incorrecto. ISBN = internallinkid( handler ) .. seterror( 'bad_isbn', {}, false, " ", "" ); end table.insert( new_list, {handler.label, ISBN } ); else error( cfg.messages['unknown_manual_ID'] ); end end function comp( a, b ) -- used in following table.sort() return a[1] < b[1]; end table.sort( new_list, comp ); for k, v in ipairs( new_list ) do new_list[k] = v[2]; end return new_list; end function CorregirISBN(ISBNIncorrecto) local ModuloIdentificadores = require('Módulo:Identificadores') local ISBNCorregido -- Convertir mayúsculas ISBNCorregido = ISBNIncorrecto:upper() -- Corregir guiones ISBNCorregido = ISBNCorregido:gsub("%–","-"); -- Eliminar ISBN del principio ISBNCorregido =ISBNCorregido:match("ISBN (.*)") or ISBNCorregido; -- Eliminar separadores como "." y "," del final ISBNCorregido = ISBNCorregido:gsub("[%.,]",""); if ModuloIdentificadores.esValidoISBN(ISBNCorregido) then return ISBNCorregido end -- Ver si se trata de un ISBN de 13 local ISBNCorregidoSin978 ISBNCorregidoSin978 = ISBNCorregido:match("^978[%s-]*(.*)") if ISBNCorregidoSin978 and ModuloIdentificadores.esValidoISBN(ISBNCorregidoSin978) then -- "978" + ISBN10 return ISBNCorregidoSin978 end -- ISBN de 13 al que se ha quitado 978 if ModuloIdentificadores.esValidoISBN('978'..ISBNCorregido) then if ISBNCorregido:match('-') then return '978-' .. ISBNCorregido elseif ISBNCorregido:match(' ') then return '978 ' .. ISBNCorregido else return '978' .. ISBNCorregido end end -- 13 ISBN o 13: ISBN local ISBNCorregidoSi13 ISBNCorregidoSin13 = ISBNCorregido:match("^13:?[%s]+(.*)") if ISBNCorregidoSin13 and ModuloIdentificadores.esValidoISBN(ISBNCorregidoSin13) then return ISBNCorregidoSin13 end end function CorregirISBNs(ISBNIncorrecto1, ISBNIncorrecto2) -- Tomar aquel de los dos ISBNs correctos si uno de ellos es un ISBN10 y el -- otro el correspondiente ISBN13 local ISBN1Corregido = CorregirISBN(ISBNIncorrecto1) local ISBN2Corregido = CorregirISBN(ISBNIncorrecto2) if ISBN1Corregido and ISBN2Corregido then -- Ambos son correctos. if ISBN1Corregido == ISBN2Corregido then -- Ambos son iguales (tras corregirse) return ISBN1Corregido end -- Ver si uno de ellos es un ISBN10 y el otro un ISBN13 local ISBNSinDigitoControl ISBNSinDigitoControl = ISBN1Corregido:match("(.*).") if ISBNSinDigitoControl and ISBN2Corregido:match("978[%s-]*" .. ISBNSinDigitoControl) then return ISBN2Corregido end ISBNSinDigitoControl = ISBN2Corregido:match("(.*).") if ISBNSinDigitoControl and ISBN1Corregido:match("978[%s-]*" .. ISBNSinDigitoControl) then return ISBN1Corregido end elseif ISBN1Corregido then return ISBN1Corregido elseif ISBN2Corregido then return ISBN1Corregido end end function SugerirISBN(ISBNIncorrecto) local ISBNSugerido -- Ejemplos: -- 0 88254 165 x --> 0 88254 165 X -- 0-7153-5734-4. --> 0-7153-5734-4 -- 0–313–31807–7 --> 0-313-31807-7 -- ISBN(13): 9788495379092 -- 978-0-7432-9302-0 y 0-7432-9302-0 -- 9788430948949 8430948945 -- 8496702057 9788496702059 -- 0198152213, 978019815221 -- 13 978-0-511-41399-5 -- 13: 9788432238406 -- ISBN con caracteres incorrectos. ISBNSugerido=CorregirISBN(ISBNIncorrecto) if ISBNSugerido then return ISBNSugerido end -- ISBN10, ISBN13 o ISBN13, ISBN10 local ISBN1, ISBN2 ISBN1, ISBN2 = ISBNIncorrecto:match("(.*),%s*(.*)") if is_set(ISBN1) and is_set(ISBN2) then ISBNSugerido = CorregirISBNs(ISBN1, ISBN2) if ISBNSugerido then return ISBNSugerido end end -- ISBN10 y ISBN13 o ISBN13 y ISBN10 ISBN1, ISBN2 = ISBNIncorrecto:match("(.*)%s+y%s+(.*)") if is_set(ISBN1) and is_set(ISBN2) then ISBNSugerido = CorregirISBNs(ISBN1, ISBN2) if ISBNSugerido then return ISBNSugerido end end -- ISBN10 ISBN13 o ISBN13 ISBN10 ISBN1, ISBN2 = ISBNIncorrecto:match("(.*)%s+(.*)") if is_set(ISBN1) and is_set(ISBN2) then ISBNSugerido = CorregirISBNs(ISBN1, ISBN2) if ISBNSugerido then return ISBNSugerido end end end -- Chooses one matching parameter from a list of parameters to consider -- Generates an error if more than one match is present. function selectone( args, possible, error_condition, index ) local value = nil; local selected = ''; local error_list = {}; if index ~= nil then index = tostring(index); end -- Handle special case of "#" replaced by empty string if index == '1' then for _, v in ipairs( possible ) do v = v:gsub( "#", "" ); if is_set(args[v]) then if value ~= nil and selected ~= v then table.insert( error_list, v ); else value = args[v]; selected = v; end end end end for _, v in ipairs( possible ) do if index ~= nil then v = v:gsub( "#", index ); end if is_set(args[v]) then if value ~= nil and selected ~= v then table.insert( error_list, v ); else value = args[v]; selected = v; end end end if #error_list > 0 then local error_str = ""; for _, k in ipairs( error_list ) do if error_str ~= "" then error_str = error_str .. cfg.messages['parameter-separator'] end error_str = error_str .. wrap( 'parameter', k ); end if #error_list > 1 then error_str = error_str .. cfg.messages['parameter-final-separator']; else error_str = error_str .. cfg.messages['parameter-pair-separator']; end error_str = error_str .. wrap( 'parameter', selected ); table.insert( z.message_tail, { seterror( error_condition, {error_str}, true ) } ); end return value, selected; end -- COinS metadata (see <http://ocoins.info/>) allows automated tools to parse -- the citation information. function COinS(data) if 'table' ~= type(data) or nil == next(data) then return ''; end local ctx_ver = "Z39.88-2004"; -- treat table strictly as an array with only set values. local OCinSoutput = setmetatable( {}, { __newindex = function(self, key, value) if is_set(value) then rawset( self, #self+1, table.concat{ key, '=', mw.uri.encode( removewikilink( value ) ) } ); end end }); if is_set(data.Chapter) then OCinSoutput.rft_val_fmt = "info:ofi/fmt:kev:mtx:book"; OCinSoutput["rft.genre"] = "bookitem"; OCinSoutput["rft.btitle"] = data.Chapter; OCinSoutput["rft.atitle"] = data.Title; elseif is_set(data.Periodical) then OCinSoutput.rft_val_fmt = "info:ofi/fmt:kev:mtx:journal"; OCinSoutput["rft.genre"] = "article"; OCinSoutput["rft.jtitle"] = data.Periodical; OCinSoutput["rft.atitle"] = data.Title; else OCinSoutput.rft_val_fmt = "info:ofi/fmt:kev:mtx:book"; OCinSoutput["rft.genre"] = "book" OCinSoutput["rft.btitle"] = data.Title; end OCinSoutput["rft.place"] = data.PublicationPlace; OCinSoutput["rft.date"] = data.Date; OCinSoutput["rft.series"] = data.Series; OCinSoutput["rft.volume"] = data.Volume; OCinSoutput["rft.issue"] = data.Issue; OCinSoutput["rft.pages"] = data.Pages; OCinSoutput["rft.edition"] = data.Edition; OCinSoutput["rft.pub"] = data.PublisherName; for k, v in pairs( data.ID_list ) do local id, value = cfg.id_handlers[k].COinS; if k == 'ISBN' then value = cleanisbn( v ); else value = v; end if string.sub( id or "", 1, 4 ) == 'info' then OCinSoutput["rft_id"] = table.concat{ id, "/", v }; else OCinSoutput[ id ] = value; end end local last, first; for k, v in ipairs( data.Authors ) do last, first = v.last, v.first; if k == 1 then if is_set(last) then OCinSoutput["rft.aulast"] = last; end if is_set(first) then OCinSoutput["rft.aufirst"] = first; end end if is_set(last) and is_set(first) then OCinSoutput["rft.au"] = table.concat{ last, ", ", first }; elseif is_set(last) then OCinSoutput["rft.au"] = last; end end OCinSoutput.rft_id = data.URL; OCinSoutput.rfr_id = table.concat{ "info:sid/", mw.site.server:match( "[^/]*$" ), ":", data.RawPage }; OCinSoutput = setmetatable( OCinSoutput, nil ); -- sort with version string always first, and combine. table.sort( OCinSoutput ); table.insert( OCinSoutput, 1, "ctx_ver=" .. ctx_ver ); -- such as "Z39.88-2004" return table.concat(OCinSoutput, "&"); end --[[ This is the main function doing the majority of the citation formatting. ]] function citation0( config, args) local ModuloIdentificadores = require('Módulo:Identificadores') --[[ Load Input Parameters The argment_wrapper facillitates the mapping of multiple aliases to single internal variable. ]] local A = argument_wrapper( args ); local i local PPrefix = A['PPrefix'] local PPPrefix = A['PPPrefix'] if is_set( A['NoPP'] ) then PPPrefix = "" PPrefix = "" end -- Pick out the relevant fields from the arguments. Different citation templates -- define different field names for the same underlying things. local Authors = A['Authors']; local a = extractnames( args, 'AuthorList' ); local Coauthors = A['Coauthors']; local Editors = A['Editors']; local e = extractnames( args, 'EditorList' ); local Year = A['Year']; local wYear=Year; local PublicationDate = A['PublicationDate']; local OrigYear = A['OrigYear']; local Date = A['Date']; local wfecha = Date; local LayDate = A['LayDate']; ------------------------------------------------- Get title data local Title = A['Title']; local BookTitle = A['BookTitle']; local Conference = A['Conference']; local TransTitle = A['TransTitle']; local TitleNote = A['TitleNote']; local TitleLink = A['TitleLink']; local Chapter = A['Chapter']; local ChapterLink = A['ChapterLink']; local TransChapter = A['TransChapter']; local TitleType = A['TitleType']; local Degree = A['Degree']; local Docket = A['Docket']; local ArchiveURL = A['ArchiveURL']; local URL = A['URL'] local URLorigin = A:ORIGIN('URL'); local ChapterURL = A['ChapterURL']; local ChapterURLorigin = A:ORIGIN('ChapterURL'); local ConferenceURL = A['ConferenceURL']; local ConferenceURLorigin = A:ORIGIN('ConferenceURL'); local SinURL = false; local Periodical = A['Periodical']; local Series = A['Series']; local Volume = A['Volume']; local Issue = A['Issue']; local Position = ''; local Page = A['Page']; local Pages = dashtohyphen( A['Pages'] ); local At = A['At']; local Others = A['Others']; local Edition = A['Edition']; local PublicationPlace = A['PublicationPlace'] local Place = A['Place']; local Passage = A['Passage']; local PassageURL = A['PassageURL']; local PublisherName = A['PublisherName']; local UrlAccess = A['UrlAccess']; local RegistrationRequired = A['RegistrationRequired']; local SubscriptionRequired = A['SubscriptionRequired']; local Via = A['Via']; local AccessDate = A['AccessDate']; local MesAcceso = A['MesAcceso']; -- Inexistente en la plantilla original local AnyoAcceso = A['AñoAcceso']; -- Inexistente en la plantilla original local ArchiveDate = A['ArchiveDate']; local Agency = A['Agency']; local DeadURL = A['DeadURL'] local Language = A['Language']; local Format = A['Format']; local Ref = A['Ref']; local DoiBroken = A['DoiBroken']; local ID = A['ID']; local IgnoreISBN = A['IgnoreISBN']; local Embargo = A['Embargo']; local Texto1 = A['Texto1'] local ID_list = extractids( args ); local ISBNCorrecto = false; local ISBNSugerido; if is_set (ID_list['ISBN']) and not is_set (IgnoreISBN) then if ModuloIdentificadores.esValidoISBN(ID_list['ISBN']) then ISBNCorrecto= true else ISBNSugerido = SugerirISBN(ID_list['ISBN']) if ISBNSugerido then ID_list['ISBN'] = ISBNSugerido end end end local Lista_Identificadores_Formateados={} -- Lista de identificadores con enlaces y en su caso con los errores local Quote = A['Quote']; local TransQuote = A['TransQuote']; local PostScript = A['PostScript']; local LayURL = A['LayURL']; local LaySource = A['LaySource']; local Transcript = A['Transcript']; local TranscriptURL = A['TranscriptURL'] local TranscriptURLorigin = A:ORIGIN('TranscriptURL'); local sepc = A['Separator']; local LastAuthorAmp = A['LastAuthorAmp']; local no_tracking_cats = A['NoTracking']; --these are used by cite interview local Callsign = A['Callsign']; local City = A['City']; local Cointerviewers = A['Cointerviewers']; -- deprecated local Interviewer = A['Interviewer']; -- deprecated local Program = A['Program']; --Parámetros que no se utilizan en la plantilla inglesa local SinEd = A['SinEd'] local Extra = A['Extra'] local Traductor = A['Traductor'] local Traductores = A['Traductores'] --local variables that are not cs1 parameters local page_type; -- is this needed? Doesn't appear to be used anywhere; local use_lowercase local this_page = mw.title.getCurrentTitle(); --Also used for COinS and for language -- local anchor_year; -- used in the CITEREF identifier local COinS_date; -- used in the COinS metadata --check this page to see if it is in one of the namespaces that cs1 is not supposed to add to the error categories. if not is_set(no_tracking_cats) then -- ignore if we are already not going to categorize this page for k, v in pairs( cfg.uncategorized_namespaces ) do -- otherwise, spin through the list of namespaces we don't include in error categories if this_page.nsText == v then -- if we find one no_tracking_cats = "true"; -- set no_trackin_cats break; -- and we're done end end end -- check for extra |page=, |pages= or |at= parameters. if is_set(Page) then -- La categoría de la plantilla inglesa es intraducible. Utilizo otro error similar. --if is_set(Pages) or is_set(At) then -- Page = Page .. " " .. seterror('extra_pages'); -- add error message -- Pages = ''; -- unset the others -- At = ''; --end if is_set(Pages) then Page = Page .. " " .. seterror('redundant_parameters', '<code>&#124;página=</code> y <code>&#124;páginas=</code>'); Pages = ''; -- unset the others At = ''; Passage = ''; elseif is_set(At) then Page = Page .. " " .. seterror('redundant_parameters', '<code>&#124;página=</code> y <code>&#124;en=</code>'); Pages = ''; -- unset the others At = ''; Passage = ''; elseif is_set(Passage) then Page = Page .. " " .. seterror('redundant_parameters', '<code>&#124;página=</code> y <code>&#124;pasaje=</code>'); Pages = ''; -- unset the others At = ''; Passage = ''; end elseif is_set(Pages) then if is_set(At) then -- Pages = Pages .. " " .. seterror('extra_pages'); -- add error messages Pages = Pages .. " " .. seterror('redundant_parameters', '<code>&#124;páginas=</code> y <code>&#124;en=</code>'); At = ''; Passage = ''; elseif is_set(Passage) then Pages = Pages .. " " .. seterror('redundant_parameters', '<code>&#124;páginas=</code> y <code>&#124;pasaje=</code>'); At = ''; Passage = ''; end elseif is_set(At) then if is_set(Passage) then At = At .. " " .. seterror('redundant_parameters', '<code>&#124;en=</code> y <code>&#124;pasaje=</code>'); Passage = ''; end end -- both |publication-place= and |place= (|location=) allowed if different if not is_set(PublicationPlace) and is_set(Place) then PublicationPlace = Place; -- promote |place= (|location=) to |publication-place end if PublicationPlace == Place then Place = ''; end -- don't need both if they are the same --[[ Parameter remapping for cite encyclopedia: When the citation has these parameters: |encyclopedia and |title then map |title to |article and |encyclopedia to |title |encyclopedia and |article then map |encyclopedia to |title |encyclopedia then map |encyclopedia to |title |trans_title maps to |trans_chapter when |title is re-mapped All other combinations of |encyclopedia, |title, and |article are not modified ]] -- if ( config.ClaseCita == "encyclopaedia" ) then if ( config.ClaseCita == "enciclopedia" ) then if is_set(Periodical) then -- Periodical is set when |encyclopedia is set if is_set(Title) then if not is_set(Chapter) then Chapter = Title; -- |encyclopedia and |title are set so map |title to |article and |encyclopedia to |title TransChapter = TransTitle; Title = Periodical; Periodical = ''; -- redundant so unset TransTitle = ''; -- redundant so unset end else -- |title not set Title = Periodical; -- |encyclopedia set and |article set or not set so map |encyclopedia to |title Periodical = ''; -- redundant so unset end end end --special cases for classic book if config.ClaseCita == 'libro' and is_set(Passage) then if is_set(PassageURL) then Passage = externallink( PassageURL, Passage ) end if not is_set (sepc) then sepc = ' '; end else Passage = '' end --special cases for citation. if (config.ClaseCita == "citation") then -- for citation templates if not is_set (sepc) then -- if |separator= is not set sepc = ','; -- set citation separator to its default (comma) end else -- not a citation template if not is_set (sepc) then -- if |separator= has not been set sepc = '.'; -- set cite xxx separator to its default (period) end end if not is_set (Ref) then -- if |ref= is not set -- if inArray(config.ClaseCita, {"citation", "libro", "publicación", "web"}) then -- for citation templates -- En la Wikipedia inglesa solo se usan citas Harvard para la clase citation -- Quedan habilitadas las citas Harvard para cualquier clase que contenga algún autor o editor if #a > 0 or #e > 0 then Ref = "harv"; -- set default |ref=harv end end -- check for specital case where |separator=none if 'none' == sepc:lower() then -- if |separator=none sepc = ''; -- then set it to a empty string end use_lowercase = ( sepc ~= '.' ); Others = is_set(Others) and (sepc .. " " .. Others) or ""; -- Special case for cite techreport. if (config.ClaseCita == "techreport") then -- special case for cite techreport if is_set(Issue) then -- cite techreport uses 'number', which other citations aliase to 'issue' if not is_set(ID) then -- can we use ID for the "number"? ID = Issue; -- yes, use it Issue = ""; -- unset Issue so that "number" isn't duplicated in the rendered citation or COinS metadata else -- can't use ID so emit error message ID = ID .. " " .. seterror('redundant_parameters', '<code>&#124;id=</code> and <code>&#124;number=</code>'); end end -- special case for cite interview elseif (config.ClaseCita == "entrevista") then if is_set(Program) then ID = ' ' .. Program; end if is_set(Callsign) then if is_set(ID) then ID = ID .. sepc .. ' ' .. Callsign; else ID = ' ' .. Callsign; end end if is_set(City) then if is_set(ID) then ID = ID .. sepc .. ' ' .. City; else ID = ' ' .. City; end end if is_set(Interviewer) then if is_set(TitleType) then Others = sepc .. ' ' .. TitleType .. ' con ' .. Interviewer -- ' ' .. TitleType .. ' con ' .. Interviewer; TitleType = ''; else Others = sepc .. ' ' .. wrap('interview', Interviewer, use_lowercase) .. Others -- ' ' .. 'Entrevista con ' .. Interviewer; end if is_set(Cointerviewers) then Others = Others .. sepc .. ' ' .. Cointerviewers; end else Others = Others .. sepc .. ' (Entrevista)' --'(Interview)'; end elseif is_set(ID) then ID = wrap( 'id', ID) end --Account for the oddity that is {{cite journal}} with |pmc= set and |url= not set -- if config.ClaseCita == "journal" and not is_set(URL) and is_set(ID_list['PMC']) then if config.ClaseCita == "publicación" and not is_set(URL) and is_set(ID_list['PMC']) then if not is_embargoed(Embargo) then URL=cfg.id_handlers['PMC'].prefix .. ID_list['PMC']; -- set url to be the same as the PMC external link if not embargoed URLorigin = cfg.id_handlers['PMC'].parameters[1]; -- set URLorigin to parameter name for use in error message if citation is missing a |title= end end if is_set(Texto1) and Texto1:match("%S+") then -- Informar la URL con el valor del campo 1 en su caso if config.ClaseCita == "web" and not is_set(URL) and checkurl(Texto1) then table.insert( z.message_tail, { seterror( 'url_sugerida', {Texto1, 'url'}, true ) } ) --URL = Texto1 Utilizar URL como texto. else table.insert( z.message_tail, { seterror( 'text_ignored', {Texto1}, true ) } ) end end -- Account for the oddity that is {{cite conference}}, before generation of COinS data. --TODO: if this is only for {{cite conference}}, shouldn't we be checking? (if config.ClaseCita=='conference' then ...) if 'conferencia' == config.ClaseCita then if is_set(BookTitle) then Chapter = Title; -- ChapterLink = TitleLink; -- |chapterlink= is deprecated ChapterURL = URL; ChapterUrlAccess = UrlAccess; ChapterURLorigin = URLorigin; URLorigin = ''; ChapterFormat = Format; TransChapter = TransTitle; Title = BookTitle; Format = ''; -- TitleLink = ''; TransTitle = ''; URL = ''; end elseif 'speech' ~= config.ClaseCita then Conference = ''; -- not cite conference or cite speech so make sure this is empty string end -- Account for the oddity that is {{cite episode}}, before generation of COinS data. --[[ -- {{cite episode}} is not currently supported by this module if config.ClaseCita == "episode" then local AirDate = A['AirDate']; local SeriesLink = A['SeriesLink']; local Season = A['Season']; local SeriesNumber = A['SeriesNumber']; local Network = A['Network']; local Station = A['Station']; local s, n = {}, {}; local Sep = (first_set(A["SeriesSeparator"], A["Separator"]) or "") .. " "; if is_set(Issue) then table.insert(s, cfg.messages["episode"] .. " " .. Issue); Issue = ''; end if is_set(Season) then table.insert(s, cfg.messages["season"] .. " " .. Season); end if is_set(SeriesNumber) then table.insert(s, cfg.messages["series"] .. " " .. SeriesNumber); end if is_set(Network) then table.insert(n, Network); end if is_set(Station) then table.insert(n, Station); end Date = Date or AirDate; Chapter = Title; ChapterLink = TitleLink; TransChapter = TransTitle; Title = Series; TitleLink = SeriesLink; TransTitle = ''; Series = table.concat(s, Sep); ID = table.concat(n, Sep); end -- end of {{cite episode}} stuff]] -- legacy: promote concatenation of |day=, |month=, and |year= to Date if Date not set; or, promote PublicationDate to Date if neither Date nor Year are set. if not is_set(Date) then Date = Year; -- promote Year to Date Year = nil; -- make nil so Year as empty string isn't used for CITEREF if is_set(Date) then local Month = A['Month']; if is_set(Month) then Date = Month .. " de " .. Date; --Month .. " " .. Date; local Day = A['Day'] if is_set(Day) then Date = Day .. " de " .. Date end --if is_set(Day) then Date = Day .. " " .. Date end end elseif is_set(PublicationDate) then -- use PublicationDate when |date= and |year= are not set Date = PublicationDate; -- promonte PublicationDate to Date PublicationDate = ''; -- unset, no longer needed end end if PublicationDate == Date then PublicationDate = ''; end -- if PublicationDate is same as Date, don't display in rendered citation --[[ Go test all of the date-holding parameters for valid MOS:DATE format and make sure that dates are real dates. This must be done before we do COinS because here is where we get the date used in the metadata. Date validation supporting code is in Módulo:Citas/ValidaciónFechas ]] --[[ anchor_year, COinS_date, error_message = dates({['accessdate']=AccessDate, ['airdate']=AirDate, ['archivedate']=ArchiveDate, ['date']=Date, ['doi_brokendate']=DoiBroken, ['embargo']=Embargo, ['laydate']=LayDate, ['publicationdate']=PublicationDate, ['year']=Year}); if is_set(error_message) then table.insert( z.message_tail, { seterror( 'bad_date', {error_message}, true ) } ); -- add this error message end ]] -- At this point fields may be nil if they weren't specified in the template use. We can use that fact. -- COinS metadata (see <http://ocoins.info/>) for -- automated parsing of citation information. local OCinSoutput = COinS{ ['Periodical'] = Periodical, ['Chapter'] = Chapter, ['Title'] = Title, ['PublicationPlace'] = PublicationPlace, ['Date'] = first_set(COinS_date, Date), -- COinS_date has correctly formatted date if Date is valid; any reason to keep Date here? Should we be including invalid dates in metadata? ['Series'] = Series, ['Volume'] = Volume, ['Issue'] = Issue, ['Pages'] = get_coins_pages (first_set(Page, Pages, At)), -- pages stripped of external links ['Edition'] = Edition, ['PublisherName'] = PublisherName, ['URL'] = first_set( URL, ChapterURL ), ['Authors'] = a, ['ID_list'] = ID_list, ['RawPage'] = this_page.prefixedText, }; if is_set(Periodical) and not is_set(Chapter) and is_set(Title) then Chapter = Title; ChapterLink = TitleLink; TransChapter = TransTitle; Title = ''; TitleLink = ''; TransTitle = ''; end -- Now perform various field substitutions. -- We also add leading spaces and surrounding markup and punctuation to the -- various parts of the citation, but only when they are non-nil. if not is_set(Authors) then local Maximum = tonumber( A['DisplayAuthors'] ); -- Preserve old-style implicit et al. if not is_set(Maximum) and #a == 9 then Maximum = 8; table.insert( z.message_tail, { seterror('implict_etal_author', {}, true ) } ); elseif not is_set(Maximum) then Maximum = #a + 1; end local control = { sep = A["AuthorSeparator"] .. " ", namesep = (first_set(A["AuthorNameSeparator"], A["NameSeparator"]) or "") .. " ", format = A["AuthorFormat"], maximum = Maximum, lastauthoramp = LastAuthorAmp }; -- If the coauthor field is also used, prevent ampersand and et al. formatting. if is_set(Coauthors) then control.lastauthoramp = nil; control.maximum = #a + 1; end Authors = listpeople(control, a) end if not is_set(Authors) and is_set(Coauthors) then -- coauthors aren't displayed if one of authors=, authorn=, or lastn= isn't specified table.insert( z.message_tail, { seterror('coauthors_missing_author', {}, true) } ); -- emit error message -- Utilizo temporalmente los coautores como autores. Authors = Coauthors Coauthors = nil end local EditorCount if not is_set(Editors) then local Maximum = tonumber( A['DisplayEditors'] ); -- Preserve old-style implicit et al. if not is_set(Maximum) and #e == 4 then Maximum = 3; table.insert( z.message_tail, { seterror('implict_etal_editor', {}, true) } ); elseif not is_set(Maximum) then Maximum = #e + 1; end local control = { sep = A["EditorSeparator"] .. " ", namesep = (first_set(A["EditorNameSeparator"], A["NameSeparator"]) or "") .. " ", format = A['EditorFormat'], maximum = Maximum, lastauthoramp = LastAuthorAmp }; Editors, EditorCount = listpeople(control, e); else EditorCount = 1; end local Cartography = ""; local Scale = ""; if config.ClaseCita == "map" then if not is_set( Authors ) and is_set( PublisherName ) then Authors = PublisherName; PublisherName = ""; end Cartography = A['Cartography']; if is_set( Cartography ) then Cartography = sepc .. " " .. wrap( 'cartography', Cartography, use_lowercase ); end Scale = A['Scale']; if is_set( Scale ) then Scale = sepc .. " " .. Scale; end end if not is_set(URL) and not is_set(ChapterURL) and not is_set(ArchiveURL) and not is_set(ConferenceURL) and not is_set(TranscriptURL) then sinURL = true -- Test if cite web or cite podcast |url= is missing or empty if inArray(config.ClaseCita, {"web","podcast"}) then table.insert( z.message_tail, { seterror( 'cite_web_url', {}, true ) } ); end -- Test if format is given without giving a URL if is_set(Format) then Format = Format .. seterror( 'format_missing_url' ); end end -- Test if citation has no title if not is_set(Chapter) and not is_set(Title) and not is_set(Periodical) and not is_set(Conference) and not is_set(TransTitle) and not is_set(TransChapter) and not is_set(Passage) then table.insert( z.message_tail, { seterror( 'citation_missing_title', {}, true ) } ); end Format = is_set(Format) and " " .. wrap( 'format', Format ) or ""; --is_set(Format) and " (" .. Format .. ")" or ""; local OriginalURL = URL DeadURL = DeadURL:lower(); if is_set( ArchiveURL ) then if ( DeadURL ~= "no" ) then URL = ArchiveURL URLorigin = A:ORIGIN('ArchiveURL') end end -- Format chapter / article title if is_set(Chapter) and is_set(ChapterLink) then Chapter = "[[" .. ChapterLink .. "|" .. Chapter .. "]]"; end if is_set(Periodical) and is_set(Title) then Chapter = wrap( 'italic-title', Chapter ); TransChapter = wrap( 'trans-italic-title', TransChapter ); else Chapter = kern_quotes (Chapter); -- if necessary, separate chapter title's leading and trailing quote marks from Module provided quote marks Chapter = wrap( 'quoted-title', Chapter ); TransChapter = wrap( 'trans-quoted-title', TransChapter ); end local TransError = "" if is_set(TransChapter) then if not is_set(Chapter) then TransError = " " .. seterror( 'trans_missing_chapter' ); else TransChapter = " " .. TransChapter; end end Chapter = Chapter .. TransChapter; if is_set(Chapter) then if not is_set(ChapterLink) then if is_set(ChapterURL) then Chapter = externallink( ChapterURL, Chapter ) .. TransError; if not is_set(URL) then Chapter = Chapter .. Format; Format = ""; end elseif is_set(URL) then Chapter = externallink( URL, Chapter ) .. TransError .. Format; URL = ""; Format = ""; else Chapter = Chapter .. TransError; end elseif is_set(ChapterURL) then Chapter = Chapter .. " " .. externallink( ChapterURL, nil, ChapterURLorigin ) .. TransError; else Chapter = Chapter .. TransError; end Chapter = Chapter .. sepc .. " " -- with end-space elseif is_set(ChapterURL) then Chapter = " " .. externallink( ChapterURL, nil, ChapterURLorigin ) .. sepc .. " "; end -- Format main title. if is_set(TitleLink) and is_set(Title) then Title = "[[" .. TitleLink .. "|" .. Title .. "]]" end if is_set(Traductor) and is_set(Traductores) then Traductor = " " .. wrap( 'traductores', Traductores) .. " " .. seterror('redundant_parameters', '<code>&#124;traductor=</code> y <code>&#124;traductores=</code>') elseif is_set(Traductor) then Traductor = " " .. wrap( 'traductor', Traductor) elseif is_set(Traductores) then Traductor = " " .. wrap( 'traductores', Traductores) end Traductores = '' if is_set(Periodical) then Title = kern_quotes (Title); -- if necessary, separate title's leading and trailing quote marks from Module provided quote marks Title = wrap( 'quoted-title', Title ); TransTitle = wrap( 'trans-quoted-title', TransTitle ); -- elseif inArray(config.ClaseCita, {"web","news","pressrelease","conference","podcast"}) and elseif inArray(config.ClaseCita, {"web","noticia","pressrelease","conference","podcast"}) and not is_set(Chapter) then Title = kern_quotes (Title); -- if necessary, separate title's leading and trailing quote marks from Module provided quote marks Title = wrap( 'quoted-title', Title ); TransTitle = wrap( 'trans-quoted-title', TransTitle ); else Title = wrap( 'italic-title', Title ); TransTitle = wrap( 'trans-italic-title', TransTitle ); end TransError = ""; if is_set(TransTitle) then if not is_set(Title) then TransError = " " .. seterror( 'trans_missing_title' ); else TransTitle = " " .. TransTitle; end end Title = Title .. Traductor .. TransTitle; if is_set(Title) then if not is_set(TitleLink) and is_set(URL) then Title = externallink( URL, Title, URL_origin, UrlAccess ) .. TransError .. Format URL = ""; TieneURL = true; Format = ""; else Title = Title .. TransError; end end if is_set(Place) then Place = " " .. wrap( 'written', Place, use_lowercase ) .. sepc .. " "; end if is_set(Conference) then if is_set(ConferenceURL) then Conference = externallink( ConferenceURL, Conference ); end Conference = sepc .. " " .. Conference elseif is_set(ConferenceURL) then Conference = sepc .. " " .. externallink( ConferenceURL, nil, ConferenceURLorigin ); end if not is_set(Position) then local Minutes = A['Minutes']; if is_set(Minutes) then Position = " " .. Minutes .. " " .. cfg.messages['minutes']; else local Time = A['Time']; if is_set(Time) then local TimeCaption = A['TimeCaption'] if not is_set(TimeCaption) then TimeCaption = cfg.messages['event']; if sepc ~= '.' then TimeCaption = TimeCaption:lower(); end end Position = " " .. TimeCaption .. " " .. Time; end end else Position = " " .. Position; At = ''; end if not is_set(Page) then if is_set(Pages) then if is_set(Periodical) and -- not inArray(config.ClaseCita, {"encyclopaedia","web","book","news","podcast"}) then not inArray(config.ClaseCita, {"enciclopedia","web","libro","noticia","podcast"}) then Pages = ": " .. Pages; elseif tonumber(Pages) ~= nil then Pages = sepc .." " .. PPrefix .. Pages; else Pages = sepc .." " .. PPPrefix .. Pages; end end else if is_set(Periodical) and -- not inArray(config.ClaseCita, {"encyclopaedia","web","book","news","podcast"}) then not inArray(config.ClaseCita, {"enciclopedia","web","libro","noticia","podcast"}) then Page = ": " .. Page; else Page = sepc .." " .. PPrefix .. Page; end end At = is_set(At) and (sepc .. " " .. At) or ""; Passage = is_set(Passage) and (sepc .. " " .. Passage) or ""; Position = is_set(Position) and (sepc .. " " .. Position) or ""; if config.ClaseCita == 'map' then local Section = A['Section']; local Inset = A['Inset']; if first_set( Pages, Page, At ) ~= nil or sepc ~= '.' then if is_set( Section ) then Section = ", " .. wrap( 'section', Section, true ); end if is_set( Inset ) then Inset = ", " .. wrap( 'inset', Inset, true ); end else if is_set( Section ) then Section = sepc .. " " .. wrap( 'section', Section, use_lowercase ); if is_set( Inset ) then Inset = ", " .. wrap( 'inset', Inset, true ); end elseif is_set( Inset ) then Inset = sepc .. " " .. wrap( 'inset', Inset, use_lowercase ); end end At = At .. Section .. Inset; end --[[Look in the list of iso639-1 language codes to see if the value provided in the language parameter matches one of them. If a match is found, use that value; if not, then use the value that was provided with the language parameter. Categories are assigned in a manner similar to the {{xx icon}} templates - categorizes only mainspace citations and only when the language code is not 'en' (English). ]] if is_set (Language) then -- Poner en minúsculas el primer caracter del idioma si está en mayúsculas Language = Language:gsub("^%u", string.lower) if Language == 'español' or Language == 'castellano' or Language == 'es' or Language:match('^es%-.*') then Language=""; -- No mostrar el idioma español else local name = mw.language.fetchLanguageName( Language:lower(), "es" ); -- experiment: this seems to return correct ISO 639-1 language names if is_set (name) then Language=" " .. wrap( 'language', name ); else Language=" " .. wrap( 'language', Language ); -- no match, use parameter's value end end else Language=""; -- Asegurarnos de que el idioma no es nulo. end -- handle type parameter for those CS1 citations that have default values -- if inArray(config.ClaseCita, {"AV media notes", "DVD notes", "podcast", "pressrelease", "techreport", "thesis"}) then if inArray(config.ClaseCita, {"notas audiovisual", "notas de DVD", "podcast", "pressrelease", "techreport", "tesis"}) then TitleType = set_titletype (config.ClaseCita, TitleType); if is_set(Degree) and "Tesis" == TitleType then -- special case for cite thesis TitleType = "Tesis de " .. Degree; end end if is_set(TitleType) then -- if type parameter is specified TitleType = " (" .. TitleType .. ")"; -- display it in parentheses end TitleNote = is_set(TitleNote) and (sepc .. " " .. TitleNote) or ""; if is_set(Edition) then if is_set(SinEd) then -- No existe el parámetro en el módulo de la wikipedia inglesa. Edition = " " .. wrap( 'sin edición', Edition ) -- No existe el parámetro en el módulo de la wikipedia inglesa. else Edition = " " .. wrap( 'edition', Edition ) end else Edition = "" end Issue = is_set(Issue) and (" (" .. Issue .. ")") or ""; Series = is_set(Series) and (sepc .. " " .. Series) or ""; OrigYear = is_set(OrigYear) and (" [" .. OrigYear .. "]") or ""; Agency = is_set(Agency) and (sepc .. " " .. Agency) or ""; if is_set(Volume) then if Volume:match ('^%d+$') or Volume:match ('^[MDCLXVI]+$') -- negrita solamente si el capítulo está reflejado como cifra decimal o números romanos then Volume = " <b>" .. dashtohyphen(Volume) .. "</b>"; else Volume = sepc .." " .. Volume; end end --[[ This code commented out while discussion continues until after week of 2014-03-23 live module update; if is_set(Volume) then if ( mw.ustring.len(Volume) > 4 ) then Volume = sepc .. " " .. Volume; else Volume = " <b>" .. hyphentodash(Volume) .. "</b>"; if is_set(Series) then Volume = sepc .. Volume; end end end ]] ------------------------------------ totally unrelated data --[[ Loosely mimic {{subscription required}} template; Via parameter identifies a delivery source that is not the publisher; these sources often, but not always, exist behind a registration or paywall. So here, we've chosen to decouple via from subscription (via has never been part of the registration required template). Subscription implies paywall; Registration does not. If both are used in a citation, the subscription required link note is displayed. There are no error messages for this condition. ]] if is_set(Via) then Via = " " .. wrap( 'via', Via ); end if UrlAccess == 'registration' then RegistrationRequired = true end if is_set(SubscriptionRequired) then SubscriptionRequired = sepc .. " " .. cfg.messages['subscription']; --here when 'via' parameter not used but 'subscription' is elseif is_set(RegistrationRequired) then SubscriptionRequired = sepc .. " " .. cfg.messages['registration']; --here when 'via' and 'subscription' parameters not used but 'registration' is end -- if is_set(AccessDate) then if is_set(AccessDate) or is_set(AnyoAcceso) then -- Test if accessdate is given without giving a URL if sinURL then table.insert( z.message_tail, { seterror( 'accessdate_missing_url', {}, true ) } ); AccessDate = ''; else if is_set(AccessDate) then if is_set(MesAcceso) and is_set(AnyoAcceso) then AccessDate = AccessDate .. seterror('redundant_parameters', '<code>&#124;fechaacceso=</code>, <code>&#124;añoacceso=</code> y <code>&#124;mesacceso=</code>') elseif is_set(MesAcceso) then AccessDate = AccessDate .. seterror('redundant_parameters', '<code>&#124;fechaacceso=</code> y <code>&#124;mesacceso=</code>') elseif is_set(AnyoAcceso) then if string.find(AccessDate, '%sde%s') then AccessDate = AccessDate .. ' de ' .. AnyoAcceso else AccessDate = AccessDate .. seterror('redundant_parameters', '<code>&#124;fechaacceso=</code> y <code>&#124;Añoacceso=</code>'); end end elseif is_set(MesAcceso) then AccessDate = MesAcceso .. ' de ' .. AnyoAcceso else AccessDate = AnyoAcceso end local retrv_text = " " .. cfg.messages['retrieved'] if (sepc ~= ".") then retrv_text = retrv_text:lower() end AccessDate = '<span class="reference-accessdate">' .. sepc .. substitute( retrv_text, {format_date(AccessDate)} ) .. '</span>' end elseif is_set(MesAcceso) then end if is_set(ID) then ID = sepc .." ".. ID; end if "tesis" == config.ClaseCita and is_set(Docket) then ID = sepc .." Docket ".. Docket .. ID; end Lista_Identificadores_Formateados = buildidlist( ID_list, {DoiBroken = DoiBroken, IgnoreISBN = IgnoreISBN, Embargo=Embargo, ISBNCorrecto = ISBNCorrecto, ISBNSugerido = ISBNSugerido} ); if is_set(URL) then URL = " " .. externallink( URL, nil, URLorigin, UrlAccess ); end -- Set postscript default. if not is_set (PostScript) then -- if |postscript= has not been set (Postscript is nil which is the default for {{citation}}) and if (config.ClaseCita ~= "citation") then -- this template is not a citation template PostScript = '.'; -- must be a cite xxx template so set postscript to default (period) end else if PostScript:lower() == 'none' then -- if |postscript=none then PostScript = ''; -- no postscript end end if is_set(Quote) or is_set(TransQuote) then -- Eliminar comillas de Quote if (Quote:sub(1,1) == '"' and Quote:sub(-1,-1) == '"') or (Quote:sub(1,1) == '«' and Quote:sub(-1,-1) == '»') then Quote = Quote:sub(2,-2); end -- No añadir el punto final a la cita si el campo Quote ya incluye un punto if Quote:sub(-1,-1) == '.' or Quote:sub(-1,-1) == '?' or Quote:sub(-1,-1) == '!' then PostScript = "" end -- Eliminar comillas de TransQuote if (TransQuote:sub(1, 1) == '"' and TransQuote:sub(-1, -1) == '"') or (Quote:sub(1,1) == '«' and Quote:sub(-1,-1) == '»') then TransQuote = TransQuote:sub(2, -2); end -- No añadir el punto final a la cita si el campo TransQuote ya incluye un punto if TransQuote:sub(-1,-1) == '.' or TransQuote:sub(-1,-1) == '?' or TransQuote:sub(-1,-1) == '!' then PostScript = "" end Quote = Quote .. " " .. wrap( 'trans-quoted-title', TransQuote ); TransQuote = wrap( 'trans-quoted-title', TransQuote ); Quote = sepc .." " .. wrap( 'quoted-text', Quote ); end local Archived if is_set(ArchiveURL) then if not is_set(ArchiveDate) then ArchiveDate = seterror('archive_missing_date'); else ArchiveDate = format_date(ArchiveDate) end if "no" == DeadURL then local arch_text = cfg.messages['archived']; if sepc ~= "." then arch_text = arch_text:lower() end Archived = sepc .. " " .. substitute( cfg.messages['archived-not-dead'], { externallink( ArchiveURL, arch_text ), ArchiveDate } ); if not is_set(OriginalURL) then Archived = Archived .. " " .. seterror('archive_missing_url'); end elseif is_set(OriginalURL) then local arch_text = cfg.messages['archived-dead']; if sepc ~= "." then arch_text = arch_text:lower() end Archived = sepc .. " " .. substitute( arch_text, { externallink( OriginalURL, cfg.messages['original'] ), ArchiveDate } ); else local arch_text = cfg.messages['archived-missing']; if sepc ~= "." then arch_text = arch_text:lower() end Archived = sepc .. " " .. substitute( arch_text, { seterror('archive_missing_url'), ArchiveDate } ); end else Archived = "" end local Lay if is_set(LayURL) then if is_set(LayDate) then LayDate = " (" .. format_date(LayDate) .. ")" end if is_set(LaySource) then LaySource = " &ndash; ''" .. safeforitalics(LaySource) .. "''"; else LaySource = ""; end if sepc == '.' then Lay = sepc .. " " .. externallink( LayURL, cfg.messages['lay summary'] ) .. LaySource .. LayDate else Lay = sepc .. " " .. externallink( LayURL, cfg.messages['lay summary']:lower() ) .. LaySource .. LayDate end else Lay = ""; end if is_set(Transcript) then if is_set(TranscriptURL) then Transcript = externallink( TranscriptURL, Transcript ); end elseif is_set(TranscriptURL) then Transcript = externallink( TranscriptURL, nil, TranscriptURLorigin ); end local Publisher; if is_set(Periodical) and -- not inArray(config.ClaseCita, {"encyclopaedia","web","pressrelease","podcast"}) then not inArray(config.ClaseCita, {"enciclopedia","web","pressrelease","podcast"}) then if is_set(PublisherName) then if is_set(PublicationPlace) then Publisher = PublicationPlace .. ": " .. PublisherName; else Publisher = PublisherName; end elseif is_set(PublicationPlace) then Publisher= PublicationPlace; else Publisher = ""; end if is_set(PublicationDate) then if is_set(Publisher) then Publisher = Publisher .. ", " .. wrap( 'published', PublicationDate ); else Publisher = PublicationDate; end end if is_set(Publisher) then Publisher = " (" .. Publisher .. ")"; end else if is_set(PublicationDate) then PublicationDate = " (" .. wrap( 'published', format_date(PublicationDate) ) .. ")"; end if is_set(PublisherName) then if is_set(PublicationPlace) then Publisher = sepc .. " " .. PublicationPlace .. ": " .. PublisherName .. PublicationDate; else Publisher = sepc .. " " .. PublisherName .. PublicationDate; end elseif is_set(PublicationPlace) then Publisher= sepc .. " " .. PublicationPlace .. PublicationDate; else Publisher = PublicationDate; end end -- Several of the above rely upon detecting this as nil, so do it last. if is_set(Periodical) then if is_set(Title) or is_set(TitleNote) then Periodical = sepc .. " " .. wrap( 'italic-title', Periodical ) else Periodical = wrap( 'italic-title', Periodical ) end end --[[ Handle the oddity that is cite speech. This code overrides whatever may be the value assigned to TitleNote (through |department=) and forces it to be " (Speech)" so that the annotation directly follows the |title= parameter value in the citation rather than the |event= parameter value (if provided). ]] if "speech" == config.ClaseCita then -- cite speech only TitleNote = " (Speech)"; -- annotate the citation if is_set (Periodical) then -- if Periodical, perhaps because of an included |website= or |journal= parameter if is_set (Conference) then -- and if |event= is set Conference = Conference .. sepc .. " "; -- then add appropriate punctuation to the end of the Conference variable before rendering end end end -- Piece all bits together at last. Here, all should be non-nil. -- We build things this way because it is more efficient in LUA -- not to keep reassigning to the same string variable over and over. local tcommon -- if inArray(config.ClaseCita, {"journal","citation"}) and is_set(Periodical) then if inArray(config.ClaseCita, {"publicación","citation"}) and is_set(Periodical) then if is_set(Others) then Others = Others .. sepc .. " " end tcommon = safejoin( {Others, Title, TitleNote, Conference, Periodical, Format, TitleType, Scale, Series, Language, Cartography, Edition, Publisher, Agency, Volume, Issue}, sepc ); else tcommon = safejoin( {Title, TitleNote, Conference, Periodical, Format, TitleType, Scale, Series, Language, Volume, Issue, Others, Cartography, Edition, Publisher, Agency}, sepc ); end if #Lista_Identificadores_Formateados > 0 then Lista_Identificadores_Formateados = safejoin( { sepc .. " ", table.concat( Lista_Identificadores_Formateados, sepc .. " " ), ID }, sepc ); else Lista_Identificadores_Formateados = ID; end local idcommon = safejoin( { Lista_Identificadores_Formateados, URL, Archived, AccessDate, Via, SubscriptionRequired, Lay, Quote }, sepc ); local text; local pgtext = Position .. Page .. Pages .. At .. Passage; if is_set(Authors) then if is_set(Coauthors) then Authors = Authors .. A['AuthorSeparator'] .. " " .. Coauthors end if is_set(Date) then Date = " ("..format_date(Date)..")" .. OrigYear .. sepc .. " " elseif string.sub(Authors,-1,-1) == sepc then Authors = Authors .. " " else Authors = Authors .. sepc .. " " end if is_set(Editors) then local in_text = " "; local post_text = ""; if is_set(Chapter) then in_text = in_text .. cfg.messages['in'] .. " " end if EditorCount <= 1 then post_text = ", " .. cfg.messages['editor']; else post_text = ", " .. cfg.messages['editors']; end if (sepc ~= '.') then in_text = in_text:lower() end Editors = in_text .. Editors .. post_text; if (string.sub(Editors,-1,-1) == sepc) then Editors = Editors .. " " else Editors = Editors .. sepc .. " " end end text = safejoin( {Authors, Date, Chapter, Place, Editors, tcommon }, sepc ); text = safejoin( {text, pgtext, idcommon}, sepc ); elseif is_set(Editors) then if is_set(Date) then if EditorCount <= 1 then Editors = Editors .. ", " .. cfg.messages['editor']; else Editors = Editors .. ", " .. cfg.messages['editors']; end Date = " (" .. format_date(Date) ..")" .. OrigYear .. sepc .. " " else if EditorCount <= 1 then Editors = Editors .. " (" .. cfg.messages['editor'] .. ")" .. sepc .. " " else Editors = Editors .. " (" .. cfg.messages['editors'] .. ")" .. sepc .. " " end end text = safejoin( {Editors, Date, Chapter, Place, tcommon}, sepc ); text = safejoin( {text, pgtext, idcommon}, sepc ); else if is_set(Date) then if ( string.sub(tcommon,-1,-1) ~= sepc ) then Date = sepc .." " .. format_date(Date) .. OrigYear else Date = " " .. format_date(Date) .. OrigYear end end -- if config.ClaseCita=="journal" and is_set(Periodical) then if config.ClaseCita=="publicación" and is_set(Periodical) then text = safejoin( {Chapter, Place, tcommon}, sepc ); text = safejoin( {text, pgtext, Date, idcommon}, sepc ); else text = safejoin( {Chapter, Place, tcommon, Date}, sepc ); text = safejoin( {text, pgtext, idcommon}, sepc ); end end if is_set(PostScript) and PostScript ~= sepc then text = safejoin( {text, sepc}, sepc ); --Deals with italics, spaces, etc. text = text:sub(1,-sepc:len()-1); -- text = text:sub(1,-2); --Remove final separator (assumes that sepc is only one character) end text = safejoin( {text, PostScript}, sepc ); -- Now enclose the whole thing in a <span/> element local options = {}; if is_set(config.ClaseCita) and config.ClaseCita ~= "citation" then options.class = "citation " .. config.ClaseCita; else options.class = "citation"; end if is_set(Ref) and Ref:lower() ~= "none" then local id = Ref if ( "harv" == Ref ) then local names = {} --table of last names & year if #a > 0 then for i,v in ipairs(a) do names[i] = v.last if i == 4 then break end end elseif #e > 0 then for i,v in ipairs(e) do names[i] = v.last if i == 4 then break end end end -- names[ #names + 1 ] = first_set(Year, anchor_year); -- Year first for legacy citations -- names[ #names + 1 ] = first_set(Year, ''); -- Year first for legacy citations names[ #names + 1 ] = first_set(wYear, wfecha, ''); -- Year first for legacy citations id = anchorid(names) end options.id = id; end if string.len(text:gsub("<span[^>/]*>.-</span>", ""):gsub("%b<>","")) <= 2 then z.error_categories = {}; text = seterror('empty_citation'); z.message_tail = {}; end if is_set(options.id) then text = '<span id="' .. mw.uri.anchorEncode(options.id) ..'" class="' .. mw.text.nowiki(options.class) .. '">' .. text .. "</span>"; else text = '<span class="' .. mw.text.nowiki(options.class) .. '">' .. text .. "</span>"; end local empty_span = '<span style="display:none;">&nbsp;</span>'; -- Note: Using display: none on then COinS span breaks some clients. local OCinS = '<span title="' .. OCinSoutput .. '" class="Z3988">' .. empty_span .. '</span>'; text = text .. OCinS; if #z.message_tail ~= 0 then text = text .. " "; for i,v in ipairs( z.message_tail ) do if is_set(v[1]) then if i == #z.message_tail then text = text .. errorcomment( v[1], v[2] ); else text = text .. errorcomment( v[1] .. "; ", v[2] ); end end end end no_tracking_cats = no_tracking_cats:lower(); if inArray(no_tracking_cats, {"", "no", "false", "n"}) then for _, v in ipairs( z.error_categories ) do text = text .. '[[Category:' .. v ..']]'; end end return text end -- This is used by templates such as {{cite book}} to create the actual citation text. function z.cita(frame) local pframe = frame:getParent() if nil ~= string.find( frame:getTitle(), 'sandbox', 1, true ) then -- did the {{#invoke:}} use sandbox version? cfg = mw.loadData('Módulo:Citas/Configuración/pruebas' ); -- load sandbox versions of Configuration and Whitelist and ... whitelist = mw.loadData('Módulo:Citas/Whitelist/pruebas' ); dates = require ('Módulo:Citas/ValidaciónFechas/pruebas').dates -- ... sandbox version of date validation code else -- otherwise cfg = mw.loadData('Módulo:Citas/Configuración' ); -- load live versions of Configuration and Whitelist and ... whitelist = mw.loadData('Módulo:Citas/Whitelist' ); dates = require ('Módulo:Citas/ValidaciónFechas').dates -- ... live version of date validation code end local args = {}; local suggestions = {}; local error_text, error_state; local config = {}; for k, v in pairs( frame.args ) do config[k] = v; args[k] = v; end for k, v in pairs( pframe.args ) do if v ~= '' then if not validate( k ) then error_text = ""; if type( k ) ~= 'string' then -- Exclude empty numbered parameters if v:match("%S+") ~= nil then error_text, error_state = seterror( 'text_ignored', {v}, true ); end elseif validate( k:lower() ) then error_text, error_state = seterror( 'parameter_ignored_suggest', {k, k:lower()}, true ); else if #suggestions == 0 then suggestions = mw.loadData( 'Módulo:Citas/Sugerencias' ); end if suggestions[ k:lower() ] ~= nil then error_text, error_state = seterror( 'parameter_ignored_suggest', {k, suggestions[ k:lower() ]}, true ); elseif cfg.parametros_a_implementar[k:lower()] then error_text, error_state = seterror( 'parametro_por_implementar', {k}, true ); else error_text, error_state = seterror( 'parameter_ignored', {k}, true ); end end if error_text ~= '' then table.insert( z.message_tail, {error_text, error_state} ); end end args[k] = v; elseif args[k] ~= nil or (k == 'postscript') then args[k] = v; end end return citation0( config, args) end return z ha9pw4jipd4y7nxovhp2g8o0suvng44 Romería de San Isidru (Valencia d'Alcántara) 0 10969 143046 140859 2026-05-06T14:34:22Z InternetArchiveBot 17037 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 143046 wikitext text/x-wiki {{Ficha de fiesta}} La '''Romería de San Isidru Labraol''' es una fiesta d'interés turísticu regional que se celebra nel mes de mayu en [[Valencia d'Alcántara]], ena [[provincia de Caçris]], [[Estremaúra]]. == Estoria == La celebración s'esmençó enos añus quarenta del siegru XX comu omenagi delas pessonas del campu del puebru de [[Valencia d'Alcántara]] a San Isidru Labraol, el su patrón. Los ventus se celebravan ena ilesia dela Encarnación, ena que pessonas hateás col tragi tradicional hazian ofrendas al santu. Adispués, agricultoris i ganaerus, porteavan enos ombrus i en prosseción ala imagi del santu polas callis del puebru.<ref name=":0">{{Cita web|url=https://www.valenciadealcantara.es/index.php/la-villa/fiestas/134-festividad-de-san-isidro-labrador|título=Festividad de San Isidro Labrador|fechaacceso=01 de juñu del 2024|sitioweb=www.valenciadealcantara.es}}</ref> Endispuesinu se huerun arrimandu ala prosseción pessonas montás a cavallu conos tragis regionais, burrus, carretas arrastrás por bueis o vacas i tractoris enarvolaus con escenas dela Campiña de [[Valencia d'Alcántara]] o delas deferentis temporás del campu comu enas güertas, eras, campus sembraus, i otrus.<ref name=":0" />[[Archivu:San_Isidro_Labrador_en_2015_(3).jpg|miniaturadeimagen|Desfili polas callis del puebru|210x210px]] Nel 1958, l'Ermandá de Agricultoris i Ganaerus decedió hazel una tándana de ventus estrordinarius nesta festividá, dandu un vencijón especial ala romería, col criaeru dun concussu de Carrozas i envitación a participal a pessonas delas puebracionis vezinas dela comarca i de [[Portugal]].<ref name=":0" /> A caberus delos añus sessenta la festividá se hue engrandandu con atividais comparantis comu bailis delos grupus de corus i danças de ''La Buenavista'' o de ''La Fontañera'', tamién competicionis deportivas i bezerrás.<ref name=":1">{{Cita web|url=https://www.elperiodicoextremadura.com/extremadura/2023/05/10/romeria-valencia-alcantara-no-hay-que-perderse-san-isidro-alberto-piris-toros-87044467.html|título=“No hay que perderse la Romería de San Isidro porque es una muestra etnográfica móvil”|fechaacceso=01 de juñu del 2024|apellido=Redacción|fecha=2023-05-10|sitioweb=El Periódico Extremadura|idioma=es}}</ref> Dendi antoncis, tolos añus á díu acreciendu el númiru d'associacionis, peñas, junterías o grupus d'amistais qu'avían las sus cavallerías o carrozas pa dal compaña a San Isidru. Esta gran participación, en juntu ala emportancia turística dela fiesta, los sus valoris colturais i la proteción delas tradicionis, hizu que la romería urbana de San Isidru huera declará Fiesta d'Interés Turísticu Regional en el 1989, siendu assina la primel romería en sel reconocía comu d'Interés Turísticu Regional.<ref name=":2">{{Cita web|url=https://www.canalextremadura.es/noticias/extremadura/valencia-de-alcantara-y-fuente-de-cantos-celebran-san-isidro-a-lo-grande|título=Valencia de Alcántara y Fuente de Cantos celebran San Isidro a lo grande|fechaacceso=01 de juñu del 2024|apellido=redaccion|fecha=Lun, 15/05/2023 - 21:12|sitioweb=Canal Extremadura|idioma=es}}</ref><ref name=":3">{{Cita web|url=https://www.turismocaceres.org/de/node/2650|título=Romería de San Isidro|fechaacceso=01 de juñu del 2024|fecha=2018-03-05|sitioweb=Turismo Cáceres|idioma=de|archive-date=2023-05-17|archive-url=https://web.archive.org/web/20230517221429/https://www.turismocaceres.org/de/node/2650|dead-url=yes}}</ref> == Descreción == Endispués del 1980 ai una muança emportanti ena festividá, i aspués de concedel que la fecha huera fiesta local, se mua el espaçu aondi se hazin los ventus prencipais, acebiendu'l celebramientu a meya amañana nel Parqui d'España, cona missa tradicional estremeña presidía polas utoridais locais i regionais i cantá pol grupu folclóricu del puebru [[Juéllega Estremeña]].<ref name=":4">{{Cita web|url=https://www.turismoextremadura.com/es/explora/Romeria-de-San-Isidro-de-Valencia-de-Alcantara-00003/|título=Romería de San Isidro de Valencia de Alcantara|fechaacceso=01 de juñu del 2024|sitioweb=www.turismoextremadura.com}}</ref><ref>{{Cita web|url=https://www.elperiodicoextremadura.com/extremadura/2022/05/10/valencia-alcantara-honra-san-isidro-65898596.html|título=Valencia de Alcántara honra a san Isidro con misa cantada, desfile de carrozas y toros|fechaacceso=01 de juñu del 2024|apellido=Redacción|fecha=2022-05-10|sitioweb=El Periódico Extremadura|idioma=es}}</ref> [[Archivu:Romería de San Isidro 2022 (5).jpg|miniaturadeimagen|Carroza dela romería]] Pol reol del parqui, se van arrimandu al celebramientu los cavallistas, amazonas i carrozas, qu'endispués del celebramientu religiosu dan compaña a San Isidru en una romería urbana con un desfili polas destintas callis del puebru, siendu de especial interés el su passu pola calli [[Hernán Cortés]], pola caterva de púbricu nesta zona, amás del atrativu visual que brindan las hormacionis delas cavallerías i las mostracionis d'albeliá polos ginetis i amazonas.<ref name=":0" /><ref name=":1" /> El pograma de rehuíjus, apreparau pola Associación de San Isidru Labraol cona calavoración del Ayuntamientu, associacionis, impresas i particularis, comprendi una semana d'atividais qu'esmiençan la semana enantis con yincanas, esposicionis i concussus agroganaerus, passacallis i bailis popularis i que acabija'l día quinzi de mayu cona prosseción, el desfili i un festeju taurinu.<ref name=":0" /> Dendi los añus ochenta, los ventus festilis eran aviaus pola Comissión de San Isidru, peru dendi'l 1998, col relevamientu dela Associación de San Isidru Labraol, la pogramación de rehuíjus tieni tamién la calavoración del [[Ayuntamientu]] de [[Valencia d'Alcántara]], la Deputación de [[Caçris]]  i la [[Junta d'Estremaúra]], amás dela empricación delas associacionis locais, impresas i ciadanía.<ref name=":1" /> == Costumbris == [[Archivu:Romería_de_San_Isidro_2022_(1).jpg|miniaturadeimagen|Amazona i gineti conos cavallus enarvolaus|210x210px]] Los tragis hateaus pa esti celebramientu sonin: * Tragi de labraora: con çapatus negrus, meyas, pololus, naguas, jubón, refaxu de pañu qu'es pintau, el mas antiguu o bordau, pos d'antiguu se bordava cona lana, mandil negru de terciupelu, con puntillas enos vivus i revestíu con adornus i azabachi, faldiquera bordá colas iniciais, mantilla de terciupelu que se gasta palos celebramientus religiosus, pañuelu alfombrau o de cien coloris, collal i pendientis de herraúra i calabaça.<ref name=":5">{{Cita web|url=https://www.canalextremadura.es/video/may-nos-muestra-el-traje-de-labradora-de-san-isidro-en-valencia-de-alcantara|título=May nos muestra el traje de labradora de San Isidro en Valencia de Alcántara|fechaacceso=01 de juñu del 2024|apellido=mediarcomunicaciones|fecha=Dom, 22/05/2022 - 23:05|sitioweb=Canal Extremadura|idioma=es}}</ref> * Tragi de labraol: con meyas brancas, calçón con alçapón, espolainas de pañu, que d'antiguu tamién eran de cueru, faxín roxu o de colol, conas iniciais bordás i faxín negru pala genti mayol, camisa branca, chalecu de tela brocá o de terciupelu, chambra de pañu negru con vivus reondeaus i angún agremén d'adornu. * Tragi d'espigaora, que no es tradicional i qu'es mas un tragi de romería, pos es mas cenzillu de hazel i ligeru de gastal.<ref name=":6">{{Cita web|url=https://www.lashuertasdecansa.com/fiestas_y_co.php|título=.:: Sitio web de Las Huertas de Cansa - Fiestas y Costumbres ::.|fechaacceso=01 de juñu del 2024|sitioweb=www.lashuertasdecansa.com}}</ref> * Tragi cortu, pa quienis van a cavallu.<ref name=":6" /> Los cavallus van enarvolaus con mantas i otras decoracionis. Las carrozas van decorás con mantas, retamas, froris bravías i escenas del campu comu la saca la corcha, colmenas, carvoneras, lavanderas, matança, avareu dela azituna i mas. Las carrozas, enarvolás i decorás con oficius d'antañu, sonin una mostración caraitirística en movición. Aluspués, dan premius alas carrozas mas repolias.<ref name=":5" /><ref>{{Cita web|url=https://www.elperiodicoextremadura.com/extremadura/2023/05/10/romeria-valencia-alcantara-no-hay-que-perderse-san-isidro-alberto-piris-toros-87044467.html|título=“No hay que perderse la Romería de San Isidro porque es una muestra etnográfica móvil”|fechaacceso=01 de juñu del 2024|apellido=Redacción|fecha=2023-05-10|sitioweb=El Periódico Extremadura|idioma=es}}</ref><ref>{{Cita web|url=https://www.canalextremadura.es/video/valencia-de-alcantara-disfruta-su-dia-grande-de-san-isidro|título=Valencia de Alcántara disfruta su día grande de San Isidro|fechaacceso=01 de juñu del 2024|apellido=indaumedia|fecha=Lun, 15/05/2023 - 20:10|sitioweb=Canal Extremadura|idioma=es}}</ref> Pola romería se manduca i buchea enos tractoris, pos repartin vinu i comía i endispués del recorríu dela romería sirvin mas comía i bebía enas casetas.<ref>{{Cita web|url=http://www.canalextremadura.es/noticias/extremadura/valencia-de-alcantara-y-fuente-de-cantos-vuelven-a-vibrar-con-san-isidro|título=Valencia de Alcántara y Fuente de Cantos vuelven a vibrar con San Isidro|fechaacceso=01 de juñu del 2024|apellido=redaccion|fecha=Dom, 15/05/2022 - 14:30|sitioweb=Canal Extremadura|idioma=es}}</ref> == Reconocencias == * Declará pola Junta d'Extremaúra Fiesta d'Interés Turísticu Regional el trezi de juñu del 1989.<ref name=":4" /> == Guipal tamién == * [[Fiestas d'Enterés Turísticu d'Estremaúra]] * [[Valencia d'Alcántara]] == Referencias == <references /> == Atijus p'ahuera == {{commonscat}} * [https://web.archive.org/web/20230517221427/https://www.canalextremadura.es/video/may-nos-muestra-el-traje-de-labradora-de-san-isidro-en-valencia-de-alcantara Tragi de labraora de San Isidru en Valencia d'Alcántara], Canal Estremaúra, el 21 de mayu del 2022 * [https://www.canalextremadura.es/a-la-carta/conexion-extremadura/videos/gran-ambiente-en-la-romeria-de-san-isidro-de-valencia-de Romería de San Isidru de Valencia d'Alcántara], Canal Estremaúra, el 15 de mayu del 2024 {{control de autoridades}} [[Categoría:Fiestas d'Enterés Turísticu d'Estremaúra]] [[Categoría:Caçris]] [[Categoría:Estremaúra]] 6nokxqd3iylmextn1qtw33igy3eihon 143054 143046 2026-05-06T23:25:21Z InternetArchiveBot 17037 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 143054 wikitext text/x-wiki {{Ficha de fiesta}} La '''Romería de San Isidru Labraol''' es una fiesta d'interés turísticu regional que se celebra nel mes de mayu en [[Valencia d'Alcántara]], ena [[provincia de Caçris]], [[Estremaúra]]. == Estoria == La celebración s'esmençó enos añus quarenta del siegru XX comu omenagi delas pessonas del campu del puebru de [[Valencia d'Alcántara]] a San Isidru Labraol, el su patrón. Los ventus se celebravan ena ilesia dela Encarnación, ena que pessonas hateás col tragi tradicional hazian ofrendas al santu. Adispués, agricultoris i ganaerus, porteavan enos ombrus i en prosseción ala imagi del santu polas callis del puebru.<ref name=":0">{{Cita web|url=https://www.valenciadealcantara.es/index.php/la-villa/fiestas/134-festividad-de-san-isidro-labrador|título=Festividad de San Isidro Labrador|fechaacceso=01 de juñu del 2024|sitioweb=www.valenciadealcantara.es}}</ref> Endispuesinu se huerun arrimandu ala prosseción pessonas montás a cavallu conos tragis regionais, burrus, carretas arrastrás por bueis o vacas i tractoris enarvolaus con escenas dela Campiña de [[Valencia d'Alcántara]] o delas deferentis temporás del campu comu enas güertas, eras, campus sembraus, i otrus.<ref name=":0" />[[Archivu:San_Isidro_Labrador_en_2015_(3).jpg|miniaturadeimagen|Desfili polas callis del puebru|210x210px]] Nel 1958, l'Ermandá de Agricultoris i Ganaerus decedió hazel una tándana de ventus estrordinarius nesta festividá, dandu un vencijón especial ala romería, col criaeru dun concussu de Carrozas i envitación a participal a pessonas delas puebracionis vezinas dela comarca i de [[Portugal]].<ref name=":0" /> A caberus delos añus sessenta la festividá se hue engrandandu con atividais comparantis comu bailis delos grupus de corus i danças de ''La Buenavista'' o de ''La Fontañera'', tamién competicionis deportivas i bezerrás.<ref name=":1">{{Cita web|url=https://www.elperiodicoextremadura.com/extremadura/2023/05/10/romeria-valencia-alcantara-no-hay-que-perderse-san-isidro-alberto-piris-toros-87044467.html|título=“No hay que perderse la Romería de San Isidro porque es una muestra etnográfica móvil”|fechaacceso=01 de juñu del 2024|apellido=Redacción|fecha=2023-05-10|sitioweb=El Periódico Extremadura|idioma=es}}</ref> Dendi antoncis, tolos añus á díu acreciendu el númiru d'associacionis, peñas, junterías o grupus d'amistais qu'avían las sus cavallerías o carrozas pa dal compaña a San Isidru. Esta gran participación, en juntu ala emportancia turística dela fiesta, los sus valoris colturais i la proteción delas tradicionis, hizu que la romería urbana de San Isidru huera declará Fiesta d'Interés Turísticu Regional en el 1989, siendu assina la primel romería en sel reconocía comu d'Interés Turísticu Regional.<ref name=":2">{{Cita web|url=https://www.canalextremadura.es/noticias/extremadura/valencia-de-alcantara-y-fuente-de-cantos-celebran-san-isidro-a-lo-grande|título=Valencia de Alcántara y Fuente de Cantos celebran San Isidro a lo grande|fechaacceso=01 de juñu del 2024|apellido=redaccion|fecha=Lun, 15/05/2023 - 21:12|sitioweb=Canal Extremadura|idioma=es}}</ref><ref name=":3">{{Cita web|url=https://www.turismocaceres.org/de/node/2650|título=Romería de San Isidro|fechaacceso=01 de juñu del 2024|fecha=2018-03-05|sitioweb=Turismo Cáceres|idioma=de|archive-date=2023-05-17|archive-url=https://web.archive.org/web/20230517221429/https://www.turismocaceres.org/de/node/2650|dead-url=yes}}</ref> == Descreción == Endispués del 1980 ai una muança emportanti ena festividá, i aspués de concedel que la fecha huera fiesta local, se mua el espaçu aondi se hazin los ventus prencipais, acebiendu'l celebramientu a meya amañana nel Parqui d'España, cona missa tradicional estremeña presidía polas utoridais locais i regionais i cantá pol grupu folclóricu del puebru [[Juéllega Estremeña]].<ref name=":4">{{Cita web|url=https://www.turismoextremadura.com/es/explora/Romeria-de-San-Isidro-de-Valencia-de-Alcantara-00003/|título=Romería de San Isidro de Valencia de Alcantara|fechaacceso=01 de juñu del 2024|sitioweb=www.turismoextremadura.com}}</ref><ref>{{Cita web|url=https://www.elperiodicoextremadura.com/extremadura/2022/05/10/valencia-alcantara-honra-san-isidro-65898596.html|título=Valencia de Alcántara honra a san Isidro con misa cantada, desfile de carrozas y toros|fechaacceso=01 de juñu del 2024|apellido=Redacción|fecha=2022-05-10|sitioweb=El Periódico Extremadura|idioma=es}}</ref> [[Archivu:Romería de San Isidro 2022 (5).jpg|miniaturadeimagen|Carroza dela romería]] Pol reol del parqui, se van arrimandu al celebramientu los cavallistas, amazonas i carrozas, qu'endispués del celebramientu religiosu dan compaña a San Isidru en una romería urbana con un desfili polas destintas callis del puebru, siendu de especial interés el su passu pola calli [[Hernán Cortés]], pola caterva de púbricu nesta zona, amás del atrativu visual que brindan las hormacionis delas cavallerías i las mostracionis d'albeliá polos ginetis i amazonas.<ref name=":0" /><ref name=":1" /> El pograma de rehuíjus, apreparau pola Associación de San Isidru Labraol cona calavoración del Ayuntamientu, associacionis, impresas i particularis, comprendi una semana d'atividais qu'esmiençan la semana enantis con yincanas, esposicionis i concussus agroganaerus, passacallis i bailis popularis i que acabija'l día quinzi de mayu cona prosseción, el desfili i un festeju taurinu.<ref name=":0" /> Dendi los añus ochenta, los ventus festilis eran aviaus pola Comissión de San Isidru, peru dendi'l 1998, col relevamientu dela Associación de San Isidru Labraol, la pogramación de rehuíjus tieni tamién la calavoración del [[Ayuntamientu]] de [[Valencia d'Alcántara]], la Deputación de [[Caçris]]  i la [[Junta d'Estremaúra]], amás dela empricación delas associacionis locais, impresas i ciadanía.<ref name=":1" /> == Costumbris == [[Archivu:Romería_de_San_Isidro_2022_(1).jpg|miniaturadeimagen|Amazona i gineti conos cavallus enarvolaus|210x210px]] Los tragis hateaus pa esti celebramientu sonin: * Tragi de labraora: con çapatus negrus, meyas, pololus, naguas, jubón, refaxu de pañu qu'es pintau, el mas antiguu o bordau, pos d'antiguu se bordava cona lana, mandil negru de terciupelu, con puntillas enos vivus i revestíu con adornus i azabachi, faldiquera bordá colas iniciais, mantilla de terciupelu que se gasta palos celebramientus religiosus, pañuelu alfombrau o de cien coloris, collal i pendientis de herraúra i calabaça.<ref name=":5">{{Cita web|url=https://www.canalextremadura.es/video/may-nos-muestra-el-traje-de-labradora-de-san-isidro-en-valencia-de-alcantara|título=May nos muestra el traje de labradora de San Isidro en Valencia de Alcántara|fechaacceso=01 de juñu del 2024|apellido=mediarcomunicaciones|fecha=Dom, 22/05/2022 - 23:05|sitioweb=Canal Extremadura|idioma=es|archive-date=2023-05-17|archive-url=https://web.archive.org/web/20230517221427/https://www.canalextremadura.es/video/may-nos-muestra-el-traje-de-labradora-de-san-isidro-en-valencia-de-alcantara|dead-url=yes}}</ref> * Tragi de labraol: con meyas brancas, calçón con alçapón, espolainas de pañu, que d'antiguu tamién eran de cueru, faxín roxu o de colol, conas iniciais bordás i faxín negru pala genti mayol, camisa branca, chalecu de tela brocá o de terciupelu, chambra de pañu negru con vivus reondeaus i angún agremén d'adornu. * Tragi d'espigaora, que no es tradicional i qu'es mas un tragi de romería, pos es mas cenzillu de hazel i ligeru de gastal.<ref name=":6">{{Cita web|url=https://www.lashuertasdecansa.com/fiestas_y_co.php|título=.:: Sitio web de Las Huertas de Cansa - Fiestas y Costumbres ::.|fechaacceso=01 de juñu del 2024|sitioweb=www.lashuertasdecansa.com}}</ref> * Tragi cortu, pa quienis van a cavallu.<ref name=":6" /> Los cavallus van enarvolaus con mantas i otras decoracionis. Las carrozas van decorás con mantas, retamas, froris bravías i escenas del campu comu la saca la corcha, colmenas, carvoneras, lavanderas, matança, avareu dela azituna i mas. Las carrozas, enarvolás i decorás con oficius d'antañu, sonin una mostración caraitirística en movición. Aluspués, dan premius alas carrozas mas repolias.<ref name=":5" /><ref>{{Cita web|url=https://www.elperiodicoextremadura.com/extremadura/2023/05/10/romeria-valencia-alcantara-no-hay-que-perderse-san-isidro-alberto-piris-toros-87044467.html|título=“No hay que perderse la Romería de San Isidro porque es una muestra etnográfica móvil”|fechaacceso=01 de juñu del 2024|apellido=Redacción|fecha=2023-05-10|sitioweb=El Periódico Extremadura|idioma=es}}</ref><ref>{{Cita web|url=https://www.canalextremadura.es/video/valencia-de-alcantara-disfruta-su-dia-grande-de-san-isidro|título=Valencia de Alcántara disfruta su día grande de San Isidro|fechaacceso=01 de juñu del 2024|apellido=indaumedia|fecha=Lun, 15/05/2023 - 20:10|sitioweb=Canal Extremadura|idioma=es}}</ref> Pola romería se manduca i buchea enos tractoris, pos repartin vinu i comía i endispués del recorríu dela romería sirvin mas comía i bebía enas casetas.<ref>{{Cita web|url=http://www.canalextremadura.es/noticias/extremadura/valencia-de-alcantara-y-fuente-de-cantos-vuelven-a-vibrar-con-san-isidro|título=Valencia de Alcántara y Fuente de Cantos vuelven a vibrar con San Isidro|fechaacceso=01 de juñu del 2024|apellido=redaccion|fecha=Dom, 15/05/2022 - 14:30|sitioweb=Canal Extremadura|idioma=es}}</ref> == Reconocencias == * Declará pola Junta d'Extremaúra Fiesta d'Interés Turísticu Regional el trezi de juñu del 1989.<ref name=":4" /> == Guipal tamién == * [[Fiestas d'Enterés Turísticu d'Estremaúra]] * [[Valencia d'Alcántara]] == Referencias == <references /> == Atijus p'ahuera == {{commonscat}} * [https://web.archive.org/web/20230517221427/https://www.canalextremadura.es/video/may-nos-muestra-el-traje-de-labradora-de-san-isidro-en-valencia-de-alcantara Tragi de labraora de San Isidru en Valencia d'Alcántara], Canal Estremaúra, el 21 de mayu del 2022 * [https://www.canalextremadura.es/a-la-carta/conexion-extremadura/videos/gran-ambiente-en-la-romeria-de-san-isidro-de-valencia-de Romería de San Isidru de Valencia d'Alcántara], Canal Estremaúra, el 15 de mayu del 2024 {{control de autoridades}} [[Categoría:Fiestas d'Enterés Turísticu d'Estremaúra]] [[Categoría:Caçris]] [[Categoría:Estremaúra]] 129n7b72emkyymbgad4v7xvqd6o2c9c Txumari Alfaro 0 11916 143048 143006 2026-05-06T17:14:33Z Acuxhinu 3347 Referencias 143048 wikitext text/x-wiki {{ficha de pressona}} '''Jesús María Alfaro Martón o Txumari Alfaro''' (Arguedas, [[Navarra]], 25 de deziembri del 1952-[[Pamplona]], 18 d'abril del 2026) hue un naturópata i presentaol dela teli mu anombrau a acaberus del [[Sigru XX|siegru XX]] i esmiençus del [[Sigru XXI|siegru XXI]]. == Biografía == Tuvu la su nacencia nel monicipiu de Arguedas en [[Navarra]] i s'endedicó ala naturopatía, añidiendu conocencias de iridiología, qu'es una diciplina que precura abrigual las maluras por mé de l'analís del iris del adolecíu, i d'acupuntura, qu'es un curiju tradicional de [[China]], que gasta aújas en angunas partis del cuerpu cona gola d'amejoral los doloris. Dendi'l 1988, derigió un centru de naturismu i nel 1996 hue un jetu mu conocíu n'España quandu esmençó a presental el pograma dela teli ''La Botica de la Abuela'', ena ''TVE,'' nel que consejava a l'udencia delos curaerus tradicionais pa toa crassi d'aficionis i dolencias, comu una oción alos produtus boticarius corrientis. Dos añus endispués s'encorporó ala prantilla de ''Sabor a ti'', un pograma de ''Ana Rosa Quintana'' en ''Antena 3'', hata que ala finiquita nel añu 2000, se l'acenaga un nuevu pograma acomparanti a ''La botica de la abuela,'' peru col nombri de ''La botica de Txumari''.<ref name=":0">{{Cita web|url=https://elpais.com/diario/2000/01/24/radiotv/948668404_850215.html|título=La botica de Txumari}}</ref> Esti pograma, namás anduvu n'entena dentri aneru i abril d'aquel mesmu añu. Aluspués, dentri setiembri i deziembri del 2005 calavoró nel pograma de ''[[Telecinco]]'' ''A tu lado'', que presentava Emma García, cona seción ''Los consejos de Txumari'', que hue arretirá pola baxa udencia lográ. Nel 2007 pubricó el libru ''Un cuerpo para toda una vida'', mentris qu'en setiembri del 2008 calavoró nel pograma ''Salud a la carta'', de ''La Sexta''. En mayu del 2011, tuvu'l pograma ''Los consejos de Txumari'' en ''Intereconomía TV'', seción mu ligera qu'él mesmu derigía i presentava, enque anduvu mu poquinu tiempu n'entena. El deziochu d'abril del 2026, espenó en [[Pamplona]].<ref>{{Cita web|url=https://www.diariodenavarra.es/noticias/navarra/2026/04/19/muere-navarro-txumari-alfaro-naturopata-presentador-botica-abuela-817625-15.html|título=Muere el navarro Txumari Alfaro, naturópata y presentador de 'La botica de la abuela'|fechaacceso=2026-05-06|apellido=Navarra|nombre=Diario de|fecha=2026-04-19|sitioweb=Diario de Navarra|idioma=es}}</ref> == Porfías == Los sus consejamientus meicus án síu porfiaus por numirosus meyus de comunicación, redis sociais i comunidais meicas comu la catalana nel 2018, qu'espressarun la su indinación al concadecel angunas delas sus parabras, pos nuna delas sus chalras i palrandu del canci dixu de no hazel na, peru refiriendu-si al terrenu emocional i assina dispués añidió que los adolecíus i adolecías devían de siguil los sus tratamientus conos sus oncólogus. == Referencias == <ref name=":0" /> == Atijus p'ahuera == {{commonscat}} * [https://www.medicinatelevision.tv/txumari-alfaro-psoriasis-e-hipertension-remedios-naturales Consejamientus de Txumari] Remedius Naturais. * [https://www.tiktok.com/@retro_zapping/video/7434975565574130976 El Café] Remedius Caserus. {{NF|1952|2026|Alfaro, Txumari}} [[Categoría:Presentaoris de televisión]] oj34uam1p5nuuyffuuocrw4b7ijq62r 143049 143048 2026-05-06T17:51:33Z Acuxhinu 3347 Referencias 143049 wikitext text/x-wiki {{ficha de pressona}} '''Txumari Alfaro o Jesús María Alfaro Martón''' (Arguedas, [[Navarra]], 25 de deziembri del 1952-[[Pamplona]], 18 d'abril del 2026) hue un naturópata i presentaol dela teli mu anombrau a acaberus del [[Sigru XX|siegru XX]] i esmiençus del [[Sigru XXI|siegru XXI]]. == Biografía == Tuvu la su nacencia nel monicipiu de Arguedas en [[Navarra]] i s'endedicó ala naturopatía, añidiendu conocencias de iridiología, qu'es una diciplina que precura abrigual las maluras por mé de l'analís del iris del adolecíu, i d'acupuntura, qu'es un curiju tradicional de [[China]], que gasta aújas en angunas partis del cuerpu cona gola d'amejoral los doloris.<ref name=":1" /><ref name=":2">{{Cita web|url=https://www.20minutos.es/gente/muere-txumari-alfaro-presentador-botica-abuela_6959989_0.html|título=Txumari Alfaro, presentaol de La botica de la abuela, espena alos setenta i tres añus.|fechaacceso=05 de mayu del 2026|apellido=AGENCIAS|nombre=20minutos {{!}}|fecha=19 d'abril del 2026|sitioweb=www.20minutos.es - Últimas Noticia|idioma=es}}</ref> Dendi'l 1988, derigió un centru de naturismu i nel 1996 hue un jetu mu conocíu n'España quandu esmençó a presental el pograma dela teli ''La Botica de la Abuela'', ena ''TVE,'' nel que consejava a l'udencia delos curaerus tradicionais pa toa crassi d'aficionis i dolencias, comu una oción alos produtus boticarius corrientis. Dos añus endispués s'encorporó ala prantilla de ''Sabor a ti'', un pograma de ''Ana Rosa Quintana'' en ''Antena 3'', hata que ala finiquita nel añu 2000, se l'acenaga un nuevu pograma acomparanti a ''La botica de la abuela,'' peru col nombri de ''La botica de Txumari''.<ref name=":0">{{Cita web|url=https://elpais.com/diario/2000/01/24/radiotv/948668404_850215.html|título=La botica de Txumari s'endependiza de Sabor a ti.|fechaacceso=05 de mayu del 2026|apellido=Morales|nombre=Fernando|fecha=24 d'aneru del 2000|idioma=es}}</ref> Esti pograma, namás anduvu n'entena dentri aneru i abril d'aquel mesmu añu. Aluspués, dentri setiembri i deziembri del 2005 calavoró nel pograma de ''[[Telecinco]]'' ''A tu lado'', que presentava Emma García, cona seción ''Los consejos de Txumari'', que hue arretirá pola baxa udencia lográ.<ref name=":1" /><ref name=":2" /> Nel 2007 pubricó el libru ''Un cuerpo para toda una vida'', mentris qu'en setiembri del 2008 calavoró nel pograma ''Salud a la carta'', de ''La Sexta''. En mayu del 2011, tuvu'l pograma ''Los consejos de Txumari'' en ''Intereconomía TV'', seción mu ligera qu'él mesmu derigía i presentava, enque anduvu mu poquinu tiempu n'entena. El deziochu d'abril del 2026, espenó en [[Pamplona]].<ref name=":1">{{Cita web|url=https://www.diariodenavarra.es/noticias/navarra/2026/04/19/muere-navarro-txumari-alfaro-naturopata-presentador-botica-abuela-817625-15.html|título=Txumari Alfaro, naturópata i presentaol de La botica de la abuela.|fechaacceso=05 de mayu del 2026|apellido=Goñi|nombre=Jose Antonio|fecha=19 d'abril del 2026|sitioweb=Diario de Navarra|idioma=es|editor=Diario de Navarra}}</ref><ref name=":2" /> == Porfías == Los sus consejamientus meicus án síu porfiaus por numirosus meyus de comunicación, redis sociais i comunidais meicas comu la catalana nel 2018, qu'espressarun la su indinación al concadecel angunas delas sus parabras, pos nuna delas sus chalras i palrandu del canci dixu de no hazel na, peru refiriendu-si al terrenu emocional i assina dispués añidió que los adolecíus i adolecías devían de siguil los sus tratamientus conos sus oncólogus.<ref>{{Cita web|url=https://www.pressreader.com/spain/muy-interesante/20180920/281496457197083|título=La gran piruga dela melecina alternativa.|fechaacceso=05 de mayu del 2026|apellido=Gámez|nombre=Luis Alfonso|fecha=20 de setiembri del 2018|editor=Muy Interesante|idioma=es}}</ref><ref>{{Cita web|url=https://www.20minutos.es/television/txumari-alfaro-polemica-aconsejar-hacer-nada-cancer-mama-2751244/|título=Txumari Alfaro desata la porfía al consejal no hazel na pa tratal el canci.|fechaacceso=05 de mayu del 2026|apellido=20minutos|fecha=15 d'aneru del 2018|sitioweb=www.20minutos.es - Últimas Noticia|idioma=es}}</ref> == Referencias == [[Categoría:Presentaoris de televisión]] <references /> == Atijus p'ahuera == {{commonscat}} * [https://www.medicinatelevision.tv/txumari-alfaro-psoriasis-e-hipertension-remedios-naturales Consejamientus de Txumari] Remedius Naturais. * [https://www.tiktok.com/@retro_zapping/video/7434975565574130976 El Café] Remedius Caserus. {{NF|1952|2026|Alfaro, Txumari}} 1b3s0xzhap6g15irumc3yfhw5fdmf3h 143050 143049 2026-05-06T17:53:12Z Acuxhinu 3347 referencias 143050 wikitext text/x-wiki {{ficha de pressona}} '''Txumari Alfaro o Jesús María Alfaro Martón''' (Arguedas, [[Navarra]], 25 de deziembri del 1952-[[Pamplona]], 18 d'abril del 2026) hue un naturópata i presentaol dela teli mu anombrau a acaberus del [[Sigru XX|siegru XX]] i esmiençus del [[Sigru XXI|siegru XXI]]. == Biografía == Tuvu la su nacencia nel monicipiu de Arguedas en [[Navarra]] i s'endedicó ala naturopatía, añidiendu conocencias de iridiología, qu'es una diciplina que precura abrigual las maluras por mé de l'analís del iris del adolecíu, i d'acupuntura, qu'es un curiju tradicional de [[China]], que gasta aújas en angunas partis del cuerpu cona gola d'amejoral los doloris.<ref name=":1" /><ref name=":2">{{Cita web|url=https://www.20minutos.es/gente/muere-txumari-alfaro-presentador-botica-abuela_6959989_0.html|título=Txumari Alfaro, presentaol de La botica de la abuela, espena alos setenta i tres añus.|fechaacceso=05 de mayu del 2026|apellido=AGENCIAS|nombre=20minutos {{!}}|fecha=19 d'abril del 2026|sitioweb=www.20minutos.es - Últimas Noticia|idioma=es}}</ref> Dendi'l 1988, derigió un centru de naturismu i nel 1996 hue un jetu mu conocíu n'España quandu esmençó a presental el pograma dela teli ''La Botica de la Abuela'', ena ''TVE,'' nel que consejava a l'udencia delos curaerus tradicionais pa toa crassi d'aficionis i dolencias, comu una oción alos produtus boticarius corrientis. Dos añus endispués s'encorporó ala prantilla de ''Sabor a ti'', un pograma de ''Ana Rosa Quintana'' en ''Antena 3'', hata que ala finiquita nel añu 2000, se l'acenaga un nuevu pograma acomparanti a ''La botica de la abuela,'' peru col nombri de ''La botica de Txumari''.<ref name=":0">{{Cita web|url=https://elpais.com/diario/2000/01/24/radiotv/948668404_850215.html|título=La botica de Txumari s'endependiza de Sabor a ti.|fechaacceso=05 de mayu del 2026|apellido=Morales|nombre=Fernando|fecha=24 d'aneru del 2000|idioma=es}}</ref> Esti pograma, namás anduvu n'entena dentri aneru i abril d'aquel mesmu añu. Aluspués, dentri setiembri i deziembri del 2005 calavoró nel pograma de ''[[Telecinco]]'' ''A tu lado'', que presentava Emma García, cona seción ''Los consejos de Txumari'', que hue arretirá pola baxa udencia lográ.<ref name=":1" /><ref name=":2" /> Nel 2007 pubricó el libru ''Un cuerpo para toda una vida'', mentris qu'en setiembri del 2008 calavoró nel pograma ''Salud a la carta'', de ''La Sexta''. En mayu del 2011, tuvu'l pograma ''Los consejos de Txumari'' en ''Intereconomía TV'', seción mu ligera qu'él mesmu derigía i presentava, enque anduvu mu poquinu tiempu n'entena. El deziochu d'abril del 2026, espenó en [[Pamplona]].<ref name=":1">{{Cita web|url=https://www.diariodenavarra.es/noticias/navarra/2026/04/19/muere-navarro-txumari-alfaro-naturopata-presentador-botica-abuela-817625-15.html|título=Txumari Alfaro, naturópata i presentaol de La botica de la abuela.|fechaacceso=05 de mayu del 2026|apellido=Goñi|nombre=Jose Antonio|fecha=19 d'abril del 2026|sitioweb=Diario de Navarra|idioma=es|editor=Diario de Navarra}}</ref><ref name=":2" /> == Porfías == Los sus consejamientus meicus án síu porfiaus por numirosus meyus de comunicación, redis sociais i comunidais meicas comu la catalana nel 2018, qu'espressarun la su indinación al concadecel angunas delas sus parabras, pos nuna delas sus chalras i palrandu del canci dixu de no hazel na, peru refiriendu-si al terrenu emocional i assina dispués añidió que los adolecíus i adolecías devían de siguil los sus tratamientus conos sus oncólogus.<ref>{{Cita web|url=https://www.pressreader.com/spain/muy-interesante/20180920/281496457197083|título=La gran piruga dela melecina alternativa.|fechaacceso=05 de mayu del 2026|apellido=Gámez|nombre=Luis Alfonso|fecha=20 de setiembri del 2018|editor=Muy Interesante|idioma=es}}</ref><ref>{{Cita web|url=https://www.20minutos.es/television/txumari-alfaro-polemica-aconsejar-hacer-nada-cancer-mama-2751244/|título=Txumari Alfaro desata la porfía al consejal no hazel na pa tratal el canci.|fechaacceso=05 de mayu del 2026|apellido=20minutos|fecha=15 d'aneru del 2018|sitioweb=www.20minutos.es - Últimas Noticia|idioma=es}}</ref> == Referencias == <references /> == Atijus p'ahuera == {{commonscat}} * [https://www.medicinatelevision.tv/txumari-alfaro-psoriasis-e-hipertension-remedios-naturales Consejamientus de Txumari] Remedius Naturais. * [https://www.tiktok.com/@retro_zapping/video/7434975565574130976 El Café] Remedius Caserus. {{NF|1952|2026|Alfaro, Txumari}} [[Categoría:Presentaoris de televisión]] nfds9rktw7t9zg22mfzzurrpaxak790 Peseta 0 11919 143045 143023 2026-05-06T14:01:14Z InternetArchiveBot 17037 Rescuing 2 sources and tagging 0 as dead.) #IABot (v2.0.9.5 143045 wikitext text/x-wiki {| class="infobox" style="width:22.7em; line-height:1.4em; text-align:left; padding:.23em; float:right; clear:right; margin:0.5em 0 0.5em 1em; border:1px solid #a2a9b1; border-spacing:3px; background-color:#f8f9fa; color:black; font-size:88%;" |- ! colspan="3" class="cabecera" style="text-align:center; background-color:#D9E542; color:inherit; font-size:125%; font-weight:bold;" | Peseta |- | colspan="3" style="text-align:center; background-color:#F5F35B;" | [[:Categoría:Moneas fuera de cursu|Monea fuera de cursu]] |- | colspan="3" style="align:center;" | {| class="mergedrow" style="width:100%; margin:0; padding:0; border:0; background:transparent;" | style="text-align:center; align:center; vertical-align:middle;" | [[Archivu:100 pesetas.png|120px]]<br /><div style="display:inline">Monea de 100 pesetas</div> | style="text-align:center; align:center; vertical-align:middle;" | [[Archivu:1000pesetas.JPG|120px]]<br /><div style="display:inline">Billeti de 1000 pesetas</div> |} |- ! scope="row" style="text-align:left; width:45%; font-weight:bold; vertical-align:top; padding:0.2em 0.5em;" | [[ISO 4217|Códigu ISO]] | colspan="2" style="vertical-align:top; padding:0.2em 0.5em;" | ESP |- ! scope="row" style="text-align:left; width:45%; font-weight:bold; vertical-align:top; padding:0.2em 0.5em;" | [[Símbolu monetariu|Símbolu]] | colspan="2" style="vertical-align:top; padding:0.2em 0.5em;" | ₧, Ptas |- ! scope="row" style="text-align:left; width:45%; font-weight:bold; vertical-align:top; padding:0.2em 0.5em;" | [[País|Ámbitu]] | colspan="2" style="vertical-align:top; padding:0.2em 0.5em;" | [[Archivu:Flag of Spain.svg|20px|border]] [[España]] (1868-2002)<br />'''i los sus territorius:'''<br />[[Archivu:Flag of Spain (1785–1873, 1875–1931).svg|20px|border]] [[Capitanía General de Cuba]] (1868-1898)<br />[[Archivu:Flag of Spain (1785–1873, 1875–1931).svg|20px|border]] [[Capitanía General delas Hilipinas]] (1868-1898)<br />[[Archivu:Flag of Spain (1785–1873, 1875–1931).svg|20px|border]] [[Capitanía General de Puertu-Ricu]] (1868-1898)<br />[[Cabu Juby]], [[Saguia el Hamra]], [[Ríu d'Oru]] i [[Ifni]] (1884-1958)<br />[[Archivu:Flag of Spain (1945–1977).svg|20px|border]] [[África Ocidental Española]] (1946-1958)<br />[[Ifni]] (1958-1969)<br />[[Sáhara español]] (1958-1976)<br />[[Protectorau español de Marruecu]] (1913-1956)<br />[[Archivu:Flag of Spain (1785–1873, 1875–1931).svg|20px|border]] [[Guinea Española]] (1868-1968)<br />[[Archivu:Flag of Spain (1785–1873, 1875–1931).svg|20px|border]] [[Capitanía General de Santu Domingu]]<br />'''Fuera d'España:'''<br />[[Archivu:Flag of Andorra.svg|20px|border]] [[Andorra]] (1870-2002) |- ! scope="row" style="text-align:left; width:45%; font-weight:bold; vertical-align:top; padding:0.2em 0.5em;" | Fraición | colspan="2" style="vertical-align:top; padding:0.2em 0.5em;" | 100 céntimus |- ! scope="row" style="text-align:left; width:45%; font-weight:bold; vertical-align:top; padding:0.2em 0.5em;" | [[Billeti]]s | colspan="2" style="vertical-align:top; padding:0.2em 0.5em;" | 1000, 2000, 5000 i 10000 ₧ |- ! scope="row" style="text-align:left; width:45%; font-weight:bold; vertical-align:top; padding:0.2em 0.5em;" | [[Monea]]s | colspan="2" style="vertical-align:top; padding:0.2em 0.5em;" | 1, 5, 10, 25, 50, 100, 200 i 500 ₧ |- ! scope="row" style="text-align:left; width:45%; font-weight:bold; vertical-align:top; padding:0.2em 0.5em;" | [[Bancu central|Emissol]] | colspan="2" style="vertical-align:top; padding:0.2em 0.5em;" | [[Bancu d'España]] |- ! scope="row" style="text-align:left; width:45%; font-weight:bold; vertical-align:top; padding:0.2em 0.5em;" | [[Tipu de cambiu fixu|Tassa de cambiu fixa]] | colspan="2" style="vertical-align:top; padding:0.2em 0.5em;" | 1 ebru = 166,386 ESP |- ! colspan="3" class="section" style="text-align:center; background-color:#FCC300;" | [[Cronología]] |- | colspan="3" style="text-align:center; padding:0;" | {| style="width:100%; text-align:center; border:0; margin:0; padding:0; display:table; background:transparent;" | style="width:33%; padding:0.2em 0.1em 0.2em 0; vertical-align:middle;" | [[Escúu]] | style="width:33%; padding:0.2em 0.1em; background-color:#F5F5DC; color:inherit; vertical-align:middle;" | <span style="font-weight:bold;">Peseta</span> | style="width:33%; padding:0.2em 0 0.2em 0.1em; vertical-align:middle;" | [[Ebru]] |} |} La '''peseta''' fue la [[monea]] de cursu legal n'[[España]] i los sus territorius d'ultramari dendi l'aprobación el 19 d'otubri de 1868 ata el 28 de Hebreru de 2002. Nel 1 de Marçu de 2002, atrás un periodu transitóriu, l'[[euru]] se conveltió ena única [[monea]] de cursu legal. Atrás la primera acuñación de pesetas acontinarun circulandu los reais de vellón dessistentis, qu'equivalían a 25 cts de peseta; entavía quandu desapaicerun los reais de vellón, se siguió llamandu real alas [[monea]]s de 25 cts i dos reais alas de 50 cts. Atrás l'entroducción del [[euru]], la peseta acontinó circulandu ata el 31 de Diciembri de 2001 cola consideración legal de «fracción no decimal d'[[euru]]» i endispués, de horma pruvisional, ata el 28 de Hebreru de 2002. Nel 1 d'Eneru dessu añu habían entrau en circulación las [[monea]]s i billetis d'[[euru]], colos que convivió duranti dos mesis. N'2020 se conservaban, en manos particularis, unus 1590 millonis d'[[euru]]s en pesetas. Inque estaba previstu qu'el Bancu d'[[España]] dexa-si de cambial las pesetas el 31 de Diciembri de 2020, amplió el praçu ata el 30 de Juñu de 2021 para retornal los 264553 millonis de pesetas, sin costis estras, a [[euru]]s, al tipu de cámbiu de 1,00 € = 166,386 ESP. <ref>Europa Press, 2021 </ref> == Estoria == [[Archivu:Isabel II peseta 19524.jpg|thumb|Peseta acuñada en Barcelona en 1837, durante el reinado de Isabel II.]] [[Archivu:Monedas_II_República_Española_(i).jpg|thumb|Diversas monedas de peseta que circularon durante la Segunda República española.]] El ''Diccionariu d'Autoridais'' de 1737 defini la peseta comu «la pieça que vali dos reais de prata de [[monea]] provincial, hormá de figura reonda. Es vos moernamenti entroducía». La primera pieça qu'se troqueló cola escrición ''pesetas'' fue una pieça acuñá en [[Barcelona]] de 2½ pesetas, n'1808, duranti la dominación napoleónica. La pieça correspondienti de ''peseta'' se troqueló l'añu 1809, añu nel que tamién fue acuñá la de 5 pesetas (del tamañu i pesu delas de 8 reais), que funcionarun ata el final dela [[Guerra d'Endependencia Española]]. Tamién se realizó una emisión esporádica duna [[monea]] de 5 pesetas enas [[Islas Balearis]] n'1823. Etimológicamenti, ''peseta'' vien del catalán ''peceta'', diminutivu de ''peça'' (‘pieça’), pol que equivaldríe a «pieçuca». Atrás, atrás la coronación d'[[Isabel II]] comu reina d'[[España]], duranti los añus 1836 i 1837, volvierun a acuñal-si [[monea]]s cola escrición de ''1 peseta''; con ellas pagó la reina alas tropas estitucionalis que lucharun ena primera guerra carlista en favol dela su causa i en contra dela del pretendenti carlista don [[Carlos María Isidro de Borbón]], qu'fuerun mentaus endispués pol ellu ''peseterus''. El 19 d'otubri de 1868, el menistru d'Hacienda del Gubiernu pruvisional del [[General Serrano]], [[Laureano Figuerola]], firmó el decretu pol que se prantaba la peseta comu uniá monetária nacional, sustituyendu al [[escú (monea)|escú]] comu tal. La su entroducción estuvo determiná pol razonis políticas, para esborral las rastas dela monarquía borbónica (atumbá el 30 de setiembri dessu añu col runchu de [[La Gloriosa]]) enas pieças al usu al mesmu tiempu; i ecunómicas, al entral en vigol oficialmenti el sistema métricu decimal nel contestu dela Unión Monetária Latina. === Estoria delas [[monea]]s de peseta === [[Archivu:ESP-1pta1870.jpg|thumb|Primera moneda con facial de 1 peseta emitida durante el Gobierno Provisional en 1870.]] [[Archivu:Moneda_25_céntimos_de_peseta_1934_anverso.jpg|thumb|Anverso de la moneda de 25 céntimos de peseta (1 real) de 1934 (Segunda República española).]] La primera peseta fue acuñá n'1869, pesaba 5 gramus de prata i equivalía a 4 reais de vellón. Las [[monea]]s dela primera emisión fuerun: * 1 céntimu, 1 g de bronci * 2 céntimus, 2 g de bronci * 5 céntimus, 5 g de bronci * 10 céntimus, 10 g de bronci * 20 céntimus, 1 g de prata de lei 835 milésimas * 50 céntimus, 2,5 g de prata de lei 835 milésimas * 1 peseta, 5 g de prata de lei 835 milésimas * 2 pesetas, 10 g de prata de lei 835 milésimas * 5 pesetas, 25 g de prata de lei 900 milésimas * 100 pesetas, 32,25 g de oru de lei 900 milésimas. Ata l'entrá en vigol dela peseta comu única [[monea]] española, dessistían n'[[España]] 21 uniáis monetárias en circulación. Ata la [[Segunda Repúbrica Española]], las [[monea]]s de 1 peseta fuerun acuñás en prata. La primera peseta de metal no preciosu fue acuñá n'1937. Ena ella aparecía la carantona duna mugi, representación dela Repúbrica. Estas [[monea]]s fuerun conocias comu ''la Rubia'', colol que le daba l'aleación de latón.<ref>{{cita web|url=https://www.bde.es/f/webbde/EYC/billemone/ficheros/es/peseta.pdf|título=Información general. Adiós, Peseta|fechaacceso=28 de diciembre de 2018|sitioweb=www.bde.es}}</ref> [[Archivu:Moneda de 1 peseta de 1933, plata, República Española.jpg|thumb|Última moneda de una peseta acuñada en plata (5 gramos), Madrid, 1933, Segunda República Española. Se pussun en circulación 2 millonis destas moneas.<ref>http://www.catalogodemonedas.es/?q=catalogo/monedas/moneda/192</ref>]] Nel 1939, el réghimi de [[Francisco Franco]] retiró dela circulación las [[monea]]s de metalis preciosus i troqueló [[monea]]s de peseta imitandu el diseño del [[dinar yugoslavu]]; las [[monea]]s tenían valoris de 5 i 10 céntimus, d'aluminiu (que se seguían llamandu en castillanu ''perra chica'' i ''perra gorda'', inque había cambiau la figura pun gineri), de 25 cts (un es), 1 pta i 5 pta (un [[duru (monea)|duru]]); más tardi tamién se añidierun una de 50 cts (1951) i otra de 2,5 pta (1954), que circuló pocu. Estas [[monea]]s fuerun fabricás dendi 1944 ata 1982 i fuerun de cursu legal ata 1997. Hacia 1958, pol mé dela inflación, se pusun en circulación [[monea]]s de mayol valol facial, comu 25 i 50 pesetas, i endispués la de 100 pesetas de prata de 800 milésimas dendi 1966, que se dexa d'acuñal n'1970, recuperandu el módulu n'1975 en cuproníquel. Dendi la transición española las [[monea]]s contarun col retratu de [[Juan Carlos I]]. N'1980 se troquelarun [[monea]]s conmemorativas dela Copa Mundial de [[Fútbol]] de 1982 de 50 céntimus, 1, 5, 25, 50 i 100 pesetas. [[Archivu:Certificado_de_plata_10_pesetas_-_anverso.jpg|thumb|Certificu de prata de 10 pesetas emitiu pola Segunda República española en 1935; se fabricun 60 millones de estos certificados.<ref>http://curiosidadesnumismaticas.blogspot.com.es/2013/06/pesetas-de-plata.html</ref>]] Dendi 1982 las [[monea]]s duna peseta pasarun a fabrical-si n'aluminiu para abaratal los costis de produción, inque colas mesmas dimensiones que las dantis. N'1982 se pusun en circulación la nueva [[monea]] de 100 pesetas, más compacta i en material bronci-aluminiu. Comu noveáis, tamién se pusun nuevas [[monea]]s en circulación: n'1982 la [[monea]] de 2 pesetas n'aluminiu, n'1983 la de 10 pesetas en cuproníquel, n'1986 la de 200 pesetas tamién en cuproníquel, i n'1987 la de 500 pesetas en material bronci-aluminiu. Estas dos úrtimas [[monea]]s encetan a sustituyal a los billetis circulantis dessu valol, qu'a paltir dessa fecha encetan a sel retiraus de circulación. N'1983 se desmonetizó toa la [[monea]] fracionária, de valol menol qu'una peseta, puestu que ya no eran aceptás nel cursu legal dela ecunomía del país. [[Archivu:1_peseta,_1937.jpg|thumb|Las primeras monedas de una peseta no acuñadas en plata, conocidas popularmente como ''rubias'' s'emitun en 1937, durante la Segunda República Española. Se pussun en circulación 50 millones destas moneas.<ref>http://www.catalogodemonedas.es/?q=catalogo/monedas/moneda/193</ref>]] Fue nel 1989 quandu encetó la produción de pesetas d'aluminiu de solu 14 mm de diámetru, una delas [[monea]]s más pequeñas del [[mundu]]. La úrtima seri de [[monea]]s alternaba los coloris brancu i amarillu entri valoris consecutivus; dorás las [[monea]]s d'usu mayoritáriu (5, 25, 100 i 500 pesetas) i prateás las menos habitualis (1, 10, 50 i 200 pesetas). A paltir de 1992 se prencipió un prugrama de [[monea]]s temáticas, lançándu-si essu añu [[monea]]s de 5, 25 i 50 pesetas conmemorativas de los [[Juegos Olímpicos]] de [[Barcelona]] i l'Esposición de [[Sevilla]], i al añu siguienti, del [[Jacobeu]]; endispués, a cada añu se troquelarun [[monea]]s con nombris e imáginis delas comuniáis i [[ciá|ciais]] autónomas d'[[España]], sacandu [[Cataluña]], [[Andalucía]] i [[Galícia]], que ya estaban representás polas [[monea]]s de los sus eventus. La única comuniá que no apareció n'esta seri de [[monea]]s fue la Comuniá Valenciana. Paralelamenti, otru prugrama acuñó [[monea]]s de 10, 50 i 200 pesetas dedicás a pressonajis estóricus d'[[España]]. N'1994 se lançó la [[monea]] de 2000 pesetas, inque con escassa circulación i reservá a colecionistas. Nel 1997 fuerun retirás dela circulación las [[monea]]s de 1, 5, 25, 50 i 200 pesetas de diseñu antigu (los diseñus dantis de 1989, qu'en algunus casus llevaban en circulación dendi los añus 40), las [[monea]]s de 2 pesetas, assina comu las [[monea]]s de 100 pesetas de gran diámetru, pocu conocias pol mé dela su escassa circulación; ata entoncis, habían convivíu [[monea]]s de varias seris distintas. L'ordin de dicha retir d'a se había aprobau n'1994. Enos sus úrtimus añus de dessistencia, la peseta tenía tan pocu valol (llegandu a equivalel 200 pesetas a un dólar estaunidensi) qu'la [[monea]] duna peseta práticamenti había desapaicíu dela circulación, i la uniá monetária ena prática era el [[duru (monea)|duru]] (5 pesetas). La úrtima emisión de [[monea]]s de peseta data de 2001. Las pesetas acontinarun en circulación ata el 28 de Hebreru de 2002, cola entrá del [[euru]], atrás 133 añus de vigéncia. === Estoria de los billetis de peseta === [[Archivu:Spain-franco bank notes 0001.jpg|thumb|Billetis delos añus 1950 enos qu’apaicin el Marqués de Santa Cruz, Álvaro de Bazán i Don Quijoti.]] Los primerus billetis de [[peseta]] fuerun impresus el 1 de juliu de 1874. Tenían los valoris facialis de 25, 50, 100, 500 i 1000 pesetas. Por causa del su elevau valor ena época, solu estavan destinaus a sel manejaus por bancus i otras entidais financieras. En total apenas se emitun dos millonis desta primera seri. Los billetis emitíus en nuevas seris siguierun teniendu destos mesmus valoris, ata 1935. Por causa dela desvalorización dela [[peseta]] enaquelos añus, i al temol de qu’l’aumentu nel preciu dela plata pudiesi trael la disparición delas moneas de 5 pesetas (durus de plata) pa sel vendías como metal, se hizu en 1935 l'emisión de billetis de 5 i 10 pesetas, como «Certificau de Plata», siendu retirás las moneas de plata de 5 pts. dela circulación. Duraniti la [[Guerra Cevil Española]], la economía del país se esborregó i con el la su monea. Inque con las desvalorizacionis, el [[Bancu d’España]] tuvu qu'imprimil billetis de valoris menoris, talis como 50 céntimus, 1, 2, 5 i 10 pesetas, por causa dela imposibiliá de compral metalis. Endispués dela recuperación dela economía española, las necisidais monetarias del país muarun. En 1974 ya avía 700 millonis de billetis ena circulación, abondus dellus de baja denominación, i en 1978 la cifra llegava a mil millonis. Inque la [[peseta]] avía perdiu valor, el billeti de mayol valor seguía siendu el de 1000 pesetas i eran necisarius abondus destos billetis pa pagus emportantis. Por esti motivu, dendi la década de 1970, se fuerun retirandu los billetis menoris pa sel sustituíus punas nuevas denominacionis. L'emisión del primeru billeti de 5000 pesetas en 1976 fue la primera ocasión en más dun sigru ena qu'se ponía ena circulación un billeti superiol a 1000 pesetas. En 1979 s'entroduxu la penúrtima seri de billetis de [[peseta]], con un cóigu de distintus coloris pa ca valor. La mesma seri se acompletó colos billetis de 2000 pesetas (1980) i 10000 pesetas (1985). En 1982 paró l'impresión de billetis de 100 pesetas o enferioris, i 1987 dexarun de frabrical-si billetis de 200 i 500 pesetas, prencipiandu a circulal moneas destas cantidais. En 1992 s'entroduxun los úrtimus billetis ena circulación (de 1000, 2000, 5000 i 10000 pesetas) de dimensionis enferioris alas dela seri anteriol. En 1997 fuerun retiraus dela circulación tolos billetis de seris anterioris alas de 1992. Los quatru billetis dela seri de 1992 quedarun como los únicus en vigol enos úrtimus añus de vida dela [[peseta]], ata l'entrada del [[euro]] en 2002. [[Archivu:Old_Equatorial_Guinean_1000_pesetas_banknote,_1969.jpg|thumb|Mil pesetas guineanas de 1969.]] === La peseta notrus países === La peseta ecuatoguineana fue la monea oficial de [[Guinea Equatorial]] dendi 1969 ata 1975. Se emitun deferentis tipus de moneas i billetis, tolos siguierun el moelu delas piezas circulantis en [[España]] enaquelos añus. Se acuñarun moneas de 1, 5, 25 i 50 pesetas ecuatoguineanas, assín como billetis de 100, 500 i 1000 pesetas. La única monea vigenti que lleva el nombri de peseta es la monea nacional dela [[Repúbrica Árabi Saaráui Democrática]], conociu como peseta saaráui, emitía únicamenti a efetus conmemorativus, sin circulación nel [[Sájara Occidental]] o Campus de Refugiaus de Tinduf. Dessistin moneas no reconocías pol [[Frenti Polisariu]] que se acuñan i vendin como suveniris en deferentis países<ref>url=https://jceeas.bdi.uni-obuda.hu/index.php/jceeas/article/download/82/63|título=On the Issue of Monetary Circulation in the Sahrawi Arab Democratic Republic. AuthorːAnton Andreev. JCEEAS – Journal of Central and Eastern European African Studies – ISSN 2786-1902</ref> [[Perú]] tamién acuñó moneas de plata cola denominación «peseta» en 1880. Las moneas, con valoris de una i cincu pesetas, llevan nel su anversu una figura feminina i el siguienti testu: «Prosperidad y poder por la Justicia. 1880». Nel reversu, alreol del escú del [[Perú]] se lee: «República Peruana Lima 9 décimos. Fino B.F.» seguiu del valor: una o cincu pesetas. == Etimología == [[Archivu:Pesetas fin siglo XX.jpg|thumb|Monedas de peseta en los modelos finales.]] Dessistin dos possiblis oríginis etimológicus del nombri dela divisa: unu indica que la parabra ''peseta'' procei del vocabu catalán ''peceta'' <ref>''[https://web.archive.org/web/20090126205445/http://ec.grec.net/lexicx.jsp?GECART=0101306 Gran Diccionari de la Llengua Catalana] Wayback|url=https://web.archive.org/web/20090126205445/http://ec.grec.net/lexicx.jsp?GECART=0101306 |date=20090126205445 ''</ref> ('piececita'), diminutivu de ''peça'' ('pieza'), nombri con que se conocía dendi el sigru XV a angunas moneas de plata i que más tardi designó al rial de a dos. El otru, recoyíu pola [[Real Academia Española]], apunta que ''peseta'' es simplementi un diminutivu del vocabu «pesu» (al qu’el se l'añadi el sufiju -eta),DRAE|-eta nominación que recibían las antiguas moneas españolas de plata i de dondi procei el nombri delas unidais monetarias atualis de deviersus países americanus assín como de [[Filipinas]].<ref>''Diccionario de la lengua española'': «[http://lema.rae.es/drae/srv/search?id=dV4ZBwshADXX2lM8FAAS#0_11 peso]»</ref>. === Motis === Coloquialmenti, la [[peseta]] á recibíu otrus nombris, como ''pela'',DRAE|pela ''rubia'', ''cala'' o mesmu ''chufa'', a menú utilizaus juntu a cantidais grandis pa endical un preciu eccessivu. Ejempru: «L'ordenadol m'á costau 150 000 pelas». Las moneas i billetis de [[peseta]] tenían los sus propius apodus: la monea de 5 céntimus era llamá ''perra chica'', la de 10 céntimus, ''perra gorda'', i ala monea de 25 céntimus se le dava la denominación de ''rial''. La monea de 5 pesetas era conociu como «duru» (en [[Galícia]], "pesu"); el billeti de 100 pesetas simplementi como ''billeti'' (el úrtimu deprendimientu de billetis de 100 pesetas fue en 1970, i en 1982 fue sustituíu pola monea de 100 pesetas que, ala su vezi, era abituarmenti llamá monea de ''20 durus'' o ''libra''), inque por causa dela retirada destos billetis, pala década de 1990 esi términu avía caíu en desusu, el billeti de 500 pesetas, como ''cien durus''; el billeti de 1000 pesetas, como ''talegu'', ''napo'' o ''billeti verdi''; i el de 5000 pesetas, como ''boniatu'' pol su colol marrón, paiciu al dela piel desta ortaliza o, por equivalencia, tamién era llamau ''el de mil durus''. === Términus derivaus === La parabra ''peseta'' dio origen al términu ''peseteru'', <ref>[http://buscon.rae.es/draeI/SrvltGUIBusUsual?TIPO_HTML=2&TIPO_BUS=3&LEMA=peseteru ''Diccionario de la Lengua Española''] (vigesimosegunda edición)</ref>. utilizau pa designal a arguin a quien le enteresa el dineru por cima de tó. Cola entrada del [[euro]], se gastun las parabras ''peseteru'' o ''pesetista'' pa referil-si alas pressonas que no se án adaptau ala monea única i hazin los sus cálculus mentalis ena antigua monea, <ref> noticia|url = http://www.ua.es/dossierprensa/2002/03/01/7.html|título = Los que tenemos más de cinco años pensaremos en pesetas toda la vida|obra = La Verdad|fecha = 1 de enero de 2002|urlarchivo = https://web.archive.org/web/20110321005454/http://www.ua.es/dossierprensa/2002/03/01/7.html|fechaarchivo = 21 de marzo de 2011 caraterizaus pol su típica frasi «¿Esu quántu es?»</ref> quandu se les da un preciu en [[euro]]s. Angunas pressonas mayoris acontinan calculandu el valor delos sus ingresus i gastus en pesetas, particularmenti quandu se trata de cifras elevás. [[Archivu:25 centavos de Zacatecas de 1889 (anverso y reverso).JPG|thumb|«Peseta» mexicana.]] Tamién se usa el términu peseta, concordándolu en masculinu («un peseta», «el peseta») pa referil-si coloquialmenti alos [[Taxista|taxistas]]; usu que se mantién inque el cámbiu de monea.<ref> noticia|nombre = Noelia|apellidos = Torres|título = Siga a... esos taxistas|url = http://www.diariodealcala.es/articulo/general/1837/lsquo-siga-a-esos-taxistas-rsquo|obra = Diariodealcala.es|fecha = 3 de marzo de 2010|fechaacceso = 8 de marzo de 2012</ref> En [[Puertu Ricu]], ogañu toa la [[puebración]] dela isla llama ''peseta'' ala monea de 25 centavus de dólar estaunidensi i vellón alas moneas de 5 centavus. Es de usu común en [[Cuba]], prencipalmenti polas pressonas de más edá, el términu ''peseta'' pa referil-si ala monea de 20 centavus de pesu cubanu, ya que 20 centavus horman la quinta parti de 1 pesu, i 1 peseta es la quinta parti del antiguu pesu fuerti. En [[Méjicu]], la parabra ''pesetista'' se refieri al PST, el Partido Socialista de los Trabajadores. El términu ''peseta'' se siguió utilizandu en [[Méjicu]] duraniti el sigru XIX pa referil-si alas moneas de plata en denominación de 2 rialis i alas de 25 centavus. Posteriolmenti, duraniti los añus comprendíus de 1950 a 1933, se vuelvin a acuñal moneas nesta úrtima denominación i, d'alcuerdu ala tradición, volvieron a denominar-si ''pesetas''. === Notrus idiomas === A pesar de qu’ena mayoría de idiomas estranjerus a esta divisa tamién se le conoci como ''peseta'' o cola su trasliteración a otrus alfabetus, se án topar documentos enos qu’se denomina ''piécette'' o el su prural ''piécettes'' nel idioma francés.<ref>cita web|url=http://asafal.es/menuhistoria-5/|título=HISTORIA DEL FERROCARRIL EN ALMERÍA – 5 El ferrocarril Linares- Almería y ramal Moreda – Granada.|fechaacceso =26 de abril de 2020</ref> == Monedas de peseta == === 1989 === <center> {|class="wikitable" border="1" |+'''Últimas monedas en circulación (1989-2001)''' |- style="text-align:center; border-bottom:2px solid gray;" bgcolor="lightsteelblue" ! Denominación ! Anversu ! Reversu ! Aleación ! Diámetru ! Pessu ! Cantu ! Imagin |- | '''1 peseta''' | <small>[[Juan Carlos I de España|Juan Carlos I]]</small> | <small>[[Escudo de España]]</small> | Aluminio | 14 mm | 0,55 g | Liso | align="left" |[[Archivo:1993 1 Pesetas.jpg|150px]] |- | '''5 pesetas''' | <small>Abstracto<br />[[Comunidades autónomas]]</small> | <small>Abstracto<br />Monumentos españoles</small> | Broncealuminio | 17,50 mm | 3 g | Liso | align="left" |[[Archivo:ESP-5ptas5.jpg|150px]] |- | '''10 pesetas''' | <small>[[Juan Carlos I de España|Juan Carlos I]]</small> | <small>[[Escudo de España]]</small> | Cuproníquel | 18,50 mm | 4 g | Estriado | align="left" |[[Archivo:ESP-10ptas8.jpg|150px]] |- | '''25 pesetas''' | <small>[[Juan Carlos I de España|Juan Carlos I]]<br />[[Comunidades autónomas|Comunidades]] y<br>[[Ciudades Autónomas de España|ciudades autónomas]]</small> | <small>Monumentos españoles</small> | Broncealuminio | 19,50 mm | 4,25 g | Liso | align="left" |[[Archivo:ESP-25ptas15.jpg|150px]] |- | '''50 pesetas''' | <small>[[Juan Carlos I de España|Juan Carlos I]]<br />[[Juan de Herrera]]<br />[[Comunidades autónomas]]<br>Monumentos españoles</small> | <small>[[Juan Carlos I de España|Juan Carlos I]]<br />Monumentos españoles</small> | Cuproníquel | 20,50 mm | 5,60 g | [[Flor española]] | align="center" |[[Archivo:ESP-50ptas10.jpg|140px]] |- | '''100 pesetas''' | <small>Monumentos españoles<br>[[Escudo de España]]<br>[[Hispania (personificación)|Hispania]]</small> | <small>[[Juan Carlos I de España|Juan Carlos I]]</small> | Broncealuminio | 24,50 mm | 9,25 g | Estriado | align="left" |[[Archivo:ESP-100ptas8.jpg|150px]] |- | '''200 pesetas''' | <small>Monumentus de [[Mairil]]<br>Elementos de<br>pressonaliais españolas</small> | <small>[[Juan Carlos I de España|Juan Carlos I]]<br />[[Sofía de Grecia]]<br />Pressonaliais españolas</small> | Cuproníquel | 25,50 mm | 10,50 g | Estriado y liso disc. | align="left" |[[Archivo:ESP-200ptas2.jpg|150px]] |- | '''500 pesetas''' | <small>[[Escudo de España]]</small> | <small>[[Juan Carlos I de España|Juan Carlos I]]<br />[[Sofía de Grecia]]</small> | Broncealuminio | 28 mm | 12 g | Estriado | align="left" |[[Archivo:1993 500 Pesetas.jpg|150px]] |- |} </center> == Billetes de peseta == === 1970 === {|class="wikitable" border="1" |+'''Billetes serie 1970''' |- style="text-align:center; border-bottom:2px solid gray;" bgcolor="lightsteelblue" ! Denominación ! Anverso ! Reverso ! Color predominante ! Dimensiones ! Imagen del anverso ! Imagen del reverso |- | '''100 pesetas''' | align="left" |<small>100 - CIEN PESETAS - [[Manuel de Falla]] - EL BANCO DE ESPAÑA</small> | align="left" |<small>100 - CIEN PESETAS - [[Alhambra|Jardines de la Alhambra]] - BANCO DE ESPAÑA</small> | Marrón | 77 x 134 mm | align="left" |[[Archivo:Spain-franco bank notes 0009.jpg|150px]] | align="left" |[[Archivo:Billet 100 Pesetas Verso Falla.jpg|150px]] |} === 1982/1987 === Entre 1982 y 1987, el [[Banco de España]] emite una nueva serie, diseñada por [[José María Cruz Novillo]], que fue grabada e impresa por la [[Fábrica Nacional de Moneda y Timbre]]. Los objetivos del Banco de España eran reducir y estandarizar los billetes, modernizar su imagen y facilitar el procesamiento automático de los billetes mediante máquinas. Con respecto a los billetes antiguos se tiene un nuevo tamaño y la implantación de un sistema homogéneo de 200 a 10 000 pesetas siguiendo la regla 1-2-5 y la introducción, como novedad de los valores de 200 y 2000 pesetas. {|class="wikitable" border="1" |+'''Billetes serie 1979 a 1985''' |- style="text-align:center; border-bottom:2px solid gray;" bgcolor="lightsteelblue" ! Denominación ! Anverso ! Reverso ! Color predominante ! Dimensiones ! Imagen del anverso ! Imagen del reverso |- | '''200 pesetas''' | align="left" |<small>200 - DOSCIENTAS pesetas - [[Leopoldo Alas "Clarín"]] - BANCO DE ESPAÑA</small> | align="left" |<small>200 - DOSCIENTAS pesetas - [[Quercus orocantabrica]] - BANCO DE ESPAÑA</small> | Naranja | 65 × 120 mm | align="left" |[[Archivo:200pelas.JPG|150px]] | align="left" |[[Archivo:Billet 200 Pesetas Verso Alas.jpg|150px]] |- | '''500 pesetas''' | align="left" |<small>500 - QUINIENTAS pesetas - [[Rosalía de Castro]] - BANCO DE ESPAÑA</small> | align="left" |<small>500 - QUINIENTAS pesetas - Casa Museo Rosalía de Castro - BANCO DE ESPAÑA</small> | Azul | 70 × 129 mm | align="left" |[[Archivo:500pelas.JPG|150px]] | align="left" |[[Archivo:Billet 500 Pesetas Verso Castro.jpg|150px]] |- | '''1000 pesetas''' | align="left" |<small>1000 - MIL pesetas - [[Benito Pérez Galdós]] - BANCO DE ESPAÑA</small> | align="left" |<small>1000 - MIL pesetas - [[Roque Cinchado]] y [[Canarias|mapa de Canarias]] - BANCO DE ESPAÑA</small> | Verde | 75 × 138 mm | align="left" |[[Archivo:1000 pesetas del 79.jpg|150px]] | align="left" |[[Archivo:Billet 1000 Pesetas Verso Galdos.jpg|150px]] |- | '''2000 pesetas''' | align="left" |<small>2000 - DOS MIL pesetas - [[Juan Ramón Jiménez]] - BANCO DE ESPAÑA</small> | align="left" |<small>2000 - DOS MIL pesetas - [[Casa consistorial de Moguer]] - BANCO DE ESPAÑA</small> | Rojo | 80 × 147 mm | align="left" |[[Archivo:Billete_de_2000_pesetas_de_1980_(anverso).jpg|150px]] | align="left" |[[Archivo:Billete_de_2000_pesetas_de_1980_(reverso).jpg|150px]] |- | '''5000 pesetas''' | align="left" |<small>5000 - CINCO MIL pesetas - [[Juan Carlos I de España|Juan Carlos I]] - BANCO DE ESPAÑA</small> | align="left" |<small>5000 - CINCO MIL pesetas - [[Palacio Real de Madrid]] y mapa - BANCO DE ESPAÑA</small> | Marrón | 85 × 156 mm | align="left" |[[Archivo:5000pelas.JPG|150px]] | align="left" |[[Archivo:Billet 5000 Pesetas Verso Juan-Carlos.jpg|150px]] |- | '''10&nbsp;000 pesetas''' | align="left" |<small>10000 - DIEZ MIL pesetas - [[Juan Carlos I de España|Juan Carlos I]] - BANCO DE ESPAÑA</small> | align="left" |<small>10000 - DIEZ MIL pesetas - [[Felipe VI de España|Príncipe Felipe]] - BANCO DE ESPAÑA</small> | Gris | 74 × 154 mm | align="left" |[[Archivo:10000pelas.JPG|150px]] | align="left" |[[Archivo:Reverso 10000 Pesetas 1980.jpg|150px]] |- |} === Serie de billetes de 1992 === En 1992, el [[Banco de España]] emitió su última serie antes del inicio del [[euro]]. Fue creada en colaboración con la Oficina federal alemana de impresión, realizada por el artista gráfico [[Reinhold Gerstetter]] e impresa por la [[Fábrica Nacional de Moneda y Timbre]]. Con esta nueva serie, el objetivo del Banco de España era el de fortalecer la seguridad a través textos microimpresos e impresiones codificadas visibles solo con lupa. Esta serie de notas combina elementos artísticos españoles y americanos para celebrar en 1992 el 500.º aniversario del [[descubrimiento de América]] de [[Cristóbal Colón]]. <center> {|class="wikitable" border="1" |+'''Serie de billetes de 1992''' |- style="text-align:center; border-bottom:2px solid gray;" bgcolor="lightsteelblue" ! Denominación ! Rostro ! Color predominante ! Dimensiones ! Imagen |- | 1000 pesetas | [[Hernán Cortés]]<br />[[Francisco Pizarro]] | Verde | 65 × 130 mm | align="left" |[[Archivo:Billete de mil pesetas - Hernán Cortes.jpg|175px]] |- | 2000 pesetas | [[José Celestino Mutis]] | Rojo | 78 × 158 mm | align="left" |[[Archivo:Billete de dos mil pesetas - José Celestino Mutis.jpg|175px]] |- | 5000 pesetas | [[Cristóbal Colón]] | Marrón | 71 × 146 mm | align="left" |[[Archivo:Billete de cinco mil pesetas - Cristóbal Colon.jpg|175px]] |- | 10 000 pesetas | [[Juan Carlos I de España|Juan Carlos I]]<br />[[Jorge Juan]] | Gris | 74 × 154 mm | align="left" |[[Archivo:10000 pesetas de España.jpg|175px]] |- |} </center> == Referencias == {{Listaref|2|refs= <ref name = "Pelet, Universidad de Zaragoza, 2002" > {{Cita web | url = https://dialnet.unirioja.es/descarga/articulo/284379.pdf | título = Los últimos cuarenta años de la peseta: De Bretton Woods a la Unión Monetaria | fechaacceso = 16 de mayo de 2020 | nombre = Carmen | apellido = Pelet Rondón | fecha = 15 de octubre de 2002 | formato = pdf | sitioweb = [[Universidad de Zaragoza]] | cita = Apenas habían transcurrido unas semanas desde aquel septiembre de La Gloriosa, cuando el ministro de Hacienda, Laureano Figuerola, introdujo la reforma monetaria sustituyendo el escudo por la peseta. No fue, ciertamente, una medida improvisada ni un arrebato revolucionario, pues la reforma estaba prevista y pensada desde meses atrás. Pero ese acto de gobierno del Sexenio acabaría siendo el de más largo alcance y trascendencia, porque la peseta logró consolidarse y ha llegado, compartiendo avatares con la vida española, hasta las puertas del siglo veintiuno }} </ref> <ref name = "Bravo, Ideal (periódico), 2019 " > {{Cita web | url = https://www.ideal.es/economia/banca/espanoles-pesetas-equivalente-20190828194905-ntrc.html | título = Los españoles aún tienen en pesetas el equivalente casi al presupuesto de Justicia | fechaacceso = 16 de mayo de 2020 | nombre = José Antonio | apellido = Bravo | fecha = 28 de agosto de 2019 | formato = html | sitioweb = [[Ideal (periódico)]] | cita = Al cierre de julio acumulaban 1.614 millones de euros en la divisa antigua, casi la mitad en monedas, y tienen hasta finales de 2020 como plazo tope para cambiarlos. }} </ref> <ref name = "Europa Press, 2021" >{{cita noticia|url = https://www.europapress.es/economia/macroeconomia-00338/noticia-espanoles-conservaban-todavia-2020-1590-millones-euros-pesetas-20210131120242.html|título = Los españoles conservaban todavía en 2020 unos 1.590 millones de euros en pesetas|fechaacceso = 05 de febrero de 2021|fecha = 31 de enero de 2021|sitioweb = Europa Press|cita = Los españoles conservaban todavía en 2020 unos 1.590 millones de euros en pesetas. Aunque estaba previsto que el organismo dejase de cambiar las pesetas el pasado 31 de diciembre de 2020, amplió el plazo hasta el 30 de junio de 2021, por lo que los españoles aún disponen de cinco meses para retornar los 264.553 millones de la antigua moneda nacional y conseguir los 1.590 millones de euros que valen hoy en día.|formato = html|urlarchivo = |fechaarchivo = }}</ref> <ref name = "Europa Press, 2012" >{{cita noticia|url = https://www.elmundo.es/elmundo/2012/09/10/economia/1347302384.html|título = 31 de diciembre de 2020: último día para cambiar 282.523 millones de pesetas|fechaacceso = 21 de mayo de 2019|fecha = 10 de septiembre de 2012|sitioweb = [[El Mundo (España)|Diario El Mundo]]|cita = El banco emisor estima que el 45% de las monedas en pesetas que estaban en circulación antes de la entrada del euro nunca serán estregadas al Banco de España para su canje porque permanecerán en manos de los españoles como pieza de coleccionismo, o bien por deterioro, pérdida o salida del país en los bolsillos de los turistas.|formato = html|urlarchivo = https://web.archive.org/web/20141221193605/https://www.elmundo.es/elmundo/2012/09/10/economia/1347302384.html|fechaarchivo = 21 de diciembre de 2014}}</ref> <ref name = "Peseta, año 1808" > {{Cita web | url = https://en.numista.com/catalogue/pieces26338.html | título = 2½ Pesetas | fechaacceso = 16 de mayo de 2020 | formato = html | sitioweb = Numista | idioma = en }} </ref> }} 1l4axgudahz1i3j8kmv9q92b2g0rvn6 Isabel López Lajas 0 11920 143051 2026-05-06T18:56:29Z Acuxhinu 3347 Creado al traducir la página «[[:es:Special:Redirect/revision/173318739|Isabel López Lajas]]» 143051 wikitext text/x-wiki '''Isabel López Lajas''' ([[Valverdi del Fresnu]], [[Estremaúra]], 1884-1967), hue una escreviora [[Estremeñus (gentiliciu)|estremeña]] ena [[A fala|fala]] del valli de Xálima. == Biografía == La su nacencia hue en [[Valverdi del Fresnu]] ena [[Estremaúra]] nel 1884. Estuyó ena escuela del su puebru de nacencia, peru al acabijal la primaria, no puu seguil estudiandu, pos tenía que ayual ala su familia, enque acontinó leyendu librus comu los de [[Rosalía de Castro]] que le hizierun entifical la su luenga cona dela escreviora [[Gallegu|gallega]]. Era una pessona mu religiosa i hundó una escuela dominical p'aprendel a leyel i escrevil alas zagalinas d'al reol, que col tiempu hue pa tolos zagalinus i zagalinas i pa tolos días dela semana. Nesta escuela organizó un bandu de teatru, pal que escrevió sátiras en [[A fala|valverdeiru]], una delas varianças dela [[A fala|fala]] del valli de Xálima, con un conteníu morali que s'entrepetarun dentri la [[II Repúbrica Española|Segundera Repúbrica Española]] i los añus cincuenta del siegru passau. Nel 1998, ''Xosé Henrique Costas'' pubricó seis d'estas sátiras, que están considerás comu la primel obra letraria escrevía en [[A fala|valverdeiru]], assina nesti mesmu añu, el Gabiné de Delanteras Trasfronterizas esmençó a procupal-si pola [[A fala|fala]] i a sostribal el su estuyu. == Obra == * Seis sainetis valverdeirus de ''Edicions Positivas'', nel 1998. == Referencias == [[Categoría:Mugeris]] t7smcfx7607119ewx7yr2f6xe2avcee Repion 0 11921 143052 2026-05-06T19:32:28Z Acuxhinu 3347 Creado al traducir la página «[[:es:Special:Redirect/revision/173202565|Repion]]» 143052 wikitext text/x-wiki '''Repion''' es un bandu musical de [[Cantabria]] de ''[[rock]]'' alternativu i ''grunge-pop''. Está hormau polas ermanas ''Marina Iñesta'' qu'es la quitarra i la vos i ''Teresa Iñesta'' qu'es la batería i los corus. La su música destaca nel parorama endependienti nacional pola su energía, melodías apegaízas i una señalá infrugencia del ''[[rock]]'' delos añus noventa. == Estoria == El proyeutu Repion hue esmençau polas ermanas Iñesta ena su adolescencia i el nombri del bandu musical es una adatación dela parabra [[repión]] n'[[Lengua estremeña|estremeñu]] o [[Castú (palra)|castú]], que es la luenga estremeña i senifica ''peonza'' en castillanu, haziendu referimientu alas raízis familiaris delas integrantis. Enos sus primel añus, el bandu se centró ena ecena musical de [[Cantabria]], tocandu en festivais locais comu ena Semana Grandi de [[Santandel]], junta artistas comu Marea o Melendi. Nel 2018, el bandu ganó el concussu ''Mad Cool Talent'', polo que les premitió atual nel festival ''Mad Cool'' d'essi añu. Nesti tiempu hondearun el Eli Pe ''Donde escapa la luz'' nel 2018, que hue prouzíu pol considerau ''Paco Loco''. Enque'l que le hizu estumpil nel andal nacional hue'l hondeu del su albu del su mesmu nombri, ''Repion'' pal 2023, dispués d'ajuntal-si col sellu discugráficu ''Mushroom Pillow Music'' i l'agencia ''Ártica,'' siendu esti trebaju considerau pola presa especializá comu'l su primel discu lanteru. Nel 2024, hodearun l'Eli Pe ''Entre todas lo arreglamos'', col mesmo sellu discugráficu i qu'es un trebaju cona calavoración de ''Xoel López'', nel tema ''Elevarte Caer'', que trata de l'amistá. Amás del su trebaju en ''Repion'', ''Marina Iñesta'' á calavorau con ''Mikel Erentxun'', mentris que ''Teresa Iñesta'' es la batería de ''Yawners,'' amás dela guitarrista i vogalista de ''Aiko el Grupo''. N'otubri del 2025, anunció'l hondeu del su segunderu albu d'estuyu titulau ''201'' i pubricau el ventiunu de novembri del 2025 embaxu'l sellu ''Mushroom Pillow''. El discu tieni diés cancionis originais, que sonin una volución nel soníu dela collera, manteniendu el su estilu caraitirísticu del ''grunge-pop'' con melodías del ''pop'' i caidillas apegaízas. Dentri los cenzillus promovicionais estan, ''El sueño dura una semana'' i ''X'', pubricaus anteriolmenti comu adelantu. == Estilu Musical == Las ermanas se definin endrentu del géneru ''grunge-pop'', enque sin siguil estritamenti la estrutura ''pop'', assina las sus melodías sonin mu del ''pop'' i las sus caidillas apegaízas. El su estilu es una juntura dela energía del ''rock'' delos añus noventa i el ''grunge-pop'' con letras viscerais, escrevías por ''Marina Iñesta'', qu'án síu descrevías comu un diariu musical d'acordanças que reflexan ravia, frustración i mangría por mé d'esperencias corrientis. Dentri las infrugencias mentás polas ermanas ''Iñesta'' estan bandus comu ''Dover'', [[Nirvana (banda)|''Nirvana'']], ''Blink-182'', siendu acomparás pola crítica con bandus comu ''Sleater-Kinney''. == Discugrafía == {| class="wikitable sortable" |+ !Añu !Títulu !Horma !Sellu |- |[[2014]] |''La Lágrima Y La Naranja'' |Albu/Eli eP |''Autoeditado'' |- |[[2016]] |''Amapola Dueles'' |Albu/Eli Pe |''Autoeditado'' |- |[[2018]] |''Donde escapa la luz'' |Eli Pe |''Autoeditado'' |- |[[2023]] |''Repion'' |Albu |''Mushroom Pillow Music'' |- |[[2024]] |''Entre todas lo arreglamos'' |Eli Pe |''Mushroom Pillow Music'' |- |[[2025]] |201 |Albu |''Mushroom Pillow Music'' |} == Referencias == ffv5sd5svl94cxif8mnjd2tkonwpgk7