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"
!あ ''a''
!い ''i''
!う ''u''
!え ''e''
!お ''o''
| bgcolor="#D4D4D4" |('''''ya''''')
| bgcolor="#D4D4D4" |('''''yu''''')
| bgcolor="#D4D4D4" |('''''yo''''')
|- align="center" valign="top" bgcolor="#E7F5DE"
|か ''ka''
|き ''ki''
|く ''ku''
|け ''ke''
|こ ''ko''
| bgcolor="#F3F5DE" |きゃ ''kya''
| bgcolor="#F3F5DE" |きゅ ''kyu''
| bgcolor="#F3F5DE" |きょ ''kyo''
|- align="center" valign="top" bgcolor="#E7F5DE"
|さ ''sa''
|し ''shi''
|す ''su''
|せ ''se''
|そ ''so''
| bgcolor="#F3F5DE" |しゃ ''sha''
| bgcolor="#F3F5DE" |しゅ ''shu''
| bgcolor="#F3F5DE" |しょ ''sho''
|- align="center" valign="top" bgcolor="#E7F5DE"
|た ''ta''
|ち ''chi''
|つ ''tsu''
|て ''te''
|と ''to''
| bgcolor="#F3F5DE" |ちゃ ''cha''
| bgcolor="#F3F5DE" |ちゅ ''chu''
| bgcolor="#F3F5DE" |ちょ ''cho''
|- align="center" valign="top" bgcolor="#E7F5DE"
|な ''na''
|に ''ni''
|ぬ ''nu''
|ね ''ne''
|の ''no''
| bgcolor="#F3F5DE" |にゃ ''nya''
| bgcolor="#F3F5DE" |にゅ ''nyu''
| bgcolor="#F3F5DE" |にょ ''nyo''
|- align="center" valign="top" bgcolor="#E7F5DE"
|は ''ha''
|ひ ''hi''
|ふ ''fu''
|へ ''he''
|ほ ''ho''
| bgcolor="#F3F5DE" |ひゃ ''hya''
| bgcolor="#F3F5DE" |ひゅ ''hyu''
| bgcolor="#F3F5DE" |ひょ ''hyo''
|- align="center" valign="top" bgcolor="#E7F5DE"
|ま ''ma''
|み ''mi''
|む ''mu''
|め ''me''
|も ''mo''
| bgcolor="#F3F5DE" |みゃ ''mya''
| bgcolor="#F3F5DE" |みゅ ''myu''
| bgcolor="#F3F5DE" |みょ ''myo''
|- align="center" valign="top" bgcolor="#E7F5DE"
|や ''ya''
| bgcolor="#E9E9E9" |
|ゆ ''yu''
| bgcolor="#E9E9E9" |
|よ ''yo''
| colspan="3" bgcolor="#E9E9E9" |
|- align="center" valign="top" bgcolor="#E7F5DE"
|ら ''ra''
|り ''ri''
|る ''ru''
|れ ''re''
|ろ ''ro''
| bgcolor="#F3F5DE" |りゃ ''rya''
| bgcolor="#F3F5DE" |りゅ ''ryu''
| bgcolor="#F3F5DE" |りょ ''ryo''
|- align="center" valign="top" bgcolor="#E7F5DE"
|わ ''wa''
|<font color="red">ゐ</font> <font color="red">''wi''</font>
| bgcolor="#E9E9E9" |
|<font color="red">ゑ</font> <font color="red">''we''</font>
|を ''o/wo''
| colspan="3" bgcolor="#E9E9E9" |
|- align="center" valign="top" bgcolor="#E7F5DE"
| colspan="4" bgcolor="#E9E9E9" |
|ん ''n''
| colspan="3" bgcolor="#E9E9E9" |
|- align="center" valign="top" bgcolor="#E7F5DE"
|が ''ga''
|ぎ ''gi''
|ぐ ''gu''
|げ ''ge''
|ご ''go''
| bgcolor="#F3F5DE" |ぎゃ ''gya''
| bgcolor="#F3F5DE" |ぎゅ ''gyu''
| bgcolor="#F3F5DE" |ぎょ ''gyo''
|- align="center" valign="top" bgcolor="#E7F5DE"
|ざ ''za''
|じ ''ji''
|ず ''zu''
|ぜ ''ze''
|ぞ ''zo''
| bgcolor="#F3F5DE" |じゃ ''ja''
| bgcolor="#F3F5DE" |じゅ ''ju''
| bgcolor="#F3F5DE" |じょ ''jo''
|- align="center" valign="top" bgcolor="#E7F5DE"
|だ ''da''
|ぢ ''(ji)''
|づ ''(zu)''
|で ''de''
|ど ''do''
| bgcolor="#F3F5DE" |ぢゃ ''(ja)''
| bgcolor="#F3F5DE" |ぢゅ ''(ju)''
| bgcolor="#F3F5DE" |ぢょ ''(jo)''
|- align="center" valign="top" bgcolor="#E7F5DE"
|ば ''ba''
|び ''bi''
|ぶ ''bu''
|べ ''be''
|ぼ ''bo''
| bgcolor="#F3F5DE" |びゃ ''bya''
| bgcolor="#F3F5DE" |びゅ ''byu''
| bgcolor="#F3F5DE" |びょ ''byo''
|- align="center" valign="top" bgcolor="#E7F5DE"
|ぱ ''pa''
|ぴ ''pi''
|ぷ ''pu''
|ぺ ''pe''
|ぽ ''po''
| bgcolor="#F3F5DE" |ぴゃ ''pya''
| bgcolor="#F3F5DE" |ぴゅ ''pyu''
| bgcolor="#F3F5DE" |ぴょ ''pyo''
|}
* は, ''ha'' lausutaan ''wa''
* へ, ''he'' lausutaan ''e''
* を, ''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" |ア ''a'' |イ ''i'' |ウ ''u'' |エ ''e'' |オ ''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"
|ア ''a''
|イ ''i''
|ウ ''u''
|エ ''e''
|オ ''o''
|bgcolor="#D4D4D4"|(''ya'')
|bgcolor="#D4D4D4"|(''yu'')
|bgcolor="#D4D4D4"|(''yo'')
|-bgcolor="#E7F5DE" valign=top align="center"
|カ ''ka''
|キ ''ki''
|ク ''ku''
|ケ ''ke''
|コ ''ko''
|bgcolor="#F3F5DE"|キャ ''kya''
|bgcolor="#F3F5DE"|キュ ''kyu''
|bgcolor="#F3F5DE"|キョ ''kyo''
|-bgcolor="#E7F5DE" valign=top align="center"
|サ ''sa''
|シ ''shi''
|ス ''su''
|セ ''se''
|ソ ''so''
|bgcolor="#F3F5DE"|シャ ''sha''
|bgcolor="#F3F5DE"|シュ ''shu''
|bgcolor="#F3F5DE"|ショ ''sho''
|-bgcolor="#E7F5DE" valign=top align="center"
|タ ''ta''
|チ ''chi''
|ツ ''tsu''
|テ ''te''
|ト ''to''
|bgcolor="#F3F5DE"|チャ ''cha''
|bgcolor="#F3F5DE"|チュ ''chu''
|bgcolor="#F3F5DE"|チョ ''cho''
|-bgcolor="#E7F5DE" valign=top align="center"
|ナ ''na''
|ニ ''ni''
|ヌ ''nu''
|ネ ''ne''
|ノ ''no''
|bgcolor="#F3F5DE"|ニャ ''nya''
|bgcolor="#F3F5DE"|ニュ ''nyu''
|bgcolor="#F3F5DE"|ニョ ''nyo''
|-bgcolor="#E7F5DE" valign=top align="center"
|ハ ''ha''
|ヒ ''hi''
|フ ''fu''
|ヘ ''he''
|ホ ''ho''
|bgcolor="#F3F5DE"|ヒャ ''hya''
|bgcolor="#F3F5DE"|ヒュ ''hyu''
|bgcolor="#F3F5DE"|ヒョ ''hyo''
|-bgcolor="#E7F5DE" valign=top align="center"
|マ ''ma''
|ミ ''mi''
|ム ''mu''
|メ ''me''
|モ ''mo''
|bgcolor="#F3F5DE"|ミャ ''mya''
|bgcolor="#F3F5DE"|ミュ ''myu''
|bgcolor="#F3F5DE"|ミョ ''myo''
|-bgcolor="#E7F5DE" valign=top align="center"
|ヤ ''ya''
|bgcolor="#E9E9E9"|
|ユ ''yu''
|bgcolor="#E9E9E9"|
|ヨ ''yo''
|bgcolor="#E9E9E9" colspan="3"|
|-bgcolor="#E7F5DE" valign=top align="center"
|ラ ''ra''
|リ ''ri''
|ル ''ru''
|レ ''re''
|ロ ''ro''
|bgcolor="#F3F5DE"|リャ ''rya''
|bgcolor="#F3F5DE"|リュ ''ryu''
|bgcolor="#F3F5DE"|リョ ''ryo''
|-bgcolor="#E7F5DE" valign=top align="center"
|ワ ''wa''
|<font color=red>ヰ ''wi''</font>
|bgcolor="#E9E9E9"|
|<font color=red>ヱ ''we''</font>
|ヲ ''wo''
|bgcolor="#E9E9E9" colspan="3"|
|-bgcolor="#E7F5DE" valign=top align="center"
|bgcolor="#E9E9E9" colspan="4"|
|ン ''n''
|bgcolor="#E9E9E9" colspan="3"|
|-bgcolor="#E7F5DE" valign=top align="center"
|ガ ''ga''
|ギ ''gi''
|グ ''gu''
|ゲ ''ge''
|ゴ ''go''
|bgcolor="#F3F5DE"|ギャ ''gya''
|bgcolor="#F3F5DE"|ギュ ''gyu''
|bgcolor="#F3F5DE"|ギョ ''gyo''
|-bgcolor="#E7F5DE" valign=top align="center"
|ザ ''za''
|ジ ''ji''
|ズ ''zu''
|ゼ ''ze''
|ゾ ''zo''
|bgcolor="#F3F5DE"|ジャ ''ja''
|bgcolor="#F3F5DE"|ジュ ''ju''
|bgcolor="#F3F5DE"|ジョ ''jo''
|-bgcolor="#E7F5DE" valign=top align="center"
|ダ ''da''
|ヂ (''ji'')
|ヅ (''zu'')
|デ ''de''
|ド ''do''
|bgcolor="#F3F5DE"|ヂャ (''ja'')
|bgcolor="#F3F5DE"|ヂュ (''ju'')
|bgcolor="#F3F5DE"|ヂョ (''jo'')
|-bgcolor="#E7F5DE" valign=top align="center"
|バ ''ba''
|ビ ''bi''
|ブ ''bu''
|ベ ''be''
|ボ ''bo''
|bgcolor="#F3F5DE"|ビャ ''bya''
|bgcolor="#F3F5DE"|ビュ ''byu''
|bgcolor="#F3F5DE"|ビョ ''byo''
|-bgcolor="#E7F5DE" valign=top align="center"
|パ ''pa''
|ピ ''pi''
|プ ''pu''
|ペ ''pe''
|ポ ''po''
|bgcolor="#F3F5DE"|ピャ ''pya''
|bgcolor="#F3F5DE"|ピュ ''pyu''
|bgcolor="#F3F5DE"|ピョ ''pyo''
|-
|bgcolor="#FFFFFF" colspan="8"|
|-bgcolor="#E7F5DE" valign=top align="center"
|bgcolor="#E9E9E9" colspan="3"|
|イェ ''ye''
|bgcolor="#E9E9E9"|
|bgcolor="#FFFFFF" colspan="3"|
|-bgcolor="#E7F5DE" valign=top align="center"
|bgcolor="#E9E9E9"|
|ウィ ''wi''
|bgcolor="#E9E9E9"|
|ウェ ''we''
|ウォ ''wo''
|bgcolor="#FFFFFF" colspan="3"|
|-bgcolor="#E7F5DE" valign=top align="center"
|<font color=red>ヷ ''va''</font>
|<font color=red>ヸ ''vi''</font>
|bgcolor="#E9E9E9"|
|<font color=red>ヹ ''ve''</font>
|<font color=red>ヺ ''vo''</font>
|-bgcolor="#E7F5DE" valign=top align="center"
|ヴァ ''va''
|ヴィ ''vi''
|ヴ ''vu''
|ヴェ ''ve''
|ヴォ ''vo''
|bgcolor="#FFFFFF" colspan="3"|
|-bgcolor="#E7F5DE" valign=top align="center"
|bgcolor="#E9E9E9" colspan="3"|
|シェ ''she''
|bgcolor="#E9E9E9"|
|bgcolor="#FFFFFF" colspan="3"|
|-bgcolor="#E7F5DE" valign=top align="center"
|bgcolor="#E9E9E9" colspan="3"|
|ジェ ''je''
|bgcolor="#E9E9E9"|
|bgcolor="#FFFFFF" colspan="3"|
|-bgcolor="#E7F5DE" valign=top align="center"
|bgcolor="#E9E9E9" colspan="3"|
|チェ ''che''
|bgcolor="#E9E9E9"|
|bgcolor="#FFFFFF" colspan="3"|
|-bgcolor="#E7F5DE" valign=top align="center"
|bgcolor="#E9E9E9"|
|ティ ''ti''
|トゥ ''tu''
|bgcolor="#E9E9E9" colspan="2"|
|bgcolor="#FFFFFF" colspan="3"|
|-bgcolor="#E7F5DE" valign=top align="center"
|bgcolor="#E9E9E9" colspan="2"|
|テュ ''tyu''
|bgcolor="#E9E9E9" colspan="2"|
|bgcolor="#FFFFFF" colspan="3"|
|-bgcolor="#E7F5DE" valign=top align="center"
|bgcolor="#E9E9E9"|
|ディ ''di''
|ドゥ ''du''
|bgcolor="#E9E9E9" colspan="2"|
|bgcolor="#FFFFFF" colspan="3"|
|-bgcolor="#E7F5DE" valign=top align="center"
|bgcolor="#E9E9E9" colspan="2"|
|デュ ''dyu''
|bgcolor="#E9E9E9" colspan="2"|
|bgcolor="#FFFFFF" colspan="3"|
|-bgcolor="#E7F5DE" valign=top align="center"
|ツァ ''tsa''
|ツィ ''tsi''
|bgcolor="#E9E9E9"|
|ツェ ''tse''
|ツォ ''tso''
|bgcolor="#FFFFFF" colspan="3"|
|-bgcolor="#E7F5DE" valign=top align="center"
|ファ ''fa''
|フィ ''fi''
|bgcolor="#E9E9E9"|
|フェ ''fe''
|フォ ''fo''
|bgcolor="#FFFFFF" colspan="3"|
|-bgcolor="#E7F5DE" valign=top align="center"
|bgcolor="#E9E9E9" colspan="2"|
|フュ ''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