Wikipedii olowiki https://olo.wikipedia.org/wiki/Pi%C3%A4sivu MediaWiki 1.47.0-wmf.6 first-letter Medii Erikoine Pagin Käyttäi Käyttäi pagin Wikipedii Wikipedien paginat Failu Failu pagin MediiWiki MediiWiki pagin Šablonu Šablonu pagin Abu Abu pagin Kategourii Kategourii pagin TimedText TimedText talk Moduuli Keskustelu moduulista Event Event talk Butan 0 2767 51018 45248 2026-06-16T09:52:35Z Fembriha 8650 /* */ 51018 wikitext text/x-wiki {{Mua | Nimi=Bhutanan kuningaskundu | Alguperäine nimi=འབྲུག་ཡུལ་ | Flagu=Flag_of_Bhutan.svg | Gerbu=Emblem_of_Bhutan.svg | Audio = Sayaun Thunga Phool Ka (instrumental).ogg | Iččenäžyön päivymiärät= | Genetiivu=Butanan | Suurin linnu=[[Thimphu]] | Rahvahan lugumäry=758 288 | Hinnoituksen vuozi=2017 | Pinduala=38 394 | Haldivonmuodo= parluamentalline monarhii | Valdivonusko= [[Buddhalažus]] | ИРЧП= 0,698 | Место по ИРЧП= keskine | ВВП (ППС)= 14,110 mjrd. | ВВП (ППС) на душу населения= 17 774 | Место по ВВП (ППС)= 160 | Место по ВВП (ППС) на душу населения= 110 | ВВП (номинал)= 3,420 mjrd. | ВВП (номинал) на душу населения= 4 302 | Место по ВВП (номинал)= 161 | Место по ВВП (номинал) на душу населения= 132 | Должности руководителей= Kuningas <br>Piäministru | Руководители= [[Jigme Khesar Namgyal Wangchuck]] <br>[[Tshering Tobgay]] }} [[Failu:Flag_of_Bhutan.svg|125px|right|thumb|border|Butanan flagu]] [[Failu:Bhutan_(orthographic_projection).svg|250px|right|thumb|Bhutanan kuningaskundu]] '''Bhutanan kuningaskundu''' ([[Dzongkhan kieli|dzongkha]] འབྲུག་ཡུལ་ {{IPA2|ʈ|u|k̚|˩|.|y|ː|˩}}) on valdivo Aazies, Himalajas, kudai sijaiččou Indien da Kitain välis. Piälinnu on [[Thimphu]]. Butan on sežo Indien Päivännouzu-Bengalien ozavaldivon histourilline nimi. [[XIX vuozisada|19. vuozisual]] anglielazet eroitettih tämä aloveh Bhutanas riidoloin täh. Yhten versien mugah Butan-nimi rodih Bhtu-Uttanas, mi sanskritas tarkoittau «mägimua». Toizen versien mugah nimi rodih Bhots-antas, mi tarkoittau «Tibetan loppu» libo «Tibetan suvi». Pohjazes Kuningaskundu Butan rajoittuu Kitainke, päivänlaskus Sikkim-ozavaldivonke (vuodessah 1975 iččenäine valdivo), päivännouzus Arunačal-Pradeš-ozavaldivonke, kuduas on pitkyaigaine rahvahienväline voinu, lounuas Päivänlasku-Bengalienke. ==Lähtiet== [[Kategourii:Aazien muat|B]] [[Kategourii:Muantiedo|B]] eoieb91s6rqtq8552jk758bun0zlc4g Peter Coon 0 4502 51008 49966 2026-06-15T15:43:30Z Onegaborg 144 51008 wikitext text/x-wiki {{Ristikanzu}} '''Peter Coon''' (tovelline nimi on '''P'otr Vasiljev''', roinnuhes [[23. kylmykuudu|23. kylmykuudu]] vuvvennu [[1961|1961]], [[Petroskoi]], [[Karjalan tazavaldu|Karjal]]) – muzikantu, äijil eri soittimil soittai, säveldäi, pajotevoksien kirjuttai. Muuzikkulaijit: kantri, [[Rok (muuzikku)|rok]]. P. Vasijev kirjuttau tevoksii da muuzikkua [[Jousnen Järved]] -nimizele joukole, kudai pajattau vepsän kielel. Hänel on Coon Records Oy -muuzikkustuudii. Vasiljev ruadoi yhtes nengozien muuzikkustuudieloin kel, kui Warner Finland, Uho production, Megamania, [[:en:Johanna_Kustannus|Johanna Kustannus]], HMC, NMC, First Music publishing, Viva Music, [[:ru:Любаша|Lubaša]], [[:en:Hiili Hiilesmaa|Hiili Hiilesmaa]], [[:ru:Дробыш,_Виктор_Яковлевич|Viktor Drobiš]]. P. Vasijev kirjutti tundietun Tol'ko s toboi -nimizen balluadan ven'an kielel, kuduadu pajattau Stas Pjeha. Vuvvennu 1987 Vasiljev barabanahpergajannu käi moneh konsertumatkah Ven'an tundietun Zeml'ane -rok-joukon kel. Vuvves 2008 algajen oli Coon Records Oy (Suomi) -stuudien johtajannu. Vuozinnu 2003-2010 Vasiljev oli Carelian Faces -festivualin (Suomi-Karjal) johtajannu. Vasiljev oli yhtehizes ruavos nengozien joukkoloin kel, kui: * Zeml'ane * Santtu Karhu & Talvisovat * Very High Tension * Jousnen Jarved * Cyanide * [[Das Kuhn]] == Muuzikkudiskoin luvvettelu: == * You tease me baby (maxi single) 1998 * We’re Flying together (maxi single) 1999 * Morning Comes (single) 2010 * Helsinki nukkuu - [[Arto Rinne]] (single) 2007 * Rakkauteen unohdetut - Arto Rinne (single) 2006 * Kiiren Kaantopuoli - Arto Rinne (album) 2007 * Starting point - Cyanide (single) 2010 * I’ll be ready - Cyanide (single) 2010 * Cyanide-Cyanide (album) 2011 * Ei sa sabutada joged - Jousnen Jarved (album) 2012 * Poet of falling leaves - Das Kuhn (album) 2015 * Burning bridges - Das Kuhn (album) 2019 * Valdan Kajag - Jousnen Jarved (album) 2020 * Poison - Das Kuhn (single) 2020 * Red Stones - Natalia Tsarikova (single) 2020 * Aigan Lete - Jousnen Jarved (single) 2022 * Rock Generator - Das Kuhn (maxi single) 2022 * Ištujan kiven alle - Jousnen Jarved (single) 2023 * Flowers - Das Kuhn (single) 2023 * Digital Vampire - Das Kuhn (album) 2023 [[Kategourii:Karjalaine kul'tuuru|C]] [[Kategourii:Karjalan muuzikku|C]] [[Kategourii:Karjalazet|C]] [[Kategourii:Muuzikku|C]] [[Kategourii:Kul'tuuru|C]] p7g2rhitirnehyv12tzqgyu42qbl4ep Anna Vasiljeva 0 4528 51007 43499 2026-06-15T15:42:40Z Onegaborg 144 51007 wikitext text/x-wiki {{Ristikanzu}} '''Vasiljeva Anna Andrejevna''' ('''Hanna Jousne''') (on roinnuhes [[30. oraskuudu]] vuonnu [[1983]], [[Petroskoi]], [[Karjalan tazavaldu|Karjalan Tazavaldu]]) – pajattai, taidoilii, kirjuttau tevoksii [[Jousnen Järved]] -muuzikkujoukole, kudai pajattau vepsän kielel. Hänel oli kolme taido-ozutteluu. Hanna Jousne yhtes taidoilijan Vladimir Fominan kel valmisti Mandala Ioanna Krestitel'a -nimizen taidoruavon. Anna Vasiljeva oli yhtehizes ruavos nengozien muzikantoin sego muuzikkujoukkoloin kel, kui: Coon Records Oy, Kursk -joukko, [[P'otr_Vasiljev|Peter Coon]], Janne Saksa, Das Kuhn -joukko. Taido-ozuttelut oldih Helsinki-linnas («Hopeinen Sivellin»), Sočis (”Renuar”), Piiteris (”Art-živopis'”) da Petroskois (taidosalon). Vuonnu 2012 päivänvalgien nägi Jousnen Jarved -joukon Ei sa sabutada joged -nimine al'bom. Vuvvennu 2020 Jousnen Jarved -pajojoukko piästi ilmoih al'boman "Valdan Kajag". Vuvvenu 2022 Jousnen Jarved -joukon pajo "Aigan Lete" piästi ilmoih. Vuvvenu 2023 Jousnen Jarved tallendau pajo "Ištujan kiven alle". [[Kategourii:Karjalaine kul'tuuru|V]] [[Kategourii:Karjalan muuzikku|V]] [[Kategourii:Karjalazet|V]] [[Kategourii:Muuzikku|V]] [[Kategourii:Kul'tuuru|V]] csws2l90xstyi4vmf8yl73pcgvplonl Carelian Faces (festivuali) 0 4832 51009 48982 2026-06-15T15:45:22Z Onegaborg 144 51009 wikitext text/x-wiki [[Failu:Festival_Carelian_Faces_-_2017.jpg|thumb|300.px|alt=Carelian Faces-2017|Carelian Faces vuvvennu 2017]] '''Carelian Faces''' ({{K-ru|Карельские лица}}) on kanzoinväline muuzikkufestivuali, kudai enzi kerdua piettih Karjalan piälinnas [[Petroskoi|Petroskois]] 5.-6. syvyskuudu vuvvennu [[2003]]. Festivualin alguhpanijoinnu da luadijoinnu oldih suomelaine yhtistys ”Etnokul’t” da prod’usserat [[Peter Coon]] da [[Arto Rinne]]. Vuvven 2003 festivuali on sen luadijoin lahju Petroskoin 300-vuozipäiväkse. Vuozinnu 2003-2008 festivualin konsertoih yhtyi [[Suomi|Suomen]], [[Ruočči|Ruočin]], Fareroin suariloin, [[Norviegii|Norviegien]], [[Amierikan_Yhtysvallat|Yhtysvalloin]], [[Kanuadu|Kanuadan]], Perun, Kolumbien, Brazielien, Ganan, Senegalan, Togon, Zambien, Ven’an da toizien mualoin soittajua, tansijua, pajattajua da taidolijua. Vuonnu 2017 festivualil "Carelian Faces" ezitettih räppäri [[Ondrei]] (Karjala), joukko [[Jousnen Järved|"Jousnen Järved"]] (Karjala), joukko "Shamrock" (Murmansk), joukko "Samosad Bend" (Karjala, Piiteri), joukko "Simba Vibration" (Kongo, Piiteri). == Linki == * Festivualin saitu: https://web.archive.org/web/20210731192840/http://carelianfaces.onego.ru/ * Festivualin VK-joukko: https://vk.com/carelian_faces [[Kategourii:Pruazniekat|C]] [[Kategourii:Karjalaine kul'tuuru|C]] [[Kategourii:Karjalan_muuzikku|C]] m9ak6ip8rvaci93v2sk2telyop07mm5 Hiragana 0 16875 51013 50988 2026-06-15T21:13:09Z Miro Tuomi 8600 51013 wikitext text/x-wiki '''Hiragana''' ([[Japounien kieli|jap]]. ''平仮名'') on [[Japounii|japounalaine]] kana-tavumerkistö, mi on yksi japounalazen kirjutuksen piäozis yhtes katakanan, [[Kandzi|kandzin]] ([[Hieroglyyffi|Hieroglyyffin]]), latinallizen kirjaimikon ([[Romazi|romazin]]) da arabielazien noumeroin kel. Hiragana da katakana luajitah ühtes kanan sistieman, kudamas jogahižel merkil on oma mora (tavu). Tavaramerkistö keräy 46 piämerkkiä, kudualois on pyöreitä da sileitä viizii. Se eroitti sidä kulmikkahas [[Katakana|katakanas]]. == Alkuperähistorija == Hiragana on muodostunnuh IX vuozisual Heian-aigas. Sen grafiekannu pohjannu rodih ''man'egana'' sistiemu, kudamas kiinalazii hierogliifioidu käytettih yksistäh japounien sanoin iändön välittämizekse niilöin merkičysty huomiičematta. Hiragana-merkit kehityttih niilöin hieroglifiloin kebjennyttynykse, terväh kirjutettuloikse variantakse (ts'aoshu-stiil'akse). Ennevahnas sidä sanottih onnade ([[Japounien kieli|jap]]. ''女手'' - "naiskirjutus"), sendäh gu sidä käytettih enimyölleh naizet dvorčan piirilöispäi, kudamile virralline kiinalazien hieroglifiloin opastundu ei olluh läs. Hiraganah on kirjutettu klassisellizen japanilazen literatuuran šuurruadoloi, niilöin joukos on "Gendzen kerdomus". Enne 1900-luvun reformua ühtel sil'päl voidih olla mondu merkii (nygöi niilöi sanotah hentaiganoikse), sen jälles tavaramerkistö yhtistettih "yhty iäni - yksi merki" prinsippan mugah. == Kokoomus da struktuuru == {| border="0" cellspacing="2px" cellpadding="2px" width="100%" |- align="center" valign="top" bgcolor="#BECFEB" !&#x3042; ''a'' !&#x3044; ''i'' !&#x3046; ''u'' !&#x3048; ''e'' !&#x304A; ''o'' | bgcolor="#D4D4D4" |('''''ya''''') | bgcolor="#D4D4D4" |('''''yu''''') | bgcolor="#D4D4D4" |('''''yo''''') |- align="center" valign="top" bgcolor="#E7F5DE" |&#x304B; ''ka'' |&#x304D; ''ki'' |&#x304F; ''ku'' |&#x3051; ''ke'' |&#x3053; ''ko'' | bgcolor="#F3F5DE" |&#x304D;&#x3083; ''kya'' | bgcolor="#F3F5DE" |&#x304D;&#x3085; ''kyu'' | bgcolor="#F3F5DE" |&#x304D;&#x3087; ''kyo'' |- align="center" valign="top" bgcolor="#E7F5DE" |&#x3055; ''sa'' |&#x3057; ''shi'' |&#x3059; ''su'' |&#x305B; ''se'' |&#x305D; ''so'' | bgcolor="#F3F5DE" |&#x3057;&#x3083; ''sha'' | bgcolor="#F3F5DE" |&#x3057;&#x3085; ''shu'' | bgcolor="#F3F5DE" |&#x3057;&#x3087; ''sho'' |- align="center" valign="top" bgcolor="#E7F5DE" |&#x305F; ''ta'' |&#x3061; ''chi'' |&#x3064; ''tsu'' |&#x3066; ''te'' |&#x3068; ''to'' | bgcolor="#F3F5DE" |&#x3061;&#x3083; ''cha'' | bgcolor="#F3F5DE" |&#x3061;&#x3085; ''chu'' | bgcolor="#F3F5DE" |&#x3061;&#x3087; ''cho'' |- align="center" valign="top" bgcolor="#E7F5DE" |&#x306A; ''na'' |&#x306B; ''ni'' |&#x306C; ''nu'' |&#x306D; ''ne'' |&#x306E; ''no'' | bgcolor="#F3F5DE" |&#x306B;&#x3083; ''nya'' | bgcolor="#F3F5DE" |&#x306B;&#x3085; ''nyu'' | bgcolor="#F3F5DE" |&#x306B;&#x3087; ''nyo'' |- align="center" valign="top" bgcolor="#E7F5DE" |&#x306F; ''ha'' |&#x3072; ''hi'' |&#x3075; ''fu'' |&#x3078; ''he'' |&#x307B; ''ho'' | bgcolor="#F3F5DE" |&#x3072;&#x3083; ''hya'' | bgcolor="#F3F5DE" |&#x3072;&#x3085; ''hyu'' | bgcolor="#F3F5DE" |&#x3072;&#x3087; ''hyo'' |- align="center" valign="top" bgcolor="#E7F5DE" |&#x307E; ''ma'' |&#x307F; ''mi'' |&#x3080; ''mu'' |&#x3081; ''me'' |&#x3082; ''mo'' | bgcolor="#F3F5DE" |&#x307F;&#x3083; ''mya'' | bgcolor="#F3F5DE" |&#x307F;&#x3085; ''myu'' | bgcolor="#F3F5DE" |&#x307F;&#x3087; ''myo'' |- align="center" valign="top" bgcolor="#E7F5DE" |&#x3084; ''ya'' | bgcolor="#E9E9E9" | |&#x3086; ''yu'' | bgcolor="#E9E9E9" | |&#x3088; ''yo'' | colspan="3" bgcolor="#E9E9E9" | |- align="center" valign="top" bgcolor="#E7F5DE" |&#x3089; ''ra'' |&#x308A; ''ri'' |&#x308B; ''ru'' |&#x308C; ''re'' |&#x308D; ''ro'' | bgcolor="#F3F5DE" |&#x308A;&#x3083; ''rya'' | bgcolor="#F3F5DE" |&#x308A;&#x3085; ''ryu'' | bgcolor="#F3F5DE" |&#x308A;&#x3087; ''ryo'' |- align="center" valign="top" bgcolor="#E7F5DE" |&#x308F;&nbsp;''wa'' |<font color="red">&#x3090;</font> <font color="red">''wi''</font> | bgcolor="#E9E9E9" | |<font color="red">&#x3091;</font> <font color="red">''we''</font> |&#x3092; ''o/wo'' | colspan="3" bgcolor="#E9E9E9" | |- align="center" valign="top" bgcolor="#E7F5DE" | colspan="4" bgcolor="#E9E9E9" | |&#x3093; ''n'' | colspan="3" bgcolor="#E9E9E9" | |- align="center" valign="top" bgcolor="#E7F5DE" |&#x304C; ''ga'' |&#x304E; ''gi'' |&#x3050; ''gu'' |&#x3052; ''ge'' |&#x3054; ''go'' | bgcolor="#F3F5DE" |&#x304E;&#x3083; ''gya'' | bgcolor="#F3F5DE" |&#x304E;&#x3085; ''gyu'' | bgcolor="#F3F5DE" |&#x304E;&#x3087; ''gyo'' |- align="center" valign="top" bgcolor="#E7F5DE" |&#x3056; ''za'' |&#x3058; ''ji'' |&#x305A; ''zu'' |&#x305C; ''ze'' |&#x305E; ''zo'' | bgcolor="#F3F5DE" |&#x3058;&#x3083; ''ja'' | bgcolor="#F3F5DE" |&#x3058;&#x3085; ''ju'' | bgcolor="#F3F5DE" |&#x3058;&#x3087; ''jo'' |- align="center" valign="top" bgcolor="#E7F5DE" |&#x3060; ''da'' |&#x3062; ''(ji)'' |&#x3065; ''(zu)'' |&#x3067; ''de'' |&#x3069; ''do'' | bgcolor="#F3F5DE" |&#x3062;&#x3083; ''(ja)'' | bgcolor="#F3F5DE" |&#x3062;&#x3085; ''(ju)'' | bgcolor="#F3F5DE" |&#x3062;&#x3087; ''(jo)'' |- align="center" valign="top" bgcolor="#E7F5DE" |&#x3070; ''ba'' |&#x3073; ''bi'' |&#x3076; ''bu'' |&#x3079; ''be'' |&#x307C; ''bo'' | bgcolor="#F3F5DE" |&#x3073;&#x3083; ''bya'' | bgcolor="#F3F5DE" |&#x3073;&#x3085; ''byu'' | bgcolor="#F3F5DE" |&#x3073;&#x3087; ''byo'' |- align="center" valign="top" bgcolor="#E7F5DE" |&#x3071; ''pa'' |&#x3074; ''pi'' |&#x3077; ''pu'' |&#x307A; ''pe'' |&#x307D; ''po'' | bgcolor="#F3F5DE" |&#x3074;&#x3083; ''pya'' | bgcolor="#F3F5DE" |&#x3074;&#x3085; ''pyu'' | bgcolor="#F3F5DE" |&#x3074;&#x3087; ''pyo'' |} * &#x306F;, ''ha'' lausutaan ''wa'' * &#x3078;, ''he'' lausutaan ''e'' * &#x3092;, ''wo'' lausutaan ''o'' [[Kategourii:Aazien kielet]] eqdy8d344hrsj4blmqzio29cder4del Šablonu:Potd/2026-06-16 10 16884 51010 2026-06-15T18:12:07Z Frhdkazan 283 Uuzi sivu: Kirchberg an der Jagst - Altstadt - Ansicht von NO mit Jagstbrücke (1).jpg 51010 wikitext text/x-wiki Kirchberg an der Jagst - Altstadt - Ansicht von NO mit Jagstbrücke (1).jpg ovcvmcjxn3jpohzyb5s5uty0jldzdnl Šablonu:Motd/2026-06-16 10 16885 51011 2026-06-15T18:16:16Z Frhdkazan 283 Uuzi sivu: Kamrupi Lokgeet.webm 51011 wikitext text/x-wiki Kamrupi Lokgeet.webm skfzsdh8ch56f7ck48m9oykopfwfwhu Hieroglyyffi 0 16886 51012 2026-06-15T19:49:38Z Fembriha 8650 Uuzi sivu: [[File:Egypt Hieroglyphe2.jpg|thumb|Ptolemaioksien dynaastien kavven jegiptalazii hieroglyyffilöi]] '''Hieroglyyffi''' ({{K-gr|ἱερογλύφος}}) on kirjutusmerkin nimi erähis kirjutussisteemois. Hieroglyyfit voijah ezittiä yksittäzii iändehii da tvuloi (kirjaimikko- da tavukirjutuselementoi) dai [[Morfeemu|morfeemoi]] da [[Ideogrammu|ideogrammoi]]. ==Käyttö== [[File:好-order.gif|thumb|Kitailaine hieroglyyffi 好 ([[Karjalan kieli|kar.]] ''hyvä'')]] Alguperäzes... 51012 wikitext text/x-wiki [[File:Egypt Hieroglyphe2.jpg|thumb|Ptolemaioksien dynaastien kavven jegiptalazii hieroglyyffilöi]] '''Hieroglyyffi''' ({{K-gr|ἱερογλύφος}}) on kirjutusmerkin nimi erähis kirjutussisteemois. Hieroglyyfit voijah ezittiä yksittäzii iändehii da tvuloi (kirjaimikko- da tavukirjutuselementoi) dai [[Morfeemu|morfeemoi]] da [[Ideogrammu|ideogrammoi]]. ==Käyttö== [[File:好-order.gif|thumb|Kitailaine hieroglyyffi 好 ([[Karjalan kieli|kar.]] ''hyvä'')]] Alguperäzesti terminiä "hieroglyyffi" käytettih muinasjegiptalazen kirjutuksen merkiččemizeh näh, kudai yhtisti ideogruafizen, foneettizen da tavukirjutuksen elementoi <ref>https://www.britannica.com/topic/hieroglyph</ref>. Nygyaigazesti terminiä käytetäh kitailazen merkilöin, japounielazen [[kanji]]- da [[kokuji]]-merkilöin, korealazen [[hanja]]-merkilöin, vietmanalazen [[chữ nôm]] -merkilöin da tanguutalazen merkilöin kuvuamizeh näh. Japounielazet, korealazet, vietnamalazet da tanguutalazet hieroglyyfit ollah kitailazen hieroglyyffikirjutuksen luadinuot. Kitailazen hieroglyyffisisteeman eroitukset ollah yhtistettylöin hieroglyyffilöin käyttö, kudamat ollah ideogrammoin yhtistys. 20. vuozisuan puolivälis [[Charles K. Bliss]] oppi luadie hieroglyyfinjyttyzen kirjutussisteeman päivänlaskumualoin kielin näh. Sisteeman luadii oli sidä mieldy, ku se andau kogo muailman rahvahile luba olla kosketuksis kirjallizesti. ==Lähtiet== [[Kategourii:Kirjutus]] mwacf7yjkk6kcxa3t7ndwfq6iegvjsa 51014 51012 2026-06-15T21:46:32Z Fembriha 8650 /* */ 51014 wikitext text/x-wiki [[File:Egypt Hieroglyphe2.jpg|thumb|Ptolemaioksien dynaastien aigukavven jegiptalazii hieroglyyffilöi]] '''Hieroglyyffi''' ({{K-gr|ἱερογλύφος}}) on kirjutusmerkin nimi erähis kirjutussisteemois. Hieroglyyfit voijah ezittiä yksittäzii iändehii da tvuloi (kirjaimikko- da tavukirjutuselementoi) dai [[Morfeemu|morfeemoi]] da [[Ideogrammu|ideogrammoi]]. ==Käyttö== [[File:好-order.gif|thumb|Kitailaine hieroglyyffi 好 ([[Karjalan kieli|kar.]] ''hyvä'')]] Alguperäzesti terminiä "hieroglyyffi" käytettih muinasjegiptalazen kirjutuksen merkiččemizeh näh, kudai yhtisti ideogruafizen, foneettizen da tavukirjutuksen elementoi <ref>https://www.britannica.com/topic/hieroglyph</ref>. Nygyaigazesti terminiä käytetäh kitailazen merkilöin, japounielazen [[kanji]]- da [[kokuji]]-merkilöin, korealazen [[hanja]]-merkilöin, vietmanalazen [[chữ nôm]] -merkilöin da tanguutalazen merkilöin kuvuamizeh näh. Japounielazet, korealazet, vietnamalazet da tanguutalazet hieroglyyfit ollah kitailazen hieroglyyffikirjutuksen luadinuot. Kitailazen hieroglyyffisisteeman eroitukset ollah yhtistettylöin hieroglyyffilöin käyttö, kudamat ollah ideogrammoin yhtistys. 20. vuozisuan puolivälis [[Charles K. Bliss]] oppi luadie hieroglyyfinjyttyzen kirjutussisteeman päivänlaskumualoin kielin näh. Sisteeman luadii oli sidä mieldy, ku se andau kogo muailman rahvahile luba olla kosketuksis kirjallizesti. ==Lähtiet== [[Kategourii:Kirjutus]] 2nz21v1ktzx40ikzlpvuj0p745fdyr9 George Lucas 0 16887 51015 2026-06-15T22:10:32Z Fembriha 8650 Uuzi sivu: {{Ristikanzu}} '''George Lucas''' ([[14. oraskuudu]] [[1944]]) on [[Yhtistynyöt Valdivot|yhtysvaldalaine]] kinoproduser, käzikirjuttai, režissör, montažuaju, operaator da yrittäi. Enimiten tiettävy "[[Tiähtisovat|Tiähtisodien]]" perustamizen da [[Indiana Jones]]an elokuvasarjan täh. ==Lähtiet== [[Kategourii:Ristikanzat|L]] [[Kategourii:Kino|L]] 51015 wikitext text/x-wiki {{Ristikanzu}} '''George Lucas''' ([[14. oraskuudu]] [[1944]]) on [[Yhtistynyöt Valdivot|yhtysvaldalaine]] kinoproduser, käzikirjuttai, režissör, montažuaju, operaator da yrittäi. Enimiten tiettävy "[[Tiähtisovat|Tiähtisodien]]" perustamizen da [[Indiana Jones]]an elokuvasarjan täh. ==Lähtiet== [[Kategourii:Ristikanzat|L]] [[Kategourii:Kino|L]] 8e2ni0ph4nwgdly2k31hsw011my6pmp 51016 51015 2026-06-15T22:26:41Z Fembriha 8650 /* */ 51016 wikitext text/x-wiki {{Ristikanzu}} '''George Lucas''' ([[14. oraskuudu]] [[1944]]) on [[Yhtistynyöt Valdivot|yhtysvaldalaine]] elokuvaproduser, käzikirjuttai, režissör, montažuaju, operaator da yrittäi. Enimiten tiettävy "[[Tiähtisovat|Tiähtisodien]]" perustamizen da [[Indiana Jones]]an elokuvasarjan täh. ==Lähtiet== [[Kategourii:Ristikanzat|L]] [[Kategourii:Kino|L]] iodchmtdux6sc5gc73cmcdf6xnk8gdb Katakana 0 16888 51017 2026-06-16T07:05:44Z Miro Tuomi 8600 Uuzi sivu: '''Katakana''' ([[Japounien kieli|jap]]. ''片仮名'') on toine [[Japounii|japounilazes]] kirjutuslaitos käytettylöis kana-merkilöis. Tauvomerkintyä käytetäh sežo ainoan kielen, okinawan kielen da [[Taivan'|Taivanis]] paistu minnanin kirjutukseh. {| border="0" cellspacing="2px" cellpadding="2px" width="100%" |-bgcolor="#BECFEB" valign=top align="center" |&#12450;&nbsp;''a'' |&#12452;&nbsp;''i'' |&#12454;&nbsp;''u'' |&#12456;&nbsp;''e'' |&#12458;&nbsp;''o'' |bgcolor="#D4D... 51017 wikitext text/x-wiki '''Katakana''' ([[Japounien kieli|jap]]. ''片仮名'') on toine [[Japounii|japounilazes]] kirjutuslaitos käytettylöis kana-merkilöis. Tauvomerkintyä käytetäh sežo ainoan kielen, okinawan kielen da [[Taivan'|Taivanis]] paistu minnanin kirjutukseh. {| border="0" cellspacing="2px" cellpadding="2px" width="100%" |-bgcolor="#BECFEB" valign=top align="center" |&#12450;&nbsp;''a'' |&#12452;&nbsp;''i'' |&#12454;&nbsp;''u'' |&#12456;&nbsp;''e'' |&#12458;&nbsp;''o'' |bgcolor="#D4D4D4"|(''ya'') |bgcolor="#D4D4D4"|(''yu'') |bgcolor="#D4D4D4"|(''yo'') |-bgcolor="#E7F5DE" valign=top align="center" |&#12459;&nbsp;''ka'' |&#12461;&nbsp;''ki'' |&#12463;&nbsp;''ku'' |&#12465;&nbsp;''ke'' |&#12467;&nbsp;''ko'' |bgcolor="#F3F5DE"|&#12461;&#12515;&nbsp;''kya'' |bgcolor="#F3F5DE"|&#12461;&#12517;&nbsp;''kyu'' |bgcolor="#F3F5DE"|&#12461;&#12519;&nbsp;''kyo'' |-bgcolor="#E7F5DE" valign=top align="center" |&#12469;&nbsp;''sa'' |&#12471;&nbsp;''shi'' |&#12473;&nbsp;''su'' |&#12475;&nbsp;''se'' |&#12477;&nbsp;''so'' |bgcolor="#F3F5DE"|&#12471;&#12515;&nbsp;''sha'' |bgcolor="#F3F5DE"|&#12471;&#12517;&nbsp;''shu'' |bgcolor="#F3F5DE"|&#12471;&#12519;&nbsp;''sho'' |-bgcolor="#E7F5DE" valign=top align="center" |&#12479;&nbsp;''ta'' |&#12481;&nbsp;''chi'' |&#12484;&nbsp;''tsu'' |&#12486;&nbsp;''te'' |&#12488;&nbsp;''to'' |bgcolor="#F3F5DE"|&#12481;&#12515;&nbsp;''cha'' |bgcolor="#F3F5DE"|&#12481;&#12517;&nbsp;''chu'' |bgcolor="#F3F5DE"|&#12481;&#12519;&nbsp;''cho'' |-bgcolor="#E7F5DE" valign=top align="center" |&#12490;&nbsp;''na'' |&#12491;&nbsp;''ni'' |&#12492;&nbsp;''nu'' |&#12493;&nbsp;''ne'' |&#12494;&nbsp;''no'' |bgcolor="#F3F5DE"|&#12491;&#12515;&nbsp;''nya'' |bgcolor="#F3F5DE"|&#12491;&#12517;&nbsp;''nyu'' |bgcolor="#F3F5DE"|&#12491;&#12519;&nbsp;''nyo'' |-bgcolor="#E7F5DE" valign=top align="center" |&#12495;&nbsp;''ha'' |&#12498;&nbsp;''hi'' |&#12501;&nbsp;''fu'' |&#12504;&nbsp;''he'' |&#12507;&nbsp;''ho'' |bgcolor="#F3F5DE"|&#12498;&#12515;&nbsp;''hya'' |bgcolor="#F3F5DE"|&#12498;&#12517;&nbsp;''hyu'' |bgcolor="#F3F5DE"|&#12498;&#12519;&nbsp;''hyo'' |-bgcolor="#E7F5DE" valign=top align="center" |&#12510;&nbsp;''ma'' |&#12511;&nbsp;''mi'' |&#12512;&nbsp;''mu'' |&#12513;&nbsp;''me'' |&#12514;&nbsp;''mo'' |bgcolor="#F3F5DE"|&#12511;&#12515;&nbsp;''mya'' |bgcolor="#F3F5DE"|&#12511;&#12517;&nbsp;''myu'' |bgcolor="#F3F5DE"|&#12511;&#12519;&nbsp;''myo'' |-bgcolor="#E7F5DE" valign=top align="center" |&#12516;&nbsp;''ya'' |bgcolor="#E9E9E9"| |&#12518;&nbsp;''yu'' |bgcolor="#E9E9E9"| |&#12520;&nbsp;''yo'' |bgcolor="#E9E9E9" colspan="3"| |-bgcolor="#E7F5DE" valign=top align="center" |&#12521;&nbsp;''ra'' |&#12522;&nbsp;''ri'' |&#12523;&nbsp;''ru'' |&#12524;&nbsp;''re'' |&#12525;&nbsp;''ro'' |bgcolor="#F3F5DE"|&#12522;&#12515;&nbsp;''rya'' |bgcolor="#F3F5DE"|&#12522;&#12517;&nbsp;''ryu'' |bgcolor="#F3F5DE"|&#12522;&#12519;&nbsp;''ryo'' |-bgcolor="#E7F5DE" valign=top align="center" |&#12527;&nbsp;''wa'' |<font color=red>&#12528;&nbsp;''wi''</font> |bgcolor="#E9E9E9"| |<font color=red>&#12529;&nbsp;''we''</font> |&#12530;&nbsp;''wo'' |bgcolor="#E9E9E9" colspan="3"| |-bgcolor="#E7F5DE" valign=top align="center" |bgcolor="#E9E9E9" colspan="4"| |&#12531;&nbsp;''n'' |bgcolor="#E9E9E9" colspan="3"| |-bgcolor="#E7F5DE" valign=top align="center" |&#12460;&nbsp;''ga'' |&#12462;&nbsp;''gi'' |&#12464;&nbsp;''gu'' |&#12466;&nbsp;''ge'' |&#12468;&nbsp;''go'' |bgcolor="#F3F5DE"|&#12462;&#12515;&nbsp;''gya'' |bgcolor="#F3F5DE"|&#12462;&#12517;&nbsp;''gyu'' |bgcolor="#F3F5DE"|&#12462;&#12519;&nbsp;''gyo'' |-bgcolor="#E7F5DE" valign=top align="center" |&#12470;&nbsp;''za'' |&#12472;&nbsp;''ji'' |&#12474;&nbsp;''zu'' |&#12476;&nbsp;''ze'' |&#12478;&nbsp;''zo'' |bgcolor="#F3F5DE"|&#12472;&#12515;&nbsp;''ja'' |bgcolor="#F3F5DE"|&#12472;&#12517;&nbsp;''ju'' |bgcolor="#F3F5DE"|&#12472;&#12519;&nbsp;''jo'' |-bgcolor="#E7F5DE" valign=top align="center" |&#12480;&nbsp;''da'' |&#12482;&nbsp;(''ji'') |&#12485;&nbsp;(''zu'') |&#12487;&nbsp;''de'' |&#12489;&nbsp;''do'' |bgcolor="#F3F5DE"|&#12482;&#12515;&nbsp;(''ja'') |bgcolor="#F3F5DE"|&#12482;&#12517;&nbsp;(''ju'') |bgcolor="#F3F5DE"|&#12482;&#12519;&nbsp;(''jo'') |-bgcolor="#E7F5DE" valign=top align="center" |&#12496;&nbsp;''ba'' |&#12499;&nbsp;''bi'' |&#12502;&nbsp;''bu'' |&#12505;&nbsp;''be'' |&#12508;&nbsp;''bo'' |bgcolor="#F3F5DE"|&#12499;&#12515;&nbsp;''bya'' |bgcolor="#F3F5DE"|&#12499;&#12517;&nbsp;''byu'' |bgcolor="#F3F5DE"|&#12499;&#12519;&nbsp;''byo'' |-bgcolor="#E7F5DE" valign=top align="center" |&#12497;&nbsp;''pa'' |&#12500;&nbsp;''pi'' |&#12503;&nbsp;''pu'' |&#12506;&nbsp;''pe'' |&#12509;&nbsp;''po'' |bgcolor="#F3F5DE"|&#12500;&#12515;&nbsp;''pya'' |bgcolor="#F3F5DE"|&#12500;&#12517;&nbsp;''pyu'' |bgcolor="#F3F5DE"|&#12500;&#12519;&nbsp;''pyo'' |- |bgcolor="#FFFFFF" colspan="8"| |-bgcolor="#E7F5DE" valign=top align="center" |bgcolor="#E9E9E9" colspan="3"| |&#12452;&#12455;&nbsp;''ye'' |bgcolor="#E9E9E9"| |bgcolor="#FFFFFF" colspan="3"| |-bgcolor="#E7F5DE" valign=top align="center" |bgcolor="#E9E9E9"| |&#12454;&#12451;&nbsp;''wi'' |bgcolor="#E9E9E9"| |&#12454;&#12455;&nbsp;''we'' |&#12454;&#12457;&nbsp;''wo'' |bgcolor="#FFFFFF" colspan="3"| |-bgcolor="#E7F5DE" valign=top align="center" |<font color=red>&#12535;&nbsp;''va''</font> |<font color=red>&#12536;&nbsp;''vi''</font> |bgcolor="#E9E9E9"| |<font color=red>&#12537;&nbsp;''ve''</font> |<font color=red>&#12538;&nbsp;''vo''</font> |-bgcolor="#E7F5DE" valign=top align="center" |&#12532;&#12449;&nbsp;''va'' |&#12532;&#12451;&nbsp;''vi'' |&#12532;&nbsp;''vu'' |&#12532;&#12455;&nbsp;''ve'' |&#12532;&#12457;&nbsp;''vo'' |bgcolor="#FFFFFF" colspan="3"| |-bgcolor="#E7F5DE" valign=top align="center" |bgcolor="#E9E9E9" colspan="3"| |&#12471;&#12455;&nbsp;''she'' |bgcolor="#E9E9E9"| |bgcolor="#FFFFFF" colspan="3"| |-bgcolor="#E7F5DE" valign=top align="center" |bgcolor="#E9E9E9" colspan="3"| |&#12472;&#12455;&nbsp;''je'' |bgcolor="#E9E9E9"| |bgcolor="#FFFFFF" colspan="3"| |-bgcolor="#E7F5DE" valign=top align="center" |bgcolor="#E9E9E9" colspan="3"| |&#12481;&#12455;&nbsp;''che'' |bgcolor="#E9E9E9"| |bgcolor="#FFFFFF" colspan="3"| |-bgcolor="#E7F5DE" valign=top align="center" |bgcolor="#E9E9E9"| |&#12486;&#12451;&nbsp;''ti'' |&#12488;&#12453;&nbsp;''tu'' |bgcolor="#E9E9E9" colspan="2"| |bgcolor="#FFFFFF" colspan="3"| |-bgcolor="#E7F5DE" valign=top align="center" |bgcolor="#E9E9E9" colspan="2"| |&#12486;&#12517;&nbsp;''tyu'' |bgcolor="#E9E9E9" colspan="2"| |bgcolor="#FFFFFF" colspan="3"| |-bgcolor="#E7F5DE" valign=top align="center" |bgcolor="#E9E9E9"| |&#12487;&#12451;&nbsp;''di'' |&#12489;&#12453;&nbsp;''du'' |bgcolor="#E9E9E9" colspan="2"| |bgcolor="#FFFFFF" colspan="3"| |-bgcolor="#E7F5DE" valign=top align="center" |bgcolor="#E9E9E9" colspan="2"| |&#12487;&#12517;&nbsp;''dyu'' |bgcolor="#E9E9E9" colspan="2"| |bgcolor="#FFFFFF" colspan="3"| |-bgcolor="#E7F5DE" valign=top align="center" |&#12484;&#12449;&nbsp;''tsa'' |&#12484;&#12451;&nbsp;''tsi'' |bgcolor="#E9E9E9"| |&#12484;&#12455;&nbsp;''tse'' |&#12484;&#12457;&nbsp;''tso'' |bgcolor="#FFFFFF" colspan="3"| |-bgcolor="#E7F5DE" valign=top align="center" |&#12501;&#12449;&nbsp;''fa'' |&#12501;&#12451;&nbsp;''fi'' |bgcolor="#E9E9E9"| |&#12501;&#12455;&nbsp;''fe'' |&#12501;&#12457;&nbsp;''fo'' |bgcolor="#FFFFFF" colspan="3"| |-bgcolor="#E7F5DE" valign=top align="center" |bgcolor="#E9E9E9" colspan="2"| |&#12501;&#12517;&nbsp;''fyu'' |bgcolor="#E9E9E9" colspan="2"| |bgcolor="#FFFFFF" colspan="3"| |} 9t9ve5upq8vnrue58iki2pums1bnn5b Moduuli:Message box 828 16889 51019 2026-06-16T10:35:25Z Olksolo 356 imported from https://ru.wikipedia.org/w/index.php?title=Template:Message_box&oldid=149372849 51019 Scribunto text/plain -- imported from https://ru.wikipedia.org/w/index.php?title=Template:Message_box&oldid=149372849 -- -- This is a meta-module for producing message box templates, including -- {{mbox}}, {{ambox}}, {{imbox}}, {{tmbox}}, {{ombox}}, {{cmbox}} and {{fmbox}}. require('strict') local getArgs local yesno = require('Module:Yesno') -- РУВИКИ: Модуль для обработки дат local boxDate = require('Module:Calendar').bxDate; local lang = mw.language.getContentLanguage() local CONFIG_MODULE = 'Module:Message box/configuration' local DEMOSPACES = {talk = 'tmbox', image = 'imbox', file = 'imbox', category = 'cmbox', article = 'ambox', main = 'ambox'} -------------------------------------------------------------------------------- -- Helper functions -------------------------------------------------------------------------------- local function getTitleObject(...) -- Get the title object, passing the function through pcall -- in case we are over the expensive function count limit. local success, title = pcall(mw.title.new, ...) if success then return title end end local function union(t1, t2) -- Returns the union of two arrays. local vals = {} for i, v in ipairs(t1) do vals[v] = true end for i, v in ipairs(t2) do vals[v] = true end local ret = {} for k in pairs(vals) do table.insert(ret, k) end table.sort(ret) return ret end local function getArgNums(args, prefix) local nums = {} for k, v in pairs(args) do local num = mw.ustring.match(tostring(k), '^' .. prefix .. '([1-9]%d*)$') if num then table.insert(nums, tonumber(num)) end end table.sort(nums) return nums end -- РУВИКИ: Локальная обёртка, игнорирует таблицу с номерами дня, месяца и года local function formatDate(txtDateIn, strFormat, params) local txtDateOut, date, status = boxDate(txtDateIn, strFormat, params) if status.brk then return error(status.errorText) else return txtDateOut end end -------------------------------------------------------------------------------- -- Box class definition -------------------------------------------------------------------------------- local MessageBox = {} MessageBox.__index = MessageBox function MessageBox.new(boxType, args, cfg) args = args or {} local obj = {} -- Set the title object and the namespace. obj.title = getTitleObject(args.page) or mw.title.getCurrentTitle() -- Set the config for our box type. obj.cfg = cfg[boxType] if not obj.cfg then local ns = obj.title.namespace -- boxType is "mbox" or invalid input if args.demospace and args.demospace ~= '' then -- implement demospace parameter of mbox local demospace = string.lower(args.demospace) if DEMOSPACES[demospace] then -- use template from DEMOSPACES obj.cfg = cfg[DEMOSPACES[demospace]] elseif string.find( demospace, 'talk' ) then -- demo as a talk page obj.cfg = cfg.tmbox else -- default to ombox obj.cfg = cfg.ombox end elseif ns == 0 then obj.cfg = cfg.ambox -- main namespace elseif ns == 6 then obj.cfg = cfg.imbox -- file namespace elseif ns == 14 then obj.cfg = cfg.cmbox -- category namespace else local nsTable = mw.site.namespaces[ns] if nsTable and nsTable.isTalk then obj.cfg = cfg.tmbox -- any talk namespace else obj.cfg = cfg.ombox -- other namespaces or invalid input end end end -- Set the arguments, and remove all blank arguments except for the ones -- listed in cfg.allowBlankParams. do local newArgs = {} for k, v in pairs(args) do if v ~= '' then newArgs[k] = v end end for i, param in ipairs(obj.cfg.allowBlankParams or {}) do newArgs[param] = args[param] end obj.args = newArgs end -- Define internal data structure. obj.categories = {} obj.classes = {} return setmetatable(obj, MessageBox) end function MessageBox:addCat(ns, cat, sort) if not cat then return nil end if sort then cat = string.format('[[Категория:%s|%s]]', cat, sort) -- РУВИКИ: Используем русскую локаль, хотя скорее всего это не имеет смысла else cat = string.format('[[Категория:%s]]', cat) end self.hasCategories = true self.categories[ns] = self.categories[ns] or {} table.insert(self.categories[ns], cat) end function MessageBox:addClass(class) if not class then return nil end table.insert(self.classes, class) end function MessageBox:setParameters() local args = self.args local cfg = self.cfg -- Get type data. self.type = args.type local typeData = cfg.types[self.type] self.invalidTypeError = cfg.showInvalidTypeError and self.type and not typeData typeData = typeData or cfg.types[cfg.default] self.typeClass = typeData.class self.typeImage = typeData.image self.typeImageNeedsLink = typeData.imageNeedsLink -- Find if the box has been wrongly substituted. self.isSubstituted = cfg.substCheck and args.subst == 'SUBST' -- Find whether we are using a small message box. self.isSmall = cfg.allowSmall and ( cfg.smallParam and args.small == cfg.smallParam or not cfg.smallParam and yesno(args.small) ) -- Add attributes, classes and styles. self.id = args.id self.name = args.name if self.name then self:addClass('mbox-' .. string.gsub(self.name,' ','_')) -- РУВИКИ: Не знаю зачем в англовики поменяли класс, используем старый для инструментов end if yesno(args.plainlinks) ~= false then self:addClass('plainlinks') end for _, class in ipairs(cfg.classes or {}) do self:addClass(class) end if self.isSmall then self:addClass(cfg.smallClass or 'mbox-small') end self:addClass(self.typeClass) self:addClass(args.class) self.style = args.style self.attrs = args.attrs -- РУВИКИ: Допатрибуты для данных инструментов self.dataLabel1 = args['data-label-1'] self.dataLabel2 = args['data-label-2'] self.dataLabel3 = args['data-label-3'] self.dataValue1 = args['data-value-1'] self.dataValue2 = args['data-value-2'] self.dataValue3 = args['data-value-3'] -- Set text style. self.textstyle = args.textstyle -- Set image classes. self.imageRightClass = args.imagerightclass or args.imageclass self.imageLeftClass = args.imageleftclass or args.imageclass -- Find if we are on the template page or not. This functionality is only -- used if useCollapsibleTextFields is set, or if both cfg.templateCategory -- and cfg.templateCategoryRequireName are set. self.useCollapsibleTextFields = cfg.useCollapsibleTextFields if self.useCollapsibleTextFields or cfg.templateCategory and cfg.templateCategoryRequireName then if self.name then local templateName = mw.ustring.match( self.name, '^[tT][eE][mM][pP][lL][aA][tT][eE][%s_]*:[%s_]*(.*)$' ) or self.name templateName = ('Template:' .. templateName) or ('Шаблон:' .. templateName) -- РУВИКИ: Локализация self.templateTitle = getTitleObject(templateName) end self.isTemplatePage = self.templateTitle and mw.title.equals(self.title, self.templateTitle) end -- Process data for collapsible text fields. At the moment these are only -- used in {{ambox}}. if self.useCollapsibleTextFields then -- Get the self.issue value. if self.isSmall and args.smalltext then self.issue = args.smalltext else -- РУВИКИ: У нас подругому формируются сообщения для секций, не менять if args.sect and args.sect ~= '' or nil then local issue_sect = args.issue_sect issue_sect = type(issue_sect) == 'string' and issue_sect ~= '' and issue_sect or nil local text_sect = args.text_sect text_sect = type(text_sect) == 'string' and text_sect ~= '' and text_sect or nil local issues = {} table.insert(issues, issue_sect) table.insert(issues, text_sect) self.issue = table.concat(issues, ' ') else local issue = args.issue issue = type(issue) == 'string' and issue ~= '' and issue or nil local text = args.text text = type(text) == 'string' and text or nil local issues = {} table.insert(issues, issue) table.insert(issues, text) self.issue = table.concat(issues, ' ') end end -- Get the self.talk value. local talk = args.talk -- Show talk links on the template page or template subpages if the talk -- parameter is blank. if talk == '' and self.templateTitle and ( mw.title.equals(self.templateTitle, self.title) or self.title:isSubpageOf(self.templateTitle) ) then talk = '#' elseif talk == '' then talk = nil end if talk then -- If the talk value is a talk page, make a link to that page. Else -- assume that it's a section heading, and make a link to the talk -- page of the current page with that section heading. local talkTitle = getTitleObject(talk) local talkArgIsTalkPage = true if not talkTitle or not talkTitle.isTalkPage then talkArgIsTalkPage = false talkTitle = getTitleObject( self.title.text, mw.site.namespaces[self.title.namespace].talk.id ) end -- РУВИКИ: При замене нужно проаналихировать как у нас сейчас отображаются ссылки на обсуждения -- у нас вроде скрыты для всех почти if talkTitle and talkTitle.exists then local talkText = 'Соответствующую дискуссию можно найти на' if talkArgIsTalkPage then talkText = string.format( '%s [[%s|%s]].', talkText, talk, talkTitle.prefixedText ) else talkText = string.format( '%s [[%s#%s|странице обсуждения]].', talkText, talkTitle.prefixedText, talk ) end self.talk = talkText end end -- Get other values. self.fix = args.fix ~= '' and args.fix or nil local date if args.date and args.date ~= '' then -- РУВИКИ: Локальная обертка над датами local status, result = pcall(formatDate, args.date) if status then date = string.format("(<span class='date'>%s</span>)", result) else date = string.format("<span class='error'>(Строка «%s» не является верной датой, пожалуйста, укажите дату в формате <code>ГГГГ-ММ-ДД</code>)</span>", args.date) end elseif args.date == '' and self.isTemplatePage then date = string.format("(<span class='date'>%s</span>)", formatDate( lang:formatDate('Y-m-d') ) ) -- тут возникновения ошибки, связанной с пользовательским вводом, не будет end if date then -- РУВИКИ: Локальная обертка над датами self.date = string.format(" <span class='mbox-date'>''%s''</span>", date) end self.info = args.info if yesno(args.removalnotice) then self.removalNotice = cfg.removalNotice end end -- Set the non-collapsible text field. At the moment this is used by all box -- types other than ambox, and also by ambox when small=yes. if self.isSmall then self.text = args.smalltext or args.text else self.text = args.text self.textsmall = args['text-small'] -- РУВИКИ: Этот параметр у нас используется для форматирования текста end -- Set the below boxTable. self.below = cfg.below and args.below -- General image settings. self.imageCellDiv = not self.isSmall and cfg.imageCellDiv self.imageEmptyCell = cfg.imageEmptyCell -- Left image settings. local imageLeft = self.isSmall and args.smallimage or args.image if cfg.imageCheckBlank and imageLeft ~= 'blank' and imageLeft ~= 'none' or not cfg.imageCheckBlank and imageLeft ~= 'none' then self.imageLeft = imageLeft if not imageLeft then local imageSize = self.isSmall and (cfg.imageSmallSize or '30x30px') or '40x40px' self.imageLeft = string.format('[[File:%s|%s%s|alt=]]', self.typeImage or 'Information icon4.svg', imageSize, self.typeImageNeedsLink and "" or "|link=" ) end end -- Right image settings. local imageRight = self.isSmall and args.smallimageright or args.imageright if not (cfg.imageRightNone and imageRight == 'none') then self.imageRight = imageRight end -- set templatestyles self.base_templatestyles = cfg.templatestyles self.templatestyles = args.templatestyles end function MessageBox:setMainspaceCategories() local args = self.args local cfg = self.cfg -- РУВИКИ: Локальная обертка над датами local date = nil if not cfg.allowMainspaceCategories then return nil end local nums = {} for _, prefix in ipairs{'cat', 'category', 'all'} do args[prefix .. '1'] = args[prefix] nums = union(nums, getArgNums(args, prefix)) end -- The following is roughly equivalent to the old {{Ambox/category}}. -- РУВИКИ: Локальная обертка над датами local status, result = pcall(formatDate, args.date, 'xg Y') if status then date = result end date = type(date) == 'string' and date local preposition = 'с' local suffix = 'года' for _, num in ipairs(nums) do local mainCat = args['cat' .. tostring(num)] or args['category' .. tostring(num)] local allCat = args['all' .. tostring(num)] mainCat = type(mainCat) == 'string' and mainCat allCat = type(allCat) == 'string' and allCat if mainCat and date and date ~= '' then -- РУВИКИ: Локальная обертка над датами и локализация local catTitle = string.format('%s %s %s %s', mainCat, preposition, date, suffix) self:addCat(0, catTitle) catTitle = getTitleObject('Категория:' .. catTitle) local status, result = pcall(formatDate, args.date) if not status then self:addCat(0, 'Википедия:Статьи с недопустимым параметром даты в шаблоне-сообщении') end elseif mainCat and (not date or date == '') then self:addCat(0, mainCat) end if allCat then self:addCat(0, allCat) end end end function MessageBox:setTemplateCategories() local args = self.args local cfg = self.cfg -- Add template categories. if cfg.templateCategory then if cfg.templateCategoryRequireName then if self.isTemplatePage then self:addCat(10, cfg.templateCategory) end elseif not self.title.isSubpage then self:addCat(10, cfg.templateCategory) end end -- Add template error categories. if cfg.templateErrorCategory then local templateErrorCategory = cfg.templateErrorCategory local templateCat, templateSort if not self.name and not self.title.isSubpage then templateCat = templateErrorCategory elseif self.isTemplatePage then local paramsToCheck = cfg.templateErrorParamsToCheck or {} local count = 0 for i, param in ipairs(paramsToCheck) do if not args[param] then count = count + 1 end end if count > 0 then templateCat = templateErrorCategory templateSort = tostring(count) end if self.categoryNums and #self.categoryNums > 0 then templateCat = templateErrorCategory templateSort = 'C' end end self:addCat(10, templateCat, templateSort) end end function MessageBox:setAllNamespaceCategories() -- Set categories for all namespaces. if self.invalidTypeError then local allSort = (self.title.namespace == 0 and 'Main:' or '') .. self.title.prefixedText self:addCat('all', 'Википедия:Необходимо исправить параметр в шаблоне-сообщении', allSort) end if self.isSubstituted then self:addCat('all', 'Википедия:Страницы с ошибочно подставленными шаблонами') end -- РУВИКИ: Служебная категория для поиска использования шаблона в качестве маленького if self.isSmall then self:addCat(0, 'Википедия:Страницы с малыми шаблонами-сообщениями') end end function MessageBox:setCategories() if self.title.namespace == 0 then self:setMainspaceCategories() elseif self.title.namespace == 10 then self:setTemplateCategories() end self:setAllNamespaceCategories() end function MessageBox:renderCategories() if not self.hasCategories then -- No categories added, no need to pass them to Category handler so, -- if it was invoked, it would return the empty string. -- So we shortcut and return the empty string. return "" end -- Convert category tables to strings and pass them through -- [[Module:Category handler]]. return require('Module:Category handler')._main{ main = table.concat(self.categories[0] or {}), template = table.concat(self.categories[10] or {}), all = table.concat(self.categories.all or {}), nocat = self.args.nocat, page = self.args.page } end function MessageBox:export() local root = mw.html.create() -- Add the subst check error. if self.isSubstituted and self.name then root:tag('b') :addClass('error') :wikitext(string.format( 'Шаблон <code>%s[[Шаблон:%s|%s]]%s</code> был неккоректно подставлен.', mw.text.nowiki('{{'), self.name, self.name, mw.text.nowiki('}}') )) end local frame = mw.getCurrentFrame() root:wikitext(frame:extensionTag{ name = 'templatestyles', args = { src = self.base_templatestyles }, }) -- Add support for a single custom templatestyles sheet. Undocumented as -- need should be limited and many templates using mbox are substed; we -- don't want to spread templatestyles sheets around to arbitrary places if self.templatestyles then root:wikitext(frame:extensionTag{ name = 'templatestyles', args = { src = self.templatestyles }, }) end -- Create the box table. -- РУВИКИ: Здесь и ниже по коду перевод на блоки вместо таблицы local boxTable = root:tag('div') boxTable:attr('id', self.id or nil) for i, class in ipairs(self.classes or {}) do boxTable:addClass(class or nil) end boxTable :cssText(self.style or nil) -- РУВИКИ: Локальные атрибуты для данных инструментов if self.dataLabel1 then boxTable:attr('data-' .. self.dataLabel1, self.dataValue1) end if self.dataLabel2 then boxTable:attr('data-' .. self.dataLabel2, self.dataValue2) end if self.dataLabel3 then boxTable:attr('data-' .. self.dataLabel3, self.dataValue3) end if self.attrs then boxTable:attr(self.attrs) end -- Add the left-hand image. if self.imageLeft then local imageLeftCell = boxTable:tag('div'):addClass('mbox-image') if self.imageCellDiv then -- If we are using a div, redefine imageLeftCell so that the image -- is inside it. Divs use style="width: 52px;", which limits the -- image width to 52px. If any images in a div are wider than that, -- they may overlap with the text or cause other display problems. imageLeftCell = imageLeftCell:tag('div'):addClass('mbox-image-div') end imageLeftCell :addClass(self.imageLeftClass) :wikitext(self.imageLeft or nil) elseif self.imageEmptyCell then -- Some message boxes define an empty cell if no image is specified, and -- some don't. The old template code in templates where empty cells are -- specified gives the following hint: "No image. Cell with some width -- or padding necessary for text cell to have 100% width." boxTable:tag('div') :addClass('mbox-empty-cell') end -- Add the text. local textCell = boxTable:tag('div'):addClass('mbox-text') if self.useCollapsibleTextFields then -- The message box uses advanced text parameters that allow things to be -- collapsible. At the moment, only ambox uses this. textCell:cssText(self.textstyle or nil) local textCellDiv = textCell:tag('div') textCellDiv :addClass('mbox-text-div') :wikitext(self.issue or nil) -- РУВИКИ: Другое построение блоков, у нас вспомогательный текст отображается в одельной строке local textsmallCellDiv = textCell:tag('div') textsmallCellDiv :addClass('mbox-textsmall-div hide-when-compact') :cssText(self.textsmallstyle) :wikitext(self.textsmall or nil) if (self.talk or self.fix) and not self.isSmall then textsmallCellDiv:tag('span') :addClass('hide-when-compact') :wikitext(self.fix and (' ' .. self.fix) or nil) :wikitext(self.talk and (' ' .. self.talk) or nil) end -- РУВИКИ: Проверяем textsmall if self.textsmall or self.fix or self.talk then textsmallCellDiv:wikitext(self.date and (' ' .. self.date) or nil) else textCellDiv:wikitext(self.date and (' ' .. self.date) or nil) end if self.info and not self.isSmall then textsmallCellDiv :tag('span') :addClass('hide-when-compact') :wikitext(self.info and (' ' .. self.info) or nil) end if self.removalNotice then textsmallCellDiv:tag('small') :addClass('hide-when-compact') :tag('i') :wikitext(string.format(" (%s)", self.removalNotice)) end else -- Default text formatting - anything goes. textCell :cssText(self.textstyle or nil) :wikitext(self.text or nil) end -- Add the right-hand image. if self.imageRight then local imageRightCell = boxTable:tag('div'):addClass('mbox-imageright') if self.imageCellDiv then -- If we are using a div, redefine imageRightCell so that the image -- is inside it. imageRightCell = imageRightCell:tag('div'):addClass('mbox-image-div') end imageRightCell :addClass(self.imageRightClass) :wikitext(self.imageRight or nil) end -- Add the below boxTable. if self.below then boxTable:tag('div') :tag('div') :addClass('mbox-text') :cssText(self.textstyle or nil) :wikitext(self.below or nil) end -- Add error message for invalid type parameters. if self.invalidTypeError then root:tag('div') :addClass('mbox-invalid-type') :wikitext(string.format( 'Этот шаблон-сообщение использует неверный параметр "type=%s", необходимо исправить.', self.type or '' )) end -- Add categories. root:wikitext(self:renderCategories() or nil) return tostring(root) end -------------------------------------------------------------------------------- -- Exports -------------------------------------------------------------------------------- local p, mt = {}, {} function p._exportClasses() -- For testing. return { MessageBox = MessageBox } end function p.main(boxType, args, cfgTables) local box = MessageBox.new(boxType, args, cfgTables or mw.loadData(CONFIG_MODULE)) box:setParameters() box:setCategories() return box:export() end function mt.__index(t, k) return function (frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end return t.main(k, getArgs(frame, {trim = false, removeBlanks = false})) end end return setmetatable(p, mt) degdxzh29o0exg1iplkaicewbft6j02 Moduuli:Message box/configuration 828 16890 51020 2026-06-16T10:37:05Z Olksolo 356 imported from https://ru.wikipedia.org/w/index.php?title=Template:Message_box/configuration&oldid=148513708 51020 Scribunto text/plain -- imported from https://ru.wikipedia.org/w/index.php?title=Template:Message_box/configuration&oldid=148513708 -------------------------------------------------------------------------------- -- Message box configuration -- -- -- -- This module contains configuration data for [[Module:Message box]]. -- -------------------------------------------------------------------------------- return { ambox = { types = { speedy = { class = 'ambox-speedy', image = 'Ambox warning pn.svg' }, delete = { class = 'ambox-delete', image = 'Stop hand nuvola.svg' }, content = { class = 'ambox-content', image = 'Emblem-important.svg' }, style = { class = 'ambox-style', image = 'Broom_icon.svg' }, move = { class = 'ambox-move', image = 'Merge-split-transwiki default.svg' }, protection = { class = 'ambox-protection', image = 'Padlock-silver-medium.svg' }, notice = { class = 'ambox-notice', image = 'Information.svg' }, good = { class = 'ambox-good', image = 'Green star boxed.svg' }, serious = { class = 'ambox-serious', image = 'Stop hand nuvola.svg' }, merge = { class = 'ambox-merge', image = 'Merge-split-transwiki default.svg' }, discussion = { class = 'ambox-discussion', image = 'Nuvola apps ksirc.png' } }, default = 'notice', allowBlankParams = {'talk', 'sect', 'date', 'issue', 'fix', 'subst', 'hidden'}, allowSmall = true, smallParam = 'left', smallClass = 'mbox-small-left', substCheck = true, classes = {'metadata', 'ambox'}, imageEmptyCell = true, imageCheckBlank = true, imageSmallSize = '20x20px', imageCellDiv = true, useCollapsibleTextFields = true, imageRightNone = true, sectionDefault = 'статья', allowMainspaceCategories = true, templateCategory = 'Шаблоны:Шаблоны-сообщения для статей', templateCategoryRequireName = true, templateErrorCategory = 'Шаблоны:Шаблоны-сообщения для статей с пропущенными параметрами', templateErrorParamsToCheck = {'issue', 'fix'}, removalNotice = '[[Help:Maintenance template removal|Learn how and when to remove this template message]]', templatestyles = 'Module:Message box/ambox.css', }, cmbox = { types = { speedy = { class = 'cmbox-speedy', image = 'Ambox warning pn.svg' }, delete = { class = 'cmbox-delete', image = 'Ambox warning pn.svg' }, content = { class = 'cmbox-content', image = 'Ambox important.svg' }, style = { class = 'cmbox-style', image = 'Edit-clear.svg' }, move = { class = 'cmbox-move', image = 'Merge-split-transwiki default.svg' }, protection = { class = 'cmbox-protection', image = 'Padlock-silver-medium.svg' }, notice = { class = 'cmbox-notice', image = 'Information icon4.svg' } }, default = 'notice', showInvalidTypeError = true, classes = {'cmbox'}, imageEmptyCell = true, useCollapsibleTextFields = true, templatestyles = 'Module:Message box/cmbox.css', }, fmbox = { types = { warning = { class = 'fmbox-warning', image = 'Ambox warning pn.svg' }, editnotice = { class = 'fmbox-editnotice', image = 'Information icon4.svg' }, system = { class = 'fmbox-system', image = 'Information icon4.svg' } }, default = 'system', showInvalidTypeError = true, classes = {'fmbox'}, imageEmptyCell = false, imageRightNone = false, useCollapsibleTextFields = true, templatestyles = 'Module:Message box/fmbox.css', }, imbox = { types = { speedy = { class = 'imbox-speedy', image = 'Ambox warning pn.svg' }, delete = { class = 'imbox-delete', image = 'Ambox warning pn.svg' }, content = { class = 'imbox-content', image = 'Ambox important.svg' }, style = { class = 'imbox-style', image = 'Edit-clear.svg' }, move = { class = 'imbox-move', image = 'Merge-split-transwiki default.svg' }, protection = { class = 'imbox-protection', image = 'Padlock-silver-medium.svg' }, license = { class = 'imbox-license licensetpl', image = 'Imbox license.png' -- @todo We need an SVG version of this }, featured = { class = 'imbox-featured', image = 'Cscr-featured.svg' }, notice = { class = 'imbox-notice', image = 'Information icon4.svg' } }, default = 'notice', showInvalidTypeError = true, classes = {'imbox'}, imageEmptyCell = true, below = true, useCollapsibleTextFields = true, templateCategory = 'Шаблоны:Шаблоны-сообщения для файлов', templatestyles = 'Module:Message box/imbox.css', }, ombox = { types = { speedy = { class = 'ombox-speedy', image = 'OOjs UI icon alert-destructive.svg' }, delete = { class = 'ombox-delete', image = 'OOjs UI icon alert-destructive.svg' }, content = { class = 'ombox-content', image = 'OOjs UI icon notice-warning.svg' }, style = { class = 'ombox-style', image = 'Edit-clear.svg' }, move = { class = 'ombox-move', image = 'Imbox move.png' }, protection = { class = 'ombox-protection', image = 'Imbox protection.png' }, notice = { class = 'ombox-notice', image = 'OOjs UI icon info-progressive.svg' } }, default = 'notice', showInvalidTypeError = true, classes = {'ombox'}, allowSmall = true, imageEmptyCell = true, imageRightNone = true, useCollapsibleTextFields = true, templatestyles = 'Module:Message box/ombox.css', }, tmbox = { types = { speedy = { class = 'tmbox-speedy', image = 'Ambox warning pn.svg' }, delete = { class = 'tmbox-delete', image = 'Ambox warning pn.svg' }, content = { class = 'tmbox-content', image = 'Ambox important.svg' }, style = { class = 'tmbox-style', image = 'Edit-clear.svg' }, move = { class = 'tmbox-move', image = 'Merge-split-transwiki default.svg' }, protection = { class = 'tmbox-protection', image = 'Padlock-silver-medium.svg' }, notice = { class = 'tmbox-notice', image = 'Information icon4.svg' } }, default = 'notice', showInvalidTypeError = true, classes = {'tmbox'}, allowSmall = true, imageRightNone = true, imageEmptyCell = true, imageEmptyCellStyle = true, useCollapsibleTextFields = true, templateCategory = 'Шаблоны:Шаблоны-сообщения для страниц обсуждений', templatestyles = 'Module:Message box/tmbox.css', } } a9v8aq980lzemnmbjfoexelktvnfq0v Moduuli:Message box/ambox.css 828 16891 51021 2026-06-16T11:37:39Z Olksolo 356 imported from https://ru.wikipedia.org/w/index.php?title=Template:Message_box/ambox.css&oldid=152947976 51021 sanitized-css text/css /* Скопировано из [[en:Module:Message box/ambox.css]] с изменениями */ .ambox { align-items: center; border: 1px solid var(--border-color-base, #a2a9b1); /* @noflip */ border-left: 10px solid #36c; /* Default "notice" blue */ background: var(--background-color-neutral-subtle, #f8f9fa); box-sizing: border-box; display: flex; margin: 0 10%; } /* Не ухудшаем стили для Минервы */ html body.mediawiki.skin-minerva .ambox { border-width: 0 0 0 4px; } /* Single border between stacked boxes. Take into account base templatestyles, * user styles, and Template:Dated maintenance category. * remove link selector when T200206 is fixed */ .ambox + link + .ambox, .ambox + link + style + .ambox, .ambox + link + link + .ambox, /* TODO: raise these as "is this really that necessary???". the change was Dec 2021 */ .ambox + .mw-empty-elt + link + .ambox, .ambox + .mw-empty-elt + link + style + .ambox, .ambox + .mw-empty-elt + link + link + .ambox { margin-top: -1px; } /* For the "small=left" option. */ /* must override .ambox + .ambox styles above */ html body.mediawiki .ambox.mbox-small-left { /* @noflip */ margin: 4px 1em 4px 0; overflow: hidden; width: 238px; border-collapse: collapse; font-size: 88%; line-height: 1.25em; } .ambox-speedy { /* @noflip */ border-left: 10px solid var(--border-color-error, #b32424); /* Red */ background-color: var(--background-color-error-subtle, #ffe9e5); /* Pink */ } .ambox-delete { /* @noflip */ border-left: 10px solid var(--border-color-error, #b32424); /* Red */ } .ambox-content { /* @noflip */ border-left: 10px solid #f28500; /* Orange */ } .ambox-style { /* @noflip */ border-left: 10px solid var(--color-warning, #edab00); /* Yellow */ } .ambox-good { /* @noflip */ border-left: 10px solid #66cc44; } .ambox-discussion { /* @noflip */ border-left: 10px solid #339966; } .ambox-merge { /* @noflip */ border-left: 10px solid #9932cc; } .ambox-move { /* @noflip */ border-left: 10px solid #9932cc; /* Purple */ } .ambox-protection { /* @noflip */ border-left: 10px solid #a2a9b1; /* Gray-gold */ } .ambox .mbox-text { border: none; /* @noflip */ padding: 0.25em 0.5em; width: 100%; } .ambox .mbox-image { border: none; /* @noflip */ padding: 2px 0 2px 0.5em; text-align: center; } .ambox .mbox-imageright { border: none; /* @noflip */ padding: 2px 0.5em 2px 0; text-align: center; } /* An empty narrow cell */ .ambox .mbox-empty-cell { border: none; padding: 0; width: 1px; } .ambox .mbox-image-div { width: 52px; } /* Хак, TODO: посмотреть, как оно на самом деле работает */ .ambox .mbox-textsmall-div { font-size: 90%; } /* Hack around MobileFrontend being opinionated */ html.client-js body.skin-minerva .mbox-text-span { margin-left: 23px !important; } /* Стили нотификаций для ноутбуков */ @media (max-width: 1366px) { .ambox { margin-left: 6%; margin-right: 6%; } } /* Стили нотификаций для мобильного устройсва */ @media (max-width: 719px) { .ambox { margin-left: 0; margin-right: 0; } } /* [[Категория:Модули:Подстраницы CSS]] */ c61x2gvj7hu9z0mb1byljkcr3oap2ti 51027 51021 2026-06-16T11:46:25Z Olksolo 356 -cat 51027 sanitized-css text/css /* Скопировано из [[en:Module:Message box/ambox.css]] с изменениями */ .ambox { align-items: center; border: 1px solid var(--border-color-base, #a2a9b1); /* @noflip */ border-left: 10px solid #36c; /* Default "notice" blue */ background: var(--background-color-neutral-subtle, #f8f9fa); box-sizing: border-box; display: flex; margin: 0 10%; } /* Не ухудшаем стили для Минервы */ html body.mediawiki.skin-minerva .ambox { border-width: 0 0 0 4px; } /* Single border between stacked boxes. Take into account base templatestyles, * user styles, and Template:Dated maintenance category. * remove link selector when T200206 is fixed */ .ambox + link + .ambox, .ambox + link + style + .ambox, .ambox + link + link + .ambox, /* TODO: raise these as "is this really that necessary???". the change was Dec 2021 */ .ambox + .mw-empty-elt + link + .ambox, .ambox + .mw-empty-elt + link + style + .ambox, .ambox + .mw-empty-elt + link + link + .ambox { margin-top: -1px; } /* For the "small=left" option. */ /* must override .ambox + .ambox styles above */ html body.mediawiki .ambox.mbox-small-left { /* @noflip */ margin: 4px 1em 4px 0; overflow: hidden; width: 238px; border-collapse: collapse; font-size: 88%; line-height: 1.25em; } .ambox-speedy { /* @noflip */ border-left: 10px solid var(--border-color-error, #b32424); /* Red */ background-color: var(--background-color-error-subtle, #ffe9e5); /* Pink */ } .ambox-delete { /* @noflip */ border-left: 10px solid var(--border-color-error, #b32424); /* Red */ } .ambox-content { /* @noflip */ border-left: 10px solid #f28500; /* Orange */ } .ambox-style { /* @noflip */ border-left: 10px solid var(--color-warning, #edab00); /* Yellow */ } .ambox-good { /* @noflip */ border-left: 10px solid #66cc44; } .ambox-discussion { /* @noflip */ border-left: 10px solid #339966; } .ambox-merge { /* @noflip */ border-left: 10px solid #9932cc; } .ambox-move { /* @noflip */ border-left: 10px solid #9932cc; /* Purple */ } .ambox-protection { /* @noflip */ border-left: 10px solid #a2a9b1; /* Gray-gold */ } .ambox .mbox-text { border: none; /* @noflip */ padding: 0.25em 0.5em; width: 100%; } .ambox .mbox-image { border: none; /* @noflip */ padding: 2px 0 2px 0.5em; text-align: center; } .ambox .mbox-imageright { border: none; /* @noflip */ padding: 2px 0.5em 2px 0; text-align: center; } /* An empty narrow cell */ .ambox .mbox-empty-cell { border: none; padding: 0; width: 1px; } .ambox .mbox-image-div { width: 52px; } /* Хак, TODO: посмотреть, как оно на самом деле работает */ .ambox .mbox-textsmall-div { font-size: 90%; } /* Hack around MobileFrontend being opinionated */ html.client-js body.skin-minerva .mbox-text-span { margin-left: 23px !important; } /* Стили нотификаций для ноутбуков */ @media (max-width: 1366px) { .ambox { margin-left: 6%; margin-right: 6%; } } /* Стили нотификаций для мобильного устройсва */ @media (max-width: 719px) { .ambox { margin-left: 0; margin-right: 0; } } g7j1alsnclvf9u1xu963y9z39cxeslg Moduuli:Message box/cmbox.css 828 16892 51022 2026-06-16T11:39:09Z Olksolo 356 imported from https://ru.wikipedia.org/w/index.php?title=Template:Message_box/cmbox.css&oldid=148513691 51022 sanitized-css text/css /* Скопировано из [[:en:Module:Message box/cmbox.css]] */ .cmbox { align-items: center; margin: 3px 0; border-collapse: collapse; border: 1px solid var(--border-color-base, #a2a9b1); background-color: var(--ruwiki-background-color-blue150, #dcebff); /* Default "notice" blue */ box-sizing: border-box; display: flex; } .cmbox-speedy { border: 4px solid var(--border-color-error, #b32424); /* Red */ background-color: #ffdbdb; /* Pink */ } .cmbox-delete { background-color: #ffdbdb; /* Pink */ } .cmbox-content { background-color: #ffe7ce; /* Orange */ } .cmbox-style { background-color: #fff9db; /* Yellow */ } .cmbox-move { background-color: #e4d8ff; /* Purple */ } .cmbox-protection { background-color: #efefe1; /* Gray-gold */ } @media screen { html.skin-theme-clientpref-night .cmbox-speedy, html.skin-theme-clientpref-night .cmbox-delete { background-color: var(--background-color-error-subtle, #421211); } html.skin-theme-clientpref-night .cmbox-content { background-color: #321f1e; } html.skin-theme-clientpref-night .cmbox-style { background-color: var(--background-color-warning-subtle, #301d00); } html.skin-theme-clientpref-night .cmbox-move { background-color: #23203b; } html.skin-theme-clientpref-night .cmbox-protection { background-color: var(--background-color-neutral-subtle, #202122); } } @media screen and (prefers-color-scheme: dark) { html.skin-theme-clientpref-os .cmbox-speedy, html.skin-theme-clientpref-os .cmbox-delete { background-color: var(--background-color-error-subtle, #421211); } html.skin-theme-clientpref-os .cmbox-content { background-color: #321f1e; } html.skin-theme-clientpref-os .cmbox-style { background-color: var(--background-color-warning-subtle, #301d00); } html.skin-theme-clientpref-os .cmbox-move { background-color: #23203b; } html.skin-theme-clientpref-os .cmbox-protection { background-color: var(--background-color-neutral-subtle, #202122); } } .cmbox .mbox-text { border: none; /* @noflip */ padding: 0.25em 0.9em; width: 100%; } .cmbox .mbox-image { border: none; /* @noflip */ padding: 2px 0 2px 0.9em; text-align: center; } .cmbox .mbox-imageright { border: none; /* @noflip */ padding: 2px 0.9em 2px 0; text-align: center; } /* An empty narrow cell */ .cmbox .mbox-empty-cell { border: none; padding: 0; width: 1px; } .cmbox .mbox-invalid-type { text-align: center; } /* Хак, TODO: посмотреть, как оно на самом деле работает */ .cmbox .mbox-textsmall-div { font-size: 90%; } @media (min-width: 720px) { .cmbox { margin: 3px 10%; } } /* [[Категория:Модули:Подстраницы CSS]] */ gxr9fxirop9dvdasjbx1g4vw4tr5jd8 51028 51022 2026-06-16T11:46:48Z Olksolo 356 -cat 51028 sanitized-css text/css /* Скопировано из [[:en:Module:Message box/cmbox.css]] */ .cmbox { align-items: center; margin: 3px 0; border-collapse: collapse; border: 1px solid var(--border-color-base, #a2a9b1); background-color: var(--ruwiki-background-color-blue150, #dcebff); /* Default "notice" blue */ box-sizing: border-box; display: flex; } .cmbox-speedy { border: 4px solid var(--border-color-error, #b32424); /* Red */ background-color: #ffdbdb; /* Pink */ } .cmbox-delete { background-color: #ffdbdb; /* Pink */ } .cmbox-content { background-color: #ffe7ce; /* Orange */ } .cmbox-style { background-color: #fff9db; /* Yellow */ } .cmbox-move { background-color: #e4d8ff; /* Purple */ } .cmbox-protection { background-color: #efefe1; /* Gray-gold */ } @media screen { html.skin-theme-clientpref-night .cmbox-speedy, html.skin-theme-clientpref-night .cmbox-delete { background-color: var(--background-color-error-subtle, #421211); } html.skin-theme-clientpref-night .cmbox-content { background-color: #321f1e; } html.skin-theme-clientpref-night .cmbox-style { background-color: var(--background-color-warning-subtle, #301d00); } html.skin-theme-clientpref-night .cmbox-move { background-color: #23203b; } html.skin-theme-clientpref-night .cmbox-protection { background-color: var(--background-color-neutral-subtle, #202122); } } @media screen and (prefers-color-scheme: dark) { html.skin-theme-clientpref-os .cmbox-speedy, html.skin-theme-clientpref-os .cmbox-delete { background-color: var(--background-color-error-subtle, #421211); } html.skin-theme-clientpref-os .cmbox-content { background-color: #321f1e; } html.skin-theme-clientpref-os .cmbox-style { background-color: var(--background-color-warning-subtle, #301d00); } html.skin-theme-clientpref-os .cmbox-move { background-color: #23203b; } html.skin-theme-clientpref-os .cmbox-protection { background-color: var(--background-color-neutral-subtle, #202122); } } .cmbox .mbox-text { border: none; /* @noflip */ padding: 0.25em 0.9em; width: 100%; } .cmbox .mbox-image { border: none; /* @noflip */ padding: 2px 0 2px 0.9em; text-align: center; } .cmbox .mbox-imageright { border: none; /* @noflip */ padding: 2px 0.9em 2px 0; text-align: center; } /* An empty narrow cell */ .cmbox .mbox-empty-cell { border: none; padding: 0; width: 1px; } .cmbox .mbox-invalid-type { text-align: center; } /* Хак, TODO: посмотреть, как оно на самом деле работает */ .cmbox .mbox-textsmall-div { font-size: 90%; } @media (min-width: 720px) { .cmbox { margin: 3px 10%; } } pjx7n5lgtn481nevaxxajsw4j27q2x3 Moduuli:Message box/fmbox.css 828 16893 51023 2026-06-16T11:41:10Z Olksolo 356 imported from https://ru.wikipedia.org/w/index.php?title=Template:Message_box/fmbox.css&oldid=148513695 51023 sanitized-css text/css /* Скопировано из [[:en:Module:Message box/fmbox.css]] с изменениями */ .fmbox { align-items: center; clear: both; margin: 0.2em 0; width: 100%; border: 1px solid var(--border-color-base, #a2a9b1); background-color: var(--background-color-neutral-subtle, #f8f9fa); /* Default "system" gray */ box-sizing: border-box; display: flex; } .fmbox-warning { border: 1px solid #bb7070; /* Dark pink */ background-color: #ffdbdb; /* Pink */ } .fmbox-editnotice { background-color: transparent; } .fmbox .mbox-text { border: none; /* @noflip */ padding: 0.25em 0.9em; width: 100%; } .fmbox .mbox-image { border: none; /* @noflip */ padding: 2px 0 2px 0.9em; text-align: center; } .fmbox .mbox-imageright { border: none; /* @noflip */ padding: 2px 0.9em 2px 0; text-align: center; } .fmbox .mbox-invalid-type { text-align: center; } /* Хак, TODO: посмотреть, как оно на самом деле работает */ .fmbox .mbox-textsmall-div { font-size: 90%; } /* [[Категория:Модули:Подстраницы CSS]] */ rym1gf3cwwe9cvtkliftr71t2ksgtkd 51029 51023 2026-06-16T11:47:45Z Olksolo 356 -cat 51029 sanitized-css text/css /* Скопировано из [[:en:Module:Message box/fmbox.css]] с изменениями */ .fmbox { align-items: center; clear: both; margin: 0.2em 0; width: 100%; border: 1px solid var(--border-color-base, #a2a9b1); background-color: var(--background-color-neutral-subtle, #f8f9fa); /* Default "system" gray */ box-sizing: border-box; display: flex; } .fmbox-warning { border: 1px solid #bb7070; /* Dark pink */ background-color: #ffdbdb; /* Pink */ } .fmbox-editnotice { background-color: transparent; } .fmbox .mbox-text { border: none; /* @noflip */ padding: 0.25em 0.9em; width: 100%; } .fmbox .mbox-image { border: none; /* @noflip */ padding: 2px 0 2px 0.9em; text-align: center; } .fmbox .mbox-imageright { border: none; /* @noflip */ padding: 2px 0.9em 2px 0; text-align: center; } .fmbox .mbox-invalid-type { text-align: center; } /* Хак, TODO: посмотреть, как оно на самом деле работает */ .fmbox .mbox-textsmall-div { font-size: 90%; } biy39ubfi735clnxsizfz0iyjk2py6g Moduuli:Message box/imbox.css 828 16894 51024 2026-06-16T11:42:31Z Olksolo 356 imported from https://ru.wikipedia.org/w/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Message_box/imbox.css&oldid=151908820 51024 sanitized-css text/css /* Скопировано из [[:en:Module:Message box/imbox.css]] */ .imbox { align-items: center; margin: 4px 0; border-collapse: collapse; border: 3px solid var(--border-color-progressive, #36c); /* Default "notice" blue */ background-color: var(--background-color-neutral-subtle, #f8f9fa); box-sizing: border-box; display: flex; } /* For imboxes inside imbox-text cells. */ .imbox .mbox-text .imbox { margin: 0 -0.5em; /* 0.9 - 0.5 = 0.4em left/right. */ /* TODO: Still needed? */ display: block; /* Fix for webkit to force 100% width. */ } .imbox-speedy { border: 3px solid var(--border-color-error, #b32424); /* Red */ background-color: var(--background-color-error-subtle, #ffe9e5); /* Pink */ } .imbox-delete { border: 3px solid var(--border-color-error, #b32424); /* Red */ } .imbox-content { border: 3px solid #f28500; /* Orange */ } .imbox-style { border: 3px solid var(--border-color-content-removed, #fc3); /* Yellow */ } .imbox-move { border: 3px solid #9932cc; /* Purple */ } .imbox-protection { border: 3px solid var(--border-color-base, #a2a9b1); /* Gray-gold */ } .imbox-license { border: 3px solid var(--border-color-interactive, #72777d); /* Dark gray */ background-color: var(--background-color-neutral-subtle, #f8f9fa); /* Light gray */ } .imbox-featured { border: 3px solid #cba135; /* Brown-gold */ } .imbox .mbox-text { border: none; /* @noflip */ padding: 0.25em 0.9em; width: 100%; } .imbox .mbox-image { border: none; /* @noflip */ padding: 2px 0 2px 0.9em; text-align: center; } .imbox .mbox-imageright { border: none; /* @noflip */ padding: 2px 0.9em 2px 0; text-align: center; } /* An empty narrow cell */ .imbox .mbox-empty-cell { border: none; padding: 0; width: 1px; } .imbox .mbox-invalid-type { text-align: center; } /* Хак, TODO: посмотреть, как оно на самом деле работает */ .imbox .mbox-textsmall-div { font-size: 90%; } @media (min-width: 720px) { .imbox { margin: 4px 10%; } } q7af5z4335nkteln45s0ah0mt2biatc Moduuli:Message box/ombox.css 828 16895 51025 2026-06-16T11:43:29Z Olksolo 356 imported from https://ru.wikipedia.org/w/index.php?title=Template:Message_box/ombox.css&oldid=151908818 51025 sanitized-css text/css /* Скопировано из [[:en:Module:Message box/ombox.css]] */ .ombox { align-items: center; margin: 4px 0; border-collapse: collapse; border: 1px solid var(--border-color-base, #a2a9b1); /* Default "notice" gray */ background-color: var(--background-color-neutral-subtle, #f8f9fa); box-sizing: border-box; display: flex; } /* For the "small=yes" option. */ .ombox.mbox-small { font-size: 88%; line-height: 1.25em; } .ombox-speedy { border: 2px solid var(--border-color-error, #b32424); /* Red */ background-color: var(--background-color-error-subtle, #ffe9e5); /* Pink */ } .ombox-delete { border: 2px solid var(--background-color-error--active, #b32424); /* Red */ } .ombox-content { border: 1px solid #f28500; /* Orange */ } .ombox-style { border: 1px solid var(--border-color-warning, #ab7f2a); /* Yellow */ } .ombox-move { border: 1px solid #9932cc; /* Purple */ } .ombox-protection { border: 2px solid var(--border-color-base, #a2a9b1); /* Gray-gold */ } .ombox .mbox-text { border: none; /* @noflip */ padding: 0.25em 0.9em; width: 100%; } .ombox .mbox-image { border: none; /* @noflip */ padding: 2px 0 2px 0.9em; text-align: center; } .ombox .mbox-imageright { border: none; /* @noflip */ padding: 2px 0.9em 2px 0; text-align: center; } /* An empty narrow cell */ .ombox .mbox-empty-cell { border: none; padding: 0; width: 1px; } .ombox .mbox-invalid-type { text-align: center; } /* Хак, TODO: посмотреть, как оно на самом деле работает */ .ombox .mbox-textsmall-div { font-size: 90%; } @media (min-width: 720px) { .ombox { margin: 4px 10%; } .ombox.mbox-small { /* @noflip */ clear: right; /* @noflip */ float: right; /* @noflip */ margin: 4px 0 4px 1em; width: 238px; } /* Стили нотификаций для ноутбуков */ @media (max-width: 1366px) { .ombox { margin-left: 6%; margin-right: 6%; } } } /* [[Категория:Модули:Подстраницы CSS]] */ rdzs1g1z8d6gak4agbxqwndqzgt5h5y 51030 51025 2026-06-16T11:48:18Z Olksolo 356 -cat 51030 sanitized-css text/css /* Скопировано из [[:en:Module:Message box/ombox.css]] */ .ombox { align-items: center; margin: 4px 0; border-collapse: collapse; border: 1px solid var(--border-color-base, #a2a9b1); /* Default "notice" gray */ background-color: var(--background-color-neutral-subtle, #f8f9fa); box-sizing: border-box; display: flex; } /* For the "small=yes" option. */ .ombox.mbox-small { font-size: 88%; line-height: 1.25em; } .ombox-speedy { border: 2px solid var(--border-color-error, #b32424); /* Red */ background-color: var(--background-color-error-subtle, #ffe9e5); /* Pink */ } .ombox-delete { border: 2px solid var(--background-color-error--active, #b32424); /* Red */ } .ombox-content { border: 1px solid #f28500; /* Orange */ } .ombox-style { border: 1px solid var(--border-color-warning, #ab7f2a); /* Yellow */ } .ombox-move { border: 1px solid #9932cc; /* Purple */ } .ombox-protection { border: 2px solid var(--border-color-base, #a2a9b1); /* Gray-gold */ } .ombox .mbox-text { border: none; /* @noflip */ padding: 0.25em 0.9em; width: 100%; } .ombox .mbox-image { border: none; /* @noflip */ padding: 2px 0 2px 0.9em; text-align: center; } .ombox .mbox-imageright { border: none; /* @noflip */ padding: 2px 0.9em 2px 0; text-align: center; } /* An empty narrow cell */ .ombox .mbox-empty-cell { border: none; padding: 0; width: 1px; } .ombox .mbox-invalid-type { text-align: center; } /* Хак, TODO: посмотреть, как оно на самом деле работает */ .ombox .mbox-textsmall-div { font-size: 90%; } @media (min-width: 720px) { .ombox { margin: 4px 10%; } .ombox.mbox-small { /* @noflip */ clear: right; /* @noflip */ float: right; /* @noflip */ margin: 4px 0 4px 1em; width: 238px; } /* Стили нотификаций для ноутбуков */ @media (max-width: 1366px) { .ombox { margin-left: 6%; margin-right: 6%; } } } g2xogynjo0mncz3zggxv3t8rtebu9d6 Moduuli:Message box/tmbox.css 828 16896 51026 2026-06-16T11:44:28Z Olksolo 356 imported from https://ru.wikipedia.org/w/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Message_box/tmbox.css&oldid=151908829 51026 sanitized-css text/css /* Скопировано из [[:en:Module:Message box/tmbox.css]] с изменениями */ .tmbox { align-items: center; margin: 4px 0; border-collapse: collapse; border: 1px solid #c0c090; /* Default "notice" gray-brown */ background-color: #f8eaba; box-sizing: border-box; display: flex; } .mbox-inside .tmbox { /* For tmboxes inside other templates. The "mediawiki" class ensures that */ margin: 2px 0; /* this declaration overrides other styles (including mbox-small above) */ width: 100%; /* For Safari and Opera */ } /* For the "small=yes" option. */ .tmbox.mbox-small { font-size: 88%; line-height: 1.25em; } .tmbox .tmbox.mbox-small { /* "small" tmboxes should not be small when */ line-height: 1.5em; /* also "nested", so reset styles that are */ font-size: 100%; /* set in "mbox-small" above. */ } .tmbox-speedy { border: 2px solid var(--border-color-destructive, #b32424); /* Red */ background-color: var(--background-color-error-subtle, #ffe9e5); /* Pink */ } .tmbox-delete { border: 2px solid var(--border-color-destructive, #b32424); /* Red */ } .tmbox-content { border: 2px solid #f28500; /* Orange */ } .tmbox-style { border: 2px solid #fc3; /* Yellow */ } .tmbox-move { border: 2px solid #9932cc; /* Purple */ } @media screen { html.skin-theme-clientpref-night .tmbox { background-color: #3d2500; } html.skin-theme-clientpref-night .tmbox-notice, html.skin-theme-clientpref-night .tmbox-protection{ border-color: #987; } } @media screen and (prefers-color-scheme: dark) { html.skin-theme-clientpref-os .tmbox { background-color: #3d2500; } html.skin-theme-clientpref-os .tmbox-notice, html.skin-theme-clientpref-os .tmbox-protection{ border-color: #987; } } .tmbox .mbox-text { border: none; /* @noflip */ padding: 0.25em 0.9em; width: 100%; } .tmbox .mbox-image { border: none; /* @noflip */ padding: 2px 0 2px 0.9em; text-align: center; } .tmbox .mbox-imageright { border: none; /* @noflip */ padding: 2px 0.9em 2px 0; text-align: center; } /* An empty narrow cell */ .tmbox .mbox-empty-cell { border: none; padding: 0; width: 1px; } .tmbox .mbox-invalid-type { text-align: center; } /* Хак, TODO: посмотреть, как оно на самом деле работает */ .tmbox .mbox-textsmall-div { font-size: 90%; } @media (min-width: 720px) { .tmbox { margin: 4px 10%; } .tmbox.mbox-small { /* @noflip */ clear: right; /* @noflip */ float: right; /* @noflip */ margin: 4px 0 4px 1em; width: 238px; } } /* Стили нотификаций для ноутбуков */ @media (max-width: 1366px) { .tmbox { margin-left: 6%; margin-right: 6%; } } /* [[Категория:Модули:Подстраницы CSS]] */ c4n5kla9tpipoirpj0b3stckliv0rzb 51031 51026 2026-06-16T11:48:48Z Olksolo 356 -cat 51031 sanitized-css text/css /* Скопировано из [[:en:Module:Message box/tmbox.css]] с изменениями */ .tmbox { align-items: center; margin: 4px 0; border-collapse: collapse; border: 1px solid #c0c090; /* Default "notice" gray-brown */ background-color: #f8eaba; box-sizing: border-box; display: flex; } .mbox-inside .tmbox { /* For tmboxes inside other templates. The "mediawiki" class ensures that */ margin: 2px 0; /* this declaration overrides other styles (including mbox-small above) */ width: 100%; /* For Safari and Opera */ } /* For the "small=yes" option. */ .tmbox.mbox-small { font-size: 88%; line-height: 1.25em; } .tmbox .tmbox.mbox-small { /* "small" tmboxes should not be small when */ line-height: 1.5em; /* also "nested", so reset styles that are */ font-size: 100%; /* set in "mbox-small" above. */ } .tmbox-speedy { border: 2px solid var(--border-color-destructive, #b32424); /* Red */ background-color: var(--background-color-error-subtle, #ffe9e5); /* Pink */ } .tmbox-delete { border: 2px solid var(--border-color-destructive, #b32424); /* Red */ } .tmbox-content { border: 2px solid #f28500; /* Orange */ } .tmbox-style { border: 2px solid #fc3; /* Yellow */ } .tmbox-move { border: 2px solid #9932cc; /* Purple */ } @media screen { html.skin-theme-clientpref-night .tmbox { background-color: #3d2500; } html.skin-theme-clientpref-night .tmbox-notice, html.skin-theme-clientpref-night .tmbox-protection{ border-color: #987; } } @media screen and (prefers-color-scheme: dark) { html.skin-theme-clientpref-os .tmbox { background-color: #3d2500; } html.skin-theme-clientpref-os .tmbox-notice, html.skin-theme-clientpref-os .tmbox-protection{ border-color: #987; } } .tmbox .mbox-text { border: none; /* @noflip */ padding: 0.25em 0.9em; width: 100%; } .tmbox .mbox-image { border: none; /* @noflip */ padding: 2px 0 2px 0.9em; text-align: center; } .tmbox .mbox-imageright { border: none; /* @noflip */ padding: 2px 0.9em 2px 0; text-align: center; } /* An empty narrow cell */ .tmbox .mbox-empty-cell { border: none; padding: 0; width: 1px; } .tmbox .mbox-invalid-type { text-align: center; } /* Хак, TODO: посмотреть, как оно на самом деле работает */ .tmbox .mbox-textsmall-div { font-size: 90%; } @media (min-width: 720px) { .tmbox { margin: 4px 10%; } .tmbox.mbox-small { /* @noflip */ clear: right; /* @noflip */ float: right; /* @noflip */ margin: 4px 0 4px 1em; width: 238px; } } /* Стили нотификаций для ноутбуков */ @media (max-width: 1366px) { .tmbox { margin-left: 6%; margin-right: 6%; } } 9cwqw1t33sz0oqzeh2xp2w52seljgw7 Moduuli:Yesno 828 16897 51032 2026-06-16T11:58:09Z Olksolo 356 imported from https://ru.wikipedia.org/w/index.php?title=Template:Yesno&oldid=136979910 51032 Scribunto text/plain -- imported from https://ru.wikipedia.org/w/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Yesno&oldid=136979910 -- Function allowing for consistent treatment of boolean-like wikitext input. -- It works similarly to the template {{yesno}}. return function (val, default) -- If your wiki uses non-ascii characters for any of "yes", "no", etc., you -- should replace "val:lower()" with "mw.ustring.lower(val)" in the -- following line. val = type(val) == 'string' and val:lower() or val if val == nil then return nil elseif val == true or val == 'yes' or val == 'y' or val == 'true' or val == 't' or val == 'да' or val == 'д' -- кириллица or val == 'у' or val == '+' or tonumber(val) == 1 then return true elseif val == false or val == 'no' or val == 'n' or val == 'false' or val == 'f' or val == 'нет' or val == 'н' or val == '-' or tonumber(val) == 0 then return false else return default end end rxnw65xowxmm3n5dvhao5qp3xboze31