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.4041<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 " ") .. 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 " ") .. 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 (– etc) with hyphens; do we need to replace numerical entities like   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]', {
['['] = '[',
[']'] = ']',
['\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("—",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>|página=</code> y <code>|páginas=</code>');
Pages = ''; -- unset the others
At = '';
Passage = '';
elseif is_set(At) then
Page = Page .. " " .. seterror('redundant_parameters', '<code>|página=</code> y <code>|en=</code>');
Pages = ''; -- unset the others
At = '';
Passage = '';
elseif is_set(Passage) then
Page = Page .. " " .. seterror('redundant_parameters', '<code>|página=</code> y <code>|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>|páginas=</code> y <code>|en=</code>');
At = '';
Passage = '';
elseif is_set(Passage) then
Pages = Pages .. " " .. seterror('redundant_parameters', '<code>|páginas=</code> y <code>|pasaje=</code>');
At = '';
Passage = '';
end
elseif is_set(At) then
if is_set(Passage) then
At = At .. " " .. seterror('redundant_parameters', '<code>|en=</code> y <code>|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>|id=</code> and <code>|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>|traductor=</code> y <code>|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>|fechaacceso=</code>, <code>|añoacceso=</code> y <code>|mesacceso=</code>')
elseif is_set(MesAcceso) then
AccessDate = AccessDate .. seterror('redundant_parameters', '<code>|fechaacceso=</code> y <code>|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>|fechaacceso=</code> y <code>|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 = " – ''" .. 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;"> </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 " ") .. 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 " ") .. 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 (– etc) with hyphens; do we need to replace numerical entities like   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]', {
['['] = '[',
[']'] = ']',
['\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("—",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>|página=</code> y <code>|páginas=</code>');
Pages = ''; -- unset the others
At = '';
Passage = '';
elseif is_set(At) then
Page = Page .. " " .. seterror('redundant_parameters', '<code>|página=</code> y <code>|en=</code>');
Pages = ''; -- unset the others
At = '';
Passage = '';
elseif is_set(Passage) then
Page = Page .. " " .. seterror('redundant_parameters', '<code>|página=</code> y <code>|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>|páginas=</code> y <code>|en=</code>');
At = '';
Passage = '';
elseif is_set(Passage) then
Pages = Pages .. " " .. seterror('redundant_parameters', '<code>|páginas=</code> y <code>|pasaje=</code>');
At = '';
Passage = '';
end
elseif is_set(At) then
if is_set(Passage) then
At = At .. " " .. seterror('redundant_parameters', '<code>|en=</code> y <code>|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>|id=</code> and <code>|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>|traductor=</code> y <code>|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>|fechaacceso=</code>, <code>|añoacceso=</code> y <code>|mesacceso=</code>')
elseif is_set(MesAcceso) then
AccessDate = AccessDate .. seterror('redundant_parameters', '<code>|fechaacceso=</code> y <code>|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>|fechaacceso=</code> y <code>|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 = " – ''" .. 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;"> </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 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