Wikipedia
cbk_zamwiki
https://cbk-zam.wikipedia.org/wiki/El_Primero_Pagina
MediaWiki 1.47.0-wmf.23
first-letter
Medio
Especial
Discusión
Usuario
Discusión del usuario
Wikipedia
Discusión del Wikipedia
File
Discusión del file
MediaWiki
Discusión del MediaWiki
Plantilla
Discusión del plantilla
Ayuda
Discusión del ayuda
Categoría
Discusión del categoría
TimedText
TimedText talk
Módulo
Discusión del módulo
Evento
Evento discusión
Nueva York (estado)
0
1701
118873
113601
2026-10-11T08:23:01Z
ČarnaruskiVoin
13506
ČarnaruskiVoin trasladó la página [[Nueva York]] a [[Nueva York (estado)]]
113601
wikitext
text/x-wiki
{{Stub}}
[[File:Map_of_USA_NY.svg|thumb]]
:''Este artículo trata sobre el Estado de Nueva York. Para la ciudad homónima véase [[Nueva York]].''
{{Estado USA |
Name = Nueva York |
Fullname = State of New York |
Flag = Flag of New York.svg |
Seal = New York state seal.png |
Map = Map of USA NY.svg |
Nickname = Empire State |
Motto = Excelsior |
Capital = [[Albany (Nueva York)|Albany]] |
OfficialLang = [[Idioma inglés|Inglés]] ([[de facto]]) |
LargestCity = [[Nueva York|Ciudad de Nueva York]] |
Governor = [[George Pataki]]<br />|
Senators = [[Charles Schumer]] (D)<br />[[Hillary Rodham Clinton|Hillary Clinton]] (D) |
PostalAbbreviation = NY |
AreaRank = 27 |
TotalArea = 141.205 |
LandArea = 122.409 |
WaterArea = 18.795 |
PCWater = 13,3 |
PopRank = 3|
2000Pop = 18.976.457 |
DensityRank = 6 |
2000Density = 155,18 |
AdmittanceOrder = 11º |
AdmittanceDate = [[26 de julio]] de [[1788]] |
TimeZone = Este: [[UTC]]-5/-4 |
Latitude = 40°29'40"N a 45°0'42"N |
Longitude = 71°47'25"O a 79°45'54"O |
Width = 455 |
Length = 530 |
HighestPoint = [[Mount Marcy]]<ref name=usgs>{{cite web| year =[[29 de abril]] de [[2005]]| url =http://erg.usgs.gov/isb/pubs/booklets/elvadist/elvadist.html#Highest| title =Elevations and Distances in the United States| publisher =U.S Geological Survey| accessdate =6 de noviembre| accessyear =2006| archivedate =2008-06-01| archiveurl =https://web.archive.org/web/20080601170143/http://erg.usgs.gov/isb/pubs/booklets/elvadist/elvadist.html#Highest}}</ref> |
HighestElev = 1.629 |
MeanElev = 305 |
LowestElev = [[Océano Atlántico]]<br />0 <ref name=usgs/>|
ISOCode = US-NY |
Website = www.state.ny.us
}}
'''Nueva York''' (en [[idioma inglés|inglés]] ''State of New York'') es uno de los maga 50 [[Estados de los Estados Unidos|Estados]] de [[Estados Unidos]], localizado na la region [[Mid-Atlantic]] del país, al nordeste del mismo. Su capital ay [[Albany (Nueva York)|Albany]]. Es el mayor centro [[finanzas|financiero]] y [[comercio|comercial]] del país, y el cuarto mayor centro industrial de Estados Unidos, por detrás de [[California]], [[Texas]] y [[Ohio]]. Con sus 19 millones de maga habitantes, Nueva York es el tercer estado mas poblado de Estados Unidos, detrás de de California y Texas.
No debe confundirse con la ciudad homónima, la [[Ciudad de Nueva York]], localizada na el extremo sur del estado. Por ello, al estado se le suele llamar ''Estado de Nueva York''. La Ciudad de Nueva York no es sólo la mayor ciudad del estado, con sus 8,5 millones de habitantes (cerca de la mitad de la población estatal), sino también la mayor ciudad del país.
El [[apodo]] de Nueva York es ''Empire State'' (Estado del Imperio). Los historiadores creen que este apodo bine de un comentario hecho por [[George Washington]] —una vez comentó que Nueva York era el centro del Imperio (americano). El [[lema]] del Estado es ''Excelsior'', una palabra [[latín|latina]] que signfica "Siempre Arriba", "Siempre en la Cumbre" o "Más Alto Aún".
Nueva York ya ay colonizado originalmente por los maga [[Países Bajos|neerlandeses]], que llama ya a la región [[Nuevos Países Bajos]]. También fundada un asentamiento na la isla de [[Manhattan]], llamado [[Nueva Amsterdam]]. Cuando [[Inglaterra]] capturó el Estado de los neerlandeses, los ingleses renombraron tanto al Estado como a la ciudad localizada en Manhattan a ''Nueva York''. Nueva York fue una de las [[Trece Colonias|trece colonias]] británicas que se rebelaron en la [[Guerra de la Independencia de Estados Unidos]]. En este estado tuvieron lugar un tercio de todas las batallas de la guerra.
Después de la guerra, Nueva York pasó a ser el 11º Estado en entrar a la Unión, el [[26 de julio]] de [[1788]]. Se convirtió en el más poblado del país por alrededor de [[1810]], aunque fue sobrepasado por California en la [[años 1960|década de 1960]] y por Texas en la [[años 1990|década de 1990]].
== Referencias ==
=== Notas ===
<div class = "references-small">
<references/>
</div>
=== Referencias generales ===
* [http://www.census.gov/ United States Census Bureau]
* [https://web.archive.org/web/20140131171152/http://www.state.ny.us/ Web oficial del estado de Nueva York]
* [http://www.ed.gov/index.jhtml United States Department of Education]
* [http://www.bea.gov/ United States Department of Commerce]
* [http://www.noaa.gov/ National Oceanic and Atmospheric Administration]
* Klein, Milton M. The Empire State: ''A History of New York.'' Cornell University Press, 2001. ISBN 0-8014-3866-7
== Maga Enlace Externo ==
{{ipr|ccat=New York}}
* [https://web.archive.org/web/20140131171152/http://www.state.ny.us/ Web oficial del Estado de Nueva York]
* [http://www.iloveny.com/ Web oficial de turismo del Estado de Nueva York]
{{Artículo destacado}}
{{Wikiconcurso medalla artículo|Primer|6}}
[[Categoría:Estados Unidos]]
49rutl5ax1lrx2ip2pysfha9y8ab1bi
118877
118873
2026-10-11T08:25:40Z
ČarnaruskiVoin
13506
118877
wikitext
text/x-wiki
{{Stub}}
[[File:Map_of_USA_NY.svg|thumb]]
:''Este artículo trata sobre el Estado de Nueva York. Para la ciudad homónima véase [[Nueva York]].''
{{Estado USA |
Name = Nueva York |
Fullname = State of New York |
Flag = Flag of New York.svg |
Seal = New York state seal.png |
Map = Map of USA NY.svg |
Nickname = Empire State |
Motto = Excelsior |
Capital = [[Albany (Nueva York)|Albany]] |
OfficialLang = [[Idioma inglés|Inglés]] ([[de facto]]) |
LargestCity = [[Nueva York|Ciudad de Nueva York]] |
Governor = [[George Pataki]]<br />|
Senators = [[Charles Schumer]] (D)<br />[[Hillary Rodham Clinton|Hillary Clinton]] (D) |
PostalAbbreviation = NY |
AreaRank = 27 |
TotalArea = 141.205 |
LandArea = 122.409 |
WaterArea = 18.795 |
PCWater = 13,3 |
PopRank = 3|
2000Pop = 18.976.457 |
DensityRank = 6 |
2000Density = 155,18 |
AdmittanceOrder = 11º |
AdmittanceDate = [[26 de julio]] de [[1788]] |
TimeZone = Este: [[UTC]]-5/-4 |
Latitude = 40°29'40"N a 45°0'42"N |
Longitude = 71°47'25"O a 79°45'54"O |
Width = 455 |
Length = 530 |
HighestPoint = [[Mount Marcy]]<ref name=usgs>{{cite web| year =[[29 de abril]] de [[2005]]| url =http://erg.usgs.gov/isb/pubs/booklets/elvadist/elvadist.html#Highest| title =Elevations and Distances in the United States| publisher =U.S Geological Survey| accessdate =6 de noviembre| accessyear =2006| archivedate =2008-06-01| archiveurl =https://web.archive.org/web/20080601170143/http://erg.usgs.gov/isb/pubs/booklets/elvadist/elvadist.html#Highest}}</ref> |
HighestElev = 1.629 |
MeanElev = 305 |
LowestElev = [[Océano Atlántico]]<br />0 <ref name=usgs/>|
ISOCode = US-NY |
Website = www.state.ny.us
}}
'''Nueva York''' (en [[idioma inglés|inglés]] ''State of New York'') es uno de los maga 50 [[Estados de los Estados Unidos|Estados]] de [[Estados Unidos]], localizado na la region [[Atlántico Medio de Estados Unidos|Atlántico Medio]] del país, al nordeste del mismo. Su capital ay [[Albany (Nueva York)|Albany]]. Es el mayor centro [[finanzas|financiero]] y [[comercio|comercial]] del país, y el cuarto mayor centro industrial de Estados Unidos, por detrás de [[California]], [[Texas]] y [[Ohio]]. Con sus 19 millones de maga habitantes, Nueva York es el tercer estado mas poblado de Estados Unidos, detrás de de California y Texas.
No debe confundirse con la ciudad homónima, la [[Nueva York (ciudad)|Ciudad de Nueva York]], localizada na el extremo sur del estado. Por ello, al estado se le suele llamar ''Estado de Nueva York''. La Ciudad de Nueva York no es sólo la mayor ciudad del estado, con sus 8,5 millones de habitantes (cerca de la mitad de la población estatal), sino también la mayor ciudad del país.
El [[apodo]] de Nueva York es ''Empire State'' (Estado del Imperio). Los historiadores creen que este apodo bine de un comentario hecho por [[George Washington]] —una vez comentó que Nueva York era el centro del Imperio (americano). El [[lema]] del Estado es ''Excelsior'', una palabra [[latín|latina]] que signfica "Siempre Arriba", "Siempre en la Cumbre" o "Más Alto Aún".
Nueva York ya ay colonizado originalmente por los maga [[Países Bajos|neerlandeses]], que llama ya a la región [[Nuevos Países Bajos]]. También fundada un asentamiento na la isla de [[Manhattan]], llamado [[Nueva Amsterdam]]. Cuando [[Inglaterra]] capturó el Estado de los neerlandeses, los ingleses renombraron tanto al Estado como a la ciudad localizada en Manhattan a ''Nueva York''. Nueva York fue una de las [[Trece Colonias|trece colonias]] británicas que se rebelaron en la [[Guerra de la Independencia de Estados Unidos]]. En este estado tuvieron lugar un tercio de todas las batallas de la guerra.
Después de la guerra, Nueva York pasó a ser el 11º Estado en entrar a la Unión, el [[26 de julio]] de [[1788]]. Se convirtió en el más poblado del país por alrededor de [[1810]], aunque fue sobrepasado por California en la [[años 1960|década de 1960]] y por Texas en la [[años 1990|década de 1990]].
== Referencias ==
=== Notas ===
<div class = "references-small">
<references/>
</div>
=== Referencias generales ===
* [http://www.census.gov/ United States Census Bureau]
* [https://web.archive.org/web/20140131171152/http://www.state.ny.us/ Web oficial del estado de Nueva York]
* [http://www.ed.gov/index.jhtml United States Department of Education]
* [http://www.bea.gov/ United States Department of Commerce]
* [http://www.noaa.gov/ National Oceanic and Atmospheric Administration]
* Klein, Milton M. The Empire State: ''A History of New York.'' Cornell University Press, 2001. ISBN 0-8014-3866-7
== Maga Enlace Externo ==
{{ipr|ccat=New York}}
* [https://web.archive.org/web/20140131171152/http://www.state.ny.us/ Web oficial del Estado de Nueva York]
* [http://www.iloveny.com/ Web oficial de turismo del Estado de Nueva York]
{{Artículo destacado}}
{{Wikiconcurso medalla artículo|Primer|6}}
[[Categoría:Estados Unidos]]
9m9pacqdnwxgf08hmi24z4shhlg6tnn
Comoras
0
1997
118889
114709
2026-10-11T08:35:55Z
ČarnaruskiVoin
13506
ČarnaruskiVoin trasladó la página [[Komoras]] a [[Comoras]]
114709
wikitext
text/x-wiki
{{Infobox_País | nombre_oficial = ''Union des Comores''<br />''Udzima wa Komori''<br />اتحاد القمر<br />Unión de las Komoras
| nombre_común = Komoras
| de = de
| imagen_bandera = Flag of the Comoros.svg
| imagen_escudo = Seal of the Comoros.svg
| imagen_escudo_tamaño = 125px
| símbolos =
| imagen_mapa = LocationComoros.svg
| lema_nacional = ''Unité - Justice - Progrès'' <br />([[Idioma francés|francés]]: ''«Unidad - Justicia - Progreso»'')
| himno_nacional = ''[[Udzima wa ya Masiwa]]''
| capital = [[Moroni]]
| capital_población = 40.000 ([[2002]])
| capital_coor_fmt =
| capital_coor = 11_45_S_43_12_E_ 11°45' S 43°12' E
| ciudad_principal = [[Moroni]]
| idiomas_oficiales = [[idioma fransés|Fransés]]<br /> [[Idioma komorano|Komorano]]<br /> [[idioma árabe|Árabe]]<br />
| gobierno = [[República presidencial]]
| dirigentes_títulos = [[Presidente]]
| dirigentes_nombres = [[Ahmed Abdallah Mohamed Sambi]]
| fundación = [[Independencia]]
| fundación_hitos = • Fecha
| fundación_fechas = De [[Francia]]<br />[[6 de julio]] de [[1975]]
| superficie = 1.862
| superficie_puesto = 180
| superficie_agua = Despreciable
| fronteras = 0 [[kilómetro|km]]
| costas = 340 km
| población = 651.901 ([[2004]])
| población_puesto = 157
| población_densidad = 300
| PIB = US$ 1.114 millones
| PIB_año = 2005
| PIB_puesto = 171
| PIB_per_cápita = US$ 1.717
| IDH = 0.547
| IDH_año = 2003
| IDH_puesto = 132
| IDH_categoría = <span style="color:#ffcc00;">medio</span>
| moneda = [[Franco comorano]] (<code>[[ISO 4217|KMF]]</code>)
| gentilicio = Comorano, comorana
| horario = [[Tiempo Coordinado Universal|UTC]]+3
| horario_verano = [[Tiempo Coordinado Universal|UTC]]+3
| cctld = .km
| código_telefónico = 269
| prefijo_radiofónico = D6A-D6Z
| código_ISO = 174 / COM / KM
| miembro_de = [[Naciones Unidas|ONU]], [[Unión Africana|UA]]
| notas =
}}
La '''Unión de las Komoras''' (hasta [[2002]] ''República Federal Islámica de las Komoras'') es un país formado por tres [[isla]]s en el sureste de [[Áfrika]], situado al extremo norte del [[Canal de Mozambiko]] en el [[Oséano Índico]], entre el norte de [[Madagaskar]] y el norte de [[Mozambique]]. El país consta en tres islas volcánicas: [[Gran Komora]] (''Ngazidja''), [[Mohéli]] (''Mwali'') y [[Anjouan]] (''Nzwani''), mientras que la vecina isla de [[Mayotte]], reclamada por Comoras, sigue perteneciendo a [[Francia]]. El territorio comprende además otras pequeñas islas.
El nombre deriva de la palabra [[idioma árabe|árabe]] قمر (''qamar''), "luna". El nombre actual en árabe es precisamente "islas de la luna" (جزر القمر, ''ŷuzuru l-qamar''), y en su [[bandera]] aparece la media luna musulmana.
== Historia ==
{{AP|Historia de Komoras}}
A través de los siglos, las islas de Komoras fueron invadidas por una sucesión de diversos grupos desde la costa de África, el [[golfo Pérsico]], [[Indonesia]] y [[Madagascar]]. Los exploradores [[Portugal|portugueses]] visitaron el archipiélago en [[1505]] y causaron la destrucción de la economía comercial de las islas. Cuando el sultán de [[Omán]] logró expulsar a los portugueses de la región, quedaron bajo la influencia de [[Zanzíbar]] y el tráfico de esclavos de los pobladores de origen bantú aumentó considerablemente.
Durante el [[siglo XIX]], después de la separación de Zanzíbar del sultanato de Omán, los europeos presionaron y [[Francia]] ocupó [[Mayotte]] en [[1841]] y posteriormente al resto del archipiélago entre [[1886]] y [[1909]]. En [[1912]] las islas estuvieron bajo la administración del [[gobernador general]] de Madagascar. Después, colonizadores franceses, compañías de dueños franceses y ricos mercantes árabes establecieron una economía basada en plantaciones que ahora abarca una tercera parte del territorio del país para exportar sus cultivos. En [[1946]] Francia le concede autonomía administrativa con el nombre de Territorio de Ultramar de las Islas Comoras.
Un acuerdo fue rechazado por Francia en [[1973]] para conceder la independencia en [[1978]]. Sin embargo, el [[6 de julio]] de [[1975]], el parlamento comorano emitió una resolución declarando la independencia. Los diputados de Mayotte, que permanecía bajo control francés, se abstuvo. En dos referéndum, en diciembre de [[1974]] y febrero de [[1976]], la población de Mayotte voto contra la independencia de Francia (por 63.8% y 99.4% respectivamente).
En [[1978]], el presidente [[Alí Solilih]] es derrocado y asesinado y el país adopta una nueva constitución y se adopta el nombre de ''República Federal Islámica de las Comoras'' bajo el mando de [[Ahmed Abdallah Abderramane]]; al año siguiente se establece el régimen de partido único. En [[1983]] y [[1985]] fracasan unos intentos de [[golpe de Estado]] contra Abdallah, pero éste es asesinado en [[1989]]. En [[1995]] un grupo de mercenarios europeos encabezados por [[Bob Denard]] y apoyados por soldados comoranos derrocan el gobierno y toman como rehén al presidente [[Said Mohamed Yohar]]; pero fuerzas francesas especiales llegan desde Mayotte para revertir el golpe.
En [[1997]], las islas de Anjouan y Mohéli declaran su independencia de Comoras, pero el gobierno logra reestablecer el control sobre los rebeldes.
'''Véase también:''' [[Historia de Comoras-Mayotte]]
== Gobierno y Política ==
{{AP|Gobierno y política de Comoras}}
La situación del país ha sido muy volátil desde su independencia en [[1975]], con golpes de estado e insurrecciones populares. El coronel [[Azali Assoumani]] tomó el poder en un sangriento golpe de estado en abril de [[1999]], derrocando al presidente interino [[Tadjiddine Ben Said Massounde]] que había tomado el puesto después de la misteriosa muerte del presidente electo [[Mohamed Taki Abdoulkarim]] en noviembre de [[1998]].
Después de los acuerdos de [[paz]] firmados el [[17 de febrero]] de [[2001]] entre el [[Gobierno]] y los separatistas se elaboró una [[Constitución]] aprobada en [[referéndum]] el [[23 de diciembre]] del mismo año, pasándose a denominar el país ''Unión de Comoras'', teniendo las islas de [[Gran Comora]], [[Anjouan]] y [[Mohéli]] amplia autonomía, con un Presidente propio y un texto constitucional también propio. La Presidencia de la unión se rota entre los candidatos de las tres islas al cabo de cuatro años.
El presidente en ejercicio es [[Ahmed Abdallah Mohamed Sambi]] desde [[2006]].
== Organización político-administrativa ==
{{AP|Organización político-administrativa de Comoras}}
Se divide en las tres islas principales:
* [[Gran Comora]] (''Ngazidja'')
* [[Anjouan]] (''Nzwani'')
* [[Mohéli]] (Mwali)
''Nota'': Existen también cuatro municipalidades: [[Domoni]], [[Fomboni]], [[Moroni]] y [[Mutsamudu]]
== Geografía ==
{{AP|Geografía de Comoras}}
[[Archivo:Comoros Mayotte.PNG|300px|thumb|right|Mapa de Comoras y [[Mayotte]]]]
Comoras es un pequeño país de [[África]] y forma parte del archipiélago de las Comoras, formado de noreste a sureste por la isla [[Gran Comora]] (''Ngazidja''), [[Mohéli]] (''Mwali''), y [[Anjouan]] (''Nzwani''). Al sureste, se encuentra la isla de [[Mayotte]], que aún pertenede a [[Francia]].
La capital es [[Moroni]] que se localiza en Gran Comora. Las islas tiene origen [[volcán]]ico, con un relieve montañoso y abrupto que alcanza su cima en el volcán activo [[Karthala]] de 2.361 [[metro|m]] de altitud sobre el nivel de mar en la isla principal.
El archipiélago constituye la [[ecorregión]] denominada [[selva de las Comoras]].
El pez [[celacanto]], llamado ''gombesa'' por los locales, puede ser encontrado en las aguas cercanas a estas islas.
== Economía ==
{{AP|Economía de Comoras}}
Comoras es uno de los países más pobres de África. Su economía está basada en el [[turismo]], la [[ayuda externa]], la [[economía de subsistencia|agricultura de subsistencia]], además de la [[pesca]] y la [[silvicultura]], sector líder de la economía del país.
Los niveles de [[desempleo]] son muy altos y la población bajo el nivel de [[pobre]]za alcanza al 60% del total. El 80% de la población se dedica a la agricultura que sigue constituyendo buena parte de sus exportaciones.
Posee inadecuados sistemas e transportes, una joven y rápida población en crecimiento, y pocos recursos naturales. El bajo nivel educacional de la fuerza de trabajo contrbuye a una actividad económica de subsistencia, y una fuerte dependencia en asistencia extranjera.
El gobierno intenta aumentar el entrenamiento educacional y técnico, a privatizar las entidades comerciales e industriales, a implementar servicios de salud, a diversificar las exportaciones, promover el [[turismo]] y reducir el alto crecimiento poblacional.
== Demografía ==
{{AP|Demografía de Comoras}}
La etnia comorana que habita las islas principales (86% de la población), es de origen árabe y africano. El [[Islam]] es la religión dominante, y las escuelas coránicas para niños refuerzan su influencia. Aunque la cultura árabe está firmemente establecido en el archipiélago, una minoría sustancial de los ciudadanos de [[Mayotte]] son [[católico]]s y tienen una fuerte influencia de la cultura francesa.
El idioma más común es el [[comorano]] (''shikomor''), dialecto del [[swahili]]. También se habla [[idioma francés|francés]], [[árabe]] y [[idioma malgache|malgache]]. Cerca del 57% de la población escribe con el [[alfabeto latino]], más que con el [[alfabeto árabe]].
== Cultura ==
{{AP|Cultura de Comoras}}
{| border="1" align="center" cellpadding="2" cellspacing="0"
|+ <font size="+1">'''Fiestas'''</font>
|-----
! style="background:#efefef;" | Fecha
! style="background:#efefef;" | Nombre en castellano
! style="background:#efefef;" | Nombre local
! style="background:#efefef;" | Notas
|-----
| [[25 de mayo]] || Día de [[África]] ||
|
|-----
| [[6 de julio]] || Día de Independencia
|
||
|-----
| [[29 de noviembre]]
| Aniversario de la muerte de [[Ahmed Abdallah Abderramane]]
|
| Recuerdo del asesinato del ex presidente en [[1989]]
|}
== Enlaces externos ==
{{commonscat|Comoros}}
{{wikiatlas|Comoros}}
Otros enlaces:
* [http://www.comores-online.com/ Les Comores]. (en francés)
* BBC News [http://news.bbc.co.uk/2/hi/africa/country_profiles/1070727.stm Country Profile]. (en inglés)
* [http://www-sul.stanford.edu/depts/ssrg/africa/comoros.html Comoro Islands Resources Page] de la Biblioteca de la Universidad de Stanford. (en inglés)
* [http://www.sas.upenn.edu/African_Studies/Country_Specific/Comoros.html African Studies Program] de la Universidad de Pennsylvania. (en inglés)
* [http://lcweb2.loc.gov/frd/cs/kmtoc.html Country Studies] de la Biblioteca del Congreso Americano. (en inglés)
* El Banco Mundial ofrece un excelente [https://web.archive.org/web/20070706064631/http://web.worldbank.org/WBSITE/EXTERNAL/COUNTRIES/AFRICAEXT/COMOROSEXTN/0,,menuPK:349943~pagePK:141159~piPK:141110~theSitePK:349937,00.html resumen del estado económico del país]. (en inglés)
* Departamento de Estado de los Estados Unidos: [http://www.state.gov/r/pa/ei/bgn/5236.htm Background Notes]. (en inglés)
* CIA [https://web.archive.org/web/20060930071921/https://www.odci.gov/cia/publications/factbook/geos/cn.html World Factbook]. (en inglés)
* Hay una entrada para [http://www.nationsencyclopedia.com/Africa/Comoros.html Comoras] en la Enciclopedia de las Naciones. (en inglés)
* IMF ([http://www.imf.org/external/country/COM/index.htm International Monetary Fund]) publica también sobre Comoras. (en inglés)
* [http://www.anjouan.net/ Anjouan.net]
[[Categoría:Maga Nacion na Africa]]
dtb79t9z2ej3w086i4p8jtxb3sllfat
118891
118889
2026-10-11T08:37:16Z
ČarnaruskiVoin
13506
118891
wikitext
text/x-wiki
{{Infobox_País | nombre_oficial = ''Union des Comores''<br />''Udzima wa Komori''<br />اتحاد القمر<br />Unión de las Comoras
| nombre_común = Comoras
| de = de
| imagen_bandera = Flag of the Comoros.svg
| imagen_escudo = Seal of the Comoros.svg
| imagen_escudo_tamaño = 125px
| símbolos =
| imagen_mapa = LocationComoros.svg
| lema_nacional = ''Unité - Justice - Progrès'' <br />([[Idioma francés|francés]]: ''«Unidad - Justicia - Progreso»'')
| himno_nacional = ''[[Udzima wa ya Masiwa]]''
| capital = [[Moroni]]
| capital_población = 40.000 ([[2002]])
| capital_coor_fmt =
| capital_coor = 11_45_S_43_12_E_ 11°45' S 43°12' E
| ciudad_principal = [[Moroni]]
| idiomas_oficiales = [[idioma fransés|Fransés]]<br /> [[Idioma comorano|Comorano]]<br /> [[idioma árabe|Árabe]]<br />
| gobierno = [[República presidencial]]
| dirigentes_títulos = [[Presidente]]
| dirigentes_nombres = [[Ahmed Abdallah Mohamed Sambi]]
| fundación = [[Independencia]]
| fundación_hitos = • Fecha
| fundación_fechas = De [[Francia]]<br />[[6 de julio]] de [[1975]]
| superficie = 1.862
| superficie_puesto = 180
| superficie_agua = Despreciable
| fronteras = 0 [[kilómetro|km]]
| costas = 340 km
| población = 651.901 ([[2004]])
| población_puesto = 157
| población_densidad = 300
| PIB = US$ 1.114 millones
| PIB_año = 2005
| PIB_puesto = 171
| PIB_per_cápita = US$ 1.717
| IDH = 0.547
| IDH_año = 2003
| IDH_puesto = 132
| IDH_categoría = <span style="color:#ffcc00;">medio</span>
| moneda = [[Franco comorano]] (<code>[[ISO 4217|KMF]]</code>)
| gentilicio = Comorano, comorana
| horario = [[Tiempo Coordinado Universal|UTC]]+3
| horario_verano = [[Tiempo Coordinado Universal|UTC]]+3
| cctld = .km
| código_telefónico = 269
| prefijo_radiofónico = D6A-D6Z
| código_ISO = 174 / COM / KM
| miembro_de = [[Naciones Unidas|ONU]], [[Unión Africana|UA]]
| notas =
}}
La '''Unión de las Comoras''' (hasta [[2002]] ''República Federal Islámica de las Komoras'') es un país formado por tres [[isla]]s en el sureste de [[Áfrika]], situado al extremo norte del [[Canal de Mozambiko]] en el [[Oséano Índico]], entre el norte de [[Madagaskar]] y el norte de [[Mozambique]]. El país consta en tres islas volcánicas: [[Gran Comora]] (''Ngazidja''), [[Mohéli]] (''Mwali'') y [[Anjouan]] (''Nzwani''), mientras que la vecina isla de [[Mayotte]], reclamada por Comoras, sigue perteneciendo a [[Francia]]. El territorio comprende además otras pequeñas islas.
El nombre deriva de la palabra [[idioma árabe|árabe]] قمر (''qamar''), "luna". El nombre actual en árabe es precisamente "islas de la luna" (جزر القمر, ''ŷuzuru l-qamar''), y en su [[bandera]] aparece la media luna musulmana.
== Historia ==
{{AP|Historia de Comoras}}
A través de los siglos, las islas de Comoras fueron invadidas por una sucesión de diversos grupos desde la costa de África, el [[golfo Pérsico]], [[Indonesia]] y [[Madagascar]]. Los exploradores [[Portugal|portugueses]] visitaron el archipiélago en [[1505]] y causaron la destrucción de la economía comercial de las islas. Cuando el sultán de [[Omán]] logró expulsar a los portugueses de la región, quedaron bajo la influencia de [[Zanzíbar]] y el tráfico de esclavos de los pobladores de origen bantú aumentó considerablemente.
Durante el [[siglo XIX]], después de la separación de Zanzíbar del sultanato de Omán, los europeos presionaron y [[Francia]] ocupó [[Mayotte]] en [[1841]] y posteriormente al resto del archipiélago entre [[1886]] y [[1909]]. En [[1912]] las islas estuvieron bajo la administración del [[gobernador general]] de Madagascar. Después, colonizadores franceses, compañías de dueños franceses y ricos mercantes árabes establecieron una economía basada en plantaciones que ahora abarca una tercera parte del territorio del país para exportar sus cultivos. En [[1946]] Francia le concede autonomía administrativa con el nombre de Territorio de Ultramar de las Islas Comoras.
Un acuerdo fue rechazado por Francia en [[1973]] para conceder la independencia en [[1978]]. Sin embargo, el [[6 de julio]] de [[1975]], el parlamento comorano emitió una resolución declarando la independencia. Los diputados de Mayotte, que permanecía bajo control francés, se abstuvo. En dos referéndum, en diciembre de [[1974]] y febrero de [[1976]], la población de Mayotte voto contra la independencia de Francia (por 63.8% y 99.4% respectivamente).
En [[1978]], el presidente [[Alí Solilih]] es derrocado y asesinado y el país adopta una nueva constitución y se adopta el nombre de ''República Federal Islámica de las Comoras'' bajo el mando de [[Ahmed Abdallah Abderramane]]; al año siguiente se establece el régimen de partido único. En [[1983]] y [[1985]] fracasan unos intentos de [[golpe de Estado]] contra Abdallah, pero éste es asesinado en [[1989]]. En [[1995]] un grupo de mercenarios europeos encabezados por [[Bob Denard]] y apoyados por soldados comoranos derrocan el gobierno y toman como rehén al presidente [[Said Mohamed Yohar]]; pero fuerzas francesas especiales llegan desde Mayotte para revertir el golpe.
En [[1997]], las islas de Anjouan y Mohéli declaran su independencia de Comoras, pero el gobierno logra reestablecer el control sobre los rebeldes.
'''Véase también:''' [[Historia de Comoras-Mayotte]]
== Gobierno y Política ==
{{AP|Gobierno y política de Comoras}}
La situación del país ha sido muy volátil desde su independencia en [[1975]], con golpes de estado e insurrecciones populares. El coronel [[Azali Assoumani]] tomó el poder en un sangriento golpe de estado en abril de [[1999]], derrocando al presidente interino [[Tadjiddine Ben Said Massounde]] que había tomado el puesto después de la misteriosa muerte del presidente electo [[Mohamed Taki Abdoulkarim]] en noviembre de [[1998]].
Después de los acuerdos de [[paz]] firmados el [[17 de febrero]] de [[2001]] entre el [[Gobierno]] y los separatistas se elaboró una [[Constitución]] aprobada en [[referéndum]] el [[23 de diciembre]] del mismo año, pasándose a denominar el país ''Unión de Comoras'', teniendo las islas de [[Gran Comora]], [[Anjouan]] y [[Mohéli]] amplia autonomía, con un Presidente propio y un texto constitucional también propio. La Presidencia de la unión se rota entre los candidatos de las tres islas al cabo de cuatro años.
El presidente en ejercicio es [[Ahmed Abdallah Mohamed Sambi]] desde [[2006]].
== Organización político-administrativa ==
{{AP|Organización político-administrativa de Comoras}}
Se divide en las tres islas principales:
* [[Gran Comora]] (''Ngazidja'')
* [[Anjouan]] (''Nzwani'')
* [[Mohéli]] (Mwali)
''Nota'': Existen también cuatro municipalidades: [[Domoni]], [[Fomboni]], [[Moroni]] y [[Mutsamudu]]
== Geografía ==
{{AP|Geografía de Comoras}}
[[Archivo:Comoros Mayotte.PNG|300px|thumb|right|Mapa de Comoras y [[Mayotte]]]]
Comoras es un pequeño país de [[África]] y forma parte del archipiélago de las Comoras, formado de noreste a sureste por la isla [[Gran Comora]] (''Ngazidja''), [[Mohéli]] (''Mwali''), y [[Anjouan]] (''Nzwani''). Al sureste, se encuentra la isla de [[Mayotte]], que aún pertenede a [[Francia]].
La capital es [[Moroni]] que se localiza en Gran Comora. Las islas tiene origen [[volcán]]ico, con un relieve montañoso y abrupto que alcanza su cima en el volcán activo [[Karthala]] de 2.361 [[metro|m]] de altitud sobre el nivel de mar en la isla principal.
El archipiélago constituye la [[ecorregión]] denominada [[selva de las Comoras]].
El pez [[celacanto]], llamado ''gombesa'' por los locales, puede ser encontrado en las aguas cercanas a estas islas.
== Economía ==
{{AP|Economía de Comoras}}
Comoras es uno de los países más pobres de África. Su economía está basada en el [[turismo]], la [[ayuda externa]], la [[economía de subsistencia|agricultura de subsistencia]], además de la [[pesca]] y la [[silvicultura]], sector líder de la economía del país.
Los niveles de [[desempleo]] son muy altos y la población bajo el nivel de [[pobre]]za alcanza al 60% del total. El 80% de la población se dedica a la agricultura que sigue constituyendo buena parte de sus exportaciones.
Posee inadecuados sistemas e transportes, una joven y rápida población en crecimiento, y pocos recursos naturales. El bajo nivel educacional de la fuerza de trabajo contrbuye a una actividad económica de subsistencia, y una fuerte dependencia en asistencia extranjera.
El gobierno intenta aumentar el entrenamiento educacional y técnico, a privatizar las entidades comerciales e industriales, a implementar servicios de salud, a diversificar las exportaciones, promover el [[turismo]] y reducir el alto crecimiento poblacional.
== Demografía ==
{{AP|Demografía de Comoras}}
La etnia comorana que habita las islas principales (86% de la población), es de origen árabe y africano. El [[Islam]] es la religión dominante, y las escuelas coránicas para niños refuerzan su influencia. Aunque la cultura árabe está firmemente establecido en el archipiélago, una minoría sustancial de los ciudadanos de [[Mayotte]] son [[católico]]s y tienen una fuerte influencia de la cultura francesa.
El idioma más común es el [[comorano]] (''shikomor''), dialecto del [[swahili]]. También se habla [[idioma francés|francés]], [[árabe]] y [[idioma malgache|malgache]]. Cerca del 57% de la población escribe con el [[alfabeto latino]], más que con el [[alfabeto árabe]].
== Cultura ==
{{AP|Cultura de Comoras}}
{| border="1" align="center" cellpadding="2" cellspacing="0"
|+ <font size="+1">'''Fiestas'''</font>
|-----
! style="background:#efefef;" | Fecha
! style="background:#efefef;" | Nombre en castellano
! style="background:#efefef;" | Nombre local
! style="background:#efefef;" | Notas
|-----
| [[25 de mayo]] || Día de [[África]] ||
|
|-----
| [[6 de julio]] || Día de Independencia
|
||
|-----
| [[29 de noviembre]]
| Aniversario de la muerte de [[Ahmed Abdallah Abderramane]]
|
| Recuerdo del asesinato del ex presidente en [[1989]]
|}
== Enlaces externos ==
{{commonscat|Comoros}}
{{wikiatlas|Comoros}}
Otros enlaces:
* [http://www.comores-online.com/ Les Comores]. (en francés)
* BBC News [http://news.bbc.co.uk/2/hi/africa/country_profiles/1070727.stm Country Profile]. (en inglés)
* [http://www-sul.stanford.edu/depts/ssrg/africa/comoros.html Comoro Islands Resources Page] de la Biblioteca de la Universidad de Stanford. (en inglés)
* [http://www.sas.upenn.edu/African_Studies/Country_Specific/Comoros.html African Studies Program] de la Universidad de Pennsylvania. (en inglés)
* [http://lcweb2.loc.gov/frd/cs/kmtoc.html Country Studies] de la Biblioteca del Congreso Americano. (en inglés)
* El Banco Mundial ofrece un excelente [https://web.archive.org/web/20070706064631/http://web.worldbank.org/WBSITE/EXTERNAL/COUNTRIES/AFRICAEXT/COMOROSEXTN/0,,menuPK:349943~pagePK:141159~piPK:141110~theSitePK:349937,00.html resumen del estado económico del país]. (en inglés)
* Departamento de Estado de los Estados Unidos: [http://www.state.gov/r/pa/ei/bgn/5236.htm Background Notes]. (en inglés)
* CIA [https://web.archive.org/web/20060930071921/https://www.odci.gov/cia/publications/factbook/geos/cn.html World Factbook]. (en inglés)
* Hay una entrada para [http://www.nationsencyclopedia.com/Africa/Comoros.html Comoras] en la Enciclopedia de las Naciones. (en inglés)
* IMF ([http://www.imf.org/external/country/COM/index.htm International Monetary Fund]) publica también sobre Comoras. (en inglés)
* [http://www.anjouan.net/ Anjouan.net]
[[Categoría:Maga Nacion na Africa]]
gsfdril2hsxi25rre302ck1287zyguf
Libia
0
7567
118886
112977
2026-10-11T08:35:12Z
ČarnaruskiVoin
13506
ČarnaruskiVoin trasladó la página [[Libya]] a [[Libia]] sobre una redirección
112977
wikitext
text/x-wiki
[[Archivo:Libya in its region.svg|thumb]]
[[Archivo:Flag of Libya.svg|thumb|250px]]
'''Libia''' (na arabe: Lībiyā ليبيا, Nafusi: Libia) es un país de el region del Magreb del norte de [[Africa]]. Bordeado por el Mar Mediterráneo al norte, Libia se enfrenta a Egipto hacia el este, el Sudán, al sur este, [[Chad]] y [[Níger]], al sur, y Argelia y Túnez hacia el weste.
Como resultado del [[Rebelión en Libia de 2011|levantamiento de 2011 Libia]], na el actualidad hay dos entidades que dicen ser el oficial del gobierno de Libia. El régimen de [[Muamar Gadafi]], que se refiere al país como Libya Popular y Socialista Arabe Libia, [[Trípoli]] y la mayoría de la mitad occidental del país. El Consejo Nacional de Transición de la República de Libia, dirigida por Mustafa Abdul Jalil, se basa en Bengasi y controla la mayoría de la mitad oriental del país. Francia y [[Portugal]] han reconocido oficialmente el Consejo como el único "representante legítimo" de Libia.
Con una superficie de casi 1.800.000 kilometros cuadrados (700.000 millas cuadradas), Libia es el cuarto país más grande de África por área, y el mayor 17 º en el mundo. La capital, Trípoli, es el hogar de 1,7 millones de Libia de 6,4 millones personas. Las tres partes tradicionales del país son Tripolitania, Fezzan y Cirenaica. Libia tiene el IDH más alto na África y el cuarto mayor PIB (PPA) per cápita na África a partir de 2009, detrás de las Seychelles, [[Guinea Ecuatorial]] y [[Gabón]]. Estos son na gran parte debido a sus grandes reservas de petróleo y de populacion. Libia tiene las magas reservas más grandes décimo-probadas de petróleo de un país na el mundo y el producción de petróleo de más alto 17a.
[[Categoría:Maga Nacion na Africa]]
h0m8ccr31qhbgammeru83re4xvv60ou
118888
118886
2026-10-11T08:35:39Z
ČarnaruskiVoin
13506
118888
wikitext
text/x-wiki
[[Archivo:Libya in its region.svg|thumb]]
[[Archivo:Flag of Libya.svg|thumb|250px]]
'''Libia''' (na arabe: Lībiyā ليبيا, Nafusi: Libia) es un país de el region del Magreb del norte de [[Africa]]. Bordeado por el Mar Mediterráneo al norte, Libia se enfrenta a Egipto hacia el este, el Sudán, al sur este, [[Chad]] y [[Níger]], al sur, y Argelia y Túnez hacia el weste.
Como resultado del [[Rebelión en Libia de 2011|levantamiento de 2011 Libia]], na el actualidad hay dos entidades que dicen ser el oficial del gobierno de Libia. El régimen de [[Muamar Gadafi]], que se refiere al país como Libia Popular y Socialista Arabe Libia, [[Trípoli]] y la mayoría de la mitad occidental del país. El Consejo Nacional de Transición de la República de Libia, dirigida por Mustafa Abdul Jalil, se basa en Bengasi y controla la mayoría de la mitad oriental del país. Francia y [[Portugal]] han reconocido oficialmente el Consejo como el único "representante legítimo" de Libia.
Con una superficie de casi 1.800.000 kilometros cuadrados (700.000 millas cuadradas), Libia es el cuarto país más grande de África por área, y el mayor 17 º en el mundo. La capital, Trípoli, es el hogar de 1,7 millones de Libia de 6,4 millones personas. Las tres partes tradicionales del país son Tripolitania, Fezzan y Cirenaica. Libia tiene el IDH más alto na África y el cuarto mayor PIB (PPA) per cápita na África a partir de 2009, detrás de las Seychelles, [[Guinea Ecuatorial]] y [[Gabón]]. Estos son na gran parte debido a sus grandes reservas de petróleo y de populacion. Libia tiene las magas reservas más grandes décimo-probadas de petróleo de un país na el mundo y el producción de petróleo de más alto 17a.
[[Categoría:Maga Nacion na Africa]]
dy5us04gzu4g0kt7gdgyw7ml83qv8mt
Suazilandia
0
20061
118880
117149
2026-10-11T08:30:12Z
ČarnaruskiVoin
13506
118880
wikitext
text/x-wiki
{{stub}}
[[file:Flag of Eswatini.svg|thumb|160px|Flag of Eswatini]]
[[file:Coat_of_arms_of_Eswatini.svg|thumb|160px|Coat of arms of Eswatini]]
[[file: Location Eswatini AU Africa.svg|thumb|Location Eswatini]]
'''Suazilandia''' o '''Esuatini''' (''Umbuso weSwatini'', ''Kingdom of Eswatini'') es un pais na [[Africa]] con las sus maga frontieras ay con [[Sudafrica]] y [[Mozambique]]. El ciudad capital y el ciudad mas importante es [[Mbabane]] y [[Lombamba]].
<br />
<br />
[[File:Eswatini Regions map.png|400px|Universal map of Eswatini]]
[[File:Eswatini-demography.svg|thumb|Population development of Eswatini in 1000 inhabitants|<ref>[https://esa.un.org/unpd/wpp/DataQuery World Population Prospects – Population Division – United Nations 2020] Retrieved 2020-05-25</ref>]]
[[File:Eswatini-population-pyramid-2020.jpg|thumb|Age pyramid of Eswatini|<ref>[https://www.cia.gov/library/publications/the-world-factbook/geos/wz.html Eswatini – People and Society], CIA-population: The World Factbook 2020-07, Retrieved 2020-08-15, english</ref>]]
== External links ==
* [http://www.gov.sz/ The Government of The Kingdom of Eswatini], (Government website, English)
* [https://www.thekingdomofeswatini.com/ The Kingdom of Eswatini – a royal experience], official Eswatini tourism website (richly illustrated, English)
* [https://web.archive.org/web/20200803094854/http://sntc.org.sz/ Eswatini National Trust Commission – Conserving Eswatini's Natural and Cultural Heritage], (very extensive descriptions of history, culture and nature, English)
* [http://www.biggameparks.org/ The Kingdom of Eswatini's Big Game Parks] (page about the three big game parks, english)
* [https://web.archive.org/web/20181231101755/https://www.cia.gov/library/publications/resources/the-world-factbook/geos/wz.html Eswatini – CIA World Factbook]
== References ==
<references/>
{{commons|Eswatini}}<!--interwiki-->
[[Categoría:Maga Nacion na Africa]]
7ozksfp3pqyetyxvso4r1wh1hx29y9t
118881
118880
2026-10-11T08:30:18Z
ČarnaruskiVoin
13506
ČarnaruskiVoin trasladó la página [[Eswatini]] a [[Suazilandia]]
118880
wikitext
text/x-wiki
{{stub}}
[[file:Flag of Eswatini.svg|thumb|160px|Flag of Eswatini]]
[[file:Coat_of_arms_of_Eswatini.svg|thumb|160px|Coat of arms of Eswatini]]
[[file: Location Eswatini AU Africa.svg|thumb|Location Eswatini]]
'''Suazilandia''' o '''Esuatini''' (''Umbuso weSwatini'', ''Kingdom of Eswatini'') es un pais na [[Africa]] con las sus maga frontieras ay con [[Sudafrica]] y [[Mozambique]]. El ciudad capital y el ciudad mas importante es [[Mbabane]] y [[Lombamba]].
<br />
<br />
[[File:Eswatini Regions map.png|400px|Universal map of Eswatini]]
[[File:Eswatini-demography.svg|thumb|Population development of Eswatini in 1000 inhabitants|<ref>[https://esa.un.org/unpd/wpp/DataQuery World Population Prospects – Population Division – United Nations 2020] Retrieved 2020-05-25</ref>]]
[[File:Eswatini-population-pyramid-2020.jpg|thumb|Age pyramid of Eswatini|<ref>[https://www.cia.gov/library/publications/the-world-factbook/geos/wz.html Eswatini – People and Society], CIA-population: The World Factbook 2020-07, Retrieved 2020-08-15, english</ref>]]
== External links ==
* [http://www.gov.sz/ The Government of The Kingdom of Eswatini], (Government website, English)
* [https://www.thekingdomofeswatini.com/ The Kingdom of Eswatini – a royal experience], official Eswatini tourism website (richly illustrated, English)
* [https://web.archive.org/web/20200803094854/http://sntc.org.sz/ Eswatini National Trust Commission – Conserving Eswatini's Natural and Cultural Heritage], (very extensive descriptions of history, culture and nature, English)
* [http://www.biggameparks.org/ The Kingdom of Eswatini's Big Game Parks] (page about the three big game parks, english)
* [https://web.archive.org/web/20181231101755/https://www.cia.gov/library/publications/resources/the-world-factbook/geos/wz.html Eswatini – CIA World Factbook]
== References ==
<references/>
{{commons|Eswatini}}<!--interwiki-->
[[Categoría:Maga Nacion na Africa]]
7ozksfp3pqyetyxvso4r1wh1hx29y9t
Yibuti
0
20062
118883
112967
2026-10-11T08:33:59Z
ČarnaruskiVoin
13506
ČarnaruskiVoin trasladó la página [[Djibouti]] a [[Yibuti]] sobre una redirección
112967
wikitext
text/x-wiki
[[Archivo:Flag of Djibouti.svg|thumb|250px]]
'''Djibouti,''' oficialmente '''República de Djibouti''' (Francés: République de Djibouti, Árabe: جمهورية جيبوتي ) es un país na [[Africa]] con las sus maga frontieras ay con [[Eritrea]], [[Etiopía]] y [[Somalia]]. El ciudad mas importante y el capital es el [[Djibouti (ciudad)|Cuidad de Djibouti]].
[[Categoría:Maga Nacion na Africa]]
sj8ztrxea3oird9qvtyjk4g2ef08xqf
118885
118883
2026-10-11T08:34:52Z
ČarnaruskiVoin
13506
118885
wikitext
text/x-wiki
[[Archivo:Flag of Djibouti.svg|thumb|250px]]
'''Yibuti''', oficialmente '''República de Yibuti''' (Francés: République de Djibouti, Árabe: جمهورية جيبوتي ) es un país na [[Africa]] con las sus maga frontieras ay con [[Eritrea]], [[Etiopía]] y [[Somalia]]. El ciudad mas importante y el capital es la [[Cuidad de Yibuti]].
[[Categoría:Maga Nacion na Africa]]
q6d5h65v3b89njwkbsifcg5938dqoln
Lesoto
0
21119
118892
97478
2026-10-11T08:37:53Z
ČarnaruskiVoin
13506
ČarnaruskiVoin trasladó la página [[Lesotho]] a [[Lesoto]]
97478
wikitext
text/x-wiki
{{stub}}
[[Archivo:Flag of Lesotho.svg|thumb|250px]]
'''Lesotho''' (''Muso oa Lesotho'', ''Kingdom of Lesotho'') es un pais na [[Africa]] con las sus maga frontieras ay con [[Sudafrica]]. El ciudad capital y el ciudad mas importante es [[Maseru]].
[[Categoría:Maga Nacion na Africa]]
ome5ji4vij5v1dgedkanpxg2l6k6fyv
118894
118892
2026-10-11T08:38:27Z
ČarnaruskiVoin
13506
118894
wikitext
text/x-wiki
{{stub}}
[[Archivo:Flag of Lesotho.svg|thumb|250px]]
'''Lesoto''' (''Muso oa Lesotho'', ''Kingdom of Lesotho'') es un pais na [[Africa]] con las sus maga frontieras ay con [[Sudafrica]]. El ciudad capital y el ciudad mas importante es [[Maseru]].
[[Categoría:Maga Nacion na Africa]]
0jakrr5a8obi8s9xlleogn8v3mpejf8
Catar
0
21165
118895
118840
2026-10-11T08:39:32Z
ČarnaruskiVoin
13506
ČarnaruskiVoin trasladó la página [[Qatar]] a [[Catar]]
118840
wikitext
text/x-wiki
[[Archivo:Flag of Qatar.svg|thumb|250px|Bandera del Qatar]]
'''Qatar''' (دولة قطر, ''Dawlat Qaṭar'', {{lang-es|Catar}}), oficialmente el [[Estado de Qatar]], es un nacion na [[Occidental Asia]]. Ta ocupa ele con el [[Geografia de Qatar|Peninsula de Qatar]] na el costa noreste del [[Arabigo Peninsula]] na el [[Medio Oriente]]; el unico frontera del pais es un [[frontera entre Arabia Saudita y Qatar]] al sur; y ta rodea el [[Persico Golfo]] con el resto del de suyo territorio. Ta separa el [[Golfo de Bahréin]], un ensenada del Persico Golfo, con Qatar del cercano [[Bahréin]]. El capital es [[Doha]], el hogar de mas del 80% del maga habitante del pais, y el terrestre superficie compuesto principalmente de plano y bajo desierto.
Gobernao Qatar como un [[hereditario monarquía]] por el [[Casa de Thani]] desde que ya afirma si [[Mohamed bin Thani]] con "un acuerdo, hinde un formal tratao" ({{lang-en|an agreement, not a formal treaty}}) con [[Bretaña]] na 1868 que ya reconoce con el de suyo distinto estado. Despues del gobierno del [[otomano Imperio]], ya queda Qatar un [[britanico protectorao]] na 1916 y ya gana con el [[independencia]] na 1971. El actual [[emir]] si [[Tamim bin Hamad Al Thani]], que ta tene con casi todo el maga ejecutivo, legislativo y judicial autoridad na virtud del [[Constitucion de Qatar]]. Ta designa ele con el [[primer ministro de Qatar|primer ministro]] y el [[gabinete de Qatar|gabinete]] del pais. Puede el [[Consultivo Asamblea de Qatar]], parcialmente electo, bloquea con legislacion, y ta tene ele con un limitao capacidad de dimiti con maga ministro.
A maga principio de 2017, el poblacion de Qatar fue 2.6 million: 313.000 maga qatari ciudadano y 2,3 maga millon de maga [[expatriao]]. El [[islam]] el [[oficial religon]]. Ta tene el pais con el aca-4 mas alto [[Lista de maga pais por IBP|IBP per capita]] na el mundo y el aca-11 mas alto [[Lista de maga pais por BNI|BNI per capita]]. Es el aca-42 pais na el [[Indice de Humano Desarrollo]], el aca-3 mas alto IHD na el [[arabe mundo]]. Qatar es uno del maga mayor mundial exportador de [[licuao natural gas]] y el mayor mundial emisor de [[dioxido de carbono]] per capita.
Na el aca-21 siglo, ya emerge Qatar, y como un [[importante aliado extra-OTAN]] del [[Estados Unidos]], y como un medio potencia en el arabe mundo. Ya crece el de suyo economía rapidamente gracias al de suyo riqueza na maga recurso, y ya crece el de suyo geopolitico poder gracias al de suyo grupo de maga medio, el [[red de maga medio Al Jazeera]], que ya soporta para maga rebelde grupo financieramente durante el [[Arabe Primavera]]. Tambien ta forma Qatar con parte del [[Consejo de Cooperacion para el maga Arabe Estado del Golfo]].
== Etimologia ==
Ya documenta si [[Plinio el Viejo]], un romano escritor, con el mas antiguo relato sobre el maga habitante del peninsula alrededor del maga mediao del primer siglo AEC, refiriendo a ellos como el maga ''Catharrei'', un designacion baka derivao del nombre de un local prominente asentamiento. Un siglo mas tarde, ya produci si [[Claudio Ptolomeo]] con el primer conocio mapa que ta representa con el peninsula, refiriendo a el como ''Catara''. Tambien ya referencia el mapa con un pueblo nombrao ''Cadara'' al este del peninsula. Exclusivamente usao el termino ''Catara'' (el [[gentilicio]] ''Cataraei'') hasta el aca-19 siglo, despues del cual ya emerge ''Katara'' como el mas reconocio ortografia. Eventualmente, después de cuanto variacion —"Katr", "Kattar" y "Guttur"—, adoptao el moderno derivao Qatar como el nombre del pais. Na el [[moderno estandar arabe]], pronunciao el nombre como {{IPA-ar|ˈqɑtˤɑr|}}, mientras que na el [[arabe del Golfo|local dialecto]] es {{IPA-ar|ˈɡɪtˤɑr|}}. Na chavacano (y español) ta usa kita con maga diferente aproximacion del nombre, kay ta usa el [[fonologia del arabe]] con maga sonido hinde frecuentemente incuntrao na el de kanaton maga idioma.
== Historia ==
{{AP|Historia de Qatar}}
=== Antigüedad ===
[[File:Excavated site on Al Khor Island.jpg|thumb|Excavacion de un sitio de [[maga casita|casita]] tinte na el [[isla de Jor]].]]
Ta remonta a casi 50,000 maga año antes del presente el humano habitacion na Qatar. Na el peninsula desenterrao maga asentamiento y maga herramienta desde el [[Edad de Piedra]]. Na en abandonao costero asentamientos descubierto maga [[mesopotamico]] artefacto originario del [[periodo de El Obeid]] (c. 6500-3800 AEC.) [[Al Da'asa]], un asentamiento situao na el occidental costa de Qatar, el mas importante sitio de El Obeid na el pais y baka ya aloja con un chico campamento de temporada.
Incuntrao na el [[isla de Jor]] maga materia del [[maga casita]] de [[Babilonia]], remontando al segundo milenio AEC. Ta atestigua esto al maga comercial relacion entre el maga habitante de Qatar y el maga casita na el actual [[Bahréin]]. Entre el maga descubrimiento ya tiene maga triturao [[concha]] de [[caracol]] y maga tiesto de maga vasija del maga casita. Sugerio que Qatar el mas temprano conocio sitio del produccion del tinte de maga concha, gracias a un industria de [[purpura de Tiro]] que ya existi na el costa controlao por el maga casita.
Na 224 EC, ya logra el [[sasanida Imperio]] con el control del maga territorio que ta rodea con el Persico Golfo. Ya desempeña Qatar con un papel na el comercial actividad del maga sasanida, aportando con al menos dos maga mercancía: el maga preciosa [[perla]] y el purpura tinte. Bajo el sasanido reino, ya conoce manada habitante de oriental Arabia con el [[cristianismo]] despues del dispersion del religion hacia el este por parte del maga mesopotamico cristiano. Construio maga monasterio y establecio otro maga asentamiento durante este epoca. Durante el ultimo parte del era cristiana (i.e. antes del [[expansion del islam]]) ya comprende Qatar con un region conocio como ''Beth Qatraye'' (que na el [[siríaco idioma]] ta significa "casa del maga qatarí"). Hinde limitao el region a Qatar: ya inclui tambien con [[Bahréin]], el [[isla Tarut]], [[Al-Khatt]] y [[Al-Hasa]].
Na 628, ya envia el islamico profeta si [[Mahoma]] con un musulman a un gobernante na el este de Arabia llamado si [[Munzir ibn Sawa Al-Tamimi]] con un peticion de que ya acepta ele y el de suyo maga sujeto con el islam. Ya accede si Munzir a este peticion, y na consecuencia, [[conversion al islam|ya converti al islam]] el mayoria del maga tribu arabe del region. A maga mediao del siglo, ya causa el [[musulman conquista de Persia]] con el caida del [[sasanida Imperio]].
=== Temprano y tardio islamico periodo (661–1783) ===
[[File:Abbasids850.png|thumb|left|El [[abasi califato]] na el de suyo mayor extension, c. 850 EC.]]
Descrito Qatar como un famoso centro de cria de maga caballo y maga camello durante el [[omeya califato]]. Durante el aca-8 siglo, ya comenza a beneficiar del de suyo comercialmente estrategico posicion na el Persico Golfo y ya convirti na un centro de comercio de perlas.
Durante el [[abasi califato]] ya ocurri sustancial desarrollo del perlero industria na el peninsula de Qatar. Ya hace el maga barco, que ya viaja de [[Basora]] al [[India]] y a [[China]], con maga escala na el maga puerto de Qatar durante este periodo. Na Qatar descubierto maga [[chino ceramica y porcelana]], maga [[cen]] de Occidental Africa y maga tailandes artefacto. Ta sugeri maga arqueologico resto, del aca-9 siglo, que ya utiliza el maga habitante de Qatar con el mayor riqueza para construi con maga vivienda y maga publico edificio de mayor calidad. Durante este periodo, construio mas de 100 maga casa de piedra, dos maga [[mezquita]] y un abasi fortaleza na [[Murwab]]. Cuando ya declina el prosperidad del califato na Iraq, ansina mismo ya declina na Qatar. Mencionao Qatar na el libro [[Mu'jam Al-Buldan]] por si [[Yaqut al-Hamawi]] del aca-13 siglo, que ya aludi al maga fino capa tejio a maga raya del maga qatari, y al habilidad del maga qatari na el mejora y acabado del maga [[lanza]].
Na 1253 ya controla el dinastia [[usfurida]] con el mayoria del occidental Arabia, pero na 1350 ya toma el principe de [[Ormuz (ciudad)|Ormuz]] con el control del region. Al reino ya proporciona el maga perla de Qatar con un principal fuente de maga ingreso. Na 1515, hace si [[Manuel I de Portugal]] con el Reino de Ormuz un vasallo de [[Portugal]]. Entonces ya apodera Portugal de un significativo parte de oriental Arabia na 1521. Na 1550, ya somete voluntariamente el maga habitante de [[Al-Hasa]] al dominio del maga otomano, prefiriendo con ellos al maga portugues.
=== Portugues era ===
Despues del caida del dinastía jabrid con el conquista de Bahréin por el maga portugues, ya queda el arabigo costa hasta [[Uqair|Al Hassa]] bajo el dominio y el influencia del portugues imperio, que ya elimina con maga intento del maga otomano de domina con el region, por el reconquista del [[castillo de Tarout]] o [[Asedio de Qatif (1551)]].
Excavao pa maga arqueologico descubrimiento desde uno del maga portugues fortaleza que ya servi de base para domina con el region como Ruwayda. Ta aparece el primero representacion de Qatar na el portugues mapa de si Luis Lázaro en 1563, mostrando con el "ciudad de Qatar" como una fortaleza. Expulsao el maga otomano, que ya mantene con un insignificante militar presencia na el area, por el tribu [[Bani Khalid (tribu)|Bani Khalid]] y [[Emirato de Bani Khalid|el de ellos emirato]] na 1670.
=== Bahreini y saudi gobierno (1783–1868) ===
[[File:Map of Catura (Qatar) 1794 (cropped).jpg|thumb|left|Un mapa de 1794 por si [[Samuel Dunn (matematico)|Samuel Dunn]] representando con ''Catura'' (al centro) na el [[occidental Arabia]].]]
Na 1766, ya migra de [[Kuwait]] a [[Zubarah]] na Qatar maga miembro del familia [[Al Jalifa]] del tribal confederacion [[Utub]]. Al hora del de ellos llegada, ya ejerce el Bani Khalid con un debil autoridad sobre la peninsula, a pesar del hecho de que ya goberna el de ellos maga lejano pariente con el mas grande aldea. Na 1783, ya invadi y ya anexa maga clan del [[Bani Utbah]], y maga aliado arabe tribu, con [[Bahréin]] del maga persa. Ya impone el maga Al Khalifa con el de ellos autoridad sobre Bahréin y ya conserva ellos con el de ellos jurisdiccion sobre Zubarah.
Tras el de suyo juramento como heredero principe del [[Emirato de Diriyah|maga wahabí]] na 1788, ya move si Saud ibn Abd al-Aziz para expandi con el wahabi territorio hacia el este, hacia el Persico Golfo y Qatar. Despues de derrota con el maga Bani Khalid na 1795, atacao el maga wahabi na dos maga frente. Ya asalta el maga otomano y el maga egipcio con el occidental frente, mientras que ya lanza el maga Al Khalifa na Bahréin y el maga [[omani]] con un ataque contra el oriental frente. Al entera del egipcio avance na el occidental frontera na 1811, ya reduci el emir wahabi con el de suyo maga guarnicion na Bahrein y Zubarah para redesplega con el maga tropa. Ya ventaja de este oportunidad si [[Said bin Sultain]], gobernante de [[Mascate]], y ya ataca con el maga wahabi guarnicion na el oriental costa, incendiando con el fortaleza de Zubarah. Despues de esto, efectivamente ya volve al poder el maga Al Khalifa.
[[File:Qatar, Zubarah (10), ruined city.JPG|thumb|Un parcialmente restaurao seccion del ciudad na maga ruina de [[Zubarah]].]]
Como castigo por el [[pirateria]], ya bombardea un buque del [[Britanico Compañia del maga Oriental India]] con [[Doha]] na 1821, destruyendo con el ciudad y obligando con maga ciento de maga residente a huir. Na 1825, establecio el [[Casa de Thani]] con el [[jeque]] si [[Mohamed bin Thani]] como el primero lider.
Masquen considerao Qatar como un [[dependiente territorio]] de Bahréin, ya enfrenta el maga Al Khalifa al oposicion del maga local tribu. Na 1867, ya envia el Al Khalifa, junto con el gobernante de [[Abu Dhabi]], con un masivo naval fuerza a [[Al Wakrah (ciudad)|Al Wakrah]] na un esfuerzo por aplasta con el maga qatari rebelde. Ya lleva esto al [[guerra entre Qatar y Bahréin]] de 1867–68, donde ya saquea el maga fuerza de Bahréin y de Abu Dhabi con Doha y Al Wakrah. Ya viola el maga bahreini hostilidad con el [[perpetuo tregua de paz y amistad]] ({{lang-en|Perpetual Truce of Peace and Friendship}}) de 1861. Debio al conjunto incursion, además del qatari contraataque, ya impone el britanico politico residente, el coronel si [[Lewis Pelly]], con otro tregua na 1868. El de suyo mision a Bahréin y Qatar, y el resultante tratao de paz, fueron maga hito, porque ya reconoce ellos implícitamente con el distincion de Qatar de Bahréin y ya reconoce ellos explicitamente con el posicion de si Mohammed bin Thani. Ademas de censura con Bahrein por el de suyo incumplimiento del acuerdo, ya negocia si Pelly con maga qatari jeque representao por si Mohammed bin Thani. El maga negociacion fueron el primera etapa na el desarrollo de Qatar como un gobernante de maga jeque.
=== Otomano periodo (1871–1915) ===
[[File:Qatar in Stielers Handatlas 1891 59.JPG|thumb|Qatar na un mapa de 1891 por si [[Adolf Stieler]], con [[Al Bidda]] como el principal asentamiento.]]
[[File:Olddoha2-771x410.jpg|thumb|left|Viejo ciudad de Doha, enero de 1904.]]
[[File:Barzan towers 3.jpg|thumb|left|Maga [[torre de Barzan]] son maga torre de vigilancia construido a maga final del aca-19 siglo y renovao na 1910 por si el jeque [[Mohammed bin Jassim Al Thani]].]]
Bajo el militar y politico presion del gobernador del otomano [[valiato de Bagdad]], si [[Midhat Baja]], ya somete el tribu gobernante Al Thani al otomano dominio na 1871. Ya impone el otomano gobierno con maga reformista medida (na turco, [[tanzimat]]) na cuanto al tributacion y el registro del propiedad para integra plenamente con este maga area na el imperio. A pesar del desaprobacion del maga local tribu, ya segui Al Thani a apoya con el otomano dominio. Ya estanca el maga qatari-otomano relacion, y na 1882 ya sufri dicho maga relacion con mas reves cuando ya nega el maga otomano a ayuda con si Al Thani na el de suyo expedicion a [[Khor Al Adaid]], ocupao por [[Abu Dhabi]]. Ademas, ya apoya el maga otomano con el otomano subdito si Mohammed bin Abdul Wahab, que ya intenta suplanta con si Al Thani como [[kaymakam]] de Qatar na 1888. Debio a esto, eventualmente ya rebela si Al Thani contra el maga otomano, que (segun ya cree si Al Thani) ya busca usurpa con el control del peninsula. Ya renuncia ele como kaymakam y ya deja de pagar con maga impuesto na agosto de 1892.
Na febrero de 1893, ya llega si Mehmed Hafiz Pasha na Qatar con el fin del busqueda de maga hinde pagao impuesto y la resistencia al oposición de si Jassim bin Mohammed al maga propuesto otomano administrativo reforma. Temiendo que ya enfrenta al [[muerte]] o al [[carcel]], ya retira si Jassim a Al Wajbah (16 km al oeste de Doha), acompañado por cuanto miembro del tribu. Ya incuntra negativa el exigencia de si Mehmed de que disolve si Jassim con el de suyo maga tropa y jura lealtad al maga otomano. Na marzo, ya encarcela si Mehmed con el hermano de Jassim y 13 maga prominente qatari tribal lider na el otomano [[corbeta]] ''Merrikh'' como castigo por el de suyo insubordinacion. Despues de que ya rechaza si Mehmed con un oferta para libera con el maga cautivo por una tarifa de 10.000 maga [[turco lira]], ya ordena ele con el avance de un columna de aproximadamente 200 maga soldao hacia el [[fortaleza de Al Wajbah]] de si Jassim bajo el mando de si Yusuf Effendi, ansina marcando con el inicio del [[batalla de Al Wajbah]].
El maga tropa de si Effendi fueron objeto de un intenso fuego de artilleria, por un considerable tropa de qatari infanteriía y caballeria, poco despues de llega a Al Wajbah. Ya retira ellos al fortaleza de Shebaka, antes de retira otra vez de un qatari incursion. Despues de este retiro al fortaleza de Al Bidda, ya sitia el avanzando columna de si Jassim con el fortaleza. El resultao fue el concesión de un derrota por parte del maga otomano, ademas el acuerdo de renuncia con el de ellos maga cautivo, a cambio del seguro paso del caballeria de si Mehmed Pachá a [[Hofuf]] por tierra. Masquen hinde ya gana Qatar con el lleno [[independencia]] del otomano Imperio, ya obliga el resultado del batalla con un tratao que mas tarde ya forma con el base del surgimiento de Qatar como autonomo pais dentro del imperio.
=== Britanico periodo (1916–1971) ===
[[File:Zubarah Fort1.jpg|thumb|left|El [[Fuerte de Zubarah]] construio na 1938.]]
Por el [[anglo-otomano Acuerdo de 1913]], ya acorda el maga otomano renuncia con el de ellos reclamacion sobre Qatar y retira de Doha con el de ellos guarnicion. Sin embargo, con el estallido del [[Primer Mundial Guerra]], hinde hecho nada para llevar a cabo esto, y ya permanece el guarnicion na el fuerte de Doha, masquen ya disminui el de suyo numero a medida que ya deserta el maga hombre. Na 1915, con el presencia de maga britanico [[cañonera]] na el puerto, ya persuadi si Abdullah bin Jassim Al Thani (pro-britanico ele) con el resto para que abandona con el fuerte, ansina que cuando, siguiente el mañana, ya acerca el maga britanico tropa, incuntrao desierto el fortaleza.
Ya convirti Qatar na britanico protectorao el 3 de noviembre de 1916, cuando ya firma el Reino Unido con un tratao con el jeque si Abdullah bin Jassim Al Thani para que somete Qatar al britanico [[maga Estado del Tregua|sistema de administracion por tregua]]. Ya reserva el tratado con el maga exterior asunto y el defensa al Reino Unido, pero ya permiti con el interno autonomia. Si bien ya acorda si Abdullah hinde entabla con maga relacion con ningun otro potencia sin el previo consentimiento del britanico gobierno, ya garantiza el segundo con el proteccion de Qatar contra la agresión por mar, ademas del provision del "maga buen oficina" ({{lang-en|good offices}}) na caso de ataque por tierra. Deliberadamente vago este segundo empresa.
El 5 de mayo de 1935, mientras permiti con un petrolero concesion con el [[Anglo-Persian Oil Company]], ya firma si Abdullah con otro tratao con el britanico gobierno que ya concede a Qatar con proteccion contra maga interno y externo amenaza. Na 1939 descubierto maga reserva de petroleo por primera vez, masquen ya demora el [[Segundo Mundial Guerra]] con el explotacion y desarrollo.
[[File:British stamp overprinted for use in Qatar 1 April 1957.jpg|right|thumb|Un britanico sello del [[serie Wilding]], emitio el 1 de abril de 1957, y sobreimpreso para uso na Qatar.]]
Ya cambia el foco del maga britanico interes na Qatar despues del Segunda Mundial Guerra, gracias al [[independencia del India]], el [[Particion del India|creacion]] de [[Pakistan]] na 1947 y el desarrollo del petroleo na Qatar. Na 1949, ya significa el nombramiento del primer britanico politico funcionario na Doha, si John Wilton, con un fortalecimiento del maga anglo-qatari relacion. Ya comenza el maga exportacion de petroleo na 1949, despues del cual ya queda el maga petrolero ingreso el principal fuente de maga ingreso para el pais, kay ya declina el comercio de maga perla. Ya financia este maga ingreso con el expansion y modernizacion del [[infraestructura]] de Qatar.
Cuando ya anuncia Gran Bretaña oficialmente na 1968 que ay retira del Persico Golfo na un plazo de tres maga año, ya uni Qatar al maga conversacion con Bahréin y otros siete [[maga Estado del Tregua]] para crea con un federacion. Debio a maga regional disputa, sin embargo, ya retira Qatar y Bahréin del maga conversacion y ya queda maga independiente estado separao del maga Estado del Tregua, que mas tarde ya queda el maga [[Emiratos Unidos del Arabo]].
=== Independencia y mas tarde (1971–2000) ===
Na virtud de un acuerdo con el Reino Unido, el 3 de septiembre de 1971, terminao el "maga especial disposicion por maga tratao" ({{lang-en|special treaty arrangements}}) "incompatible con el pleno internacional responsabilidad como un soberano e independiente estado" ({{lang-en|inconsistent with full international responsibility as a sovereign and independent state}}).
[[File:Corniche Doha Qatar.jpg|thumb|left|Maga tradicional [[dhow (nautica)|dhow]] frente al horizonte del Bahia del Oeste como visto desde el [[corniche de Doha]].]]
Na 1991, ya desempeña Qatar con un significante papel na el [[guerra del Golfo]] particularmente durante el [[Batalla de Khafji]] donde ya recorre el maga qatari tanque con el maga calle del ciudad y ya proporciona con apoyo de combate al maga unidad del [[nacional guardia de Arabia Saudita]] que ya enfrenta con el maga tropas del [[iraqui ejercito]]. Ya permiti Qatar que el maga canadiense tropa del coalicion utiliza con el pais como [[Canada Dry One|aereo base]] para lanza con maga aeronave na servicio de [[aereo patrulla de combate]], ademas de permiti que el maga estadounidense y frances fuerza opera na el de suyo territorio.
Na 1995, [[Golpe de estado na Qatar de 1995|ya toma control]] el emir si [[Hamad bin Jalifa Al Thani]] del de suyo padre si [[Jalifa bin Hamad Al Thani]], con el apoyo del maga armao fuerza y el gabinete, ademas de maga vecino estado y Francia. Bajo Emir Hamad, ya experimenta Qatar con un moderao grado de liberalizacion, incluio el lanzamiento de la cadena de television [[Al Jazeera]] (1996), el aprobacion del femenino sufragio o del derecho al voto na el maga municipal eleccion (1999), el redaccion del de suyo primer escrio constitucion (2005) y el inauguracion de un romano catolico iglesia (2008).
=== Aca-21 siglo ===
Ya crece rapidamente el economia de Qatar y el de suyo estatus como regional potencia na el decada de 2000. Segun el ONU, el economico crecimiento del nación, medido por el BIP, el mas rapido del mundo durante este decada. Ya radica el base de este crecimiento na el explotacion de [[natural gas]] na el Campo Norte durante el decada de 1990. Al mismo tiempo, ya triplica el poblacion entre 2001 y 2011, principalmente por el afluencia de [[expatriao|maga extranjero]].
Na 2003, ya servi Qatar como sede el del [[Central Mando del maga Estados Unidos]] y uno del maga principal sitio de lanzamiento del [[invasion de Irak de 2003]]. Na marzo de 2005, ya mata un [[ataque suicida]] con un britanico maestro al Doha Players Theatre, chocando con el pais, que hinde ya experimenta previamente con maga acto de [[terrorismo]]. Realizao el bombardeo por si Omar Ahmed Abdullah Ali, un egipcio residente na Qatar con maga presunto vinculo con [[Al Qaeda na el arabigo peninsula]]. Debio al aumentao influencia de Qatar y el de suyo papel durante el [[Arabe Primavera]], especialmente durante el [[rebelion en Bahréin de 2011-2012]], [[subsidiario guerra qatari-saudita|ya empeora maga tension de largo plazo con Arabia Saudita]], el vecino Emiratos Unidos del Arabo y Bahréin.{{cita requerida}}
Na 2010, ya gana Qatar con el derecho de alberga con el [[Mundial Copa de Futbol de 2022]], ansina que ele el primer país del Medio Oriente seleccionao para alberga con el torneo. Ya aumenta el adjudicacion con el inversion y el maga desarrollo dentro del nacion durante el decada de 2010. Na junio de 2013, ya queda el jeque si [[Tamim bin Hamad Al Thani]] el emir de Qatar despues de que ya entrega el de suyo padre con el poder. Ya prioriza el jeque Tamim con el mejora del domestico bienestar del maga ciudadano, incluio el establecimiento de maga avanzao sistema de salud y educacion, ademas de un expansion del infraestructura del pais para alberga con el Mundial Copa de Futbol de 2022. Ya alberga Qatar con el Copa desde 21 de noviembre al 18 de diciembre, ansina que ele el primer pais de arabe y musulman mayoria na hace con esto, y el tercer asiatico pais na hace con esto despues del [[Mundial Copa de Futbol de 2002]] na Japón y Corea del Sur.
== Cultura ==
{{VT|Lista de maga fiesta de Qatar}}
Similar el [[cultura de Qatar]] al de otro maga pais na [[Oriental Arabia]], debio a un significante influencia del [[islam]]. Ya desempeña el [[nacional dia de Qatar]], celebrao anualmente el 18 de diciembre, con un papel importante na el desarrollo de un sentido de nacional identidad. Observao na recuerdo del ascension al trono de si [[Jassim bin Mohammed Al Thani]] y el de suyo posterior unificacion del maga diverso tribu del pais.
El [[Cultural Festival de Doha]] es uno del maga cultural actividad que ta lleva a cabo anualmente el Qatari Ministerio de Cultura, Artes y Patrimonio, establecio na 2002 con el fin de difundi con el qatari cultura dentro y fuera de Qatar.{{cita requerida}}
=== Arte ===
{{AP|Maga practica de recoleccion del familia Al-Thani|Arte de Qatar|Publico arte na Qatar}}
[[File:Old Palace at National Museum of Qatar.jpg|thumb|[[Nacional Museo de Qatar]] na Doha.]]
Ya presta especial atencion al arte el maga qatari funcionario, especialmente el familia Al Thani y el hermana del emir de Qatar, si [[Al-Mayassa bint Hamad Al Thani]]. Ta lidera esta mujer con el Autoridad de [[maga Museo de Qatar]]. Considerao el [[Museo de islamico arte de Doha]] (inaugurao na 2008) como uno del maga mejor museo del region. Na cuanto a este y cuanto otro qatari museo, como el [[arabe Museo de arte moderno]], ta cae este maga museo bajo el autoridad del maga Museo de Qatar, que ta patrocina tambien con maga artistico evento na el extranjero, como maga grand exposicion de si Takahashi Murakami na Versalles (2010) y si Damien Hirst na Londres (2012).
[[File:IslamicArtMuseumDohaSkyline.jpg|thumb|[[Museo de islamico arte de Doha]].]]
Qatar el mayor comprador del mundo na el mercado del arte por valor. Ta desarrolla el qatari cultural sector para permiti que ta alcanza el pais con el mundial reconocimiento, al de suyo vez con el fin de contribui al desarrollo de un pais que ta confia principalmente na el de suyo industria del gas.
=== Literatura ===
Ta remonta al aca-19 siglo el [[literatura de Qatar]]. Originalmente, el [[arabe poesia|escrio poesia]] el mas comun forma de expresion. Ya forma si Abdul Jalil Al-Tabatabai y si Mohammed bin Abdullah bin Uthaymeen, dos maga poeta del maga principio del aca-19 siglo, con el corpus del mas antiguo escrio poesia de Qatar. Mas tarde ya cae el poesia na desgracia, despues de que ya comenza Qatar a cosecha con el maga beneficio del maga exportacion de petroleo a maga mediao del aca-20 siglo, ansina que ya abandona manada qatari con el de ellos [[maga beduino]] tradicion a favor de maga mas urbano estilo de vida.
Debio al creciente numero de maga qatari que ya comenza a recibi con un formal educacion durante el decada de 1950, ademas de otro maga significativo social cambio, ya atestigua 1970 con el introduccion del primer [[antologia]] de maga [[cuento]], y na 1993 publicao el maga primer [[novela]] de local autoria. Ya retene el poesia —na particular, el predominante [[nabati]] forma— con algo de importancia, pero despues de poco ya eclipsa otro maga literario tipo conele. A diferencia del mayoria del otro maga formas de arte na el qatari sociedad, ya involucra el maga mujer na el movimiento del moderno literatura na un magnitud similar al del maga hombre.
=== Maga medio ===
[[File:Al Jazeera English Newsdesk.jpg|thumb|El redaccion de [[Al Jazeera English]], un qatari canal de maga noticia.]]
Ya clasifica [[Freedom House]] con el [[maga medio de comunicacion na Qatar]] como "hinde libre" ({{lang-en|not free}}) na el informe del [[Freedom of the Press (informe)|Freedom of the Press]] ({{lang-en|Libertad del Prensa}}) de 2014. Ya inicia el televisivo transmision na 1970. [[Al Jazeera]] es un principal cadena de television con sede na Doha. Ya empeza Al Jazeera na 1996 como un satelite del cadena del mismo nombre, enfocando na el maga noticia na [[arabe idioma|arabe]], y desde entonces ya expandi a un global red de cuanto especializao canal de television.
Hay maga informe de que comun el [[autocensura]] entre el maga periodista, particularmente na cuanto al gobierno y [[Casa de Thani|gobernante familia]] de Qatar. Ilegal el maga critica al gobierno, al emir y al gobernante familia na el maga medio de comunicacion. Segun el articulo 46 del periodistico ley, "hinde criticable el emir del estado de Qatar y hinde atribuio ningun declaracion a ele sino con un escrio permiso del gerente del de suyo oficina." Ademas, procesable el maga periodista por insulta con el islam.
Na 2014, ratificao un Ley de Prevencion del Cibercrimen. Segun el maga informe, ta restringi el ley con el libertad del prensa y conlleva con maga pena de prision y maga multa por maga amplio razon, como poner na peligro con el local paz o publica con maga [[falso noticia]]. Ya declara el Centro del Golfo para el maga Humano Derecho que el ley es un amenaza al libertad de expresion y ta pedi con el revocacion de maga cierto articulo del ley.
A pesar de todo esto, na maga reciente año hay un expansion del prensa. Actualmente hay [[Lista de maga periodico de Qatar|siete maga periodico na circulacion na Qatar]], publicao cuatro na arabe y tres na ingles. Tambien impreso na Qatar maga local edicion de maga periodico del India, Nepal y Sri Lanka.{{cita requerida}}
Na cuanto al infraestructura de telecomunicacion, Qatar el pais del Medio Oriente mejor clasificao na el Indice de Preparacion del Red ({{lang-en|Network Readiness Index, NRI}}) del [[Mundial Economico Foro]], un indicator para determina con el nivel de desarrollo del maga tecnologia del [[informacion]] y el [[comunicacion]] de un pais. Clasificao Qatar numero 23 por lo general na el ranking del NRI de 2014, sin maga cambio desde 2013.
=== Musica ===
Basao el [[musica de Qatar]] na el poesia, canto y baile del [[maga beduino]]. Realizao el maga tradicional baile de Doha el maga viernes por el tarde; uno de aquel maga baile es el [[ardah]], un estilizada marcial baile interpretao por dos maga fila de maga bailarin, acompañao por un variedad de maga [[instrumento de percusion]], incluio ''[[al-ras (tambor)|al-ras]]'' (un gran [[tambor]] cuyo cuero calentao por un abierto fuego), maga [[pandereta]] y maga [[platillo]] con maga chico tambor. Otro maga instrumento de percusion utilizao na el folclorico musica son ''galahs'' (un alto vasija de barro) y maga vaso de [[hojalata]] conocio como ''tus'' o ''tasat'', tipicamente usao junto con un ''tabl'', un longitudinal tambor golpeao con un palo. Tambien comunmente usao maga [[instrumento de cuerda]], como el [[arabe laud]] o ''ud'' y el ''[[rebab]]''.
=== Deporte ===
El [[futbol]] el mas popular [[deporte na Qatar]], tanto na maga termino de maga jugador como de maga espectador. Poco despues del afiliacion del [[Asociacion de Futbol de Qatar]] con el [[FIFA]] na 1970, ya veni uno del maga primero internacional reconocimiento del pais na 1981, cuando ya emerge el [[seleccion de futbol sub-20 de Qatar]] como subcampeona a Occidental Alemania na el [[Mundial Copa de Juvenil Futbol de 1981]], tras un derrota de 4–0 na el final. A nivel superior, ya alberga Qatar tres maga vez con el [[Asiatico Copa]]: [[Asiatico Copa 1988|na 1988]], [[Asiatico Copa 2011|na 2011]] y [[Asiatico Copa 2023|na 2023]]. Por primera vez na el historia del pais, ya gana el [[seleccion de futbol de Qatar]] con el Asiatico Copa, na el [[Asiatico Copa 2019|edicion de 2019]] albergao por el Emiratos Unidos del Arabo, derrotando con [[seleccion de futbol de Japón|Japón]] 3–1 na el [[Final del Asiatico Copa 2019|final]]. Ya gana ellos con el siete maga partido, concediendo con un solo gol en todo el torneo (contra Japón, como notao mas arriba). Como maga anfitrion y maga vigente campeon na el siguiente edicion de 2023, ya retene exitosamente Qatar con el de suyo título, derrotando con [[seleccion de futbol de Jordania|Jordania]] na el [[Final del Asiatico Copa 2023|final]].
El 2 de diciembre de 2010, ya gana Qatar con el de suyo candidatura para alberga con el [[Mundial Copa de Futbol de 2022]], a pesar de nunca antes calificando para el [[maga final del Mundial Copa de Futbol]]. Ya construi el maga local organizador con siete maga nuevo estadio y ya expandi con un existente estadio para este evento. Ya saluda entusiasticamente el region del Persico Golfo con el ganador candidatura de Qatar para el Mundial Copa de 2022, kay ya representa ele con el primer seleccion un pais del Medio Oriente para alberga con el torneo. Al mismo tiempo, [[Qatargate|ya tiene mucho controversia]], incluio maga acusacion de [[soborno]] e interferencia na el investigacion del presunto soborno. Tambien ya opone el maga europeo asociacion de futbol a que ya celebra el Mundial Copa 2022 na Qatar por un variedad de maga razon, del impacto del maga calido temperatura na el fisico estado del maga jugador, al posible disrupcion na el maga calendario del maga europeo nacional liga si reprogramao el evento para el invierno. Na mayo de 2014, acusao un qatari oficial de futbol, si [[Mohammed bin Hammam]], de realiza con maga pago por un total de £3,000,000 a maga funcionario a cambio del de suyo apoyo al candidatura de Qatar. Ya absolve un investigacion del FIFA, sobre el proceso de licitacion na noviembre de 2014, con Qatar de cualquier delito.
Ya produci ''[[The Guardian]]'', un britanico nacional diario, con un corto documentario llamao "El abuso y el explotacion del maga migrante trabajador preparando con el emirato para 2022" ({{lang-en|Abuse and exploitation of migrant workers preparing emirate for 2022}}). Ya informa un investigacion de 2014 por ''The Guardian'' que el maga migrante trabajador, que ya construi con maga lujoso oficina para el maga organizador del Mundial Copa 2022, hinde pagao na mas de un año, y ahora "ta trabaja ilegalmente na maga alojamiento infestao de maga cucaracha" ({{lang-en|working illegally from cockroach-infested lodgings}}). Para 2014, na cuanto al maga nepales migrante involucrao na el construccion de infraestructura para el Mundial Copa 2022, ya muri uno cada dos maga dia. Ya responde el organizador comite de Qatar 2022 a manada acusacion afirmando que organiza con el Mundial Copa na Qatar ya actua como un "catalizador para el cambio" ({{lang-en|catalyst for change}}) na el region. Segun un articul de febrero de 2021 na ''The Guardian'', ya muri alrededor de 6,500 maga migrante trabajador de construccion. Sin embargo, el Mundial Copa na Qatar el mas caro na el historia del competicion, con manada moderno tecnologia, y ya expresa mucho gente con el de suyo satisfaccion con el manejo del torneo por parte del pais.
Estimao que ya alberga Qatar con un base de 1.6 maga millon de maga aficionao al [[futbol]] para el Mundial Copa 2022. Sin embargo, esperao que hasta con el trabajo de construccion na el pais, ya aumenta el maga disponible habitacion de hotel de 37,000 a 70,000 lang al final de 2021. Na diciembre de 2019, ya contacta el maga oficial del Qatari Mundial Copa con el maga organizador del [[Festival de Glastonbury]] na Inglaterra y el [[Festival de Coachella]] na el maga Estados Unidos, para planea con maga enorme camping na el desierto para maga mil de maga aficionao al futbol. Segun maga informe, ya tene el maga camping, na el maga afuera del ciudad, con maga bar con licencia, maga restaurante, maga instalacion de lavao y hasta entretenimiento (aparte del juego mismo).
Masquen el futbol el mas popular deporte, ya experimenta otro maga deporte de equipo con considerable exito na el nivel superior. Na 2015, ya emerge el [[seleccion de balonmano de Qatar]] como subcampeon a [[Francia]] na el [[Mundial Campeonato de Masculino Balonmano de 2015]] como maga anfitrion, masquen ya mancha manada controversia (con respecto al anfitrion nacion y el de suyo equipo) con el torneo. Ademas, na 2014, ya gana Qatar con el mundial campeonato na el masculino torneo del [[Mundial Copa de Baloncesto 3x3]].
Popular el [[criquet]] entre el [[diaspora del sur de Asia]] na Qatar. El casual [[callejero críquet]] el mas popular formato del juego, pero desde 1999 el [[Qatar Cricket Association]] un miembro del [[Internacional Consejo de Críquet]] (ICC) y ta juga regularmente el maga masculino y femenino seleccion na el maga competicion del ICC. El primario campo de criquet na Qatar es el [[West End Park International Cricket Stadium]].
El baloncesto es un desarrollao deporte entre el maga asiaticos na Qatar. Ya alberga Qatar{{cita requerida}} con este maga torneo: el [[Campeonato de Asia del FIBA 2005]], el [[Campeonato 3x3 de Asia del FIBA 2013]], el [[Under-18 Campeonato de Asia del FIBA 2014]] y el [[Under-16 Campeonato de Asia del FIBA 2022]]. Ay alberga Qatar con el [[Mundial Copa de Baloncesto de 2027]], ansina que Qatar el primer arabe pais na alberga con el Mundial Copa de Baloncesto.
Ya alberga el [[Khalifa International Tennis and Squash Complex]] na Doha con el [[WTA Finals]] na el femenino tenis entre 2008 y 2010. Ta celebra anualmente Doha con el [[Torneo de Qatar]] para el [[WTA]]-Premier. Desde 2002, ya alberga Qatar con el anual [[Tour de Qatar]], un ciclista carrera na seis maga etapa. Cada febrero, ta competi el maga ciclista na el maga carretera a traves del llanura de Qatar durante seis maga dia. Ta cubri cada etapa con un distancia de mas de 100 km, masquen el contrarreloj usualmente un mas corto distancia. Ta organiza el Ciclista Federacion de Qatar ({{lang-en|Qatar Cycling Federation}}) con el Tour de Qatar para maga profesional ciclista na el categoria de Masculino Elite.
Ta tene el equipo de paracaidismo del Ejercito de Qatar con cuanto diferente disciplina de paracaidismo clasificao entre el maga mejor nacion del mundo. Ta actua anualmente el equipo nacional de paracaidismo de Qatar durante el Nacional Dia de Qatar y otro maga gran evento, como el antedicho Mundial Campeonato de Masculino Balonmano de 2015. Cuatro maga vez ya alberga Doha con el oficial [[Mundial Campeonato de maga Club del FIVB]] y tres maga vez con el [[Mundial Campeonato de Femenino Voleibol del FIVB]], ademas de alberga con el [[Asiatico Campeonato de Masculino Voleibol]] na 1997.
== Educacion ==
{{AP|Educacion na Qatar}}
[[File:Entrance to Student Center in Education City.jpg|thumb|left|El Estudiantil Centro na el [[Ciudad del Educacion de Doha]]. Ta alberga el Ciudad del Educacion con maga vario educacional facilidad, incluio maga campus satelite de ocho maga internacional universidad.]]
Ya contrata Qatar con el [[Corporacion RAND]] para reforma con el de suyo sistema de educacion K–12. Gracias al [[Qatar Foundation]], ya construi el pais con el [[Ciudad del Educacion de Doha]], un campus que ta alberga con maga local rama del [[Medico Centro Weill Cornell]], el [[Carnegie Mellon School of Computer Science]], el [[Universidad de Georgetown]], el [[Universidad del noroeste (Qatar)|Universidad del noroeste]], el [[Universidad de Texas A&M]], el [[Virginia Commonwealth University School of the Arts]] y otro maga occidental institucion.
[[Maga pais por tasa de alfabetizacion|El tasa de analfabetismo]] fue de 3.1% para el maga hombre y 4.2% para el maga mujer na 2012, el mas bajo del [[arabeparlante]] mundo y el aca-86 na el mundo. Para el maga ciudadano, obligatorio el educacion K–12 (desde el jardin de maga infante hasta el secundario escuela) provisto por el qatari gobierno. El [[Universidad de Qatar]], fundao na 1973, el mas antiguo y mas grande institucion de superior educacion del pais.
Na noviembre de 2002, ya crea el Emir si Hamad bin Khalifa Al Thani con el [[Supremo Consejo de Educacion (Qatar)|Supremo Consejo de Educacion]]. Ta dirige y ta controla el Consejo con el educacion para todo el maga edad, desde el preescolar nivel hasta el universitario nivel, incluio el iniciativo "Educacion para un nueva era" ({{lang-en|Education for a New Era}}), establecio para trata de posiciona con Qatar como un lider na el educativo reforma. Segun el [[Webometrics Ranking of World Universities]], el maga mejor clasificao universidad del pais son el [[Universidad de Qatar]] (aca-1,881 na el mundo), el [[Universidad de Texas A&M]] (aca-3,905) y el [[Medico Centro Weill Cornell]] (aca-6,855).
[[File:QatarUniversityEastView.jpg|thumb|right|El [[Universidad de Qatar]], visto desde el este.]]
Na 2009, ya establece Qatar con el [[Parque de Ciencia y Tecnologia de Qatar]] na el Ciudad del Educacion para vincula con aquel maga universidad con el industrial sector. El Ciudad del Educacion tambien el hogar de un totalmente [[acreditacion del educacion|acreditao]] escuela del [[Organizacion del Internacional Bachillerato]], [[Qatar Academy]]. Ademas, ya inaugura dos maga canadiense institucion —el [[College of the North Atlantic]] (sede na [[Terranova y Labrador]]) y el [[Universidad de Calgary]]— con maga campus na Doha. Tambien ya establece otro maga [[Educacion con maga fin de lucro|universidad con maga fin de lucro]] con maga campus na el ciudad.
Na 2012, clasificao Qatar el tercero desde el ultimo lugar del 65 maga pais del [[OECD]] que ya participa na el [[informe PISA]] de [[matematica]], y maga habilidad de [[lectura]] para maga joven de 15 y 16 maga año, a pesar de tene con el mas alto ingreso per capita del mundo. Clasificao Qatar como el aca-50 na el [[global indice de innovacion]] na 2023, desde el aca-65 puesto na 2019.
Como parte del de suyo nacional estrategia de desarrollo, ya esboza Qatar con un estrategico plan de 10 maga año para mejora con el nivel de educacion. Ya pone na marcha el gobierno con maga programa de educativo extension, como [[Al-Bairaq]]. Lanzao Al-Bairaq na 2010 con el fin de provee al maga estudiante de secundaria con el oportunidad de experimenta con un entorno de investigacion na el [[Centro de maga Avanzao Material]] del Universidad de Qatar. Ta abarca el programa con el maga campo [[CTIM]] y el maga [[idioma]].
Lanzao na 2006 como parte de un iniciativa del [[Qatar Foundation]], creao el [[Qatar National Research Fund]] con el fin obtene con maga publico fondo para el cientifico investigacion. Ta funciona el fondo como un medio para diversifica con economia del pais, pasando de un economia basao principalmente na el petroleo y el gas a un [[economia del conocimiento|economia basao na el conocimiento]]. Ya establece el Qatar Foundation con el [[Parque de Ciencia y Tecnologia de Qatar]] na marzo de 2009 como un intento de ayuda con el transicion del pais hacia una economia del conocimiento. Con un capital semilla de 800 maga millon de maga dolar e inicialmente albergando con 21 maga organizacion, ya queda el PCTQ el primer [[zona de libre comercio]] de Qatar.
== Mira tambien ==
* [[Lista de maga tema relacionao con Qatar]]
* [[Resumen de Qatar]]
[[Categoría:Maga Nacion na Asia]]
g2wqrr8w1tvhfnl9hmpe73qsr8prm9c
118897
118895
2026-10-11T08:40:21Z
ČarnaruskiVoin
13506
118897
wikitext
text/x-wiki
[[Archivo:Flag of Qatar.svg|thumb|250px|Bandera del Qatar]]
'''Qatar''' (دولة قطر, ''Dawlat Qaṭar''), oficialmente el [[Estado de Qatar]], es un nacion na [[Occidental Asia]]. Ta ocupa ele con el [[Geografia de Qatar|Peninsula de Qatar]] na el costa noreste del [[Arabigo Peninsula]] na el [[Medio Oriente]]; el unico frontera del pais es un [[frontera entre Arabia Saudita y Qatar]] al sur; y ta rodea el [[Persico Golfo]] con el resto del de suyo territorio. Ta separa el [[Golfo de Bahréin]], un ensenada del Persico Golfo, con Qatar del cercano [[Bahréin]]. El capital es [[Doha]], el hogar de mas del 80% del maga habitante del pais, y el terrestre superficie compuesto principalmente de plano y bajo desierto.
Gobernao Qatar como un [[hereditario monarquía]] por el [[Casa de Thani]] desde que ya afirma si [[Mohamed bin Thani]] con "un acuerdo, hinde un formal tratao" ({{lang-en|an agreement, not a formal treaty}}) con [[Bretaña]] na 1868 que ya reconoce con el de suyo distinto estado. Despues del gobierno del [[otomano Imperio]], ya queda Qatar un [[britanico protectorao]] na 1916 y ya gana con el [[independencia]] na 1971. El actual [[emir]] si [[Tamim bin Hamad Al Thani]], que ta tene con casi todo el maga ejecutivo, legislativo y judicial autoridad na virtud del [[Constitucion de Qatar]]. Ta designa ele con el [[primer ministro de Qatar|primer ministro]] y el [[gabinete de Qatar|gabinete]] del pais. Puede el [[Consultivo Asamblea de Qatar]], parcialmente electo, bloquea con legislacion, y ta tene ele con un limitao capacidad de dimiti con maga ministro.
A maga principio de 2017, el poblacion de Qatar fue 2.6 million: 313.000 maga qatari ciudadano y 2,3 maga millon de maga [[expatriao]]. El [[islam]] el [[oficial religon]]. Ta tene el pais con el aca-4 mas alto [[Lista de maga pais por IBP|IBP per capita]] na el mundo y el aca-11 mas alto [[Lista de maga pais por BNI|BNI per capita]]. Es el aca-42 pais na el [[Indice de Humano Desarrollo]], el aca-3 mas alto IHD na el [[arabe mundo]]. Qatar es uno del maga mayor mundial exportador de [[licuao natural gas]] y el mayor mundial emisor de [[dioxido de carbono]] per capita.
Na el aca-21 siglo, ya emerge Qatar, y como un [[importante aliado extra-OTAN]] del [[Estados Unidos]], y como un medio potencia en el arabe mundo. Ya crece el de suyo economía rapidamente gracias al de suyo riqueza na maga recurso, y ya crece el de suyo geopolitico poder gracias al de suyo grupo de maga medio, el [[red de maga medio Al Jazeera]], que ya soporta para maga rebelde grupo financieramente durante el [[Arabe Primavera]]. Tambien ta forma Qatar con parte del [[Consejo de Cooperacion para el maga Arabe Estado del Golfo]].
== Etimologia ==
Ya documenta si [[Plinio el Viejo]], un romano escritor, con el mas antiguo relato sobre el maga habitante del peninsula alrededor del maga mediao del primer siglo AEC, refiriendo a ellos como el maga ''Catharrei'', un designacion baka derivao del nombre de un local prominente asentamiento. Un siglo mas tarde, ya produci si [[Claudio Ptolomeo]] con el primer conocio mapa que ta representa con el peninsula, refiriendo a el como ''Catara''. Tambien ya referencia el mapa con un pueblo nombrao ''Cadara'' al este del peninsula. Exclusivamente usao el termino ''Catara'' (el [[gentilicio]] ''Cataraei'') hasta el aca-19 siglo, despues del cual ya emerge ''Katara'' como el mas reconocio ortografia. Eventualmente, después de cuanto variacion —"Katr", "Kattar" y "Guttur"—, adoptao el moderno derivao Qatar como el nombre del pais. Na el [[moderno estandar arabe]], pronunciao el nombre como {{IPA-ar|ˈqɑtˤɑr|}}, mientras que na el [[arabe del Golfo|local dialecto]] es {{IPA-ar|ˈɡɪtˤɑr|}}. Na chavacano (y español) ta usa kita con maga diferente aproximacion del nombre, kay ta usa el [[fonologia del arabe]] con maga sonido hinde frecuentemente incuntrao na el de kanaton maga idioma.
== Historia ==
{{AP|Historia de Qatar}}
=== Antigüedad ===
[[File:Excavated site on Al Khor Island.jpg|thumb|Excavacion de un sitio de [[maga casita|casita]] tinte na el [[isla de Jor]].]]
Ta remonta a casi 50,000 maga año antes del presente el humano habitacion na Qatar. Na el peninsula desenterrao maga asentamiento y maga herramienta desde el [[Edad de Piedra]]. Na en abandonao costero asentamientos descubierto maga [[mesopotamico]] artefacto originario del [[periodo de El Obeid]] (c. 6500-3800 AEC.) [[Al Da'asa]], un asentamiento situao na el occidental costa de Qatar, el mas importante sitio de El Obeid na el pais y baka ya aloja con un chico campamento de temporada.
Incuntrao na el [[isla de Jor]] maga materia del [[maga casita]] de [[Babilonia]], remontando al segundo milenio AEC. Ta atestigua esto al maga comercial relacion entre el maga habitante de Qatar y el maga casita na el actual [[Bahréin]]. Entre el maga descubrimiento ya tiene maga triturao [[concha]] de [[caracol]] y maga tiesto de maga vasija del maga casita. Sugerio que Qatar el mas temprano conocio sitio del produccion del tinte de maga concha, gracias a un industria de [[purpura de Tiro]] que ya existi na el costa controlao por el maga casita.
Na 224 EC, ya logra el [[sasanida Imperio]] con el control del maga territorio que ta rodea con el Persico Golfo. Ya desempeña Qatar con un papel na el comercial actividad del maga sasanida, aportando con al menos dos maga mercancía: el maga preciosa [[perla]] y el purpura tinte. Bajo el sasanido reino, ya conoce manada habitante de oriental Arabia con el [[cristianismo]] despues del dispersion del religion hacia el este por parte del maga mesopotamico cristiano. Construio maga monasterio y establecio otro maga asentamiento durante este epoca. Durante el ultimo parte del era cristiana (i.e. antes del [[expansion del islam]]) ya comprende Qatar con un region conocio como ''Beth Qatraye'' (que na el [[siríaco idioma]] ta significa "casa del maga qatarí"). Hinde limitao el region a Qatar: ya inclui tambien con [[Bahréin]], el [[isla Tarut]], [[Al-Khatt]] y [[Al-Hasa]].
Na 628, ya envia el islamico profeta si [[Mahoma]] con un musulman a un gobernante na el este de Arabia llamado si [[Munzir ibn Sawa Al-Tamimi]] con un peticion de que ya acepta ele y el de suyo maga sujeto con el islam. Ya accede si Munzir a este peticion, y na consecuencia, [[conversion al islam|ya converti al islam]] el mayoria del maga tribu arabe del region. A maga mediao del siglo, ya causa el [[musulman conquista de Persia]] con el caida del [[sasanida Imperio]].
=== Temprano y tardio islamico periodo (661–1783) ===
[[File:Abbasids850.png|thumb|left|El [[abasi califato]] na el de suyo mayor extension, c. 850 EC.]]
Descrito Qatar como un famoso centro de cria de maga caballo y maga camello durante el [[omeya califato]]. Durante el aca-8 siglo, ya comenza a beneficiar del de suyo comercialmente estrategico posicion na el Persico Golfo y ya convirti na un centro de comercio de perlas.
Durante el [[abasi califato]] ya ocurri sustancial desarrollo del perlero industria na el peninsula de Qatar. Ya hace el maga barco, que ya viaja de [[Basora]] al [[India]] y a [[China]], con maga escala na el maga puerto de Qatar durante este periodo. Na Qatar descubierto maga [[chino ceramica y porcelana]], maga [[cen]] de Occidental Africa y maga tailandes artefacto. Ta sugeri maga arqueologico resto, del aca-9 siglo, que ya utiliza el maga habitante de Qatar con el mayor riqueza para construi con maga vivienda y maga publico edificio de mayor calidad. Durante este periodo, construio mas de 100 maga casa de piedra, dos maga [[mezquita]] y un abasi fortaleza na [[Murwab]]. Cuando ya declina el prosperidad del califato na Iraq, ansina mismo ya declina na Qatar. Mencionao Qatar na el libro [[Mu'jam Al-Buldan]] por si [[Yaqut al-Hamawi]] del aca-13 siglo, que ya aludi al maga fino capa tejio a maga raya del maga qatari, y al habilidad del maga qatari na el mejora y acabado del maga [[lanza]].
Na 1253 ya controla el dinastia [[usfurida]] con el mayoria del occidental Arabia, pero na 1350 ya toma el principe de [[Ormuz (ciudad)|Ormuz]] con el control del region. Al reino ya proporciona el maga perla de Qatar con un principal fuente de maga ingreso. Na 1515, hace si [[Manuel I de Portugal]] con el Reino de Ormuz un vasallo de [[Portugal]]. Entonces ya apodera Portugal de un significativo parte de oriental Arabia na 1521. Na 1550, ya somete voluntariamente el maga habitante de [[Al-Hasa]] al dominio del maga otomano, prefiriendo con ellos al maga portugues.
=== Portugues era ===
Despues del caida del dinastía jabrid con el conquista de Bahréin por el maga portugues, ya queda el arabigo costa hasta [[Uqair|Al Hassa]] bajo el dominio y el influencia del portugues imperio, que ya elimina con maga intento del maga otomano de domina con el region, por el reconquista del [[castillo de Tarout]] o [[Asedio de Qatif (1551)]].
Excavao pa maga arqueologico descubrimiento desde uno del maga portugues fortaleza que ya servi de base para domina con el region como Ruwayda. Ta aparece el primero representacion de Qatar na el portugues mapa de si Luis Lázaro en 1563, mostrando con el "ciudad de Qatar" como una fortaleza. Expulsao el maga otomano, que ya mantene con un insignificante militar presencia na el area, por el tribu [[Bani Khalid (tribu)|Bani Khalid]] y [[Emirato de Bani Khalid|el de ellos emirato]] na 1670.
=== Bahreini y saudi gobierno (1783–1868) ===
[[File:Map of Catura (Qatar) 1794 (cropped).jpg|thumb|left|Un mapa de 1794 por si [[Samuel Dunn (matematico)|Samuel Dunn]] representando con ''Catura'' (al centro) na el [[occidental Arabia]].]]
Na 1766, ya migra de [[Kuwait]] a [[Zubarah]] na Qatar maga miembro del familia [[Al Jalifa]] del tribal confederacion [[Utub]]. Al hora del de ellos llegada, ya ejerce el Bani Khalid con un debil autoridad sobre la peninsula, a pesar del hecho de que ya goberna el de ellos maga lejano pariente con el mas grande aldea. Na 1783, ya invadi y ya anexa maga clan del [[Bani Utbah]], y maga aliado arabe tribu, con [[Bahréin]] del maga persa. Ya impone el maga Al Khalifa con el de ellos autoridad sobre Bahréin y ya conserva ellos con el de ellos jurisdiccion sobre Zubarah.
Tras el de suyo juramento como heredero principe del [[Emirato de Diriyah|maga wahabí]] na 1788, ya move si Saud ibn Abd al-Aziz para expandi con el wahabi territorio hacia el este, hacia el Persico Golfo y Qatar. Despues de derrota con el maga Bani Khalid na 1795, atacao el maga wahabi na dos maga frente. Ya asalta el maga otomano y el maga egipcio con el occidental frente, mientras que ya lanza el maga Al Khalifa na Bahréin y el maga [[omani]] con un ataque contra el oriental frente. Al entera del egipcio avance na el occidental frontera na 1811, ya reduci el emir wahabi con el de suyo maga guarnicion na Bahrein y Zubarah para redesplega con el maga tropa. Ya ventaja de este oportunidad si [[Said bin Sultain]], gobernante de [[Mascate]], y ya ataca con el maga wahabi guarnicion na el oriental costa, incendiando con el fortaleza de Zubarah. Despues de esto, efectivamente ya volve al poder el maga Al Khalifa.
[[File:Qatar, Zubarah (10), ruined city.JPG|thumb|Un parcialmente restaurao seccion del ciudad na maga ruina de [[Zubarah]].]]
Como castigo por el [[pirateria]], ya bombardea un buque del [[Britanico Compañia del maga Oriental India]] con [[Doha]] na 1821, destruyendo con el ciudad y obligando con maga ciento de maga residente a huir. Na 1825, establecio el [[Casa de Thani]] con el [[jeque]] si [[Mohamed bin Thani]] como el primero lider.
Masquen considerao Qatar como un [[dependiente territorio]] de Bahréin, ya enfrenta el maga Al Khalifa al oposicion del maga local tribu. Na 1867, ya envia el Al Khalifa, junto con el gobernante de [[Abu Dhabi]], con un masivo naval fuerza a [[Al Wakrah (ciudad)|Al Wakrah]] na un esfuerzo por aplasta con el maga qatari rebelde. Ya lleva esto al [[guerra entre Qatar y Bahréin]] de 1867–68, donde ya saquea el maga fuerza de Bahréin y de Abu Dhabi con Doha y Al Wakrah. Ya viola el maga bahreini hostilidad con el [[perpetuo tregua de paz y amistad]] ({{lang-en|Perpetual Truce of Peace and Friendship}}) de 1861. Debio al conjunto incursion, además del qatari contraataque, ya impone el britanico politico residente, el coronel si [[Lewis Pelly]], con otro tregua na 1868. El de suyo mision a Bahréin y Qatar, y el resultante tratao de paz, fueron maga hito, porque ya reconoce ellos implícitamente con el distincion de Qatar de Bahréin y ya reconoce ellos explicitamente con el posicion de si Mohammed bin Thani. Ademas de censura con Bahrein por el de suyo incumplimiento del acuerdo, ya negocia si Pelly con maga qatari jeque representao por si Mohammed bin Thani. El maga negociacion fueron el primera etapa na el desarrollo de Qatar como un gobernante de maga jeque.
=== Otomano periodo (1871–1915) ===
[[File:Qatar in Stielers Handatlas 1891 59.JPG|thumb|Qatar na un mapa de 1891 por si [[Adolf Stieler]], con [[Al Bidda]] como el principal asentamiento.]]
[[File:Olddoha2-771x410.jpg|thumb|left|Viejo ciudad de Doha, enero de 1904.]]
[[File:Barzan towers 3.jpg|thumb|left|Maga [[torre de Barzan]] son maga torre de vigilancia construido a maga final del aca-19 siglo y renovao na 1910 por si el jeque [[Mohammed bin Jassim Al Thani]].]]
Bajo el militar y politico presion del gobernador del otomano [[valiato de Bagdad]], si [[Midhat Baja]], ya somete el tribu gobernante Al Thani al otomano dominio na 1871. Ya impone el otomano gobierno con maga reformista medida (na turco, [[tanzimat]]) na cuanto al tributacion y el registro del propiedad para integra plenamente con este maga area na el imperio. A pesar del desaprobacion del maga local tribu, ya segui Al Thani a apoya con el otomano dominio. Ya estanca el maga qatari-otomano relacion, y na 1882 ya sufri dicho maga relacion con mas reves cuando ya nega el maga otomano a ayuda con si Al Thani na el de suyo expedicion a [[Khor Al Adaid]], ocupao por [[Abu Dhabi]]. Ademas, ya apoya el maga otomano con el otomano subdito si Mohammed bin Abdul Wahab, que ya intenta suplanta con si Al Thani como [[kaymakam]] de Qatar na 1888. Debio a esto, eventualmente ya rebela si Al Thani contra el maga otomano, que (segun ya cree si Al Thani) ya busca usurpa con el control del peninsula. Ya renuncia ele como kaymakam y ya deja de pagar con maga impuesto na agosto de 1892.
Na febrero de 1893, ya llega si Mehmed Hafiz Pasha na Qatar con el fin del busqueda de maga hinde pagao impuesto y la resistencia al oposición de si Jassim bin Mohammed al maga propuesto otomano administrativo reforma. Temiendo que ya enfrenta al [[muerte]] o al [[carcel]], ya retira si Jassim a Al Wajbah (16 km al oeste de Doha), acompañado por cuanto miembro del tribu. Ya incuntra negativa el exigencia de si Mehmed de que disolve si Jassim con el de suyo maga tropa y jura lealtad al maga otomano. Na marzo, ya encarcela si Mehmed con el hermano de Jassim y 13 maga prominente qatari tribal lider na el otomano [[corbeta]] ''Merrikh'' como castigo por el de suyo insubordinacion. Despues de que ya rechaza si Mehmed con un oferta para libera con el maga cautivo por una tarifa de 10.000 maga [[turco lira]], ya ordena ele con el avance de un columna de aproximadamente 200 maga soldao hacia el [[fortaleza de Al Wajbah]] de si Jassim bajo el mando de si Yusuf Effendi, ansina marcando con el inicio del [[batalla de Al Wajbah]].
El maga tropa de si Effendi fueron objeto de un intenso fuego de artilleria, por un considerable tropa de qatari infanteriía y caballeria, poco despues de llega a Al Wajbah. Ya retira ellos al fortaleza de Shebaka, antes de retira otra vez de un qatari incursion. Despues de este retiro al fortaleza de Al Bidda, ya sitia el avanzando columna de si Jassim con el fortaleza. El resultao fue el concesión de un derrota por parte del maga otomano, ademas el acuerdo de renuncia con el de ellos maga cautivo, a cambio del seguro paso del caballeria de si Mehmed Pachá a [[Hofuf]] por tierra. Masquen hinde ya gana Qatar con el lleno [[independencia]] del otomano Imperio, ya obliga el resultado del batalla con un tratao que mas tarde ya forma con el base del surgimiento de Qatar como autonomo pais dentro del imperio.
=== Britanico periodo (1916–1971) ===
[[File:Zubarah Fort1.jpg|thumb|left|El [[Fuerte de Zubarah]] construio na 1938.]]
Por el [[anglo-otomano Acuerdo de 1913]], ya acorda el maga otomano renuncia con el de ellos reclamacion sobre Qatar y retira de Doha con el de ellos guarnicion. Sin embargo, con el estallido del [[Primer Mundial Guerra]], hinde hecho nada para llevar a cabo esto, y ya permanece el guarnicion na el fuerte de Doha, masquen ya disminui el de suyo numero a medida que ya deserta el maga hombre. Na 1915, con el presencia de maga britanico [[cañonera]] na el puerto, ya persuadi si Abdullah bin Jassim Al Thani (pro-britanico ele) con el resto para que abandona con el fuerte, ansina que cuando, siguiente el mañana, ya acerca el maga britanico tropa, incuntrao desierto el fortaleza.
Ya convirti Qatar na britanico protectorao el 3 de noviembre de 1916, cuando ya firma el Reino Unido con un tratao con el jeque si Abdullah bin Jassim Al Thani para que somete Qatar al britanico [[maga Estado del Tregua|sistema de administracion por tregua]]. Ya reserva el tratado con el maga exterior asunto y el defensa al Reino Unido, pero ya permiti con el interno autonomia. Si bien ya acorda si Abdullah hinde entabla con maga relacion con ningun otro potencia sin el previo consentimiento del britanico gobierno, ya garantiza el segundo con el proteccion de Qatar contra la agresión por mar, ademas del provision del "maga buen oficina" ({{lang-en|good offices}}) na caso de ataque por tierra. Deliberadamente vago este segundo empresa.
El 5 de mayo de 1935, mientras permiti con un petrolero concesion con el [[Anglo-Persian Oil Company]], ya firma si Abdullah con otro tratao con el britanico gobierno que ya concede a Qatar con proteccion contra maga interno y externo amenaza. Na 1939 descubierto maga reserva de petroleo por primera vez, masquen ya demora el [[Segundo Mundial Guerra]] con el explotacion y desarrollo.
[[File:British stamp overprinted for use in Qatar 1 April 1957.jpg|right|thumb|Un britanico sello del [[serie Wilding]], emitio el 1 de abril de 1957, y sobreimpreso para uso na Qatar.]]
Ya cambia el foco del maga britanico interes na Qatar despues del Segunda Mundial Guerra, gracias al [[independencia del India]], el [[Particion del India|creacion]] de [[Pakistan]] na 1947 y el desarrollo del petroleo na Qatar. Na 1949, ya significa el nombramiento del primer britanico politico funcionario na Doha, si John Wilton, con un fortalecimiento del maga anglo-qatari relacion. Ya comenza el maga exportacion de petroleo na 1949, despues del cual ya queda el maga petrolero ingreso el principal fuente de maga ingreso para el pais, kay ya declina el comercio de maga perla. Ya financia este maga ingreso con el expansion y modernizacion del [[infraestructura]] de Qatar.
Cuando ya anuncia Gran Bretaña oficialmente na 1968 que ay retira del Persico Golfo na un plazo de tres maga año, ya uni Qatar al maga conversacion con Bahréin y otros siete [[maga Estado del Tregua]] para crea con un federacion. Debio a maga regional disputa, sin embargo, ya retira Qatar y Bahréin del maga conversacion y ya queda maga independiente estado separao del maga Estado del Tregua, que mas tarde ya queda el maga [[Emiratos Unidos del Arabo]].
=== Independencia y mas tarde (1971–2000) ===
Na virtud de un acuerdo con el Reino Unido, el 3 de septiembre de 1971, terminao el "maga especial disposicion por maga tratao" ({{lang-en|special treaty arrangements}}) "incompatible con el pleno internacional responsabilidad como un soberano e independiente estado" ({{lang-en|inconsistent with full international responsibility as a sovereign and independent state}}).
[[File:Corniche Doha Qatar.jpg|thumb|left|Maga tradicional [[dhow (nautica)|dhow]] frente al horizonte del Bahia del Oeste como visto desde el [[corniche de Doha]].]]
Na 1991, ya desempeña Qatar con un significante papel na el [[guerra del Golfo]] particularmente durante el [[Batalla de Khafji]] donde ya recorre el maga qatari tanque con el maga calle del ciudad y ya proporciona con apoyo de combate al maga unidad del [[nacional guardia de Arabia Saudita]] que ya enfrenta con el maga tropas del [[iraqui ejercito]]. Ya permiti Qatar que el maga canadiense tropa del coalicion utiliza con el pais como [[Canada Dry One|aereo base]] para lanza con maga aeronave na servicio de [[aereo patrulla de combate]], ademas de permiti que el maga estadounidense y frances fuerza opera na el de suyo territorio.
Na 1995, [[Golpe de estado na Qatar de 1995|ya toma control]] el emir si [[Hamad bin Jalifa Al Thani]] del de suyo padre si [[Jalifa bin Hamad Al Thani]], con el apoyo del maga armao fuerza y el gabinete, ademas de maga vecino estado y Francia. Bajo Emir Hamad, ya experimenta Qatar con un moderao grado de liberalizacion, incluio el lanzamiento de la cadena de television [[Al Jazeera]] (1996), el aprobacion del femenino sufragio o del derecho al voto na el maga municipal eleccion (1999), el redaccion del de suyo primer escrio constitucion (2005) y el inauguracion de un romano catolico iglesia (2008).
=== Aca-21 siglo ===
Ya crece rapidamente el economia de Qatar y el de suyo estatus como regional potencia na el decada de 2000. Segun el ONU, el economico crecimiento del nación, medido por el BIP, el mas rapido del mundo durante este decada. Ya radica el base de este crecimiento na el explotacion de [[natural gas]] na el Campo Norte durante el decada de 1990. Al mismo tiempo, ya triplica el poblacion entre 2001 y 2011, principalmente por el afluencia de [[expatriao|maga extranjero]].
Na 2003, ya servi Qatar como sede el del [[Central Mando del maga Estados Unidos]] y uno del maga principal sitio de lanzamiento del [[invasion de Irak de 2003]]. Na marzo de 2005, ya mata un [[ataque suicida]] con un britanico maestro al Doha Players Theatre, chocando con el pais, que hinde ya experimenta previamente con maga acto de [[terrorismo]]. Realizao el bombardeo por si Omar Ahmed Abdullah Ali, un egipcio residente na Qatar con maga presunto vinculo con [[Al Qaeda na el arabigo peninsula]]. Debio al aumentao influencia de Qatar y el de suyo papel durante el [[Arabe Primavera]], especialmente durante el [[rebelion en Bahréin de 2011-2012]], [[subsidiario guerra qatari-saudita|ya empeora maga tension de largo plazo con Arabia Saudita]], el vecino Emiratos Unidos del Arabo y Bahréin.{{cita requerida}}
Na 2010, ya gana Qatar con el derecho de alberga con el [[Mundial Copa de Futbol de 2022]], ansina que ele el primer país del Medio Oriente seleccionao para alberga con el torneo. Ya aumenta el adjudicacion con el inversion y el maga desarrollo dentro del nacion durante el decada de 2010. Na junio de 2013, ya queda el jeque si [[Tamim bin Hamad Al Thani]] el emir de Qatar despues de que ya entrega el de suyo padre con el poder. Ya prioriza el jeque Tamim con el mejora del domestico bienestar del maga ciudadano, incluio el establecimiento de maga avanzao sistema de salud y educacion, ademas de un expansion del infraestructura del pais para alberga con el Mundial Copa de Futbol de 2022. Ya alberga Qatar con el Copa desde 21 de noviembre al 18 de diciembre, ansina que ele el primer pais de arabe y musulman mayoria na hace con esto, y el tercer asiatico pais na hace con esto despues del [[Mundial Copa de Futbol de 2002]] na Japón y Corea del Sur.
== Cultura ==
{{VT|Lista de maga fiesta de Qatar}}
Similar el [[cultura de Qatar]] al de otro maga pais na [[Oriental Arabia]], debio a un significante influencia del [[islam]]. Ya desempeña el [[nacional dia de Qatar]], celebrao anualmente el 18 de diciembre, con un papel importante na el desarrollo de un sentido de nacional identidad. Observao na recuerdo del ascension al trono de si [[Jassim bin Mohammed Al Thani]] y el de suyo posterior unificacion del maga diverso tribu del pais.
El [[Cultural Festival de Doha]] es uno del maga cultural actividad que ta lleva a cabo anualmente el Qatari Ministerio de Cultura, Artes y Patrimonio, establecio na 2002 con el fin de difundi con el qatari cultura dentro y fuera de Qatar.{{cita requerida}}
=== Arte ===
{{AP|Maga practica de recoleccion del familia Al-Thani|Arte de Qatar|Publico arte na Qatar}}
[[File:Old Palace at National Museum of Qatar.jpg|thumb|[[Nacional Museo de Qatar]] na Doha.]]
Ya presta especial atencion al arte el maga qatari funcionario, especialmente el familia Al Thani y el hermana del emir de Qatar, si [[Al-Mayassa bint Hamad Al Thani]]. Ta lidera esta mujer con el Autoridad de [[maga Museo de Qatar]]. Considerao el [[Museo de islamico arte de Doha]] (inaugurao na 2008) como uno del maga mejor museo del region. Na cuanto a este y cuanto otro qatari museo, como el [[arabe Museo de arte moderno]], ta cae este maga museo bajo el autoridad del maga Museo de Qatar, que ta patrocina tambien con maga artistico evento na el extranjero, como maga grand exposicion de si Takahashi Murakami na Versalles (2010) y si Damien Hirst na Londres (2012).
[[File:IslamicArtMuseumDohaSkyline.jpg|thumb|[[Museo de islamico arte de Doha]].]]
Qatar el mayor comprador del mundo na el mercado del arte por valor. Ta desarrolla el qatari cultural sector para permiti que ta alcanza el pais con el mundial reconocimiento, al de suyo vez con el fin de contribui al desarrollo de un pais que ta confia principalmente na el de suyo industria del gas.
=== Literatura ===
Ta remonta al aca-19 siglo el [[literatura de Qatar]]. Originalmente, el [[arabe poesia|escrio poesia]] el mas comun forma de expresion. Ya forma si Abdul Jalil Al-Tabatabai y si Mohammed bin Abdullah bin Uthaymeen, dos maga poeta del maga principio del aca-19 siglo, con el corpus del mas antiguo escrio poesia de Qatar. Mas tarde ya cae el poesia na desgracia, despues de que ya comenza Qatar a cosecha con el maga beneficio del maga exportacion de petroleo a maga mediao del aca-20 siglo, ansina que ya abandona manada qatari con el de ellos [[maga beduino]] tradicion a favor de maga mas urbano estilo de vida.
Debio al creciente numero de maga qatari que ya comenza a recibi con un formal educacion durante el decada de 1950, ademas de otro maga significativo social cambio, ya atestigua 1970 con el introduccion del primer [[antologia]] de maga [[cuento]], y na 1993 publicao el maga primer [[novela]] de local autoria. Ya retene el poesia —na particular, el predominante [[nabati]] forma— con algo de importancia, pero despues de poco ya eclipsa otro maga literario tipo conele. A diferencia del mayoria del otro maga formas de arte na el qatari sociedad, ya involucra el maga mujer na el movimiento del moderno literatura na un magnitud similar al del maga hombre.
=== Maga medio ===
[[File:Al Jazeera English Newsdesk.jpg|thumb|El redaccion de [[Al Jazeera English]], un qatari canal de maga noticia.]]
Ya clasifica [[Freedom House]] con el [[maga medio de comunicacion na Qatar]] como "hinde libre" ({{lang-en|not free}}) na el informe del [[Freedom of the Press (informe)|Freedom of the Press]] ({{lang-en|Libertad del Prensa}}) de 2014. Ya inicia el televisivo transmision na 1970. [[Al Jazeera]] es un principal cadena de television con sede na Doha. Ya empeza Al Jazeera na 1996 como un satelite del cadena del mismo nombre, enfocando na el maga noticia na [[arabe idioma|arabe]], y desde entonces ya expandi a un global red de cuanto especializao canal de television.
Hay maga informe de que comun el [[autocensura]] entre el maga periodista, particularmente na cuanto al gobierno y [[Casa de Thani|gobernante familia]] de Qatar. Ilegal el maga critica al gobierno, al emir y al gobernante familia na el maga medio de comunicacion. Segun el articulo 46 del periodistico ley, "hinde criticable el emir del estado de Qatar y hinde atribuio ningun declaracion a ele sino con un escrio permiso del gerente del de suyo oficina." Ademas, procesable el maga periodista por insulta con el islam.
Na 2014, ratificao un Ley de Prevencion del Cibercrimen. Segun el maga informe, ta restringi el ley con el libertad del prensa y conlleva con maga pena de prision y maga multa por maga amplio razon, como poner na peligro con el local paz o publica con maga [[falso noticia]]. Ya declara el Centro del Golfo para el maga Humano Derecho que el ley es un amenaza al libertad de expresion y ta pedi con el revocacion de maga cierto articulo del ley.
A pesar de todo esto, na maga reciente año hay un expansion del prensa. Actualmente hay [[Lista de maga periodico de Qatar|siete maga periodico na circulacion na Qatar]], publicao cuatro na arabe y tres na ingles. Tambien impreso na Qatar maga local edicion de maga periodico del India, Nepal y Sri Lanka.{{cita requerida}}
Na cuanto al infraestructura de telecomunicacion, Qatar el pais del Medio Oriente mejor clasificao na el Indice de Preparacion del Red ({{lang-en|Network Readiness Index, NRI}}) del [[Mundial Economico Foro]], un indicator para determina con el nivel de desarrollo del maga tecnologia del [[informacion]] y el [[comunicacion]] de un pais. Clasificao Qatar numero 23 por lo general na el ranking del NRI de 2014, sin maga cambio desde 2013.
=== Musica ===
Basao el [[musica de Qatar]] na el poesia, canto y baile del [[maga beduino]]. Realizao el maga tradicional baile de Doha el maga viernes por el tarde; uno de aquel maga baile es el [[ardah]], un estilizada marcial baile interpretao por dos maga fila de maga bailarin, acompañao por un variedad de maga [[instrumento de percusion]], incluio ''[[al-ras (tambor)|al-ras]]'' (un gran [[tambor]] cuyo cuero calentao por un abierto fuego), maga [[pandereta]] y maga [[platillo]] con maga chico tambor. Otro maga instrumento de percusion utilizao na el folclorico musica son ''galahs'' (un alto vasija de barro) y maga vaso de [[hojalata]] conocio como ''tus'' o ''tasat'', tipicamente usao junto con un ''tabl'', un longitudinal tambor golpeao con un palo. Tambien comunmente usao maga [[instrumento de cuerda]], como el [[arabe laud]] o ''ud'' y el ''[[rebab]]''.
=== Deporte ===
El [[futbol]] el mas popular [[deporte na Qatar]], tanto na maga termino de maga jugador como de maga espectador. Poco despues del afiliacion del [[Asociacion de Futbol de Qatar]] con el [[FIFA]] na 1970, ya veni uno del maga primero internacional reconocimiento del pais na 1981, cuando ya emerge el [[seleccion de futbol sub-20 de Qatar]] como subcampeona a Occidental Alemania na el [[Mundial Copa de Juvenil Futbol de 1981]], tras un derrota de 4–0 na el final. A nivel superior, ya alberga Qatar tres maga vez con el [[Asiatico Copa]]: [[Asiatico Copa 1988|na 1988]], [[Asiatico Copa 2011|na 2011]] y [[Asiatico Copa 2023|na 2023]]. Por primera vez na el historia del pais, ya gana el [[seleccion de futbol de Qatar]] con el Asiatico Copa, na el [[Asiatico Copa 2019|edicion de 2019]] albergao por el Emiratos Unidos del Arabo, derrotando con [[seleccion de futbol de Japón|Japón]] 3–1 na el [[Final del Asiatico Copa 2019|final]]. Ya gana ellos con el siete maga partido, concediendo con un solo gol en todo el torneo (contra Japón, como notao mas arriba). Como maga anfitrion y maga vigente campeon na el siguiente edicion de 2023, ya retene exitosamente Qatar con el de suyo título, derrotando con [[seleccion de futbol de Jordania|Jordania]] na el [[Final del Asiatico Copa 2023|final]].
El 2 de diciembre de 2010, ya gana Qatar con el de suyo candidatura para alberga con el [[Mundial Copa de Futbol de 2022]], a pesar de nunca antes calificando para el [[maga final del Mundial Copa de Futbol]]. Ya construi el maga local organizador con siete maga nuevo estadio y ya expandi con un existente estadio para este evento. Ya saluda entusiasticamente el region del Persico Golfo con el ganador candidatura de Qatar para el Mundial Copa de 2022, kay ya representa ele con el primer seleccion un pais del Medio Oriente para alberga con el torneo. Al mismo tiempo, [[Qatargate|ya tiene mucho controversia]], incluio maga acusacion de [[soborno]] e interferencia na el investigacion del presunto soborno. Tambien ya opone el maga europeo asociacion de futbol a que ya celebra el Mundial Copa 2022 na Qatar por un variedad de maga razon, del impacto del maga calido temperatura na el fisico estado del maga jugador, al posible disrupcion na el maga calendario del maga europeo nacional liga si reprogramao el evento para el invierno. Na mayo de 2014, acusao un qatari oficial de futbol, si [[Mohammed bin Hammam]], de realiza con maga pago por un total de £3,000,000 a maga funcionario a cambio del de suyo apoyo al candidatura de Qatar. Ya absolve un investigacion del FIFA, sobre el proceso de licitacion na noviembre de 2014, con Qatar de cualquier delito.
Ya produci ''[[The Guardian]]'', un britanico nacional diario, con un corto documentario llamao "El abuso y el explotacion del maga migrante trabajador preparando con el emirato para 2022" ({{lang-en|Abuse and exploitation of migrant workers preparing emirate for 2022}}). Ya informa un investigacion de 2014 por ''The Guardian'' que el maga migrante trabajador, que ya construi con maga lujoso oficina para el maga organizador del Mundial Copa 2022, hinde pagao na mas de un año, y ahora "ta trabaja ilegalmente na maga alojamiento infestao de maga cucaracha" ({{lang-en|working illegally from cockroach-infested lodgings}}). Para 2014, na cuanto al maga nepales migrante involucrao na el construccion de infraestructura para el Mundial Copa 2022, ya muri uno cada dos maga dia. Ya responde el organizador comite de Qatar 2022 a manada acusacion afirmando que organiza con el Mundial Copa na Qatar ya actua como un "catalizador para el cambio" ({{lang-en|catalyst for change}}) na el region. Segun un articul de febrero de 2021 na ''The Guardian'', ya muri alrededor de 6,500 maga migrante trabajador de construccion. Sin embargo, el Mundial Copa na Qatar el mas caro na el historia del competicion, con manada moderno tecnologia, y ya expresa mucho gente con el de suyo satisfaccion con el manejo del torneo por parte del pais.
Estimao que ya alberga Qatar con un base de 1.6 maga millon de maga aficionao al [[futbol]] para el Mundial Copa 2022. Sin embargo, esperao que hasta con el trabajo de construccion na el pais, ya aumenta el maga disponible habitacion de hotel de 37,000 a 70,000 lang al final de 2021. Na diciembre de 2019, ya contacta el maga oficial del Qatari Mundial Copa con el maga organizador del [[Festival de Glastonbury]] na Inglaterra y el [[Festival de Coachella]] na el maga Estados Unidos, para planea con maga enorme camping na el desierto para maga mil de maga aficionao al futbol. Segun maga informe, ya tene el maga camping, na el maga afuera del ciudad, con maga bar con licencia, maga restaurante, maga instalacion de lavao y hasta entretenimiento (aparte del juego mismo).
Masquen el futbol el mas popular deporte, ya experimenta otro maga deporte de equipo con considerable exito na el nivel superior. Na 2015, ya emerge el [[seleccion de balonmano de Qatar]] como subcampeon a [[Francia]] na el [[Mundial Campeonato de Masculino Balonmano de 2015]] como maga anfitrion, masquen ya mancha manada controversia (con respecto al anfitrion nacion y el de suyo equipo) con el torneo. Ademas, na 2014, ya gana Qatar con el mundial campeonato na el masculino torneo del [[Mundial Copa de Baloncesto 3x3]].
Popular el [[criquet]] entre el [[diaspora del sur de Asia]] na Qatar. El casual [[callejero críquet]] el mas popular formato del juego, pero desde 1999 el [[Qatar Cricket Association]] un miembro del [[Internacional Consejo de Críquet]] (ICC) y ta juga regularmente el maga masculino y femenino seleccion na el maga competicion del ICC. El primario campo de criquet na Qatar es el [[West End Park International Cricket Stadium]].
El baloncesto es un desarrollao deporte entre el maga asiaticos na Qatar. Ya alberga Qatar{{cita requerida}} con este maga torneo: el [[Campeonato de Asia del FIBA 2005]], el [[Campeonato 3x3 de Asia del FIBA 2013]], el [[Under-18 Campeonato de Asia del FIBA 2014]] y el [[Under-16 Campeonato de Asia del FIBA 2022]]. Ay alberga Qatar con el [[Mundial Copa de Baloncesto de 2027]], ansina que Qatar el primer arabe pais na alberga con el Mundial Copa de Baloncesto.
Ya alberga el [[Khalifa International Tennis and Squash Complex]] na Doha con el [[WTA Finals]] na el femenino tenis entre 2008 y 2010. Ta celebra anualmente Doha con el [[Torneo de Qatar]] para el [[WTA]]-Premier. Desde 2002, ya alberga Qatar con el anual [[Tour de Qatar]], un ciclista carrera na seis maga etapa. Cada febrero, ta competi el maga ciclista na el maga carretera a traves del llanura de Qatar durante seis maga dia. Ta cubri cada etapa con un distancia de mas de 100 km, masquen el contrarreloj usualmente un mas corto distancia. Ta organiza el Ciclista Federacion de Qatar ({{lang-en|Qatar Cycling Federation}}) con el Tour de Qatar para maga profesional ciclista na el categoria de Masculino Elite.
Ta tene el equipo de paracaidismo del Ejercito de Qatar con cuanto diferente disciplina de paracaidismo clasificao entre el maga mejor nacion del mundo. Ta actua anualmente el equipo nacional de paracaidismo de Qatar durante el Nacional Dia de Qatar y otro maga gran evento, como el antedicho Mundial Campeonato de Masculino Balonmano de 2015. Cuatro maga vez ya alberga Doha con el oficial [[Mundial Campeonato de maga Club del FIVB]] y tres maga vez con el [[Mundial Campeonato de Femenino Voleibol del FIVB]], ademas de alberga con el [[Asiatico Campeonato de Masculino Voleibol]] na 1997.
== Educacion ==
{{AP|Educacion na Qatar}}
[[File:Entrance to Student Center in Education City.jpg|thumb|left|El Estudiantil Centro na el [[Ciudad del Educacion de Doha]]. Ta alberga el Ciudad del Educacion con maga vario educacional facilidad, incluio maga campus satelite de ocho maga internacional universidad.]]
Ya contrata Qatar con el [[Corporacion RAND]] para reforma con el de suyo sistema de educacion K–12. Gracias al [[Qatar Foundation]], ya construi el pais con el [[Ciudad del Educacion de Doha]], un campus que ta alberga con maga local rama del [[Medico Centro Weill Cornell]], el [[Carnegie Mellon School of Computer Science]], el [[Universidad de Georgetown]], el [[Universidad del noroeste (Qatar)|Universidad del noroeste]], el [[Universidad de Texas A&M]], el [[Virginia Commonwealth University School of the Arts]] y otro maga occidental institucion.
[[Maga pais por tasa de alfabetizacion|El tasa de analfabetismo]] fue de 3.1% para el maga hombre y 4.2% para el maga mujer na 2012, el mas bajo del [[arabeparlante]] mundo y el aca-86 na el mundo. Para el maga ciudadano, obligatorio el educacion K–12 (desde el jardin de maga infante hasta el secundario escuela) provisto por el qatari gobierno. El [[Universidad de Qatar]], fundao na 1973, el mas antiguo y mas grande institucion de superior educacion del pais.
Na noviembre de 2002, ya crea el Emir si Hamad bin Khalifa Al Thani con el [[Supremo Consejo de Educacion (Qatar)|Supremo Consejo de Educacion]]. Ta dirige y ta controla el Consejo con el educacion para todo el maga edad, desde el preescolar nivel hasta el universitario nivel, incluio el iniciativo "Educacion para un nueva era" ({{lang-en|Education for a New Era}}), establecio para trata de posiciona con Qatar como un lider na el educativo reforma. Segun el [[Webometrics Ranking of World Universities]], el maga mejor clasificao universidad del pais son el [[Universidad de Qatar]] (aca-1,881 na el mundo), el [[Universidad de Texas A&M]] (aca-3,905) y el [[Medico Centro Weill Cornell]] (aca-6,855).
[[File:QatarUniversityEastView.jpg|thumb|right|El [[Universidad de Qatar]], visto desde el este.]]
Na 2009, ya establece Qatar con el [[Parque de Ciencia y Tecnologia de Qatar]] na el Ciudad del Educacion para vincula con aquel maga universidad con el industrial sector. El Ciudad del Educacion tambien el hogar de un totalmente [[acreditacion del educacion|acreditao]] escuela del [[Organizacion del Internacional Bachillerato]], [[Qatar Academy]]. Ademas, ya inaugura dos maga canadiense institucion —el [[College of the North Atlantic]] (sede na [[Terranova y Labrador]]) y el [[Universidad de Calgary]]— con maga campus na Doha. Tambien ya establece otro maga [[Educacion con maga fin de lucro|universidad con maga fin de lucro]] con maga campus na el ciudad.
Na 2012, clasificao Qatar el tercero desde el ultimo lugar del 65 maga pais del [[OECD]] que ya participa na el [[informe PISA]] de [[matematica]], y maga habilidad de [[lectura]] para maga joven de 15 y 16 maga año, a pesar de tene con el mas alto ingreso per capita del mundo. Clasificao Qatar como el aca-50 na el [[global indice de innovacion]] na 2023, desde el aca-65 puesto na 2019.
Como parte del de suyo nacional estrategia de desarrollo, ya esboza Qatar con un estrategico plan de 10 maga año para mejora con el nivel de educacion. Ya pone na marcha el gobierno con maga programa de educativo extension, como [[Al-Bairaq]]. Lanzao Al-Bairaq na 2010 con el fin de provee al maga estudiante de secundaria con el oportunidad de experimenta con un entorno de investigacion na el [[Centro de maga Avanzao Material]] del Universidad de Qatar. Ta abarca el programa con el maga campo [[CTIM]] y el maga [[idioma]].
Lanzao na 2006 como parte de un iniciativa del [[Qatar Foundation]], creao el [[Qatar National Research Fund]] con el fin obtene con maga publico fondo para el cientifico investigacion. Ta funciona el fondo como un medio para diversifica con economia del pais, pasando de un economia basao principalmente na el petroleo y el gas a un [[economia del conocimiento|economia basao na el conocimiento]]. Ya establece el Qatar Foundation con el [[Parque de Ciencia y Tecnologia de Qatar]] na marzo de 2009 como un intento de ayuda con el transicion del pais hacia una economia del conocimiento. Con un capital semilla de 800 maga millon de maga dolar e inicialmente albergando con 21 maga organizacion, ya queda el PCTQ el primer [[zona de libre comercio]] de Qatar.
== Mira tambien ==
* [[Lista de maga tema relacionao con Qatar]]
* [[Resumen de Qatar]]
[[Categoría:Maga Nacion na Asia]]
p3mbtkpy12dynhzdftiom567irjlft6
Nueva York (ciudad)
0
21301
118875
98029
2026-10-11T08:23:26Z
ČarnaruskiVoin
13506
ČarnaruskiVoin trasladó la página [[New York (ciudad)]] a [[Nueva York (ciudad)]]
98029
wikitext
text/x-wiki
[[File:NYC Montage 2014 4 - Jleon.jpg|thumb]]
'''New York''' (''New York City'') el primero es una ciudad na estado de [[New York]], [[Estados Unidos]], tiene un estimado de 784.00 kilometro cuadrado.
Comporme del 2017 census este tiene populacion de 8,622,698 personas.
{{Stub}}
[[categoría:Estados Unidos]]
2aynrcc2a5gjdsolr1cedd1i145e0n2
118878
118875
2026-10-11T08:26:53Z
ČarnaruskiVoin
13506
118878
wikitext
text/x-wiki
[[File:NYC Montage 2014 4 - Jleon.jpg|thumb]]
'''Nueva York''' (en [[idioma inglés|inglés]] ''New York'') el primero es una ciudad na estado de [[Nueva York (estado)|Nueva York]], [[Estados Unidos]], tiene un estimado de 784.00 kilometro cuadrado.
Comporme del 2017 census este tiene populacion de 8,622,698 personas.
{{Stub}}
[[categoría:Estados Unidos]]
io0tvcqpjpgaw18zm9vyilcjnhkwi1v
Módulo:Params
828
25501
118872
118869
2026-10-11T04:24:30Z
Grufo
16734
Update from [[d:Special:GoToLinkedPage/mediawikiwiki/Q122696746|master]] using [[mw:Synchronizer| #Synchronizer]]
118872
Scribunto
text/plain
require[[strict]]
--- ---
--- PRIVATE ENVIRONMENT ---
--- ________________________________ ---
--- ---
--[[ Abstract utilities ]]--
----------------------------
-- Helper function for `string.gsub()` (for managing zero-padded numbers)
local function zero_padded (str)
return ('%03d%s'):format(#str, str)
end
-- Helper function for `table.sort()` (for natural sorting)
local function natural_sort (var1, var2)
return var1:gsub('%d+', zero_padded) < var2:gsub('%d+', zero_padded)
end
-- Return a copy or a reference to a table
local function copy_or_ref_table (src, refonly)
if refonly then return src end
local newtab = {}
for key, val in pairs(src) do newtab[key] = val end
return newtab
end
-- Copy at most N items (of all kinds) from `src` to `dest` and return `dest`
local function copy_table_maxn (dest, src, len)
local idx = 1
for key, val in pairs(src) do
dest[key], idx = val, idx + 1
if idx > len then break end
end
return dest
end
-- Remove some numeric elements from a table, shifting everything to the left
local function remove_numeric_keys (tbl, idx, len)
local cache, tmp = {}, idx + len - 1
for key, val in pairs(tbl) do
if type(key) == 'number' and key >= idx then
if key > tmp then cache[key - len] = val end
tbl[key] = nil
end
end
for key, val in pairs(cache) do tbl[key] = val end
end
-- Make a reduced copy of a table (shifting in both directions if necessary)
local function copy_table_reduced (tbl, idx, len)
local ret, tmp = {}, idx + len - 1
if idx > 0 then
for key, val in pairs(tbl) do
if type(key) ~= 'number' or key < idx then
ret[key] = val
elseif key > tmp then ret[key - len] = val end
end
elseif tmp > 0 then
local nshift = 1 - idx
for key, val in pairs(tbl) do
if type(key) ~= 'number' then ret[key] = val
elseif key > tmp then ret[key - tmp] = val
elseif key < idx then ret[key + nshift] = val end
end
else
for key, val in pairs(tbl) do
if type(key) ~= 'number' or key > tmp then
ret[key] = val
elseif key < idx then ret[key + len] = val end
end
end
return ret
end
-- Make an expanded copy of a table (shifting in both directions if necessary)
local function copy_table_expanded (tbl, idx, len)
local ret, tmp = {}, idx + len - 1
if idx > 0 then
for key, val in pairs(tbl) do
if type(key) ~= 'number' or key < idx then
ret[key] = val
else ret[key + len] = val end
end
elseif tmp > 0 then
local nshift = idx - 1
for key, val in pairs(tbl) do
if type(key) ~= 'number' then ret[key] = val
elseif key > 0 then ret[key + tmp] = val
elseif key < 1 then ret[key + nshift] = val end
end
else
for key, val in pairs(tbl) do
if type(key) ~= 'number' or key > tmp then
ret[key] = val
else ret[key - len] = val end
end
end
return ret
end
-- Given a table, create two new tables containing the sorted list of keys
local function get_sorted_key_list (tbl, sort_fn)
local nums, words, nn, nw = {}, {}, 1, 1
for key, val in pairs(tbl) do
if type(key) == 'number' then nums[nn], nn = key, nn + 1
else words[nw], nw = key, nw + 1 end
end
table.sort(nums)
table.sort(words, sort_fn)
return nums, words, nn - 1, nw - 1
end
-- Parse a parameter name string and return it as a string or a number
local function get_param_name (par_str)
local ret = par_str:match'^%s*(.-)%s*$'
if ret ~= '0' and ret:find'^%-?[1-9]%d*$' == nil then return ret end
return tonumber(ret)
end
-- Move a key from a table to another, but only if under a different name and
-- always parsing numeric strings as numbers
local function steal_if_renamed (val, src, skey, dest, dkey)
local realkey = get_param_name(dkey)
if skey ~= realkey then dest[realkey], src[skey] = val, nil end
end
--[[ Public strings ]]--
------------------------
-- Special match keywords (functions and modifiers MUST avoid these names)
local mkeywords = {
['or'] = 0,
pattern = 1,
plain = 2,
strict = 3
}
-- Sort functions (functions and modifiers MUST avoid these names)
local sortfunctions = {
alphabetically = false,
naturally = natural_sort
}
-- Callback styles for the `mapping_*` and `renaming_*` class of modifiers
-- (functions and modifiers MUST avoid these names)
--[[
Meanings of the columns:
col[1] = Loop type (0-3)
col[2] = Number of module arguments that the style requires (1-3)
col[3] = Minimum number of sequential parameters passed to the callback
col[4] = Name of the callback parameter where to place each parameter name
col[5] = Name of the callback parameter where to place each parameter value
col[6] = Argument in the modifier's invocation that will override `col[4]`
col[7] = Argument in the modifier's invocation that will override `col[5]`
A value of `-1` indicates that no meaningful value is stored (i.e. `nil`)
]]--
local mapping_styles = {
names_and_values = { 3, 2, 2, 1, 2, -1, -1 },
values_and_names = { 3, 2, 2, 2, 1, -1, -1 },
values_only = { 1, 2, 1, -1, 1, -1, -1 },
names_only = { 2, 2, 1, 1, -1, -1, -1 },
names_and_values_as = { 3, 4, 0, -1, -1, 2, 3 },
names_only_as = { 2, 3, 0, -1, -1, 2, -1 },
values_only_as = { 1, 3, 0, -1, -1, -1, 2 },
blindly = { 0, 2, 0, -1, -1, -1, -1 }
}
-- Memory slots (functions and modifiers MUST avoid these names)
local memoryslots = {
h = 'header',
f = 'footer',
i = 'itersep',
l = 'lastsep',
n = 'ifngiven',
p = 'pairsep',
s = 'oxfordsep'
}
-- Possible trimming modes for the `parsing` modifier
local trim_parse_opts = {
trim_none = { false, false },
trim_positional = { false, true },
trim_named = { true, false },
trim_all = { true, true }
}
-- Possible string modes for the iteration separator in the `parsing` and
-- `reinterpreting` modifiers
local isep_parse_opts = {
splitter_pattern = false,
splitter_string = true
}
-- Possible string modes for the key-value separator in the `parsing` and
-- `reinterpreting` modifiers
local psep_parse_opts = {
setter_pattern = false,
setter_string = true
}
-- Possible position references for the `splicing` modifier
local position_references = {
add_nothing = 0,
add_smallest_number = 1,
add_last_of_sequence = 2,
add_largest_number = 3
}
-- Possible modes for the `reassigning` modifier
local a_modes = {
transfer = 0,
clone = 1,
rename = 2,
copy = 3,
sacrifice = 4,
provide = 5,
spare = 7
}
-- Functions and modifiers MUST avoid these names too: `here`, `in_substack`,
-- `let`, `expose`, `use`, `with_flushed_glue`, `without_flushed_glue`
-- `without_sorting`
--[[ Private constants ]]--
---------------------------
-- Hard-coded name of the module (to avoid going through `frame:getTitle()`)
local modulename = 'Module:Params'
-- The functions listed here declare that they don't need the
-- `frame:getParent().args` metatable to be copied into a regular table; if
-- they are modifiers they also guarantee that they will make their own
-- (modified) copy available
local refparams = {
call_for_each_group = true,
combining = true,
combining_by_calling = true,
combining_values = true,
concat_and_call = true,
concat_and_invoke = true,
concat_and_magic = true,
count = true,
grouping_by_calling = true,
mixing_names_and_values = true,
keeping_at_most = true,
renaming_by_mixing = true,
renaming_to_sequence = true,
renaming_to_uppercase = true,
renaming_to_lowercase = true,
shifting = true,
splicing = true,
value_of = true,
with_name_matching = true
}
-- Maximum number of numeric parameters that can be filled, if missing (we
-- chose an arbitrary number for this constant; you can discuss about its
-- optimal value at Module talk:Params)
local maxfill = 1024
-- The private table of functions
local library = {}
-- Functions and modifiers that can only be invoked in first position
local static_iface = {}
--[[ Private functions ]]--
---------------------------
-- Create a new context
local function context_new (child_frame, first_fn_name)
local main_frame, tpipe = child_frame:getParent(), { first_fn_name }
for key, val in pairs(child_frame.args) do
if type(key) == 'number' and key > 0 then tpipe[key + 1] = val
else tpipe[key] = val end
end
return {
frame = main_frame,
pipe = tpipe,
oparams = main_frame.args,
firstposonly = static_iface,
iterfunc = pairs,
fnpos = 1,
sorttype = 0,
n_parents = 0,
n_children = 0,
n_available = maxfill
}
end
-- Move to the next action within the user-given list
local function context_iterate (ctx, next_fn_pos)
local nextfn
if ctx.pipe[next_fn_pos] ~= nil then
nextfn = ctx.pipe[next_fn_pos]:match'^%s*(.*%S)'
end
if nextfn == nil then error(modulename ..
': You must specify a function to call', 0) end
if library[nextfn] == nil then
if ctx.firstposonly[nextfn] == nil then error(modulename ..
': The function ‘' .. nextfn .. '’ does not exist', 0)
else error(modulename .. ': The ‘' .. nextfn ..
'’ directive can only appear in first position', 0)
end
end
ctx.fnpos = next_fn_pos
return library[nextfn]
end
-- Main loop
local function main_loop (ctx, start_with)
local fn = start_with
repeat fn = fn(ctx) until not fn
if ctx.n_parents > 0 then error(modulename ..
': One or more ‘merging_substack’ directives are missing', 0) end
if ctx.n_children > 0 then error(modulename ..
', For some of the snapshots either the ‘flushing’ directive is missing or a group has not been properly closed with ‘merging_substack’', 0) end
end
-- Load a `setting`-like directive string into the `dest` table
local function set_strings_from_opts (dest, opts, offs)
local cmd
if opts[offs] == nil then return offs - 1 end
cmd = opts[offs]:gsub('%s+', ''):gsub('/+', '/'):match'^/*(.*[^/])'
if cmd == nil then return offs end
local vname, chr
local amap, sep, argc = {}, string.byte('/'), offs + 1
for idx = 1, #cmd do
chr = cmd:byte(idx)
if chr == sep then
for key, val in ipairs(amap) do
dest[val], amap[key] = opts[argc], nil
end
argc = argc + 1
else
vname = memoryslots[string.char(chr)]
if vname == nil then error(modulename ..
', ‘setting’: Unknown slot ‘' .. string.char(chr) .. '’', 0) end
table.insert(amap, vname)
end
end
for key, val in ipairs(amap) do dest[val] = opts[argc] end
return argc
end
-- Add a new stack of parameters to `ctx.children`
local function new_substack (ctx)
local currsnap, newparams = ctx.n_children + 1, {}
if ctx.children == nil then ctx.children = { newparams }
else ctx.children[currsnap] = newparams end
ctx.n_children = currsnap
return newparams
end
-- Parse a raw argument containing a `sortfunctions` directive, or
-- `'without_sorting'`, or `nil`
local function load_sort_opt (raw_arg)
if raw_arg == nil then return nil, 1, false end
local trarg = raw_arg:match'^%s*(.-)%s*$'
if trarg == 'without_sorting' then return nil, 2, false, trarg end
local tmp = sortfunctions[trarg]
if tmp == nil then return nil, 1, false, trarg end
return tmp or nil, 2, true, trarg
end
-- Parse optional user arguments of type `...|[let/use]|[...]|[let/use]|[...]|
-- [number of additional parameters]|[parameter 1]|[parameter 2]|[...]`
local function load_child_opts (src, start_from, append_after, params)
local tnamed, tmp1, tmp2
local pin, tbl, mem = start_from, {}, {}
while src[pin] ~= nil and src[pin + 1] ~= nil do
tmp1 = src[pin]:match'^%s*(.*%S)'
if tmp1 == 'let' and src[pin + 2] ~= nil then
tmp1 = get_param_name(src[pin + 1])
mem[tmp1], tbl[tmp1], pin = nil, src[pin + 2], pin + 3
--[[
elseif tmp1 == 'expose' then
tmp1 = get_param_name(src[pin + 1])
tmp2 = params[tmp1]
mem[tmp1], tbl[tmp1], pin = tmp2, tmp2, pin + 2
]]--
elseif tmp1 == 'use' and src[pin + 2] ~= nil then
tmp1 = get_param_name(src[pin + 2])
tmp2 = params[tmp1]
mem[tmp1], tbl[get_param_name(src[pin + 1])], pin =
tmp2, tmp2, pin + 3
else break end
end
local tnew = copy_or_ref_table(params, next(mem) == nil)
for key in pairs(mem) do tnew[key] = nil end
if pin ~= start_from then tnamed, tbl = tbl, {} end
tmp1 = tonumber(src[pin])
if tmp1 ~= nil and math.floor(tmp1) == tmp1 then
if tmp1 < 0 then tmp1 = -1 end
tmp2 = append_after - pin
for idx = pin + 1, pin + tmp1 do tbl[idx + tmp2] = src[idx] end
pin = pin + tmp1 + 1
end
if tnamed ~= nil then
for key, val in pairs(tnamed) do tbl[key] = val end
end
return tbl, pin, tnew, mem
end
-- Load the optional arguments of some of the `mapping_*` and `renaming_*`
-- class of modifiers
local function load_callback_opts (src, start_from, default_style, params)
local style, shf
local tmp = src[start_from + 1]
if tmp ~= nil then style = mapping_styles[tmp:match'^%s*(.-)%s*$'] end
if style == nil then style, shf = default_style, start_from - 1
else shf = start_from end
local n_exist, karg, varg = style[3], style[4], style[5]
tmp = style[6]
if tmp > -1 then
karg = src[tmp + shf]:match'^%s*(.-)%s*$'
if karg == '0' or karg:find'^%-?[1-9]%d*$' ~= nil then
karg = tonumber(karg)
n_exist = math.max(n_exist, karg)
end
end
tmp = style[7]
if tmp > -1 then
varg = src[tmp + shf]:match'^%s*(.-)%s*$'
if varg == '0' or varg:find'^%-?[1-9]%d*$' ~= nil then
varg = tonumber(varg)
n_exist = math.max(n_exist, varg)
end
end
tmp = style[1]
local dest, argc, tnew, mem = load_child_opts(src, style[2] + shf,
n_exist, params)
if (tmp == 3 or tmp == 2) and dest[karg] ~= nil then
tmp = tmp - 2 end
if (tmp == 3 or tmp == 1) and dest[varg] ~= nil then
tmp = tmp - 1 end
return dest, argc, tmp, karg, varg, tnew, mem
end
-- Parse the arguments of some of the `mapping_*` and `renaming_*` class of
-- modifiers
local function load_replace_args (opts, offs, whoami)
if opts[offs + 1] == nil then error(modulename ..
', ‘' .. whoami .. '’: No pattern string was given', 0) end
if opts[offs + 2] == nil then error(modulename ..
', ‘' .. whoami .. '’: No replacement string was given', 0) end
local ptn, repl, nmax, argc =
opts[offs + 1], opts[offs + 2], tonumber(opts[offs + 3]), 3
if nmax ~= nil or (opts[offs + 3] or ''):match'^%s*$' ~= nil then
argc = 4
end
local flg = opts[offs + argc]
if flg ~= nil then flg = mkeywords[flg:match'^%s*(.-)%s*$'] end
if flg == 0 then flg = nil elseif flg ~= nil then argc = argc + 1 end
return ptn, repl, nmax, flg, offs + argc, (nmax ~= nil and nmax < 1) or
(flg == 3 and ptn == repl)
end
-- Parse the arguments of the `with_*_matching` class of modifiers
local function load_pattern_args (opts, offs, whoami)
local keyw
local ptns, arg, state, nptns, idx = {}, opts[offs + 1], 0, 0, offs + 2
while arg ~= nil do
if state == 0 then
nptns, state = nptns + 1, -1
ptns[nptns] = { arg, false, false }
else
keyw = arg:match'^%s*(.*%S)'
if keyw == nil or mkeywords[keyw] == nil or (
state > 0 and mkeywords[keyw] > 0
) then break
else
state = mkeywords[keyw]
if state > 1 then ptns[nptns][2] = true end
if state == 3 then ptns[nptns][3] = true end
end
end
arg, idx = opts[idx], idx + 1
end
if state == 0 then error(modulename ..
', ‘' .. whoami .. '’: No pattern was given', 0) end
return ptns, nptns, idx - 1
end
-- Load the optional arguments of the `parsing`, `reinterpreting` and
-- `evaluating` modifiers
local function load_parse_opts (opts, offs, isp, psp)
local tmp
local optslots, noptslots, argc, trimn, trimu, iplain, pplain =
{ true, true, true }, 3, offs, true, false, true, true
repeat
noptslots, tmp = noptslots - 1, opts[argc]
if tmp == nil then break end
tmp = tmp:match'^%s*(.-)%s*$'
if optslots[1] ~= nil and trim_parse_opts[tmp] ~= nil then
tmp = trim_parse_opts[tmp]
trimn, trimu, optslots[1] = tmp[1], tmp[2], nil
elseif optslots[2] ~= nil and isep_parse_opts[tmp] ~= nil then
argc = argc + 1
iplain, isp, optslots[2] = isep_parse_opts[tmp],
opts[argc], nil
elseif optslots[3] ~= nil and psep_parse_opts[tmp] ~= nil then
argc = argc + 1
pplain, psp, optslots[3] = psep_parse_opts[tmp],
opts[argc], nil
else break end
argc = argc + 1
until noptslots < 1
return isp, iplain, psp, pplain, trimn, trimu, argc
end
-- Map parameters' values using a custom callback and a referenced table
local value_maps = {
[0] = function (tbl, margs, karg, varg, fn)
for key in pairs(tbl) do tbl[key] = fn() end
end,
[1] = function (tbl, margs, karg, varg, fn)
for key, val in pairs(tbl) do
margs[varg] = val
tbl[key] = fn()
end
end,
[2] = function (tbl, margs, karg, varg, fn)
for key in pairs(tbl) do
margs[karg] = key
tbl[key] = fn()
end
end,
[3] = function (tbl, margs, karg, varg, fn)
for key, val in pairs(tbl) do
margs[karg], margs[varg] = key, val
tbl[key] = fn()
end
end
}
-- Private table for `map_names()`
local name_thieves = {
[0] = function (cache, tbl, rargs, karg, varg, fn)
for key, val in pairs(tbl) do
steal_if_renamed(val, tbl, key, cache, fn())
end
end,
[1] = function (cache, tbl, rargs, karg, varg, fn)
for key, val in pairs(tbl) do
rargs[varg] = val
steal_if_renamed(val, tbl, key, cache, fn())
end
end,
[2] = function (cache, tbl, rargs, karg, varg, fn)
for key, val in pairs(tbl) do
rargs[karg] = key
steal_if_renamed(val, tbl, key, cache, fn())
end
end,
[3] = function (cache, tbl, rargs, karg, varg, fn)
for key, val in pairs(tbl) do
rargs[karg], rargs[varg] = key, val
steal_if_renamed(val, tbl, key, cache, fn())
end
end
}
-- Map parameters' names using a custom callback and a referenced table
local function map_names (tbl, rargs, karg, varg, looptype, fn)
local cache = {}
name_thieves[looptype](cache, tbl, rargs, karg, varg, fn)
for key, val in pairs(cache) do tbl[key] = val end
end
-- Return a new table that contains `src` regrouped according to the numeric
-- suffixes in its keys
local function make_groups (src)
-- NOTE: `src` might be the original metatable!
local prefix, gid
local groups = {}
for key, val in pairs(src) do
-- `key` must only be a string or a number...
if type(key) == 'string' then
prefix, gid = key:match'^%s*(.-)%s*(%-?%d*)%s*$'
gid = tonumber(gid) or ''
else prefix, gid = '', key end
if groups[gid] == nil then groups[gid] = {} end
if prefix == '0' or prefix:find'^%-?[1-9]%d*$' ~= nil then
prefix = tonumber(prefix)
if prefix < 1 then prefix = prefix - 1 end
end
groups[gid][prefix] = val
end
return groups
end
-- Split into parts a string containing the `$#` and `$@` placeholders and
-- return the information as a skeleton table, a canvas table and a length
local function parse_placeholder_string (target)
local skel, canvas, idx, s_pos, e_pos =
{}, {}, 1, 1, string.find(target, '%$[@#]', 1, false)
while e_pos ~= nil do
canvas[idx], skel[idx + 1] =
target:sub(s_pos, e_pos - 1),
target:sub(e_pos, e_pos + 1) == '$@'
idx, s_pos = idx + 2, e_pos + 2
e_pos = string.find(target, '%$[@#]', s_pos, false)
end
if (s_pos > target:len()) then idx = idx - 1
else canvas[idx] = target:sub(s_pos) end
return skel, canvas, idx
end
-- Populate a table by parsing a parameter string (heavy lifting for `parsing`,
-- `reinterpreting` and `evaluating`)
local function parse_parameter_string (tbl, str, isp, ipl, psp, ppl, trn, tru)
local key, val, spos1, spos2, pos1, pos2
local pos3, idx, lenplone = 0, 1, #str + 1
if isp == nil or isp == '' then
if psp == nil or psp == '' then
if tru then tbl[idx] = str:match'^%s*(.-)%s*$'
else tbl[idx] = str end
return
end
spos1, spos2 = str:find(psp, 1, ppl)
if spos1 == nil then
key = idx
if tru then val = str:match'^%s*(.-)%s*$'
else val = str end
else
key = get_param_name(str:sub(1, spos1 - 1))
val = str:sub(spos2 + 1)
if trn then val = val:match'^%s*(.-)%s*$' end
end
tbl[key] = val
return
end
if psp == nil or psp == '' then
repeat
pos1 = pos3 + 1
pos2, pos3 = str:find(isp, pos1, ipl)
val = str:sub(pos1, (pos2 or lenplone) - 1)
if tru then val = val:match'^%s*(.-)%s*$' end
tbl[idx], idx = val, idx + 1
until pos2 == nil
return
end
repeat
pos1 = pos3 + 1
pos2, pos3 = str:find(isp, pos1, ipl)
val = str:sub(pos1, (pos2 or lenplone) - 1)
spos1, spos2 = val:find(psp, 1, ppl)
if spos1 == nil then
key = idx
if tru then val = val:match'^%s*(.-)%s*$' end
idx = idx + 1
else
key = get_param_name(val:sub(1, spos1 - 1))
val = val:sub(spos2 + 1)
if trn then val = val:match'^%s*(.-)%s*$' end
end
tbl[key] = val
until pos2 == nil
return
end
-- Heavy lifting for `snapshotting` and `remembering`
local function make_child (ctx, src, whoami)
local len = tonumber(ctx.pipe[ctx.fnpos + 1])
if len == nil or len == 0 then
local stack = new_substack(ctx)
for key, val in pairs(src) do stack[key] = val end
return len == nil and 1 or 2
end
if len < 0 or math.floor(len) ~= len then error(modulename .. ', ‘' ..
whoami .. '’: The number of parameters to copy must be an integer greater than zero', 0) end
copy_table_maxn(new_substack(ctx), src, len)
return 2
end
-- Heavy lifting for `setting_by_flushing`, `combining` and `combining_values`
local function set_strings_from_substack (ctx, dest, whoami)
if ctx.n_children < 1 then error(modulename ..
', ‘' .. whoami .. '’: There are no substacks to flush', 0) end
local currsnap = ctx.n_children
local stack = ctx.children[currsnap]
for key, val in pairs(memoryslots) do
if stack[key] ~= nil then dest[val] = stack[key] end
end
ctx.children[currsnap], ctx.n_children = nil, currsnap - 1
end
-- Heavy lifting for `combining` and `combining_values`
local function combine_parameters (ctx, keyval_fn, whoami)
-- NOTE: `ctx.params` might be the original metatable! This function
-- MUST create a copy of it before returning
local opts, offs = ctx.pipe, ctx.fnpos
if opts[offs + 1] == nil then error(modulename ..
', ‘' .. whoami .. '’: No parameter name was provided', 0) end
local argc
local tbl, vars = ctx.params, {}
local sortfn, ivar0, do_sort, tmp = load_sort_opt(opts[offs + 2])
if ivar0 == 2 then
tmp = opts[offs + 3] and opts[offs + 3]:match'^%s*(.-)%s*$'
end
ivar0 = ivar0 + offs
if tmp == 'with_flushed_glue' then
ivar0 = ivar0 + 1
argc = set_strings_from_opts(vars, opts, ivar0 + 1)
set_strings_from_substack(ctx, vars, whoami)
else
if tmp == 'without_flushed_glue' then ivar0 = ivar0 + 1 end
argc = set_strings_from_opts(vars, opts, ivar0 + 1)
end
if argc < ivar0 then error(modulename ..
', ‘' .. whoami .. '’: No setting directive was given', 0) end
if next(tbl) == nil then
if vars.ifngiven ~= nil then ctx.params =
{ [get_param_name(opts[offs + 1])] = vars.ifngiven }
elseif tbl == ctx.oparams then ctx.params = {} end
return argc
end
local cache, len
if do_sort then
local words
cache, words, len, tmp = get_sorted_key_list(tbl, sortfn)
for idx = 1, tmp do cache[len + idx] = words[idx] end
len = len + tmp
else
cache, len = {}, 1
for key in pairs(tbl) do cache[len], len = key, len + 1 end
len = len - 1
end
local pmap, nss, kvs, pps =
{}, 0, vars.pairsep or '', vars.itersep or ''
for idx = 1, len do
tmp, pmap[nss + 1] = cache[idx], pps
pmap[nss + 2] = keyval_fn(tmp, tbl[tmp], kvs)
nss = nss + 2
end
tmp = vars.oxfordsep or vars.lastsep
if tmp ~= nil and nss > 4 then pmap[nss - 1] = tmp
elseif nss > 2 and vars.lastsep ~= nil then
pmap[nss - 1] = vars.lastsep
end
pmap[1] = vars.header or ''
if vars.footer ~= nil then pmap[nss + 1] = vars.footer end
ctx.params = { [get_param_name(opts[offs + 1])] = table.concat(pmap) }
return argc
end
-- Concatenate the numeric keys from the table of parameters to the numeric
-- keys from the table of options; non-numeric keys from the table of options
-- will prevail over colliding non-numeric keys from the table of parameters
local function concat_params (ctx, offs)
local tbl, retval, cache, nmax = ctx.params, {}, {}, 0
for key, val in pairs(ctx.pipe) do
if type(key) == 'number' then
if key < 1 then cache[key] = val
elseif key > offs then cache[key - offs] = val end
if key > nmax then nmax = key end
else cache[key] = val end
end
nmax = nmax - offs
if ctx.subset == 1 then
-- We need only the sequence
for key, val in ipairs(tbl) do retval[key + nmax] = val end
else
if ctx.subset == -1 then
for key in ipairs(tbl) do tbl[key] = nil end
end
for key, val in pairs(tbl) do
if type(key) == 'number' and key > 0 then
retval[key + nmax] = val
else retval[key] = val end
end
end
for key, val in pairs(cache) do retval[key] = val end
return retval
end
-- Flush the parameters by calling a custom function for each value (after this
-- function has been invoked `ctx.params` will be no longer usable)
local function flush_params (ctx, fn)
local tmp
local tbl = ctx.params
if ctx.subset == -1 then
for key, val in ipairs(tbl) do tbl[key] = nil end
elseif ctx.subset == 1 then
if ctx.pins == nil then
for key, val in ipairs(tbl) do fn(key, val) end
return
end
tmp = {}
for key, val in ipairs(tbl) do tmp[key] = val end
tbl = tmp
end
if ctx.pins ~= nil then
local marker = ctx.sorttype < 1 and ctx.subset ~= -1 or nil
for idx = 1, #ctx.pins do
tmp = ctx.pins[idx]
if tbl[tmp] ~= nil then
fn(tmp, tbl[tmp])
tbl[tmp] = marker
end
end
if ctx.subset == 1 then
for key, val in ipairs(tbl) do
if val ~= true then fn(key, val) end
end
return
end
end
if ctx.sorttype > 0 then
local nums, words, nn, nw =
get_sorted_key_list(tbl, natural_sort)
if ctx.sorttype == 2 then
for idx = 1, nw do fn(words[idx], tbl[words[idx]]) end
for idx = 1, nn do fn(nums[idx], tbl[nums[idx]]) end
return
end
for idx = 1, nn do fn(nums[idx], tbl[nums[idx]]) end
for idx = 1, nw do fn(words[idx], tbl[words[idx]]) end
return
end
if ctx.subset == -1 or ctx.pins == nil then
for key, val in ipairs(tbl) do
fn(key, val)
tbl[key] = nil
end
for key, val in pairs(tbl) do fn(key, val) end
return
end
for key, val in ipairs(tbl) do
if val ~= true then fn(key, val) end
tbl[key] = nil
end
for key, val in pairs(tbl) do
if val ~= true then fn(key, val) end
end
end
-- Flush the parameters by calling one of two custom functions for each value
-- (after this function has been invoked `ctx.params` will be no longer usable)
local function mixed_flush_params (ctx, fn_seq, fn_oth)
if ctx.subset == 1 then
flush_params(ctx, fn_seq)
return
end
if ctx.subset == -1 then
flush_params(ctx, fn_oth)
return
end
local tbl = ctx.params
if ctx.pins == nil and ctx.sorttype < 1 then
for key, val in ipairs(tbl) do
fn_seq(key, val)
tbl[key] = nil
end
for key, val in pairs(tbl) do fn_oth(key, val) end
return
end
local tseq = {}
for key, val in ipairs(tbl) do tseq[key] = val end
if ctx.pins ~= nil then
local tmp
local marker = ctx.sorttype < 1 or nil
for idx = 1, #ctx.pins do
tmp = ctx.pins[idx]
if tseq[tmp] ~= nil then
fn_seq(tmp, tbl[tmp])
tbl[tmp], tseq[tmp] = nil, marker
elseif tbl[tmp] ~= nil then
fn_oth(tmp, tbl[tmp])
tbl[tmp] = nil
end
end
end
if ctx.sorttype > 0 then
local nums, words, nn, nw =
get_sorted_key_list(tbl, natural_sort)
if ctx.sorttype == 2 then
for idx = 1, nw do
fn_oth(words[idx], tbl[words[idx]])
end
end
for idx = 1, nn do
if tseq[nums[idx]] ~= nil then
fn_seq(nums[idx], tseq[nums[idx]])
else fn_oth(nums[idx], tbl[nums[idx]]) end
end
if ctx.sorttype ~= 2 then
for idx = 1, nw do
fn_oth(words[idx], tbl[words[idx]])
end
end
return
end
for key, val in ipairs(tseq) do
if val ~= true then
fn_seq(key, val)
tbl[key] = nil
end
end
for key, val in pairs(tbl) do fn_oth(key, val) end
end
-- Finalize and return a concatenated list
local function finalize_and_return_concatenated_list (ctx, lst, len, modsize)
if len > 0 then
local tmp = ctx.oxfordsep or ctx.lastsep
if tmp ~= nil and len > modsize * 2 then
lst[len - modsize + 1] = tmp
elseif len > modsize and ctx.lastsep ~= nil then
lst[len - modsize + 1] = ctx.lastsep
end
lst[1] = ctx.header or ''
if ctx.footer ~= nil then lst[len + 1] = ctx.footer end
ctx.text = table.concat(lst)
else ctx.text = ctx.ifngiven or '' end
end
--- ---
--- PUBLIC ENVIRONMENT ---
--- ________________________________ ---
--- ---
--[[ Modifiers ]]--
-------------------
-- Syntax: #invoke:params|sequential|pipe to
library.sequential = function (ctx)
if ctx.subset == 1 then error(modulename ..
': The ‘sequential’ directive has been provided more than once', 0) end
if ctx.subset == -1 then error(modulename ..
': The two directives ‘non-sequential’ and ‘sequential’ are in contradiction with each other', 0) end
if ctx.sorttype > 0 then error(modulename ..
': The ‘all_sorted’ and ‘reassorted’ directives are redundant when followed by ‘sequential’', 0) end
ctx.iterfunc, ctx.subset = ipairs, 1
return context_iterate(ctx, ctx.fnpos + 1)
end
-- Syntax: #invoke:params|non-sequential|pipe to
library['non-sequential'] = function (ctx)
if ctx.subset == -1 then error(modulename ..
': The ‘non-sequential’ directive has been provided more than once', 0) end
if ctx.subset == 1 then error(modulename ..
': The two directives ‘sequential’ and ‘non-sequential’ are in contradiction with each other', 0) end
ctx.iterfunc, ctx.subset = pairs, -1
return context_iterate(ctx, ctx.fnpos + 1)
end
-- Syntax: #invoke:params|all_sorted|pipe to
library.all_sorted = function (ctx)
if ctx.sorttype == 1 then error(modulename ..
': The ‘all_sorted’ directive has been provided more than once', 0) end
if ctx.subset == 1 then error(modulename ..
': The ‘all_sorted’ directive is redundant after ‘sequential’', 0) end
if ctx.sorttype == 2 then error(modulename ..
': The two directives ‘reassorted’ and ‘sequential’ are in contradiction with each other', 0) end
ctx.sorttype = 1
return context_iterate(ctx, ctx.fnpos + 1)
end
-- Syntax: #invoke:params|reassorted|pipe to
library.reassorted = function (ctx)
if ctx.sorttype == 2 then error(modulename ..
': The ‘reassorted’ directive has been provided more than once', 0) end
if ctx.subset == 1 then error(modulename ..
': The ‘reassorted’ directive is redundant after ‘sequential’', 0) end
if ctx.sorttype == 1 then error(modulename ..
': The two directives ‘sequential’ and ‘reassorted’ are in contradiction with each other', 0) end
ctx.sorttype = 2
return context_iterate(ctx, ctx.fnpos + 1)
end
-- Syntax: #invoke:params|pinned_until|sentinel|[parameter name 1]|[parameter
-- name 2]|...|parameter name N|sentinel|pipe to
library.pinned_until = function (ctx)
local opts, offs = ctx.pipe, ctx.fnpos
if opts[offs + 1] == nil then error(modulename ..
', ‘pinned_until’: No sentinel was provided', 0) end
local tmp, bucket, curr, ncurr
local sntl, idx = opts[offs + 1]:match'^%s*(.-)%s*$', 2
if ctx.pin_bucket == nil then
bucket, curr, ncurr = {}, {}, 0
ctx.pin_bucket, ctx.pins = bucket, curr
else bucket, curr, ncurr = ctx.pin_bucket, ctx.pins, ctx.npins end
while opts[offs + idx] ~= nil do
tmp = opts[offs + idx]:match'^%s*(.-)%s*$'
if tmp == sntl then
if idx == 2 then error(modulename ..
', ‘pinned_until’: No parameters to pin were provided', 0) end
ctx.npins = ncurr + idx - 2
return context_iterate(ctx, offs + idx + 1)
end
if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then
tmp = tonumber(tmp)
end
if bucket[tmp] then error(modulename ..
', ‘pinned_until’: Duplicate pinned parameter ‘' .. tostring(tmp) .. '’', 0) end
curr[ncurr + idx - 1], bucket[tmp], idx = tmp, true, idx + 1
end
error(modulename .. ', ‘pinned_until’: Missing sentinel in position #' .. tostring(idx), 0)
end
-- Syntax: #invoke:params|setting|directives|...|pipe to
library.setting = function (ctx)
local new_offs = set_strings_from_opts(ctx, ctx.pipe, ctx.fnpos + 1)
if new_offs - ctx.fnpos < 2 then error(modulename ..
', ‘setting’: No directive was given', 0) end
return context_iterate(ctx, new_offs + 1)
end
-- Syntax: #invoke:params|scoring|new parameter name|[container]|pipe to
library.scoring = function (ctx)
local opts, offs, retval = ctx.pipe, ctx.fnpos, 0
if opts[offs + 1] == nil then error(modulename ..
', ‘scoring’: No parameter name was provided', 0) end
local tmp
for _ in pairs(ctx.params) do retval = retval + 1 end
if opts[offs + 2] ~= nil then tmp = opts[offs + 2]:match'^%s*(.*%S)' end
if tmp == 'in_substack' then
new_substack(ctx)[get_param_name(opts[offs + 1])] =
tostring(retval)
return context_iterate(ctx, offs + 3)
end
ctx.params[get_param_name(opts[offs + 1])] = tostring(retval)
return context_iterate(ctx, tmp == 'here' and offs + 3 or offs + 2)
end
-- Syntax: #invoke:params|squeezing|pipe to
library.squeezing = function (ctx)
local store, indices, tbl, newlen = {}, {}, ctx.params, 0
for key, val in pairs(tbl) do
if type(key) == 'number' then
newlen = newlen + 1
indices[newlen], store[key], tbl[key] = key, val, nil
end
end
table.sort(indices)
for idx = 1, newlen do tbl[idx] = store[indices[idx]] end
return context_iterate(ctx, ctx.fnpos + 1)
end
-- Syntax: #invoke:params|filling_the_gaps|pipe to
library.filling_the_gaps = function (ctx)
local newval, tbl, tmp, nmin, nmax, nnums =
ctx.pipe[ctx.fnpos + 1], ctx.params, {}, 1, nil, -1
if newval == nil then error(modulename ..
', ‘filling_the_gaps’: No value was provided', 0) end
for key, val in pairs(tbl) do
if type(key) == 'number' then
if nmax == nil then
if key < nmin then nmin = key end
nmax = key
elseif key > nmax then nmax = key
elseif key < nmin then nmin = key end
tmp[key], nnums = val, nnums + 1
end
end
if nmax ~= nil and nmax - nmin > nnums then
ctx.n_available = ctx.n_available + nmin + nnums - nmax
if ctx.n_available < 0 then error(modulename ..
', ‘filling_the_gaps’: It is possible to fill at most ' .. tostring(maxfill) .. ' parameters', 0) end
for idx = nmin, nmax do tbl[idx] = newval end
for key, val in pairs(tmp) do tbl[key] = val end
end
return context_iterate(ctx, ctx.fnpos + 2)
end
-- Syntax: #invoke:params|clearing|pipe to
library.clearing = function (ctx)
local tbl, numerics = ctx.params, {}
for key, val in pairs(tbl) do
if type(key) == 'number' then
numerics[key], tbl[key] = val, nil
end
end
for key, val in ipairs(numerics) do tbl[key] = val end
return context_iterate(ctx, ctx.fnpos + 1)
end
-- Syntax: #invoke:params|cutting|left cut|right cut|pipe to
library.cutting = function (ctx)
local opts, offs = ctx.pipe, ctx.fnpos
local lcut = tonumber(opts[offs + 1])
if lcut == nil or math.floor(lcut) ~= lcut then error(modulename ..
', ‘cutting’: Left cut must be an integer number', 0) end
local rcut = tonumber(opts[offs + 2])
if rcut == nil or math.floor(rcut) ~= rcut then error(modulename ..
', ‘cutting’: Right cut must be an integer number', 0) end
local tbl = ctx.params
local len = #tbl
if lcut < 0 then lcut = len + lcut end
if rcut < 0 then rcut = len + rcut end
local tot = lcut + rcut
if tot > 0 then
local cache = {}
if tot >= len then
for key in ipairs(tbl) do tbl[key] = nil end
tot = len
else
for idx = len - rcut + 1, len do tbl[idx] = nil end
for idx = 1, lcut do tbl[idx] = nil end
end
for key, val in pairs(tbl) do
if type(key) == 'number' and key > 0 then
if key > len then cache[key - tot] = val
else cache[key - lcut] = val end
tbl[key] = nil
end
end
for key, val in pairs(cache) do tbl[key] = val end
end
return context_iterate(ctx, offs + 3)
end
-- Syntax: #invoke:params|cropping|left crop|right crop|pipe to
library.cropping = function (ctx)
local opts, offs = ctx.pipe, ctx.fnpos
local lcut = tonumber(opts[offs + 1])
if lcut == nil or math.floor(lcut) ~= lcut then error(modulename ..
', ‘cropping’: Left crop must be an integer number', 0) end
local rcut = tonumber(opts[offs + 2])
if rcut == nil or math.floor(rcut) ~= rcut then error(modulename ..
', ‘cropping’: Right crop must be an integer number', 0) end
local tbl = ctx.params
local nmin, nmax
for key in pairs(tbl) do
if type(key) == 'number' then
if nmin == nil then nmin, nmax = key, key
elseif key > nmax then nmax = key
elseif key < nmin then nmin = key end
end
end
if nmin ~= nil then
local len = nmax - nmin + 1
if lcut < 0 then lcut = len + lcut end
if rcut < 0 then rcut = len + rcut end
if lcut + rcut - len > -1 then
for key in pairs(tbl) do
if type(key) == 'number' then tbl[key] = nil end
end
elseif lcut + rcut > 0 then
for idx = nmax - rcut + 1, nmax do tbl[idx] = nil end
for idx = nmin, nmin + lcut - 1 do tbl[idx] = nil end
local lshift = nmin + lcut - 1
if lshift > 0 then
for idx = lshift + 1, nmax do
tbl[idx - lshift], tbl[idx] =
tbl[idx], nil
end
end
end
end
return context_iterate(ctx, offs + 3)
end
-- Syntax: #invoke:params|purging|start offset|length|pipe to
library.purging = function (ctx)
local opts, offs = ctx.pipe, ctx.fnpos
local idx = tonumber(opts[offs + 1])
if idx == nil or math.floor(idx) ~= idx then error(modulename ..
', ‘purging’: Start offset must be an integer number', 0) end
local len = tonumber(opts[offs + 2])
if len == nil or math.floor(len) ~= len then error(modulename ..
', ‘purging’: Length must be an integer number', 0) end
local tbl = ctx.params
if len < 1 then
len = len + table.maxn(tbl)
if idx > len then return context_iterate(ctx, offs + 3) end
len = len - idx + 1
end
ctx.params = copy_table_reduced(tbl, idx, len)
return context_iterate(ctx, offs + 3)
end
-- Syntax: #invoke:params|backpurging|start offset|length|pipe to
library.backpurging = function (ctx)
local opts, offs = ctx.pipe, ctx.fnpos
local last = tonumber(opts[offs + 1])
if last == nil or math.floor(last) ~= last then error(modulename ..
', ‘backpurging’: Start offset must be an integer number', 0) end
local len = tonumber(opts[offs + 2])
if len == nil or math.floor(len) ~= len then error(modulename ..
', ‘backpurging’: Length must be an integer number', 0) end
local idx
local tbl = ctx.params
if len > 0 then idx = last - len + 1
else
for key in pairs(tbl) do
if type(key) == 'number' and (idx == nil or
key < idx) then idx = key end
end
if idx == nil then return context_iterate(ctx, offs + 3) end
idx = idx - len
if last < idx then return context_iterate(ctx, offs + 3) end
len = last - idx + 1
end
ctx.params = copy_table_reduced(ctx.params, idx, len)
return context_iterate(ctx, offs + 3)
end
-- Syntax: #invoke:params|shifting|addend|pipe to
library.shifting = function (ctx)
-- NOTE: `ctx.params` might be the original metatable! As a modifier,
-- this function MUST create a copy of it before returning
local nshift = tonumber(ctx.pipe[ctx.fnpos + 1])
if nshift == nil or nshift == 0 or math.floor(nshift) ~= nshift then
error(modulename .. ', ‘shifting’: A non-zero integer number must be provided', 0) end
local tbl = {}
for key, val in pairs(ctx.params) do
if type(key) == 'number' then tbl[key + nshift] = val
else tbl[key] = val end
end
ctx.params = tbl
return context_iterate(ctx, ctx.fnpos + 2)
end
-- Syntax: #invoke:params|reversing_numeric_names|pipe to
library.reversing_numeric_names = function (ctx)
local tbl, numerics, nmax = ctx.params, {}, 0
for key, val in pairs(tbl) do
if type(key) == 'number' then
numerics[key], tbl[key] = val, nil
if key > nmax then nmax = key end
end
end
for key, val in pairs(numerics) do tbl[nmax - key + 1] = val end
return context_iterate(ctx, ctx.fnpos + 1)
end
-- Syntax: #invoke:params|pivoting_numeric_names|pipe to
--[[
library.pivoting_numeric_names = function (ctx)
local tbl = ctx.params
local shift = #tbl + 1
if shift < 2 then return library.reversing_numeric_names(ctx) end
local tmp = {}
for key, val in pairs(tbl) do
if type(key) == 'number' then tmp[key], tbl[key] = val, nil end
end
for key, val in pairs(tmp) do tbl[shift - key] = val end
return context_iterate(ctx, ctx.fnpos + 1)
end
]]--
-- Syntax: #invoke:params|mirroring_numeric_names|pipe to
--[[
library.mirroring_numeric_names = function (ctx)
local nmax, nmin
local tbl, tmp = ctx.params, {}
for key, val in pairs(tbl) do
if type(key) == 'number' then
tmp[key], tbl[key] = val, nil
if nmax == nil then nmin, nmax = key, key
elseif key > nmax then nmax = key
elseif key < nmin then nmin = key end
end
end
for key, val in pairs(tmp) do tbl[nmax + nmin - key] = val end
return context_iterate(ctx, ctx.fnpos + 1)
end
]]--
-- Syntax: #invoke:params|swapping_numeric_names|pipe to
--[[
library.swapping_numeric_names = function (ctx)
local tmp
local tbl, cache, nsize = ctx.params, {}, 1
for key in pairs(tbl) do
if type(key) == 'number' then
cache[nsize], nsize = key, nsize + 1
end
end
table.sort(cache)
for idx = math.floor((nsize - 1) / 2), 1, -1 do
tmp = tbl[cache[idx] ]
tbl[cache[idx] ] = tbl[cache[nsize - idx] ]
tbl[cache[nsize - idx] ] = tmp
end
return context_iterate(ctx, ctx.fnpos + 1)
end
]]--
-- Syntax: #invoke:params|sorting_sequential_values|[criterion]|pipe to
library.sorting_sequential_values = function (ctx)
local sortfn
local opts, offs = ctx.pipe, ctx.fnpos
if opts[offs + 1] ~= nil then
sortfn = sortfunctions[opts[offs + 1]:match'^%s*(.-)%s*$']
end
if sortfn then table.sort(ctx.params, sortfn)
else table.sort(ctx.params) end -- i.e. either `false` or `nil`
if sortfn == nil then return context_iterate(ctx, offs + 1) end
return context_iterate(ctx, offs + 2)
end
-- Syntax: #invoke:params|splicing|[add to position]|position|increment|
-- [number of elements to write]|...|pipe to
library.splicing = function (ctx)
-- NOTE: `ctx.params` might be the original metatable! As a modifier,
-- this function MUST create a copy of it before returning
local tmp2, argc, pos, refp
local tbl, opts, offs = ctx.params, ctx.pipe, ctx.fnpos
local tmp1 = opts[offs + 1]
if tmp1 ~= nil then
tmp2 = tonumber(tmp1)
if tmp2 == nil or math.floor(tmp2) ~= tmp2 then
pos, argc, tmp2 = tonumber(opts[offs + 2]), offs + 4,
tmp1:match'^%s*(.*%S)'
if tmp2 ~= nil then
refp = position_references[tmp2]
if refp == nil then error(modulename ..
', ‘splicing’: ‘' .. tostring(tmp2) .. '’ is not a valid first argument', 0) end
else refp = 0 end
else pos, argc, refp = tmp2, offs + 3, 0 end
else pos, argc, refp = tonumber(opts[offs + 2]), offs + 4, 0 end
if pos == nil or math.floor(pos) ~= pos then error(modulename ..
', ‘splicing’: The position must be an integer number', 0) end
local len = tonumber(opts[argc - 1])
if len == nil or math.floor(len) ~= len then error(modulename ..
', ‘splicing’: The increment must be an integer number', 0) end
local insn = tonumber(opts[argc])
if len == 0 and (insn == nil or insn < 1) then error(modulename ..
', ‘splicing’: When the increment is zero the number of elements to write cannot be zero', 0) end
if refp == 2 then
for _ in ipairs(tbl) do pos = pos + 1 end
refp = 0
end
tmp1, tmp2 = nil, nil
if refp ~= 0 or len ~= 0 then
for key, val in pairs(tbl) do
if type(key) == 'number' then
if tmp1 == nil then tmp1, tmp2 = key, key
elseif key < tmp1 then tmp1 = key
elseif key > tmp2 then tmp2 = key end
end
end
end
if tmp2 == nil then len = 0
elseif refp == 3 then pos = pos + tmp2
elseif refp == 1 then pos = pos + tmp1 end
if len > 0 and pos + len > tmp1 and pos <= tmp2 then
tbl = copy_table_expanded(tbl, pos, len)
elseif len < 0 and pos - len > tmp1 and pos <= tmp2 then
tbl = copy_table_reduced(tbl, pos, -len)
else tbl = copy_or_ref_table(tbl, tbl ~= ctx.oparams) end
ctx.params = tbl
if insn == nil or insn < 0 or math.floor(insn) ~= insn then
return context_iterate(ctx, argc)
end
tmp1 = argc - offs - pos + 1
for key = pos, pos + insn - 1 do tbl[key] = opts[offs + key + tmp1] end
return context_iterate(ctx, argc + insn + 1)
end
-- Syntax: #invoke:params|imposing|name|value|pipe to
library.imposing = function (ctx)
local opts, offs = ctx.pipe, ctx.fnpos
if opts[offs + 1] == nil then error(modulename ..
', ‘imposing’: Missing parameter name to impose', 0) end
ctx.params[get_param_name(opts[offs + 1])] = opts[offs + 2]
return context_iterate(ctx, offs + 3)
end
-- Syntax: #invoke:params|providing|name|value|pipe to
library.providing = function (ctx)
local opts, offs = ctx.pipe, ctx.fnpos
if opts[offs + 1] == nil then error(modulename ..
', ‘providing’: Missing parameter name to provide', 0) end
local key = get_param_name(opts[offs + 1])
if ctx.params[key] == nil then ctx.params[key] = opts[offs + 2] end
return context_iterate(ctx, offs + 3)
end
-- Syntax: #invoke:params|reassigning|source|destination|[mode]|pipe to
library.reassigning = function (ctx)
local tbl, opts, offs = ctx.params, ctx.pipe, ctx.fnpos
if opts[offs + 1] == nil then error(modulename ..
', ‘reassigning’: Missing source parameter', 0) end
if opts[offs + 2] == nil then error(modulename ..
', ‘reassigning’: Missing destination parameter', 0) end
local mode, argc
local src = get_param_name(opts[offs + 1])
local val = tbl[src]
if opts[offs + 3] ~= nil then
mode = a_modes[opts[offs + 3]:match'^%s*(.-)%s*$']
end
if mode == nil then mode, argc = 0, offs + 3 else argc = offs + 4 end
if val == nil and mode > 1 then return context_iterate(ctx, argc) end
local dest = get_param_name(opts[offs + 2])
local tmp = tbl[dest] == nil
if mode % 2 == 0 or (mode == 7 and tmp) then tbl[src] = nil end
if tmp or mode < 4 then tbl[dest] = val end
return context_iterate(ctx, argc)
end
-- Syntax: #invoke:params|discarding|name|[how many]|pipe to
library.discarding = function (ctx)
local opts, offs = ctx.pipe, ctx.fnpos
if opts[offs + 1] == nil then error(modulename ..
', ‘discarding’: Missing parameter name to discard', 0) end
local len = tonumber(opts[offs + 2])
if len == nil then
ctx.params[get_param_name(opts[offs + 1])] = nil
return context_iterate(ctx, offs + 2)
end
local key = tonumber(opts[offs + 1])
if key == nil or math.floor(key) ~= key then error(modulename ..
', ‘discarding’: A range was provided, but the initial parameter name is not an integer number', 0) end
if len < 1 or math.floor(len) ~= len then error(modulename ..
', ‘discarding’: A range can only be an integer number greater than zero', 0) end
for idx = key, key + len - 1 do ctx.params[idx] = nil end
return context_iterate(ctx, offs + 3)
end
-- Syntax: #invoke:params|excluding_non-numeric_names|pipe to
library['excluding_non-numeric_names'] = function (ctx)
local tmp = ctx.params
for key, val in pairs(tmp) do
if type(key) ~= 'number' then tmp[key] = nil end
end
return context_iterate(ctx, ctx.fnpos + 1)
end
-- Syntax: #invoke:params|excluding_numeric_names|pipe to
library.excluding_numeric_names = function (ctx)
local tmp = ctx.params
for key, val in pairs(tmp) do
if type(key) == 'number' then tmp[key] = nil end
end
return context_iterate(ctx, ctx.fnpos + 1)
end
-- Syntax: #invoke:params|with_name_matching|target 1|[plain flag 1]|[or]|
-- [target 2]|[plain flag 2]|[or]|[...]|[target N]|[plain flag
-- N]|pipe to
library.with_name_matching = function (ctx)
-- NOTE: `ctx.params` might be the original metatable! As a modifier,
-- this function MUST create a copy of it before returning
local tmp, ptn
local tbl, newparams, opts, offs = ctx.params, {}, ctx.pipe, ctx.fnpos
local targets, nptns, argc = load_pattern_args(opts, offs,
'with_name_matching')
for idx = 1, nptns do
ptn = targets[idx]
if ptn[3] then
tmp = ptn[1]
if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then
tmp = tonumber(tmp)
end
newparams[tmp] = tbl[tmp]
else
for key, val in pairs(tbl) do
if tostring(key):find(ptn[1], 1, ptn[2]) then
newparams[key] = val
end
end
end
end
ctx.params = newparams
return context_iterate(ctx, argc)
end
-- Syntax: #invoke:params|with_name_not_matching|target 1|[plain flag 1]|
-- [and]|[target 2]|[plain flag 2]|[and]|[...]|[target N]|[plain
-- flag N]|pipe to
library.with_name_not_matching = function (ctx)
local tbl, opts, offs = ctx.params, ctx.pipe, ctx.fnpos
local targets, nptns, argc = load_pattern_args(opts, offs,
'with_name_not_matching')
if nptns == 1 and targets[1][3] then
local tmp = targets[1][1]
if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then
tbl[tonumber(tmp)] = nil
else tbl[tmp] = nil end
return context_iterate(ctx, argc)
end
local yesmatch, ptn
for key in pairs(tbl) do
yesmatch = true
for idx = 1, nptns do
ptn = targets[idx]
if ptn[3] then
if tostring(key) ~= ptn[1] then
yesmatch = false
break
end
elseif not tostring(key):find(ptn[1], 1, ptn[2]) then
yesmatch = false
break
end
end
if yesmatch then tbl[key] = nil end
end
return context_iterate(ctx, argc)
end
-- Syntax: #invoke:params|with_value_matching|target 1|[plain flag 1]|[or]|
-- [target 2]|[plain flag 2]|[or]|[...]|[target N]|[plain flag
-- N]|pipe to
library.with_value_matching = function (ctx)
local nomatch, ptn
local tbl, opts, offs = ctx.params, ctx.pipe, ctx.fnpos
local targets, nptns, argc = load_pattern_args(opts, offs,
'with_value_matching')
for key, val in pairs(tbl) do
nomatch = true
for idx = 1, nptns do
ptn = targets[idx]
if ptn[3] then
if val == ptn[1] then
nomatch = false
break
end
elseif val:find(ptn[1], 1, ptn[2]) then
nomatch = false
break
end
end
if nomatch then tbl[key] = nil end
end
return context_iterate(ctx, argc)
end
-- Syntax: #invoke:params|with_value_not_matching|target 1|[plain flag 1]|
-- [and]|[target 2]|[plain flag 2]|[and]|[...]|[target N]|[plain
-- flag N]|pipe to
library.with_value_not_matching = function (ctx)
local yesmatch, ptn
local tbl, opts, offs = ctx.params, ctx.pipe, ctx.fnpos
local targets, nptns, argc = load_pattern_args(opts, offs,
'with_value_not_matching')
for key, val in pairs(tbl) do
yesmatch = true
for idx = 1, nptns do
ptn = targets[idx]
if ptn[3] then
if val ~= ptn[1] then
yesmatch = false
break
end
elseif not val:find(ptn[1], 1, ptn[2]) then
yesmatch = false
break
end
end
if yesmatch then tbl[key] = nil end
end
return context_iterate(ctx, argc)
end
-- Syntax: #invoke:params|keeping_at_most|number of parameters to pick|pipe to
library.keeping_at_most = function (ctx)
-- NOTE: `ctx.params` might be the original metatable! As a modifier,
-- this function MUST create a copy of it before returning
local len = tonumber(ctx.pipe[ctx.fnpos + 1])
if len == nil or len < 1 or math.floor(len) ~= len then error(modulename ..
', ‘keeping_at_most’: The number of parameters to keep must be an integer greater than zero', 0) end
ctx.params = copy_table_maxn({}, ctx.params, len)
return context_iterate(ctx, ctx.fnpos + 2)
end
-- Syntax: #invoke:params|trimming_values|pipe to
library.trimming_values = function (ctx)
local tbl = ctx.params
for key, val in pairs(tbl) do tbl[key] = val:match'^%s*(.-)%s*$' end
return context_iterate(ctx, ctx.fnpos + 1)
end
-- Syntax: #invoke:params|mapping_to_lowercase|pipe to
library.mapping_to_lowercase = function (ctx)
local tbl = ctx.params
for key, val in pairs(tbl) do tbl[key] = val:lower() end
return context_iterate(ctx, ctx.fnpos + 1)
end
-- Syntax: #invoke:params|mapping_to_uppercase|pipe to
library.mapping_to_uppercase = function (ctx)
local tbl = ctx.params
for key, val in pairs(tbl) do tbl[key] = val:upper() end
return context_iterate(ctx, ctx.fnpos + 1)
end
-- Syntax: #invoke:params|mapping_by_calling|template name|[call
-- style]|[let/use]|[...]|[let/use]|[...]|[number of additional
-- parameters]|[parameter 1]|[parameter 2]|[...]|[parameter N]|pipe to
library.mapping_by_calling = function (ctx)
local tname
local opts, offs = ctx.pipe, ctx.fnpos
if opts[offs + 1] ~= nil then
tname = opts[offs + 1]:match'^%s*(.*%S)'
end
if tname == nil then error(modulename ..
', ‘mapping_by_calling’: No template name was provided', 0) end
local margs, argc, looptype, karg, varg, tbl, mem =
load_callback_opts(opts, offs + 1, mapping_styles.values_only,
ctx.params)
local model = { title = tname, args = margs }
value_maps[looptype](tbl, margs, karg, varg, function ()
return ctx.frame:expandTemplate(model)
end)
for key, val in pairs(mem) do tbl[key] = val end
ctx.params = tbl
return context_iterate(ctx, argc)
end
-- Syntax: #invoke:params|mapping_by_invoking|module name|function name|[call
-- style]|[let/use]|[...]|[let/use]|[...]|[number of additional
-- arguments]|[argument 1]|[argument 2]|[...]|[argument N]|pipe to
library.mapping_by_invoking = function (ctx)
local mname, fname
local opts, offs = ctx.pipe, ctx.fnpos
if opts[offs + 1] ~= nil then
mname = opts[offs + 1]:match'^%s*(.*%S)'
end
if mname == nil then error(modulename ..
', ‘mapping_by_invoking’: No module name was provided', 0) end
if opts[offs + 2] ~= nil then
fname = opts[offs + 2]:match'^%s*(.*%S)'
end
if fname == nil then error(modulename ..
', ‘mapping_by_invoking’: No function name was provided', 0) end
local margs, argc, looptype, karg, varg, tbl, mem =
load_callback_opts(opts, offs + 2, mapping_styles.values_only,
ctx.params)
local model = { title = 'Module:' .. mname, args = margs }
local mfunc = require(model.title)[fname]
if mfunc == nil then error(modulename ..
', ‘mapping_by_invoking’: The function ‘' .. fname .. '’ does not exist', 0) end
value_maps[looptype](tbl, margs, karg, varg, function ()
return tostring(mfunc(ctx.frame:newChild(model)))
end)
for key, val in pairs(mem) do tbl[key] = val end
ctx.params = tbl
return context_iterate(ctx, argc)
end
-- Syntax: #invoke:params|mapping_by_magic|parser function|[call
-- style]|[let/use]|[...]|[let/use]|[...]|[number of additional
-- arguments]|[argument 1]|[argument 2]|[...]|[argument N]|pipe to
library.mapping_by_magic = function (ctx)
local magic
local opts, offs = ctx.pipe, ctx.fnpos
if opts[offs + 1] ~= nil then magic = opts[offs + 1]:match'^%s*(.*%S)' end
if magic == nil then error(modulename ..
', ‘mapping_by_magic’: No parser function was provided', 0) end
local margs, argc, looptype, karg, varg, tbl, mem =
load_callback_opts(opts, offs + 1, mapping_styles.values_only,
ctx.params)
value_maps[looptype](tbl, margs, karg, varg, function ()
return ctx.frame:callParserFunction(magic, margs)
end)
for key, val in pairs(mem) do tbl[key] = val end
ctx.params = tbl
return context_iterate(ctx, argc)
end
-- Syntax: #invoke:params|mapping_by_replacing|target|replace|[count]|[plain
-- flag]|pipe to
library.mapping_by_replacing = function (ctx)
local ptn, repl, nmax, flg, argc, die =
load_replace_args(ctx.pipe, ctx.fnpos, 'mapping_by_replacing')
if die then return context_iterate(ctx, argc) end
local tbl = ctx.params
if flg == 3 then
for key, val in pairs(tbl) do
if val == ptn then tbl[key] = repl end
end
else
if flg == 2 then
-- Copied from Module:String's `str._escapePattern()`
ptn = ptn:gsub('[%(%)%.%%%+%-%*%?%[%^%$%]]', '%%%0')
end
for key, val in pairs(tbl) do
tbl[key] = val:gsub(ptn, repl, nmax)
end
end
return context_iterate(ctx, argc)
end
-- Syntax: #invoke:params|mapping_by_mixing|mixing string|pipe to
library.mapping_by_mixing = function (ctx)
local opts, offs = ctx.pipe, ctx.fnpos
if opts[offs + 1] == nil then error(modulename ..
', ‘mapping_by_mixing’: No mixing string was provided', 0) end
local tbl, mix = ctx.params, opts[offs + 1]
if mix == '$#' then
for key in pairs(tbl) do tbl[key] = tostring(key) end
return context_iterate(ctx, offs + 2)
end
local skel, cnv, n_parts = parse_placeholder_string(mix)
for key, val in pairs(tbl) do
for idx = 2, n_parts, 2 do
if skel[idx] then cnv[idx] = val
else cnv[idx] = tostring(key) end
end
tbl[key] = table.concat(cnv)
end
return context_iterate(ctx, offs + 2)
end
-- Syntax: #invoke:params|renaming_to_lowercase|pipe to
library.renaming_to_lowercase = function (ctx)
-- NOTE: `ctx.params` might be the original metatable! As a modifier,
-- this function MUST create a copy of it before returning
local cache = {}
for key, val in pairs(ctx.params) do
if type(key) == 'string' then cache[key:lower()] = val else
cache[key] = val end
end
ctx.params = cache
return context_iterate(ctx, ctx.fnpos + 1)
end
-- Syntax: #invoke:params|renaming_to_uppercase|pipe to
library.renaming_to_uppercase = function (ctx)
-- NOTE: `ctx.params` might be the original metatable! As a modifier,
-- this function MUST create a copy of it before returning
local cache = {}
for key, val in pairs(ctx.params) do
if type(key) == 'string' then cache[key:upper()] = val else
cache[key] = val end
end
ctx.params = cache
return context_iterate(ctx, ctx.fnpos + 1)
end
-- Syntax: #invoke:params|renaming_to_sequence|[sort order]|pipe to
library.renaming_to_sequence = function (ctx)
-- NOTE: `ctx.params` might be the original metatable! As a modifier,
-- this function MUST create a copy of it before returning
local cache, len
local tbl = ctx.params
local sortfn, argc, do_sort = load_sort_opt(ctx.pipe[ctx.fnpos + 1])
if do_sort then
local words, wl
cache, words, len, wl = get_sorted_key_list(tbl, sortfn)
for idx = 1, len do cache[idx] = tbl[cache[idx]] end
for idx = 1, wl do cache[len + idx] = tbl[words[idx]] end
else
cache, len = {}, 1
for _, val in pairs(tbl) do cache[len], len = val, len + 1 end
end
ctx.params = cache
return context_iterate(ctx, ctx.fnpos + argc)
end
-- Syntax: #invoke:params|renaming_by_calling|template name|[call
-- style]|[let/use]|[...]|[let/use]|[...]|[number of additional
-- parameters]|[parameter 1]|[parameter 2]|[...]|[parameter N]|pipe to
library.renaming_by_calling = function (ctx)
local tname
local opts, offs = ctx.pipe, ctx.fnpos
if opts[offs + 1] ~= nil then
tname = opts[offs + 1]:match'^%s*(.*%S)'
end
if tname == nil then error(modulename ..
', ‘renaming_by_calling’: No template name was provided', 0) end
local rargs, argc, looptype, karg, varg, tbl, mem =
load_callback_opts(opts, offs + 1, mapping_styles.names_only,
ctx.params)
local model = { title = tname, args = rargs }
map_names(tbl, rargs, karg, varg, looptype, function ()
return ctx.frame:expandTemplate(model)
end)
for key, val in pairs(mem) do tbl[key] = val end
ctx.params = tbl
return context_iterate(ctx, argc)
end
-- Syntax: #invoke:params|renaming_by_invoking|module name|function
-- name|[call style]|[let/use]|[...]|[let/use]|[...]|[number of
-- additional arguments]|[argument 1]|[argument 2]|[...]|[argument
-- N]|pipe to
library.renaming_by_invoking = function (ctx)
local mname, fname
local opts, offs = ctx.pipe, ctx.fnpos
if opts[offs + 1] ~= nil then
mname = opts[offs + 1]:match'^%s*(.*%S)'
end
if mname == nil then error(modulename ..
', ‘renaming_by_invoking’: No module name was provided', 0) end
if opts[offs + 2] ~= nil then
fname = opts[offs + 2]:match'^%s*(.*%S)'
end
if fname == nil then error(modulename ..
', ‘renaming_by_invoking’: No function name was provided', 0) end
local rargs, argc, looptype, karg, varg, tbl, mem =
load_callback_opts(opts, offs + 2, mapping_styles.names_only,
ctx.params)
local model = { title = 'Module:' .. mname, args = rargs }
local mfunc = require(model.title)[fname]
if mfunc == nil then error(modulename ..
', ‘renaming_by_invoking’: The function ‘' .. fname .. '’ does not exist', 0) end
map_names(tbl, rargs, karg, varg, looptype, function ()
return tostring(mfunc(ctx.frame:newChild(model)))
end)
for key, val in pairs(mem) do tbl[key] = val end
ctx.params = tbl
return context_iterate(ctx, argc)
end
-- Syntax: #invoke:params|renaming_by_magic|parser function|[call
-- style]|[let/use]|[...]|[let/use]|[...]|[number of additional
-- arguments]|[argument 1]|[argument 2]|[...]|[argument N]|pipe to
library.renaming_by_magic = function (ctx)
local opts, offs = ctx.pipe, ctx.fnpos
local magic
if opts[offs + 1] ~= nil then
magic = opts[offs + 1]:match'^%s*(.*%S)'
end
if magic == nil then error(modulename ..
', ‘renaming_by_magic’: No parser function was provided', 0) end
local rargs, argc, looptype, karg, varg, tbl, mem =
load_callback_opts(opts, offs + 1, mapping_styles.names_only,
ctx.params)
map_names(tbl, rargs, karg, varg, looptype, function ()
return ctx.frame:callParserFunction(magic, rargs)
end)
for key, val in pairs(mem) do tbl[key] = val end
ctx.params = tbl
return context_iterate(ctx, argc)
end
-- Syntax: #invoke:params|renaming_by_replacing|target|replace|[count]|[plain
-- flag]|pipe to
library.renaming_by_replacing = function (ctx)
local ptn, repl, nmax, flg, argc, die =
load_replace_args(ctx.pipe, ctx.fnpos, 'renaming_by_replacing')
if die then return context_iterate(ctx, argc) end
local tbl = ctx.params
if flg == 3 then
ptn = get_param_name(ptn)
local val = tbl[ptn]
if val ~= nil then
tbl[ptn], tbl[get_param_name(repl)] = nil, val
end
else
if flg == 2 then
-- Copied from Module:String's `str._escapePattern()`
ptn = ptn:gsub('[%(%)%.%%%+%-%*%?%[%^%$%]]', '%%%0')
end
local cache = {}
for key, val in pairs(tbl) do
steal_if_renamed(val, tbl, key, cache,
tostring(key):gsub(ptn, repl, nmax))
end
for key, val in pairs(cache) do tbl[key] = val end
end
return context_iterate(ctx, argc)
end
-- Syntax: #invoke:params|renaming_by_mixing|mixing string|pipe to
library.renaming_by_mixing = function (ctx)
-- NOTE: `ctx.params` might be the original metatable! As a modifier,
-- this function MUST create a copy of it before returning
local mix = ctx.pipe[ctx.fnpos + 1]
if mix == nil then error(modulename ..
', ‘renaming_by_mixing’: No mixing string was provided', 0) end
local cache = {}
mix = mix:match'^%s*(.-)%s*$'
if mix == '$@' then
for _, val in pairs(ctx.params) do
cache[get_param_name(val)] = val
end
else
local skel, canvas, n_parts = parse_placeholder_string(mix)
for key, val in pairs(ctx.params) do
for idx = 2, n_parts, 2 do
if skel[idx] then canvas[idx] = val
else canvas[idx] = tostring(key) end
end
cache[get_param_name(table.concat(canvas))] = val
end
end
ctx.params = cache
return context_iterate(ctx, ctx.fnpos + 2)
end
-- Syntax: #invoke:params|grouping_by_calling|template
-- name|[let/use]|[...]|[let/use]|[...]|[number of additional
-- arguments]|[argument 1]|[argument 2]|[...]|[argument N]|pipe to
library.grouping_by_calling = function (ctx)
-- NOTE: `ctx.params` might be the original metatable! As a modifier,
-- this function MUST create a copy of it before returning
local opts, offs = ctx.pipe, ctx.fnpos
local tmp, argc, tbl, mem =
load_child_opts(opts, offs + 2, 0, ctx.params)
local gargs = {}
for key, val in pairs(tmp) do
if type(key) == 'number' and key < 1 then gargs[key - 1] = val
else gargs[key] = val end
end
tmp = opts[offs + 1]
if tmp ~= nil then tmp = tmp:match'^%s*(.*%S)' end
if tmp == nil then error(modulename ..
', ‘grouping_by_calling’: No template name was provided', 0) end
local model = { title = tmp }
local groups = make_groups(tbl)
for gid, group in pairs(groups) do
for key, val in pairs(gargs) do group[key] = val end
group[0], model.args = gid, group
groups[gid] = ctx.frame:expandTemplate(model)
end
for key, val in pairs(mem) do groups[key] = val end
ctx.params = groups
return context_iterate(ctx, argc)
end
-- Syntax: #invoke:params|parsing|string to parse|[trim flag]|[iteration
-- delimiter setter]|[...]|[key-value delimiter setter]|[...]|pipe to
library.parsing = function (ctx)
local opts, offs = ctx.pipe, ctx.fnpos
if opts[offs + 1] == nil then error(modulename ..
', ‘parsing’: No string to parse was provided', 0) end
local isep, iplain, psep, pplain, trimnamed, trimunnamed, argc =
load_parse_opts(opts, offs + 2, '|', '=')
parse_parameter_string(ctx.params, opts[offs + 1], isep, iplain, psep,
pplain, trimnamed, trimunnamed)
return context_iterate(ctx, argc)
end
-- Syntax: #invoke:params|reinterpreting|parameter to reinterpret|[trim
-- flag]|[iteration delimiter setter]|[...]|[key-value delimiter
-- setter]|[...]|pipe to
library.reinterpreting = function (ctx)
local opts, offs = ctx.pipe, ctx.fnpos
if opts[offs + 1] == nil then error(modulename ..
', ‘reinterpreting’: No parameter to reinterpret was provided', 0) end
local isep, iplain, psep, pplain, trimnamed, trimunnamed, argc =
load_parse_opts(opts, offs + 2, '|', '=')
local tbl, tmp = ctx.params, get_param_name(opts[offs + 1])
local str = tbl[tmp]
if str ~= nil then
tbl[tmp] = nil
parse_parameter_string(tbl, str, isep, iplain, psep, pplain,
trimnamed, trimunnamed)
end
return context_iterate(ctx, argc)
end
-- Syntax: #invoke:params|evaluating|string to parse|[trim flag]|[iteration
-- delimiter setter]|[...]|[key-value delimiter setter]|[...]|pipe to
library.evaluating = function (ctx)
local opts, offs = ctx.pipe, ctx.fnpos
if opts[offs + 1] == nil then error(modulename ..
', ‘evaluating’: No string to parse was provided', 0) end
local isep, iplain, psep, pplain, trimnamed, trimunnamed, repos =
load_parse_opts(opts, offs + 2, '!', ':')
if opts[offs + 1]:match'^%s*(.*%S)' == nil then
remove_numeric_keys(opts, offs, repos - offs)
return context_iterate(ctx, offs)
end
local new_opts, cache = {}, {}
parse_parameter_string(cache, opts[offs + 1], isep, iplain, psep,
pplain, trimnamed, trimunnamed)
local shift = #cache + offs - repos + 1
for key, val in pairs(opts) do
if type(key) ~= 'number' or key < offs then new_opts[key] = val
elseif key >= repos then new_opts[key + shift] = val end
end
for key, val in pairs(cache) do
if type(key) ~= 'number' or key < 1 then new_opts[key] = val
else new_opts[key + offs] = val end
end
ctx.pipe = new_opts
return context_iterate(ctx, offs + 1)
end
-- Syntax: #invoke:params|mixing_names_and_values|mixing string|pipe to
library.mixing_names_and_values = function (ctx)
-- NOTE: `ctx.params` might be the original metatable! As a modifier,
-- this function MUST create a copy of it before returning
local opts, offs = ctx.pipe, ctx.fnpos
if opts[offs + 1] == nil then error(modulename ..
', ‘mixing_names_and_values’: No mixing string was provided for parameter names', 0) end
if opts[offs + 2] == nil then error(modulename ..
', ‘mixing_names_and_values’: No mixing string was provided for parameter values', 0) end
local tmp
local cache, mix_k, mix_v =
{}, opts[offs + 1]:match'^%s*(.-)%s*$', opts[offs + 2]
if mix_k == '$@' and mix_v == '$@' then
for _, val in pairs(ctx.params) do
cache[get_param_name(val)] = val
end
elseif mix_k == '$@' and mix_v == '$#' then
for key, val in pairs(ctx.params) do
cache[get_param_name(val)] = tostring(key)
end
elseif mix_k == '$#' and mix_v == '$#' then
for key in pairs(ctx.params) do cache[key] = tostring(key) end
else
local skel_k, cnv_k, n_parts_k = parse_placeholder_string(mix_k)
local skel_v, cnv_v, n_parts_v = parse_placeholder_string(mix_v)
for key, val in pairs(ctx.params) do
tmp = tostring(key)
for idx = 2, n_parts_k, 2 do
if skel_k[idx] then cnv_k[idx] = val
else cnv_k[idx] = tmp end
end
for idx = 2, n_parts_v, 2 do
if skel_v[idx] then cnv_v[idx] = val
else cnv_v[idx] = tmp end
end
cache[get_param_name(table.concat(cnv_k))] =
table.concat(cnv_v)
end
end
ctx.params = cache
return context_iterate(ctx, offs + 3)
end
-- Syntax: #invoke:params|combining|new parameter name|[sort
-- order]|[with/without flushed glue]|setting directives|...|pipe to
library.combining = function (ctx)
-- NOTE: `ctx.params` might be the original metatable! As a modifier,
-- this function MUST create a copy of it before returning
return context_iterate(ctx, combine_parameters(
ctx,
function (key, val, kvs) return key .. kvs .. val end,
'combining'
) + 1)
end
-- Syntax: #invoke:params|combining_values|new parameter name|[sort
-- order]|[with/without flushed glue]|setting directives|...|pipe to
library.combining_values = function (ctx)
-- NOTE: `ctx.params` might be the original metatable! As a modifier,
-- this function MUST create a copy of it before returning
return context_iterate(ctx, combine_parameters(
ctx,
function (key, val, kvs) return val end,
'combining_values'
) + 1)
end
-- Syntax: #invoke:params|combining_by_calling|template name|new parameter
-- name|pipe to
library.combining_by_calling = function (ctx)
-- NOTE: `ctx.params` might be the original metatable! As a modifier,
-- this function MUST create a copy of it before returning
local opts, offs = ctx.pipe, ctx.fnpos
local tname = opts[offs + 1]
if tname ~= nil then tname = tname:match'^%s*(.*%S)'
else error(modulename ..
', ‘combining_by_calling’: No template name was provided', 0) end
if opts[offs + 2] == nil then error(modulename ..
', ‘combining_by_calling’: No parameter name was provided', 0) end
ctx.params = {
[get_param_name(opts[offs + 2])] = ctx.frame:expandTemplate{
title = tname,
args = ctx.params
}
}
return context_iterate(ctx, offs + 3)
end
-- Syntax: #invoke:params|combining_by_invoking|module name|function name|new
-- parameter name|pipe to
library.combining_by_invoking = function (ctx)
-- NOTE: `ctx.params` might be the original metatable! As a modifier,
-- this function MUST create a copy of it before returning
local opts, offs = ctx.pipe, ctx.fnpos
local mname = opts[offs + 1]
if mname ~= nil then mname = mname:match'^%s*(.*%S)'
else error(modulename ..
', ‘combining_by_invoking’: No module name was provided', 0) end
local fname = opts[offs + 2]
if fname ~= nil then fname = fname:match'^%s*(.*%S)'
else error(modulename ..
', ‘combining_by_invoking’: No function name was provided', 0) end
if opts[offs + 3] == nil then error(modulename ..
', ‘combining_by_invoking’: No parameter name was provided', 0) end
local model = { title = 'Module:' .. mname, args = ctx.params }
local mfunc = require(model.title)[fname]
if mfunc == nil then error(modulename ..
', ‘mapping_by_invoking’: The function ‘' .. fname .. '’ does not exist', 0) end
ctx.params = {
[get_param_name(opts[offs + 3])] =
tostring(mfunc(ctx.frame:newChild(model)))
}
return context_iterate(ctx, offs + 4)
end
-- Syntax: #invoke:params|combining_by_magic|parser function|new parameter
-- name|pipe to
library.combining_by_magic = function (ctx)
-- NOTE: `ctx.params` might be the original metatable! As a modifier,
-- this function MUST create a copy of it before returning
local opts, offs = ctx.pipe, ctx.fnpos
local magic = opts[offs + 1]
if magic ~= nil then magic = magic:match'^%s*(.*%S)'
else error(modulename ..
', ‘combining_by_magic’: No parser function was provided', 0) end
if opts[offs + 2] == nil then error(modulename ..
', ‘combining_by_magic’: No parameter name was provided', 0) end
ctx.params = {
[get_param_name(opts[offs + 2])] =
ctx.frame:callParserFunction(magic, ctx.params)
}
return context_iterate(ctx, offs + 3)
end
-- Syntax: #invoke:params|snapshotting|[maximum number]|pipe to
library.snapshotting = function (ctx)
return context_iterate(ctx, ctx.fnpos + make_child(ctx, ctx.params, 'snapshotting'))
end
-- Syntax: #invoke:params|remembering|[maximum number]|pipe to
library.remembering = function (ctx)
return context_iterate(ctx, ctx.fnpos + make_child(ctx, ctx.oparams, 'remembering'))
end
-- Syntax: #invoke:params|entering_substack|[new]|pipe to
library.entering_substack = function (ctx)
local tbl, opts, offs, ncurrparent =
ctx.params, ctx.pipe, ctx.fnpos, ctx.n_parents + 1
if ctx.parents == nil then ctx.parents = { tbl }
else ctx.parents[ncurrparent] = tbl end
ctx.n_parents = ncurrparent
if opts[offs + 1] ~= nil and opts[offs + 1]:match'^%s*new%s*$' then
ctx.params = {}
return context_iterate(ctx, offs + 2)
end
local currsnap = ctx.n_children
if currsnap > 0 then
ctx.params, ctx.children[currsnap], ctx.n_children =
ctx.children[currsnap], nil, currsnap - 1
else
local newparams = {}
for key, val in pairs(tbl) do newparams[key] = val end
ctx.params = newparams
end
return context_iterate(ctx, offs + 1)
end
-- Syntax: #invoke:params|pulling|parameter name|pipe to
library.pulling = function (ctx)
local opts, offs = ctx.pipe, ctx.fnpos
if opts[offs + 1] == nil then error(modulename ..
', ‘pulling’: No parameter to pull was provided', 0) end
local tmp = ctx.n_parents
local parent = tmp < 1 and ctx.oparams or ctx.parents[tmp]
tmp = get_param_name(opts[offs + 1])
if parent[tmp] ~= nil then ctx.params[tmp] = parent[tmp] end
return context_iterate(ctx, ctx.fnpos + 2)
end
-- Syntax: #invoke:params|recalling|parameter name|pipe to
library.recalling = function (ctx)
local opts, offs = ctx.pipe, ctx.fnpos
if opts[offs + 1] == nil then error(modulename ..
', ‘recalling’: No parameter to recall was provided', 0) end
local arg = get_param_name(opts[offs + 1])
if ctx.oparams[arg] ~= nil then ctx.params[arg] = ctx.oparams[arg] end
return context_iterate(ctx, ctx.fnpos + 2)
end
-- Syntax: #invoke:params|finding|parameter name|pipe to
--[[
library.finding = function (ctx)
local opts, offs = ctx.pipe, ctx.fnpos
if opts[offs + 1] == nil then error(modulename ..
', ‘finding’: No parameter to find was provided', 0) end
local arg = get_param_name(opts[offs + 1])
local parent
for idx = ctx.n_parents, 1, -1 do
parent = ctx.parents[idx]
if parent[arg] ~= nil then
ctx.params[arg] = parent[arg]
return context_iterate(ctx, offs + 2)
end
end
if ctx.oparams[arg] ~= nil then ctx.params[arg] = ctx.oparams[arg] end
return context_iterate(ctx, offs + 2)
end
]]--
-- Syntax: #invoke:params|picking|number of parameters to pick|pipe to
--[[
library.picking = function (ctx)
local len = tonumber(ctx.pipe[ctx.fnpos + 1])
if len == nil or len < 1 or math.floor(len) ~= len then error(modulename ..
', ‘picking’: The number of parameters to pick must be an integer greater than zero', 0) end
if ctx.n_parents < 1 then copy_table_maxn(ctx.params, ctx.oparams, len)
else copy_table_maxn(ctx.params, ctx.parents[ctx.n_parents], len) end
return context_iterate(ctx, ctx.fnpos + 2)
end
]]--
-- Syntax: #invoke:params|detaching_substack|pipe to
library.detaching_substack = function (ctx)
local ncurrparent = ctx.n_parents
if ncurrparent < 1 then error(modulename ..
', ‘detaching_substack’: No substack has been created', 0) end
local parent = ctx.parents[ncurrparent]
for key in pairs(ctx.params) do parent[key] = nil end
return context_iterate(ctx, ctx.fnpos + 1)
end
-- Syntax: #invoke:params|dropping_substack|pipe to
library.dropping_substack = function (ctx)
local ncurrparent = ctx.n_parents
if ncurrparent < 1 then error(modulename ..
', ‘dropping_substack’: No substack has been created', 0) end
ctx.params, ctx.parents[ncurrparent], ctx.n_parents =
ctx.parents[ncurrparent], nil, ncurrparent - 1
return context_iterate(ctx, ctx.fnpos + 1)
end
-- Syntax: #invoke:params|leaving_substack|pipe to
library.leaving_substack = function (ctx)
local ncurrparent = ctx.n_parents
if ncurrparent < 1 then error(modulename ..
', ‘leaving_substack’: No substack has been created', 0) end
local currsnap = ctx.n_children + 1
if ctx.children == nil then ctx.children = { ctx.params }
else ctx.children[currsnap] = ctx.params end
ctx.params, ctx.parents[ncurrparent], ctx.n_parents, ctx.n_children =
ctx.parents[ncurrparent], nil, ncurrparent - 1, currsnap
return context_iterate(ctx, ctx.fnpos + 1)
end
-- Syntax: #invoke:params|merging_substack|pipe to
library.merging_substack = function (ctx)
local ncurrparent = ctx.n_parents
if ncurrparent < 1 then error(modulename ..
', ‘merging_substack’: No substack has been created', 0) end
local parent, child = ctx.parents[ncurrparent], ctx.params
ctx.params, ctx.parents[ncurrparent], ctx.n_parents = parent, nil,
ncurrparent - 1
for key, val in pairs(child) do parent[key] = val end
return context_iterate(ctx, ctx.fnpos + 1)
end
-- Syntax: #invoke:params|flushing|pipe to
library.flushing = function (ctx)
if ctx.n_children < 1 then error(modulename ..
', ‘flushing’: There are no substacks to flush', 0) end
local parent, currsnap = ctx.params, ctx.n_children
for key, val in pairs(ctx.children[currsnap]) do parent[key] = val end
ctx.children[currsnap], ctx.n_children = nil, currsnap - 1
return context_iterate(ctx, ctx.fnpos + 1)
end
-- Syntax: #invoke:params|setting_by_flushing|pipe to
library.setting_by_flushing = function (ctx)
set_strings_from_substack(ctx, ctx, 'setting_by_flushing')
return context_iterate(ctx, ctx.fnpos + 1)
end
--[[ Functions ]]--
-----------------------------
-- Syntax: #invoke:params|count
library.count = function (ctx)
-- NOTE: `ctx.params` might be the original metatable!
local retval = 0
for _ in ctx.iterfunc(ctx.params) do retval = retval + 1 end
if ctx.subset == -1 then retval = retval - #ctx.params end
ctx.text = retval
return false
end
-- Syntax: #invoke:args|concat_and_call|template name|[prepend 1]|[prepend 2]|
-- [...]|[item n]|[named item 1=value 1]|[...]|[named item n=value
-- n]|[...]
library.concat_and_call = function (ctx)
-- NOTE: `ctx.params` might be the original metatable!
local tname
local opts, offs = ctx.pipe, ctx.fnpos
if opts[offs + 1] ~= nil then
tname = opts[offs + 1]:match'^%s*(.*%S)'
end
if tname == nil then error(modulename ..
', ‘concat_and_call’: No template name was provided', 0) end
ctx.text = ctx.frame:expandTemplate{
title = tname,
args = concat_params(ctx, offs + 1)
}
return false
end
-- Syntax: #invoke:args|concat_and_invoke|module name|function name|[prepend
-- 1]|[prepend 2]|[...]|[item n]|[named item 1=value 1]|[...]|[named
-- item n=value n]|[...]
library.concat_and_invoke = function (ctx)
-- NOTE: `ctx.params` might be the original metatable!
local mname, fname
local opts, offs = ctx.pipe, ctx.fnpos
if opts[offs + 1] ~= nil then
mname = opts[offs + 1]:match'^%s*(.*%S)'
end
if mname == nil then error(modulename ..
', ‘concat_and_invoke’: No module name was provided', 0) end
if opts[offs + 2] ~= nil then
fname = opts[offs + 2]:match'^%s*(.*%S)'
end
if fname == nil then error(modulename ..
', ‘concat_and_invoke’: No function name was provided', 0) end
local mfunc = require('Module:' .. mname)[fname]
if mfunc == nil then error(modulename ..
', ‘concat_and_invoke’: The function ‘' .. fname .. '’ does not exist', 0) end
ctx.text = mfunc(ctx.frame:newChild{
title = 'Module:' .. mname,
args = concat_params(ctx, offs + 2)
})
return false
end
-- Syntax: #invoke:args|concat_and_magic|parser function|[prepend 1]|[prepend
-- 2]|[...]|[item n]|[named item 1=value 1]|[...]|[named item n=
-- value n]|[...]
library.concat_and_magic = function (ctx)
-- NOTE: `ctx.params` might be the original metatable!
local magic
local opts, offs = ctx.pipe, ctx.fnpos
if opts[offs + 1] ~= nil then
magic = opts[offs + 1]:match'^%s*(.*%S)'
end
if magic == nil then error(modulename ..
', ‘concat_and_magic’: No parser function was provided', 0) end
ctx.text = ctx.frame:callParserFunction(magic,
concat_params(ctx, offs + 1))
return false
end
-- Syntax: #invoke:params|value_of|parameter name
library.value_of = function (ctx)
-- NOTE: `ctx.params` might be the original metatable!
local opts, offs = ctx.pipe, ctx.fnpos
if opts[offs + 1] == nil then error(modulename ..
', ‘value_of’: No parameter name was provided', 0) end
local val
local key = opts[offs + 1]:match'^%s*(.-)%s*$'
if key == '0' or key:find'^%-?[1-9]%d*$' ~= nil then
key = tonumber(key)
val = ctx.params[key]
-- No worries: #ctx.params is unused when the modifier is in
-- first position (and therefore `ctx.params` is a metatable)
if val ~= nil and (
ctx.subset ~= -1 or key > #ctx.params or key < 1
) and (
ctx.subset ~= 1 or (key <= #ctx.params and key > 0)
) then
ctx.text = (ctx.header or '') .. val ..
(ctx.footer or '')
else ctx.text = ctx.ifngiven or '' end
else
val = ctx.params[key]
if ctx.subset ~= 1 and val ~= nil then ctx.text = (ctx.header
or '') .. val .. (ctx.footer or '')
else ctx.text = ctx.ifngiven or '' end
end
return false
end
-- Syntax: #invoke:params|list
library.list = function (ctx)
local ret, nss, kvs, pps = {}, 0, ctx.pairsep or '', ctx.itersep or ''
flush_params(ctx, function (key, val)
ret[nss + 1], ret[nss + 2], ret[nss + 3], ret[nss + 4], nss =
pps, key, kvs, val, nss + 4
end)
finalize_and_return_concatenated_list(ctx, ret, nss, 4)
return false
end
-- Syntax: #invoke:params|list_values
library.list_values = function (ctx)
-- NOTE: `library.coins()` and `library.unique_coins()` rely on us
local ret, nss, pps = {}, 0, ctx.itersep or ''
flush_params(ctx, function (key, val)
ret[nss + 1], ret[nss + 2], nss = pps, val, nss + 2
end)
finalize_and_return_concatenated_list(ctx, ret, nss, 2)
return false
end
-- Syntax: #invoke:params|list_maybe_with_names
library.list_maybe_with_names = function (ctx)
local ret, nss, kvs, pps = {}, 0, ctx.pairsep or '', ctx.itersep or ''
mixed_flush_params(
ctx,
function (key, val)
ret[nss + 1], ret[nss + 2], ret[nss + 3],
ret[nss + 4], nss = pps, '', '', val, nss + 4
end,
function (key, val)
ret[nss + 1], ret[nss + 2], ret[nss + 3],
ret[nss + 4], nss = pps, key, kvs, val, nss + 4
end
)
finalize_and_return_concatenated_list(ctx, ret, nss, 4)
return false
end
-- Syntax: #invoke:params|for_each|wikitext
library.for_each = function (ctx)
local ret, nss, pps, txt =
{}, 0, ctx.itersep or '', ctx.pipe[ctx.fnpos + 1] or ''
local skel, cnv, n_parts = parse_placeholder_string(txt)
flush_params(ctx, function (key, val)
for idx = 2, n_parts, 2 do
if skel[idx] then cnv[idx] = val
else cnv[idx] = tostring(key) end
end
ret[nss + 1], nss = pps, nss + 2
ret[nss] = table.concat(cnv)
end)
finalize_and_return_concatenated_list(ctx, ret, nss, 2)
return false
end
-- Syntax: #invoke:params|call_for_each|template name|[append 1]|[append 2]|
-- [...]|[append n]|[named param 1=value 1]|[...]|[named param
-- n=value n]|[...]
library.call_for_each = function (ctx)
local tname
local opts, offs = ctx.pipe, ctx.fnpos
if opts[offs + 1] ~= nil then
tname = opts[offs + 1]:match'^%s*(.*%S)'
end
if tname == nil then error(modulename ..
', ‘call_for_each’: No template name was provided', 0) end
local cargs = copy_table_reduced(opts, 1, offs - 1)
local model, ret, nss, ccs =
{ title = tname, args = cargs }, {}, 0, ctx.itersep or ''
flush_params(ctx, function (key, val)
cargs[1], cargs[2], ret[nss + 1], nss = key, val, ccs, nss + 2
ret[nss] = ctx.frame:expandTemplate(model)
end)
finalize_and_return_concatenated_list(ctx, ret, nss, 2)
return false
end
-- Syntax: #invoke:params|invoke_for_each|module name|module function|[append
-- 1]|[append 2]|[...]|[append n]|[named param 1=value 1]|[...]|
-- [named param n=value n]|[...]
library.invoke_for_each = function (ctx)
local mname, fname
local opts, offs = ctx.pipe, ctx.fnpos
if opts[offs + 1] ~= nil then
mname = opts[offs + 1]:match'^%s*(.*%S)'
end
if mname == nil then error(modulename ..
', ‘invoke_for_each’: No module name was provided', 0) end
if opts[offs + 2] ~= nil then
fname = opts[offs + 2]:match'^%s*(.*%S)'
end
if fname == nil then error(modulename ..
', ‘invoke_for_each’: No function name was provided', 0) end
local iargs = copy_table_reduced(ctx.pipe, 1, offs)
local model = { title = 'Module:' .. mname, args = iargs }
local mfunc, ret, nss, ccs =
require(model.title)[fname], {}, 0, ctx.itersep or ''
if mfunc == nil then error(modulename ..
', ‘invoke_for_each’: The function ‘' .. fname .. '’ does not exist', 0) end
flush_params(ctx, function (key, val)
iargs[1], iargs[2], ret[nss + 1], nss = key, val, ccs, nss + 2
ret[nss] = mfunc(ctx.frame:newChild(model))
end)
finalize_and_return_concatenated_list(ctx, ret, nss, 2)
return false
end
-- Syntax: #invoke:params|magic_for_each|parser function|[append 1]|[append
-- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param
-- n=value n]|[...]
library.magic_for_each = function (ctx)
local magic
local opts, offs = ctx.pipe, ctx.fnpos
if opts[offs + 1] ~= nil then
magic = opts[offs + 1]:match'^%s*(.*%S)'
end
if magic == nil then error(modulename ..
', ‘magic_for_each’: No parser function was provided', 0) end
local ret, nss, ccs, cargs = {}, 0, ctx.itersep or '',
copy_table_reduced(opts, 1, offs - 1)
flush_params(ctx, function (key, val)
cargs[1], cargs[2], ret[nss + 1], nss = key, val, ccs, nss + 2
ret[nss] = ctx.frame:callParserFunction(magic, cargs)
end)
finalize_and_return_concatenated_list(ctx, ret, nss, 2)
return false
end
-- Syntax: #invoke:params|call_for_each_value|template name|[append 1]|[append
-- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param
-- n=value n]|[...]
library.call_for_each_value = function (ctx)
local tname
local opts, offs = ctx.pipe, ctx.fnpos
if opts[offs + 1] ~= nil then
tname = opts[offs + 1]:match'^%s*(.*%S)'
end
if tname == nil then error(modulename ..
', ‘call_for_each_value’: No template name was provided', 0) end
local cargs = copy_table_reduced(ctx.pipe, 1, offs)
local model = { title = tname, args = cargs }
local ret, nss, ccs = {}, 0, ctx.itersep or ''
flush_params(ctx, function (key, val)
cargs[1], ret[nss + 1], nss = val, ccs, nss + 2
ret[nss] = ctx.frame:expandTemplate(model)
end)
finalize_and_return_concatenated_list(ctx, ret, nss, 2)
return false
end
-- Syntax: #invoke:params|invoke_for_each_value|module name|[append 1]|[append
-- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param
-- n=value n]|[...]
library.invoke_for_each_value = function (ctx)
local mname, fname
local opts, offs = ctx.pipe, ctx.fnpos
if opts[offs + 1] ~= nil then
mname = opts[offs + 1]:match'^%s*(.*%S)'
end
if mname == nil then error(modulename ..
', ‘invoke_for_each_value’: No module name was provided', 0) end
if opts[offs + 2] ~= nil then
fname = opts[offs + 2]:match'^%s*(.*%S)'
end
if fname == nil then error(modulename ..
', ‘invoke_for_each_value’: No function name was provided', 0) end
local iargs = copy_table_reduced(ctx.pipe, 1, offs + 1)
local model = { title = 'Module:' .. mname, args = iargs }
local mfunc, ret, nss, ccs =
require(model.title)[fname], {}, 0, ctx.itersep or ''
if mfunc == nil then error(modulename ..
', ‘invoke_for_each_value’: The function ‘' .. fname .. '’ does not exist', 0) end
flush_params(ctx, function (key, val)
iargs[1], ret[nss + 1], nss = val, ccs, nss + 2
ret[nss] = mfunc(ctx.frame:newChild(model))
end)
finalize_and_return_concatenated_list(ctx, ret, nss, 2)
return false
end
-- Syntax: #invoke:params|magic_for_each_value|parser function|[append 1]|
-- [append 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named
-- param n=value n]|[...]
library.magic_for_each_value = function (ctx)
local magic
local opts, offs = ctx.pipe, ctx.fnpos
if opts[offs + 1] ~= nil then
magic = opts[offs + 1]:match'^%s*(.*%S)'
end
if magic == nil then error(modulename ..
', ‘magic_for_each_value’: No parser function was provided', 0) end
local cargs, ret, nss, ccs =
copy_table_reduced(opts, 1, offs), {}, 0, ctx.itersep or ''
flush_params(ctx, function (key, val)
cargs[1], ret[nss + 1], nss = val, ccs, nss + 2
ret[nss] = ctx.frame:callParserFunction(magic, cargs)
end)
finalize_and_return_concatenated_list(ctx, ret, nss, 2)
return false
end
-- Syntax: #invoke:params|call_for_each_group|template name|[append 1]|[append
-- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param
-- n=value n]|[...]
library.call_for_each_group = function (ctx)
-- NOTE: `ctx.params` might be the original metatable!
local tmp
local opts, offs = ctx.pipe, ctx.fnpos
if opts[offs + 1] ~= nil then
tmp = opts[offs + 1]:match'^%s*(.*%S)'
end
if tmp == nil then error(modulename ..
', ‘call_for_each_group’: No template name was provided', 0) end
local model = { title = tmp }
local bargs, ret, nss, ccs = {}, {}, 0, ctx.itersep or ''
for key, val in pairs(opts) do
if type(key) ~= 'number' then bargs[key] = val
elseif key > offs then bargs[key - offs - 1] = val
elseif key < 1 then bargs[key - 1] = val end
end
ctx.params = make_groups(ctx.params)
flush_params(ctx, function (gid, group)
for key, val in pairs(bargs) do group[key] = val end
group[0], model.args, ret[nss + 1], nss = gid, group, ccs,
nss + 2
ret[nss] = ctx.frame:expandTemplate(model)
end)
finalize_and_return_concatenated_list(ctx, ret, nss, 2)
return false
end
--[[ First-position-only modifiers ]]--
---------------------------------------
-- Syntax: #invoke:params|new|pipe to
static_iface.new = function (child_frame)
local ctx = context_new(child_frame, 'new')
ctx.params = {}
main_loop(ctx, context_iterate(ctx, 2))
return ctx.text
end
--[[ First-position-only functions ]]--
---------------------------------------
-- Syntax: #invoke:params|self
static_iface.self = function (child_frame)
return child_frame:getParent():getTitle()
end
--[[ Public metatable of functions ]]--
---------------------------------------
return setmetatable({}, {
__index = function (_, query)
local fname = query:match'^%s*(.*%S)'
if fname == nil then error(modulename ..
': You must specify a function to call', 0) end
local func = static_iface[fname]
if func ~= nil then return func end
func = library[fname]
if func == nil then error(modulename ..
': The function ‘' .. fname .. '’ does not exist', 0) end
return function (child_frame)
local ctx = context_new(child_frame, fname)
ctx.params = copy_or_ref_table(ctx.oparams,
refparams[fname])
main_loop(ctx, func)
return ctx.text
end
end
})
jnrp2hde108asrud4ch6fuc8nkppvn4
Jean-Joseph Sanfourche
0
26367
118879
118857
2026-10-11T08:30:00Z
Orange0067
16978
/* */ Categoria
118879
wikitext
text/x-wiki
'''Jean-Joseph Sanfourche''' ([[Bordeaux]], [[1929]] - Saint-Léonard-de-Noblat [[2010]]) fue una maga pintor y escultor [[Francia]].
{{Stub}}
[[Categoría:Francia]]
[[Category:Gentes]]
9s9fqzqi0prcm3ecucpqory9bpjspmc
Nueva York
0
26369
118874
2026-10-11T08:23:01Z
ČarnaruskiVoin
13506
ČarnaruskiVoin trasladó la página [[Nueva York]] a [[Nueva York (estado)]]
118874
wikitext
text/x-wiki
#REDIRECCIÓN [[Nueva York (estado)]]
qm168ndkgmpkym884qltk87i0oce5cf
New York (ciudad)
0
26370
118876
2026-10-11T08:23:27Z
ČarnaruskiVoin
13506
ČarnaruskiVoin trasladó la página [[New York (ciudad)]] a [[Nueva York (ciudad)]]
118876
wikitext
text/x-wiki
#REDIRECCIÓN [[Nueva York (ciudad)]]
hzs6hm6g6l174zqksngvlnja61e8hd8
Eswatini
0
26371
118882
2026-10-11T08:30:18Z
ČarnaruskiVoin
13506
ČarnaruskiVoin trasladó la página [[Eswatini]] a [[Suazilandia]]
118882
wikitext
text/x-wiki
#REDIRECCIÓN [[Suazilandia]]
5b1c3po6im915q56t409mfghchjmhna
Djibouti
0
26372
118884
2026-10-11T08:33:59Z
ČarnaruskiVoin
13506
ČarnaruskiVoin trasladó la página [[Djibouti]] a [[Yibuti]] sobre una redirección
118884
wikitext
text/x-wiki
#REDIRECCIÓN [[Yibuti]]
rjc9czbhvtla7e8rhalscqcbktucpzy
Libya
0
26373
118887
2026-10-11T08:35:12Z
ČarnaruskiVoin
13506
ČarnaruskiVoin trasladó la página [[Libya]] a [[Libia]] sobre una redirección
118887
wikitext
text/x-wiki
#REDIRECCIÓN [[Libia]]
j3l8ogql26l2gefiuh0di3apkt94ttt
Komoras
0
26374
118890
2026-10-11T08:35:56Z
ČarnaruskiVoin
13506
ČarnaruskiVoin trasladó la página [[Komoras]] a [[Comoras]]
118890
wikitext
text/x-wiki
#REDIRECCIÓN [[Comoras]]
r82i410b5u3cpnmhwn31yn9u617hdnp
Lesotho
0
26375
118893
2026-10-11T08:37:54Z
ČarnaruskiVoin
13506
ČarnaruskiVoin trasladó la página [[Lesotho]] a [[Lesoto]]
118893
wikitext
text/x-wiki
#REDIRECCIÓN [[Lesoto]]
21wcv9n496jqxdjpzgeeef0zti8f8vn
Qatar
0
26376
118896
2026-10-11T08:39:33Z
ČarnaruskiVoin
13506
ČarnaruskiVoin trasladó la página [[Qatar]] a [[Catar]]
118896
wikitext
text/x-wiki
#REDIRECCIÓN [[Catar]]
e1j26u0kwjjhodw9alnw4ngic17r5bb