Wikicesty
cswikivoyage
https://cs.wikivoyage.org/wiki/Hlavn%C3%AD_strana
MediaWiki 1.47.0-wmf.11
first-letter
Média
Speciální
Diskuse
Uživatel
Diskuse s uživatelem
Wikicesty
Diskuse k Wikicestám
Soubor
Diskuse k souboru
MediaWiki
Diskuse k MediaWiki
Šablona
Diskuse k šabloně
Nápověda
Diskuse k nápovědě
Kategorie
Diskuse ke kategorii
TimedText
TimedText talk
Modul
Diskuse k modulu
Podujatie
Diskusia k podujatiu
Ústecký kraj
0
633
22409
22011
2026-07-14T18:04:14Z
Polda18
173
/* Příroda */ Napravení odkazů, zmínka Máchova jezera
22409
wikitext
text/x-wiki
{{pagebanner}}
'''Ústecký kraj''' je jedním z regionů [[Česko|Česka]]. Nachází se v severních [[Čechy|Čechách]]. Je to průmyslově-zemědělský region s bohatou historií, krásnou přírodou a silně poznamenaný těžbou uhlí.
== Významná města ==
* [[Ústí nad Labem]] – statutární krajské město
* [[Litoměřice]] – historické královské město
* [[Děčín]]
* [[Lovosice]]
* [[Teplice]]
* [[Most]]
* [[Chomutov]]
* [[Terezín]] – malé město obehnané hradbami, nachází se zde muzeum ghetta
* [[Duchcov]]
* [[Šluknov]]
== Příroda ==
V Ústeckém kraji se kromě průmyslových měst a oblastí nachází také následující přírodní rezervace:
* [[České středohoří|CHKO České středohoří]] – rozsáhlé pohoří vulkanického původu z období třetihor
* [[České Švýcarsko|NP České Švýcarsko]] – národní přírodní park v pohraničí v okolí [[Děčín]]a a [[Hřensko|Hřenska]]
* [[Kokořínsko – Máchův kraj|CHKO Kokořínsko – Máchův kraj]] – chráněná krajinná oblast protínající území Ústeckého, [[Středočeský kraj|Středočeského]] a [[Liberecký kraj|Libereckého kraje]], nachází se zde [[Máchovo jezero]]
== Kam dál ==
* [[Liberecký kraj]] – východně
* [[Středočeský kraj]] – jihovýchodně
* [[Karlovarský kraj]] – jihozápadně
* [[Německo]] – severozápadně
== Externí odkazy ==
* {{Wikipedie}}
[[Kategorie:Ústecký kraj| ]]
[[Kategorie:Kraje v Česku]]
nty9zzq9qatbj57076eh5pf554q18s9
Šablona:Telefon
10
815
22425
17485
2026-07-15T10:56:49Z
LiMr
96
používá nový modul
22425
wikitext
text/x-wiki
<abbr title="phone" style="text-decoration:none">☏</abbr> <bdi class="tel listing-phone">{{#invoke:Phone|linkPhoneTemplate}}</bdi><noinclude>
{{Dokumentace}}
[[Kategorie:Šablony:(vše)]]
</noinclude>
oz3ys35anyfl3lwdiflxnfet4fer0dg
Uživatel:Polda18
2
1251
22405
22390
2026-07-14T15:49:14Z
Polda18
173
Výmaz sekce úprav
22405
wikitext
text/x-wiki
<noinclude>{{/header}}
{{Uživatelská stránka}}
</noinclude>{{#Babel:cs-N|en-2}}
<!--<includeonly>{{wikipedista|Polda18}}
</includeonly>-->Jmenuji se '''Marek Poláček''', je mi {{věk|1996|6|16}} let, na Wikicestách jsem aktivní jako komunitní přispěvatel a diskutér. Jsem aktivní také na [[c:User:Polda18|Wikimedia Commons]], kam umisťuji vlastní fotografie a kde opravuji drobné chyby v souborech vlastních i cizích. Najdete mne také na [[w:Wikipedista:Polda18|české]], [[w:en:User:Polda18|anglické]], [[w:pl:Wikipedysta:Polda18|polské]], [[w:sk:Redaktor:Polda18|slovenské]] a [[w:isv:Koristnik:Polda18|mezislovanské Wikipedii]], a také na [[:en:User:Polda18|anglických Wikicestách]].<includeonly>
:''Více informací najdete '''[[Uživatel:Polda18|zde]]'''.''</includeonly><noinclude>
{{clear}}
----
{{/userboxes}}
<div style="text-align: right;">[[#Něco o mně|Další informace…]]</div>
== Diskuse ==
Něco mi chcete? Napište <span class="plainlinks" title="Diskuse s wikipedistou:Polda18 (nová sekce)">[{{fullurl:Diskuse s wikipedistou:Polda18|action=edit§ion=new}} zde]</span>. Jestli chci já něco Vám, napíšu na Vaši diskusi.<br />
Jestliže jste ještě tak neučinili, před psaním do diskuse si, prosím, přečtěte, k čemu diskusní stránka [[Wikicesty:Diskusní stránka|slouží]] a jak se na Wikicestách [[Wikicesty:Wikietiketa|chovat]]. Opakované [[Wikicesty:Žádné osobní útoky|osobní útoky]] budu hlásit u správců.
<!-- Šablona /Wikidovolená je k dispozici všem, případně si ji můžete skrýt, pokud se zrovna nikam nechystáte [SKRYTO]
{{/Wikidovolená
| důvod = Dovolená v horách
| datum od = 29. srpna 2026
| datum do = 5. září 2026
| uživatel = Polda18
}}
[/SKRYTO]
-->
== Mé uživatelské šablony ==
* [[/Wikidovolená/]] — šablona pro wikicestáře na dovolené, upozornění na neaktivitu
* [[/Archivováno/]] — šablona pro vyjádření archivace uživatelských podstránek
* [[/Archiv diskuse/]] — šablona pro archivaci diskuse (dočasné řešení před zavedením automatické archivace)
* [[/Pískoviště volné/]] — šablona pro označení volného pískoviště
== Průvodci, které jsem založil ==
Tady je seznam průvodců, které jsem založil. První verze se nemusí shodovat s aktuální verzí. Vždyť každý může editovat, jak se mu zlíbí, byť jen opraví překlepy nebo změní části článku či článek celý.
* [[Ústí nad Labem]]
* [[Ústecký kraj]]
Další budou přibývat…
== Moje fotky ==
Tady jsou moje fotky, které jsem pořídil převážně v přírodě. Jejich výčet je uveden ve formě galerie.
<gallery>
Soubor:Vipera berus after reveal.JPG|[[w:Zmije obecná|Zmije obecná]], kterou jsem objevil za naší zahradou
Soubor:Galanthus nivalis rock garden 1.jpg|[[w:Sněženka podsněžník|Sněženka podsněžník]] rostoucí na naší malé skalce
Soubor:Galanthus nivalis rock garden 2.jpg|Trs sněženky podsněžníku
Soubor:Hostovice cross in Ústí nad Labem 03.jpg|[[w:Hostovice (Ústí nad Labem)|Hostovický]] křížek, umístění v mém rodném bydlišti
Soubor:Hostovice cross in Ústí nad Labem 01.jpg|Detail na malou sošku andělíčka pod křížem
Soubor:Hostovice cross in Ústí nad Labem 02.jpg|Detail na sošku [[w:Ukřižování|ukřižovaného]] [[w:Ježíš Kristus|Ježíše]], svrchní část křížku
Soubor:Hostovice cross in Ústí nad Labem 04.jpg|Detail na zdobení svrchní části křížku
Soubor:Rašeliniště u Máchova jezera, NPP Swamp.jpg|Panoramatický snímek rašeliniště u [[Máchovo jezero|Máchova jezera]]. Lokace v [[NPP Swamp]], součást [[CHKO Kokořínsko – Máchův kraj]]. Soutěžní fotografie [[w:Wikipedie:Fotíme Česko/Soutěž Chráněná území|soutěže Chráněná území]]
Soubor:Hrad Kokořín, detail věží.jpg|Detail věží na hradbách [[Hrad Kokořín|hradu Kokořín]]. Lokace v [[CHKO Kokořínsko – Máchův kraj]]. Soutěžní fotografie [[w:Wikipedie:Fotíme Česko/Soutěž Chráněná území|soutěže Chráněná území]]
Soubor:Brnišťský rybník, Hastrmanova stezka.jpg|[[w:Brnišťský rybník|Rybník]] v [[Brniště|Brništi]], součást [[w:Hastrmanova stezka|Hastrmanovy stezky]]. Lokace v [[CHKO Kokořínsko – Máchův kraj]]. Soutěžní fotografie [[w:Wikipedie:Fotíme Česko/Soutěž Chráněná území|soutěže Chráněná území]]
Soubor:Barokní studna ve Střížovicích u Ústí nad Labem.jpg|Replika [[w:Baroko|Barokní]] studny v obci [[w:Střížovice (Chlumec)|Střížovice]].
</gallery>
== Něco o mně ==
[[Soubor:Usti skala.jpg|náhled|Pocházím a bydlím v [[Ústí nad Labem]].]]
Kromě editace Wikicest se věnuji také programování, vytvářím různé utility a doplňkový programový obsah do videoher, jako například Minecraft Spigot pluginy, mody, skripty a datapacky a resource packy do hry [[w:Minecraft|Minecraft]], případně se podílím na vývoji modů do her s ID Tech 3 enginem (typicky hra [[w:Quake III Arena|Quake III Arena]]). Také tvořím boty pro [[w:Discord|Discord]]. V budoucnu možná vytvořím i nějaké utility a boty pro Wikipedii. Programuji především v jazycích [[w:C (programovací jazyk)|C]], [[w:C+|+]], [[w:C Sharp|C#]] [[w:.NET|.NET]], [[w:Java (programovací jazyk)|Java]], [[w:JavaScript|JavaScript]] a [[w:Python|Python]].
Dalšími zájmy by bylo fotografování (některé mé fotky najdete zde v galerii, k dispozici jsou i na [[:commons:Special:ListFiles/Polda18|Commons]]), [[w:level design|level design]], [[w:webdesign|webdesign]], 3D modelování a karetní hry. Na Wikipedii zatím funguju jako občasný překladatel z cizojazyčných verzí, ale rád bych přispěl i v oblasti zájmů svými vlastními znalostmi a s použitím referencí jinde v literatuře a na internetu. Jsem studentem, začínám působit na [[w:YouTube|YouTube]] a [[w:Twitch (služba)|Twitchi]].
== Externí odkazy ==
'''Quake III Arena'''
* [http://quake3world.com/ <span title="Quake 3 World.com community gaming support forums">Komunitní podpora hry</span>]
* [http://lvlworld.com/ <span title="Custom Q3A maps">Sbírka herních ''světů'' jako rozšíření hry</span>]
* [http://idsoftware.com/ <span title="ID Software sites">Oficiální stránky vývojáře</span>]
'''Minecraft'''
* [https://www.minecraft.net/en-us/ <span title="Minecraft.net">Oficiální stránky hry</span>]
* [https://minecraft.wiki/ <span title="Minecraft Wiki">Wiki hry</span>]
'''Ostatní odkazy'''
* [http://czghost.4fan.cz/ <span title="Webové stránky CZghost">Webové stránky</span>]
* [https://www.github.com/Polda18 <span title="Polda18 na GitHubu">Můj GitHub profil</span>]
* [https://www.twitch.tv <span title="TheCZghost na Twitchi">Twitch kanál</span>]
* [https://www.youtube.com/@CZghost <span title="CZghost na YouTube">Můj hlavní YouTube kanál</span>]
[[Kategorie:User cs-N|Polda18]]
[[Kategorie:User en-2|Polda18]]
<!-- INTERWIKI -->
[[en:User:Polda18]]<!-- angličtina -->
</noinclude>
6xx0q57gazgzegvyovb5x4q9e5as3a8
22407
22405
2026-07-14T17:39:34Z
Polda18
173
...
22407
wikitext
text/x-wiki
<noinclude>{{/header}}
{{Uživatelská stránka}}
</noinclude>{{#Babel:cs-N|en-2}}
<!--<includeonly>{{wikipedista|Polda18}}
</includeonly>-->Jmenuji se '''Marek Poláček''', je mi {{věk|1996|6|16}} let, na Wikicestách jsem aktivní jako komunitní přispěvatel a diskutér. Jsem aktivní také na [[c:User:Polda18|Wikimedia Commons]], kam umisťuji vlastní fotografie a kde opravuji drobné chyby v souborech vlastních i cizích. Najdete mne také na [[w:Wikipedista:Polda18|české]], [[w:en:User:Polda18|anglické]], [[w:pl:Wikipedysta:Polda18|polské]], [[w:sk:Redaktor:Polda18|slovenské]] a [[w:isv:Koristnik:Polda18|mezislovanské Wikipedii]], a také na [[:en:User:Polda18|anglických Wikicestách]].<includeonly>
:''Více informací najdete '''[[Uživatel:Polda18|zde]]'''.''</includeonly><noinclude>
{{clear}}
----
{{/userboxes}}
<div style="text-align: right;">[[#Něco o mně|Další informace…]]</div>
== Diskuse ==
Něco mi chcete? Napište <span class="plainlinks" title="Diskuse s wikipedistou:Polda18 (nová sekce)">[{{fullurl:Diskuse s wikipedistou:Polda18|action=edit§ion=new}} zde]</span>. Jestli chci já něco Vám, napíšu na Vaši diskusi.<br />
Jestliže jste ještě tak neučinili, před psaním do diskuse si, prosím, přečtěte, k čemu diskusní stránka [[Wikicesty:Diskusní stránka|slouží]] a jak se na Wikicestách [[Wikicesty:Wikietiketa|chovat]]. Opakované [[Wikicesty:Žádné osobní útoky|osobní útoky]] budu hlásit u správců.
<!-- Šablona /Wikidovolená je k dispozici všem, případně si ji můžete skrýt, pokud se zrovna nikam nechystáte [SKRYTO]
{{/Wikidovolená
| důvod = Dovolená v horách
| datum od = 29. srpna 2026
| datum do = 5. září 2026
}}
[/SKRYTO]
-->
== Mé uživatelské šablony ==
* [[/Wikidovolená/]] — šablona pro wikicestáře na dovolené, upozornění na neaktivitu
* [[/Archivováno/]] — šablona pro vyjádření archivace uživatelských podstránek
* [[/Archiv diskuse/]] — šablona pro archivaci diskuse (dočasné řešení před zavedením automatické archivace)
* [[/Pískoviště volné/]] — šablona pro označení volného pískoviště
== Průvodci, které jsem založil ==
Tady je seznam průvodců, které jsem založil. První verze se nemusí shodovat s aktuální verzí. Vždyť každý může editovat, jak se mu zlíbí, byť jen opraví překlepy nebo změní části článku či článek celý.
* [[Ústí nad Labem]]
* [[Ústecký kraj]]
Další budou přibývat…
== Moje fotky ==
Tady jsou moje fotky, které jsem pořídil převážně v přírodě. Jejich výčet je uveden ve formě galerie.
<gallery>
Soubor:Vipera berus after reveal.JPG|[[w:Zmije obecná|Zmije obecná]], kterou jsem objevil za naší zahradou
Soubor:Galanthus nivalis rock garden 1.jpg|[[w:Sněženka podsněžník|Sněženka podsněžník]] rostoucí na naší malé skalce
Soubor:Galanthus nivalis rock garden 2.jpg|Trs sněženky podsněžníku
Soubor:Hostovice cross in Ústí nad Labem 03.jpg|[[w:Hostovice (Ústí nad Labem)|Hostovický]] křížek, umístění v mém rodném bydlišti
Soubor:Hostovice cross in Ústí nad Labem 01.jpg|Detail na malou sošku andělíčka pod křížem
Soubor:Hostovice cross in Ústí nad Labem 02.jpg|Detail na sošku [[w:Ukřižování|ukřižovaného]] [[w:Ježíš Kristus|Ježíše]], svrchní část křížku
Soubor:Hostovice cross in Ústí nad Labem 04.jpg|Detail na zdobení svrchní části křížku
Soubor:Rašeliniště u Máchova jezera, NPP Swamp.jpg|Panoramatický snímek rašeliniště u [[Máchovo jezero|Máchova jezera]]. Lokace v [[NPP Swamp]], součást [[CHKO Kokořínsko – Máchův kraj]]. Soutěžní fotografie [[w:Wikipedie:Fotíme Česko/Soutěž Chráněná území|soutěže Chráněná území]]
Soubor:Hrad Kokořín, detail věží.jpg|Detail věží na hradbách [[Hrad Kokořín|hradu Kokořín]]. Lokace v [[CHKO Kokořínsko – Máchův kraj]]. Soutěžní fotografie [[w:Wikipedie:Fotíme Česko/Soutěž Chráněná území|soutěže Chráněná území]]
Soubor:Brnišťský rybník, Hastrmanova stezka.jpg|[[w:Brnišťský rybník|Rybník]] v [[Brniště|Brništi]], součást [[w:Hastrmanova stezka|Hastrmanovy stezky]]. Lokace v [[CHKO Kokořínsko – Máchův kraj]]. Soutěžní fotografie [[w:Wikipedie:Fotíme Česko/Soutěž Chráněná území|soutěže Chráněná území]]
Soubor:Barokní studna ve Střížovicích u Ústí nad Labem.jpg|Replika [[w:Baroko|Barokní]] studny v obci [[w:Střížovice (Chlumec)|Střížovice]].
</gallery>
== Něco o mně ==
[[Soubor:Usti skala.jpg|náhled|Pocházím a bydlím v [[Ústí nad Labem]].]]
Kromě editace Wikicest se věnuji také programování, vytvářím různé utility a doplňkový programový obsah do videoher, jako například Minecraft Spigot pluginy, mody, skripty a datapacky a resource packy do hry [[w:Minecraft|Minecraft]], případně se podílím na vývoji modů do her s ID Tech 3 enginem (typicky hra [[w:Quake III Arena|Quake III Arena]]). Také tvořím boty pro [[w:Discord|Discord]]. V budoucnu možná vytvořím i nějaké utility a boty pro Wikipedii. Programuji především v jazycích [[w:C (programovací jazyk)|C]], [[w:C+|+]], [[w:C Sharp|C#]] [[w:.NET|.NET]], [[w:Java (programovací jazyk)|Java]], [[w:JavaScript|JavaScript]] a [[w:Python|Python]].
Dalšími zájmy by bylo fotografování (některé mé fotky najdete zde v galerii, k dispozici jsou i na [[:commons:Special:ListFiles/Polda18|Commons]]), [[w:level design|level design]], [[w:webdesign|webdesign]], 3D modelování a karetní hry. Na Wikipedii zatím funguju jako občasný překladatel z cizojazyčných verzí, ale rád bych přispěl i v oblasti zájmů svými vlastními znalostmi a s použitím referencí jinde v literatuře a na internetu. Jsem studentem, začínám působit na [[w:YouTube|YouTube]] a [[w:Twitch (služba)|Twitchi]].
== Externí odkazy ==
'''Quake III Arena'''
* [http://quake3world.com/ <span title="Quake 3 World.com community gaming support forums">Komunitní podpora hry</span>]
* [http://lvlworld.com/ <span title="Custom Q3A maps">Sbírka herních ''světů'' jako rozšíření hry</span>]
* [http://idsoftware.com/ <span title="ID Software sites">Oficiální stránky vývojáře</span>]
'''Minecraft'''
* [https://www.minecraft.net/en-us/ <span title="Minecraft.net">Oficiální stránky hry</span>]
* [https://minecraft.wiki/ <span title="Minecraft Wiki">Wiki hry</span>]
'''Ostatní odkazy'''
* [http://czghost.4fan.cz/ <span title="Webové stránky CZghost">Webové stránky</span>]
* [https://www.github.com/Polda18 <span title="Polda18 na GitHubu">Můj GitHub profil</span>]
* [https://www.twitch.tv <span title="TheCZghost na Twitchi">Twitch kanál</span>]
* [https://www.youtube.com/@CZghost <span title="CZghost na YouTube">Můj hlavní YouTube kanál</span>]
[[Kategorie:User cs-N|Polda18]]
[[Kategorie:User en-2|Polda18]]
<!-- INTERWIKI -->
[[en:User:Polda18]]<!-- angličtina -->
</noinclude>
heu7lver9wm8u12bjo35rubqvxqkwdn
22408
22407
2026-07-14T17:40:10Z
Polda18
173
...
22408
wikitext
text/x-wiki
<noinclude>{{/header}}
{{Uživatelská stránka}}
</noinclude>{{#Babel:cs-N|en-2}}
<!--<includeonly>{{wikipedista|Polda18}}
</includeonly>-->Jmenuji se '''Marek Poláček''', je mi {{věk|1996|6|16}} let, na Wikicestách jsem aktivní jako komunitní přispěvatel a diskutér. Jsem aktivní také na [[c:User:Polda18|Wikimedia Commons]], kam umisťuji vlastní fotografie a kde opravuji drobné chyby v souborech vlastních i cizích. Najdete mne také na [[w:Wikipedista:Polda18|české]], [[w:en:User:Polda18|anglické]], [[w:pl:Wikipedysta:Polda18|polské]], [[w:sk:Redaktor:Polda18|slovenské]] a [[w:isv:Koristnik:Polda18|mezislovanské Wikipedii]], a také na [[:en:User:Polda18|anglických Wikicestách]].<includeonly>
:''Více informací najdete '''[[Uživatel:Polda18|zde]]'''.''</includeonly><noinclude>
{{clear}}
----
{{/userboxes}}
<div style="text-align: right;">[[#Něco o mně|Další informace…]]</div>
== Diskuse ==
Něco mi chcete? Napište <span class="plainlinks" title="Diskuse s wikipedistou:Polda18 (nová sekce)">[{{fullurl:Diskuse s wikipedistou:Polda18|action=edit§ion=new}} zde]</span>. Jestli chci já něco Vám, napíšu na Vaši diskusi.<br />
Jestliže jste ještě tak neučinili, před psaním do diskuse si, prosím, přečtěte, k čemu diskusní stránka [[Wikicesty:Diskusní stránka|slouží]] a jak se na Wikicestách [[Wikicesty:Wikietiketa|chovat]]. Opakované [[Wikicesty:Žádné osobní útoky|osobní útoky]] budu hlásit u správců.
<!-- Šablona /Wikidovolená je k dispozici všem, případně si ji můžete skrýt, pokud se zrovna nikam nechystáte [SKRYTO]
{{/Wikidovolená
| důvod = Dovolená v horách
| datum od = 29. srpna 2026
| datum do = 5. září 2026
}}
[/SKRYTO]-->
== Mé uživatelské šablony ==
* [[/Wikidovolená/]] — šablona pro wikicestáře na dovolené, upozornění na neaktivitu
* [[/Archivováno/]] — šablona pro vyjádření archivace uživatelských podstránek
* [[/Archiv diskuse/]] — šablona pro archivaci diskuse (dočasné řešení před zavedením automatické archivace)
* [[/Pískoviště volné/]] — šablona pro označení volného pískoviště
== Průvodci, které jsem založil ==
Tady je seznam průvodců, které jsem založil. První verze se nemusí shodovat s aktuální verzí. Vždyť každý může editovat, jak se mu zlíbí, byť jen opraví překlepy nebo změní části článku či článek celý.
* [[Ústí nad Labem]]
* [[Ústecký kraj]]
Další budou přibývat…
== Moje fotky ==
Tady jsou moje fotky, které jsem pořídil převážně v přírodě. Jejich výčet je uveden ve formě galerie.
<gallery>
Soubor:Vipera berus after reveal.JPG|[[w:Zmije obecná|Zmije obecná]], kterou jsem objevil za naší zahradou
Soubor:Galanthus nivalis rock garden 1.jpg|[[w:Sněženka podsněžník|Sněženka podsněžník]] rostoucí na naší malé skalce
Soubor:Galanthus nivalis rock garden 2.jpg|Trs sněženky podsněžníku
Soubor:Hostovice cross in Ústí nad Labem 03.jpg|[[w:Hostovice (Ústí nad Labem)|Hostovický]] křížek, umístění v mém rodném bydlišti
Soubor:Hostovice cross in Ústí nad Labem 01.jpg|Detail na malou sošku andělíčka pod křížem
Soubor:Hostovice cross in Ústí nad Labem 02.jpg|Detail na sošku [[w:Ukřižování|ukřižovaného]] [[w:Ježíš Kristus|Ježíše]], svrchní část křížku
Soubor:Hostovice cross in Ústí nad Labem 04.jpg|Detail na zdobení svrchní části křížku
Soubor:Rašeliniště u Máchova jezera, NPP Swamp.jpg|Panoramatický snímek rašeliniště u [[Máchovo jezero|Máchova jezera]]. Lokace v [[NPP Swamp]], součást [[CHKO Kokořínsko – Máchův kraj]]. Soutěžní fotografie [[w:Wikipedie:Fotíme Česko/Soutěž Chráněná území|soutěže Chráněná území]]
Soubor:Hrad Kokořín, detail věží.jpg|Detail věží na hradbách [[Hrad Kokořín|hradu Kokořín]]. Lokace v [[CHKO Kokořínsko – Máchův kraj]]. Soutěžní fotografie [[w:Wikipedie:Fotíme Česko/Soutěž Chráněná území|soutěže Chráněná území]]
Soubor:Brnišťský rybník, Hastrmanova stezka.jpg|[[w:Brnišťský rybník|Rybník]] v [[Brniště|Brništi]], součást [[w:Hastrmanova stezka|Hastrmanovy stezky]]. Lokace v [[CHKO Kokořínsko – Máchův kraj]]. Soutěžní fotografie [[w:Wikipedie:Fotíme Česko/Soutěž Chráněná území|soutěže Chráněná území]]
Soubor:Barokní studna ve Střížovicích u Ústí nad Labem.jpg|Replika [[w:Baroko|Barokní]] studny v obci [[w:Střížovice (Chlumec)|Střížovice]].
</gallery>
== Něco o mně ==
[[Soubor:Usti skala.jpg|náhled|Pocházím a bydlím v [[Ústí nad Labem]].]]
Kromě editace Wikicest se věnuji také programování, vytvářím různé utility a doplňkový programový obsah do videoher, jako například Minecraft Spigot pluginy, mody, skripty a datapacky a resource packy do hry [[w:Minecraft|Minecraft]], případně se podílím na vývoji modů do her s ID Tech 3 enginem (typicky hra [[w:Quake III Arena|Quake III Arena]]). Také tvořím boty pro [[w:Discord|Discord]]. V budoucnu možná vytvořím i nějaké utility a boty pro Wikipedii. Programuji především v jazycích [[w:C (programovací jazyk)|C]], [[w:C+|+]], [[w:C Sharp|C#]] [[w:.NET|.NET]], [[w:Java (programovací jazyk)|Java]], [[w:JavaScript|JavaScript]] a [[w:Python|Python]].
Dalšími zájmy by bylo fotografování (některé mé fotky najdete zde v galerii, k dispozici jsou i na [[:commons:Special:ListFiles/Polda18|Commons]]), [[w:level design|level design]], [[w:webdesign|webdesign]], 3D modelování a karetní hry. Na Wikipedii zatím funguju jako občasný překladatel z cizojazyčných verzí, ale rád bych přispěl i v oblasti zájmů svými vlastními znalostmi a s použitím referencí jinde v literatuře a na internetu. Jsem studentem, začínám působit na [[w:YouTube|YouTube]] a [[w:Twitch (služba)|Twitchi]].
== Externí odkazy ==
'''Quake III Arena'''
* [http://quake3world.com/ <span title="Quake 3 World.com community gaming support forums">Komunitní podpora hry</span>]
* [http://lvlworld.com/ <span title="Custom Q3A maps">Sbírka herních ''světů'' jako rozšíření hry</span>]
* [http://idsoftware.com/ <span title="ID Software sites">Oficiální stránky vývojáře</span>]
'''Minecraft'''
* [https://www.minecraft.net/en-us/ <span title="Minecraft.net">Oficiální stránky hry</span>]
* [https://minecraft.wiki/ <span title="Minecraft Wiki">Wiki hry</span>]
'''Ostatní odkazy'''
* [http://czghost.4fan.cz/ <span title="Webové stránky CZghost">Webové stránky</span>]
* [https://www.github.com/Polda18 <span title="Polda18 na GitHubu">Můj GitHub profil</span>]
* [https://www.twitch.tv <span title="TheCZghost na Twitchi">Twitch kanál</span>]
* [https://www.youtube.com/@CZghost <span title="CZghost na YouTube">Můj hlavní YouTube kanál</span>]
[[Kategorie:User cs-N|Polda18]]
[[Kategorie:User en-2|Polda18]]
<!-- INTERWIKI -->
[[en:User:Polda18]]<!-- angličtina -->
</noinclude>
mi6iyqstxu8cqn0sjlix5d6cv9ogpcu
22410
22408
2026-07-14T19:34:19Z
Polda18
173
ÚL/OV
22410
wikitext
text/x-wiki
<noinclude>{{/header}}
{{Uživatelská stránka}}
</noinclude>{{#Babel:cs-N|en-2}}
<!--<includeonly>{{wikipedista|Polda18}}
</includeonly>-->Jmenuji se '''Marek Poláček''', je mi {{věk|1996|6|16}} let, pocházím z [[Ústí nad Labem]], avšak v současné době bydlím v [[Ostrava|Ostravě]]. Na Wikicestách jsem aktivní jako komunitní přispěvatel a diskutér. Jsem aktivní také na [[c:User:Polda18|Wikimedia Commons]], kam umisťuji vlastní fotografie a kde opravuji drobné chyby v souborech vlastních i cizích. Najdete mne také na [[w:Wikipedista:Polda18|české]], [[w:en:User:Polda18|anglické]], [[w:pl:Wikipedysta:Polda18|polské]], [[w:sk:Redaktor:Polda18|slovenské]] a [[w:isv:Koristnik:Polda18|mezislovanské Wikipedii]], a také na [[:en:User:Polda18|anglických Wikicestách]].<includeonly>
:''Více informací najdete '''[[Uživatel:Polda18|zde]]'''.''</includeonly><noinclude>
{{clear}}
----
{{/userboxes}}
<div style="text-align: right;">[[#Něco o mně|Další informace…]]</div>
== Diskuse ==
Něco mi chcete? Napište <span class="plainlinks" title="Diskuse s wikipedistou:Polda18 (nová sekce)">[{{fullurl:Diskuse s wikipedistou:Polda18|action=edit§ion=new}} zde]</span>. Jestli chci já něco Vám, napíšu na Vaši diskusi.<br />
Jestliže jste ještě tak neučinili, před psaním do diskuse si, prosím, přečtěte, k čemu diskusní stránka [[Wikicesty:Diskusní stránka|slouží]] a jak se na Wikicestách [[Wikicesty:Wikietiketa|chovat]]. Opakované [[Wikicesty:Žádné osobní útoky|osobní útoky]] budu hlásit u správců.
<!-- Šablona /Wikidovolená je k dispozici všem, případně si ji můžete skrýt, pokud se zrovna nikam nechystáte [SKRYTO]
{{/Wikidovolená
| důvod = Dovolená v horách
| datum od = 29. srpna 2026
| datum do = 5. září 2026
}}
[/SKRYTO]-->
== Mé uživatelské šablony ==
* [[/Wikidovolená/]] — šablona pro wikicestáře na dovolené, upozornění na neaktivitu
* [[/Archivováno/]] — šablona pro vyjádření archivace uživatelských podstránek
* [[/Archiv diskuse/]] — šablona pro archivaci diskuse (dočasné řešení před zavedením automatické archivace)
* [[/Pískoviště volné/]] — šablona pro označení volného pískoviště
== Průvodci, které jsem založil ==
Tady je seznam průvodců, které jsem založil. První verze se nemusí shodovat s aktuální verzí. Vždyť každý může editovat, jak se mu zlíbí, byť jen opraví překlepy nebo změní části článku či článek celý.
* [[Ústí nad Labem]]
* [[Ústecký kraj]]
Další budou přibývat…
== Moje fotky ==
Tady jsou moje fotky, které jsem pořídil převážně v přírodě. Jejich výčet je uveden ve formě galerie.
<gallery>
Soubor:Vipera berus after reveal.JPG|[[w:Zmije obecná|Zmije obecná]], kterou jsem objevil za naší zahradou
Soubor:Galanthus nivalis rock garden 1.jpg|[[w:Sněženka podsněžník|Sněženka podsněžník]] rostoucí na naší malé skalce
Soubor:Galanthus nivalis rock garden 2.jpg|Trs sněženky podsněžníku
Soubor:Hostovice cross in Ústí nad Labem 03.jpg|[[w:Hostovice (Ústí nad Labem)|Hostovický]] křížek, umístění v mém rodném bydlišti
Soubor:Hostovice cross in Ústí nad Labem 01.jpg|Detail na malou sošku andělíčka pod křížem
Soubor:Hostovice cross in Ústí nad Labem 02.jpg|Detail na sošku [[w:Ukřižování|ukřižovaného]] [[w:Ježíš Kristus|Ježíše]], svrchní část křížku
Soubor:Hostovice cross in Ústí nad Labem 04.jpg|Detail na zdobení svrchní části křížku
Soubor:Rašeliniště u Máchova jezera, NPP Swamp.jpg|Panoramatický snímek rašeliniště u [[Máchovo jezero|Máchova jezera]]. Lokace v [[NPP Swamp]], součást [[CHKO Kokořínsko – Máchův kraj]]. Soutěžní fotografie [[w:Wikipedie:Fotíme Česko/Soutěž Chráněná území|soutěže Chráněná území]]
Soubor:Hrad Kokořín, detail věží.jpg|Detail věží na hradbách [[Hrad Kokořín|hradu Kokořín]]. Lokace v [[CHKO Kokořínsko – Máchův kraj]]. Soutěžní fotografie [[w:Wikipedie:Fotíme Česko/Soutěž Chráněná území|soutěže Chráněná území]]
Soubor:Brnišťský rybník, Hastrmanova stezka.jpg|[[w:Brnišťský rybník|Rybník]] v [[Brniště|Brništi]], součást [[w:Hastrmanova stezka|Hastrmanovy stezky]]. Lokace v [[CHKO Kokořínsko – Máchův kraj]]. Soutěžní fotografie [[w:Wikipedie:Fotíme Česko/Soutěž Chráněná území|soutěže Chráněná území]]
Soubor:Barokní studna ve Střížovicích u Ústí nad Labem.jpg|Replika [[w:Baroko|Barokní]] studny v obci [[w:Střížovice (Chlumec)|Střížovice]].
</gallery>
== Něco o mně ==
[[Soubor:Usti skala.jpg|náhled|Pocházím z [[Ústí nad Labem]].]]
Kromě editace Wikicest se věnuji také programování, vytvářím různé utility a doplňkový programový obsah do videoher, jako například Minecraft Spigot pluginy, mody, skripty a datapacky a resource packy do hry [[w:Minecraft|Minecraft]], případně se podílím na vývoji modů do her s ID Tech 3 enginem (typicky hra [[w:Quake III Arena|Quake III Arena]]). Také tvořím boty pro [[w:Discord|Discord]]. V budoucnu možná vytvořím i nějaké utility a boty pro Wikipedii. Programuji především v jazycích [[w:C (programovací jazyk)|C]], [[w:C+|+]], [[w:C Sharp|C#]] [[w:.NET|.NET]], [[w:Java (programovací jazyk)|Java]], [[w:JavaScript|JavaScript]] a [[w:Python|Python]].
Dalšími zájmy by bylo fotografování (některé mé fotky najdete zde v galerii, k dispozici jsou i na [[:commons:Special:ListFiles/Polda18|Commons]]), [[w:level design|level design]], [[w:webdesign|webdesign]], 3D modelování a karetní hry. Na Wikipedii zatím funguju jako občasný překladatel z cizojazyčných verzí, ale rád bych přispěl i v oblasti zájmů svými vlastními znalostmi a s použitím referencí jinde v literatuře a na internetu. Jsem studentem, začínám působit na [[w:YouTube|YouTube]] a [[w:Twitch (služba)|Twitchi]].
== Externí odkazy ==
'''Quake III Arena'''
* [http://quake3world.com/ <span title="Quake 3 World.com community gaming support forums">Komunitní podpora hry</span>]
* [http://lvlworld.com/ <span title="Custom Q3A maps">Sbírka herních ''světů'' jako rozšíření hry</span>]
* [http://idsoftware.com/ <span title="ID Software sites">Oficiální stránky vývojáře</span>]
'''Minecraft'''
* [https://www.minecraft.net/en-us/ <span title="Minecraft.net">Oficiální stránky hry</span>]
* [https://minecraft.wiki/ <span title="Minecraft Wiki">Wiki hry</span>]
'''Ostatní odkazy'''
* [http://czghost.4fan.cz/ <span title="Webové stránky CZghost">Webové stránky</span>]
* [https://www.github.com/Polda18 <span title="Polda18 na GitHubu">Můj GitHub profil</span>]
* [https://www.twitch.tv <span title="TheCZghost na Twitchi">Twitch kanál</span>]
* [https://www.youtube.com/@CZghost <span title="CZghost na YouTube">Můj hlavní YouTube kanál</span>]
[[Kategorie:User cs-N|Polda18]]
[[Kategorie:User en-2|Polda18]]
<!-- INTERWIKI -->
[[en:User:Polda18]]<!-- angličtina -->
</noinclude>
9srop2zvm94hkv5j2ogsfsu9cim46vu
22415
22410
2026-07-14T20:10:41Z
Polda18
173
Skrytí nálepek
22415
wikitext
text/x-wiki
<noinclude>{{/header}}
{{Uživatelská stránka}}
</noinclude>{{#Babel:cs-N|en-2}}
<!--<includeonly>{{wikipedista|Polda18}}
</includeonly>-->Jmenuji se '''Marek Poláček''', je mi {{věk|1996|6|16}} let, pocházím z [[Ústí nad Labem]], avšak v současné době bydlím v [[Ostrava|Ostravě]]. Na Wikicestách jsem aktivní jako komunitní přispěvatel a diskutér. Jsem aktivní také na [[c:User:Polda18|Wikimedia Commons]], kam umisťuji vlastní fotografie a kde opravuji drobné chyby v souborech vlastních i cizích. Najdete mne také na [[w:Wikipedista:Polda18|české]], [[w:en:User:Polda18|anglické]], [[w:pl:Wikipedysta:Polda18|polské]], [[w:sk:Redaktor:Polda18|slovenské]] a [[w:isv:Koristnik:Polda18|mezislovanské Wikipedii]], a také na [[:en:User:Polda18|anglických Wikicestách]].<includeonly>
:''Více informací najdete '''[[Uživatel:Polda18|zde]]'''.''</includeonly><noinclude>
{{clear}}
----
<!--{{/userboxes}} -- Nálepky jsou rozbité, z důvodu chybějících šablon, zatím skryto -->
<div style="text-align: right;">[[#Něco o mně|Další informace…]]</div>
== Diskuse ==
Něco mi chcete? Napište <span class="plainlinks" title="Diskuse s wikipedistou:Polda18 (nová sekce)">[{{fullurl:Diskuse s wikipedistou:Polda18|action=edit§ion=new}} zde]</span>. Jestli chci já něco Vám, napíšu na Vaši diskusi.<br />
Jestliže jste ještě tak neučinili, před psaním do diskuse si, prosím, přečtěte, k čemu diskusní stránka [[Wikicesty:Diskusní stránka|slouží]] a jak se na Wikicestách [[Wikicesty:Wikietiketa|chovat]]. Opakované [[Wikicesty:Žádné osobní útoky|osobní útoky]] budu hlásit u správců.
<!-- Šablona /Wikidovolená je k dispozici všem, případně si ji můžete skrýt, pokud se zrovna nikam nechystáte [SKRYTO]
{{/Wikidovolená
| důvod = Dovolená v horách
| datum od = 29. srpna 2026
| datum do = 5. září 2026
}}
[/SKRYTO]-->
== Mé uživatelské šablony ==
* [[/Wikidovolená/]] — šablona pro wikicestáře na dovolené, upozornění na neaktivitu
* [[/Archivováno/]] — šablona pro vyjádření archivace uživatelských podstránek
* [[/Archiv diskuse/]] — šablona pro archivaci diskuse (dočasné řešení před zavedením automatické archivace)
* [[/Pískoviště volné/]] — šablona pro označení volného pískoviště
== Průvodci, které jsem založil ==
Tady je seznam průvodců, které jsem založil. První verze se nemusí shodovat s aktuální verzí. Vždyť každý může editovat, jak se mu zlíbí, byť jen opraví překlepy nebo změní části článku či článek celý.
* [[Ústí nad Labem]]
* [[Ústecký kraj]]
Další budou přibývat…
== Moje fotky ==
Tady jsou moje fotky, které jsem pořídil převážně v přírodě. Jejich výčet je uveden ve formě galerie.
<gallery>
Soubor:Vipera berus after reveal.JPG|[[w:Zmije obecná|Zmije obecná]], kterou jsem objevil za naší zahradou
Soubor:Galanthus nivalis rock garden 1.jpg|[[w:Sněženka podsněžník|Sněženka podsněžník]] rostoucí na naší malé skalce
Soubor:Galanthus nivalis rock garden 2.jpg|Trs sněženky podsněžníku
Soubor:Hostovice cross in Ústí nad Labem 03.jpg|[[w:Hostovice (Ústí nad Labem)|Hostovický]] křížek, umístění v mém rodném bydlišti
Soubor:Hostovice cross in Ústí nad Labem 01.jpg|Detail na malou sošku andělíčka pod křížem
Soubor:Hostovice cross in Ústí nad Labem 02.jpg|Detail na sošku [[w:Ukřižování|ukřižovaného]] [[w:Ježíš Kristus|Ježíše]], svrchní část křížku
Soubor:Hostovice cross in Ústí nad Labem 04.jpg|Detail na zdobení svrchní části křížku
Soubor:Rašeliniště u Máchova jezera, NPP Swamp.jpg|Panoramatický snímek rašeliniště u [[Máchovo jezero|Máchova jezera]]. Lokace v [[NPP Swamp]], součást [[CHKO Kokořínsko – Máchův kraj]]. Soutěžní fotografie [[w:Wikipedie:Fotíme Česko/Soutěž Chráněná území|soutěže Chráněná území]]
Soubor:Hrad Kokořín, detail věží.jpg|Detail věží na hradbách [[Hrad Kokořín|hradu Kokořín]]. Lokace v [[CHKO Kokořínsko – Máchův kraj]]. Soutěžní fotografie [[w:Wikipedie:Fotíme Česko/Soutěž Chráněná území|soutěže Chráněná území]]
Soubor:Brnišťský rybník, Hastrmanova stezka.jpg|[[w:Brnišťský rybník|Rybník]] v [[Brniště|Brništi]], součást [[w:Hastrmanova stezka|Hastrmanovy stezky]]. Lokace v [[CHKO Kokořínsko – Máchův kraj]]. Soutěžní fotografie [[w:Wikipedie:Fotíme Česko/Soutěž Chráněná území|soutěže Chráněná území]]
Soubor:Barokní studna ve Střížovicích u Ústí nad Labem.jpg|Replika [[w:Baroko|Barokní]] studny v obci [[w:Střížovice (Chlumec)|Střížovice]].
</gallery>
== Něco o mně ==
[[Soubor:Usti skala.jpg|náhled|Pocházím z [[Ústí nad Labem]].]]
Kromě editace Wikicest se věnuji také programování, vytvářím různé utility a doplňkový programový obsah do videoher, jako například Minecraft Spigot pluginy, mody, skripty a datapacky a resource packy do hry [[w:Minecraft|Minecraft]], případně se podílím na vývoji modů do her s ID Tech 3 enginem (typicky hra [[w:Quake III Arena|Quake III Arena]]). Také tvořím boty pro [[w:Discord|Discord]]. V budoucnu možná vytvořím i nějaké utility a boty pro Wikipedii. Programuji především v jazycích [[w:C (programovací jazyk)|C]], [[w:C+|+]], [[w:C Sharp|C#]] [[w:.NET|.NET]], [[w:Java (programovací jazyk)|Java]], [[w:JavaScript|JavaScript]] a [[w:Python|Python]].
Dalšími zájmy by bylo fotografování (některé mé fotky najdete zde v galerii, k dispozici jsou i na [[:commons:Special:ListFiles/Polda18|Commons]]), [[w:level design|level design]], [[w:webdesign|webdesign]], 3D modelování a karetní hry. Na Wikipedii zatím funguju jako občasný překladatel z cizojazyčných verzí, ale rád bych přispěl i v oblasti zájmů svými vlastními znalostmi a s použitím referencí jinde v literatuře a na internetu. Jsem studentem, začínám působit na [[w:YouTube|YouTube]] a [[w:Twitch (služba)|Twitchi]].
== Externí odkazy ==
'''Quake III Arena'''
* [http://quake3world.com/ <span title="Quake 3 World.com community gaming support forums">Komunitní podpora hry</span>]
* [http://lvlworld.com/ <span title="Custom Q3A maps">Sbírka herních ''světů'' jako rozšíření hry</span>]
* [http://idsoftware.com/ <span title="ID Software sites">Oficiální stránky vývojáře</span>]
'''Minecraft'''
* [https://www.minecraft.net/en-us/ <span title="Minecraft.net">Oficiální stránky hry</span>]
* [https://minecraft.wiki/ <span title="Minecraft Wiki">Wiki hry</span>]
'''Ostatní odkazy'''
* [http://czghost.4fan.cz/ <span title="Webové stránky CZghost">Webové stránky</span>]
* [https://www.github.com/Polda18 <span title="Polda18 na GitHubu">Můj GitHub profil</span>]
* [https://www.twitch.tv <span title="TheCZghost na Twitchi">Twitch kanál</span>]
* [https://www.youtube.com/@CZghost <span title="CZghost na YouTube">Můj hlavní YouTube kanál</span>]
[[Kategorie:User cs-N|Polda18]]
[[Kategorie:User en-2|Polda18]]
<!-- INTERWIKI -->
[[en:User:Polda18]]<!-- angličtina -->
</noinclude>
fapv3dubyyxrrijg2egrx5x5wr6043v
Uživatel:Polda18/userboxes
2
1253
22406
18794
2026-07-14T16:01:50Z
Polda18
173
Úprava nálepek
22406
wikitext
text/x-wiki
{{nálepky začátek
|barva rámečku=#99b3ff
|barva pozadí=#fff
|zarovnání=right
|nadpis=[[Wikicesty:Nálepka|Nálepky]]}}
<div style="font-size: 75%; text-align: center;" class="plainlinks"><nowiki>[</nowiki>[[Uživatel:Polda18/userboxes|zobrazit]]<nowiki>]</nowiki> <nowiki>[</nowiki>[{{fullurl:Uživatel:Polda18/userboxes|action=edit}} editovat]<nowiki>]</nowiki><sup style="cursor: help;" title="Vážně chceš zasahovat do cizího písečku?">'''[<span style="color:red;">!</span>]'''</sup> <nowiki>[</nowiki>[{{fullurl:Uživatel:Polda18/userboxes|action=history}} historie]<nowiki>]</nowiki></div>
{{nálepky oddělovač|Základní informace}}
{{User tykání}}
{{User Discord|Polda18|theczghost}}
{{nálepka levá
|id=[[Soubor:Angry.png|link=|w:Cholerik]]
|info=Uživatel je ''mírně'' [[w:Cholerik|cholerický]].}}
{{Délka členství ve Wikicestách|2014|2|16}}
{{UsersSpeak|cs|čeština|česky|Tento uživatel mluví '''česky'''.}}
{{UsersSpeak|en|angličtina|anglicky|This user can speak '''English'''.}}
{{User Česko}}
{{User Ústí nad Labem}}
{{User Ostrava}}
{{nálepka levá
|id=[[Soubor:No smoking symbol.svg|40px|none|Nekuřák]]
|info=Uživatel je nekuřák.
}}
<!--{{User prověřený uživatel}}-->
{{nálepky oddělovač|Zájmy}}
{{nálepka levá
|id=[[Soubor:RadiantIcon.png|link=w:GtkRadiant|GtkRadiant]]
|info=Uživatel tvoří nové mapy do her [[w:Quake III Arena|Quake III Arena]] a [[w:Quake Live|Quake Live]].
}}
{{nálepka levá
|border-c=#aa8f83
|id-c=#dbcabe
|info-c=f4ece6
|id=[[Soubor:Minecraft cube.svg|30px|link=w:Minecraft|Minecraft]]
|info=Uživatel hraje a staví ve hře [[w:Minecraft|Minecraft]].
}}
{{nálepka levá
|id=[[Soubor:PHP-logo.svg|40px|link=|none|Logo PHP]]
|info=Uživatel se zajímá o [[w:PHP|PHP]] [[w:programování|programování]].
}}
{{nálepka levá
|id=[[Soubor:Wordpress-Logo.svg|40px|link=|none|Logo WordPressu]]
|info=Uživatel používá [[w:WordPress|WordPress]] na svých stránkách.
}}
{{nálepka levá
|id=[[Soubor:The Simpsons Logo 2009 vector.svg|40px|link=|none|Simpsonovi]]
|info=Uživatel je fanouškem seriálu [[w:Simpsonovi|Simpsonovi]].
}}
{{nálepka levá
|id=[[Soubor:War§ow q3map2.png|link=|none|Quake III Arena]]
|info=Uživatel je členem komunity hráčů hry [[w:Quake III Arena|Quake III Arena]].
}}
{{nálepka levá
|id=[[Soubor:Flag of the United Kingdom.svg|40px|link=|none|Vlajka Británie]]
|info=Uživatel sleduje filmy a seriály v [[w:Angličtina|angličtině]].
}}
{{nálepka levá
|id=[[Soubor:Geocaching.svg|40px|none|Geocaching]]
|info=Uživatel se věnuje [[w:Geocaching|Geocachingu]].
}}
{{nálepky oddělovač|Názory a vyznání}}
{{nálepka levá
|id=[[Soubor:Noreligion.jpg|40px|link=|none|Ateista]]
|info=Uživatel je [[w:Ateismus|ateista]].
}}
{{nálepka levá
|border-c=#fc3030
|id-c=#ff9c9c
|info-c=#ffc4c4
|id=[[Soubor:Anti-Euro logo.png|40px|link=|none|Nechci euro]]
|info=Uživatel je proti zavedení [[w:Euro|eura]] místo koruny.
}}
{{nálepka levá
|border-c=#fc3030
|id-c=#ff9c9c
|info-c=#ffc4c4
|id=[[Soubor:Anti EU flag.svg|40px|link=|none|Nechci EU]]
|info=Uživatel je pro vystoupení z [[w:Evropská unie|EU]].
}}<!--
{{nálepky oddělovač|Účast na [[Wikicesty:WikiProjekt|wikiprojektech]]}}-->
{{nálepky konec}}
5ive0rvheecnlrdgjbd6ve6iss1oe3q
22414
22406
2026-07-14T20:08:08Z
Polda18
173
Změna datumu (nejstarší editace ještě z Inkubátoru)
22414
wikitext
text/x-wiki
{{nálepky začátek
|barva rámečku=#99b3ff
|barva pozadí=#fff
|zarovnání=right
|nadpis=[[Wikicesty:Nálepka|Nálepky]]}}
<div style="font-size: 75%; text-align: center;" class="plainlinks"><nowiki>[</nowiki>[[Uživatel:Polda18/userboxes|zobrazit]]<nowiki>]</nowiki> <nowiki>[</nowiki>[{{fullurl:Uživatel:Polda18/userboxes|action=edit}} editovat]<nowiki>]</nowiki><sup style="cursor: help;" title="Vážně chceš zasahovat do cizího písečku?">'''[<span style="color:red;">!</span>]'''</sup> <nowiki>[</nowiki>[{{fullurl:Uživatel:Polda18/userboxes|action=history}} historie]<nowiki>]</nowiki></div>
{{nálepky oddělovač|Základní informace}}
{{User tykání}}
{{User Discord|Polda18|theczghost}}
{{nálepka levá
|id=[[Soubor:Angry.png|link=|w:Cholerik]]
|info=Uživatel je ''mírně'' [[w:Cholerik|cholerický]].}}
{{Délka členství ve Wikicestách|2013|2|3}}
{{UsersSpeak|cs|čeština|česky|Tento uživatel mluví '''česky'''.}}
{{UsersSpeak|en|angličtina|anglicky|This user can speak '''English'''.}}
{{User Česko}}
{{User Ústí nad Labem}}
{{User Ostrava}}
{{nálepka levá
|id=[[Soubor:No smoking symbol.svg|40px|none|Nekuřák]]
|info=Uživatel je nekuřák.
}}
<!--{{User prověřený uživatel}}-->
{{nálepky oddělovač|Zájmy}}
{{nálepka levá
|id=[[Soubor:RadiantIcon.png|link=w:GtkRadiant|GtkRadiant]]
|info=Uživatel tvoří nové mapy do her [[w:Quake III Arena|Quake III Arena]] a [[w:Quake Live|Quake Live]].
}}
{{nálepka levá
|border-c=#aa8f83
|id-c=#dbcabe
|info-c=f4ece6
|id=[[Soubor:Minecraft cube.svg|30px|link=w:Minecraft|Minecraft]]
|info=Uživatel hraje a staví ve hře [[w:Minecraft|Minecraft]].
}}
{{nálepka levá
|id=[[Soubor:PHP-logo.svg|40px|link=|none|Logo PHP]]
|info=Uživatel se zajímá o [[w:PHP|PHP]] [[w:programování|programování]].
}}
{{nálepka levá
|id=[[Soubor:Wordpress-Logo.svg|40px|link=|none|Logo WordPressu]]
|info=Uživatel používá [[w:WordPress|WordPress]] na svých stránkách.
}}
{{nálepka levá
|id=[[Soubor:The Simpsons Logo 2009 vector.svg|40px|link=|none|Simpsonovi]]
|info=Uživatel je fanouškem seriálu [[w:Simpsonovi|Simpsonovi]].
}}
{{nálepka levá
|id=[[Soubor:War§ow q3map2.png|link=|none|Quake III Arena]]
|info=Uživatel je členem komunity hráčů hry [[w:Quake III Arena|Quake III Arena]].
}}
{{nálepka levá
|id=[[Soubor:Flag of the United Kingdom.svg|40px|link=|none|Vlajka Británie]]
|info=Uživatel sleduje filmy a seriály v [[w:Angličtina|angličtině]].
}}
{{nálepka levá
|id=[[Soubor:Geocaching.svg|40px|none|Geocaching]]
|info=Uživatel se věnuje [[w:Geocaching|Geocachingu]].
}}
{{nálepky oddělovač|Názory a vyznání}}
{{nálepka levá
|id=[[Soubor:Noreligion.jpg|40px|link=|none|Ateista]]
|info=Uživatel je [[w:Ateismus|ateista]].
}}
{{nálepka levá
|border-c=#fc3030
|id-c=#ff9c9c
|info-c=#ffc4c4
|id=[[Soubor:Anti-Euro logo.png|40px|link=|none|Nechci euro]]
|info=Uživatel je proti zavedení [[w:Euro|eura]] místo koruny.
}}
{{nálepka levá
|border-c=#fc3030
|id-c=#ff9c9c
|info-c=#ffc4c4
|id=[[Soubor:Anti EU flag.svg|40px|link=|none|Nechci EU]]
|info=Uživatel je pro vystoupení z [[w:Evropská unie|EU]].
}}<!--
{{nálepky oddělovač|Účast na [[Wikicesty:WikiProjekt|wikiprojektech]]}}-->
{{nálepky konec}}
4wga5auyhfznvmlhr1wq3512nqwz2rn
Modul:VCard
828
1326
22420
22085
2026-07-15T10:13:41Z
LiMr
96
změna po přejmenování modulu
22420
Scribunto
text/plain
-- kopie z německých wikicest (https://de.wikivoyage.org/w/index.php?title=Modul:VCard&oldid=1775863)
-- copy from dewikivoyage (https://de.wikivoyage.org/w/index.php?title=Modul:VCard&oldid=1775863)
-- module variable and administration
local vc = {
moduleInterface = {
suite = 'vCard',
serial = '2026-05-18',
item = 58187507
},
-- table containing parameters fetched from Wikidata
fromWD = {},
-- Wikidata to subtype table
subtypeIds = nil,
-- complete subtype table including Wikidata subtypes
subtypes = {},
-- Added for storing Wikivoyage link
wikivoyageLink = nil
}
-- module import
-- require( 'strict' )
local mi = require( 'Module:Marker utilities/i18n' )
local mu = require( 'Module:Marker utilities' )
local vp = require( 'Module:VCard/Params' ) -- parameter lists
local vi = require( 'Module:VCard/i18n' ) -- parameter translations
local vq = mw.loadData( 'Module:VCard/Qualifiers' ) -- comment tables
local cm = require( 'Module:CountryData2' )
local er -- modules will be loaded later if needed
local hi
local hr
local lg
local lp = require( 'Module:LinkPhone' )
local vs
local wu = require( 'Module:Wikidata utilities' )
local function addWdClass( key )
return mu.addWdClass( vc.fromWD[ key ] )
end
local function forceFetchFromWikidata( tab )
for key, value in pairs( tab ) do
vp.ParMap[ key ] = true
end
end
-- copying frameArgs parameters to args = vp.ParMap parameters
local function copyParameters( args, show )
local t, value
local exclude = { auto = 1, show = 1, subtype = 1, wikidata = 1 }
local copy = { subtype = 1 }
vp.ParMap.wikidata = args.wikidata
-- force getting data from Wikidata for missing parameters
show.inlineDescription = true -- description with div or span tag
if vp.ParMap.auto == true then
forceFetchFromWikidata( vp.ParWD )
forceFetchFromWikidata( vp.ParWDAdd )
end
-- copying args parameters to vp.ParMap parameters
for key, v in pairs( vi.p ) do
value = args[ key ]
if value then
value, t =
mu.removeCtrls( value, show.inline or key ~= 'description' )
if t then
show.inlineDescription = false
end
if not exclude[ key ] then
if value == '' and key ~= 'type' then
value = 'y'
end
t = mu.yesno( value )
if t then
if vp.ParMap.wikidata ~= '' then
vp.ParMap[ key ] = t == 'y'
else
vp.ParMap[ key ] = ''
end
else
vp.ParMap[ key ] = value
end
end
if copy[ key ] then
vp.ParMap[ key ] = value
end
end
end
return vp.ParMap
end
-- checking subtypes
local function checkSubtypes( args, subtypesTable )
if not mu.isSet( args.subtype ) then
return {}
end
local function aliasToSubtype( alias )
if not vc.subtypeAliases then -- alias to subtype table
vc.subtypeAliases = mu.getAliases( subtypesTable, 'alias' )
end
return vc.subtypeAliases[ alias ]
end
local function subtypeExists( subtype )
return subtypesTable[ subtype ] and subtype or aliasToSubtype( subtype )
end
local subtypes = {}
local invalidSubtypes = {}
local at, count, invalidCount, item
for subtype, v in pairs( mu.split( args.subtype ) ) do
invalidCount = false
count = ''
item = subtype
-- split item from count
at = item:find( ':', 1, true )
if at then
count = tonumber( item:sub( at + 1, #item ) ) or ''
item = mw.text.trim( item:sub( 1, at - 1 ) )
if count == '' then
invalidCount = true -- ':' without count or not a number
else
count = math.floor( count )
if count < 2 then
count = ''
end
end
end
item = subtypeExists( item ) or mu.typeExists( item )
if item then
subtypes[ item ] = count
end
if invalidCount or not item then
table.insert( invalidSubtypes, subtype )
end
end
if #invalidSubtypes > 0 then
mu.addMaintenance( 'unknownSubtype', table.concat( invalidSubtypes, mu.commaSeparator ) )
end
return subtypes
end
local function initialParametersCheck( frame, page )
local country, email, entity, show, t, v, web, wrongQualifier
local frameArgs = mu.checkArguments( frame:getParent().args, vi.p )
-- Using wu.getEntity instead of wu.getEntityId brings a better overall performance
frameArgs.wikidata, entity, wrongQualifier = wu.getEntity( frameArgs.wikidata or '' )
if wrongQualifier then
mu.addMaintenance( 'wrongQualifier' )
end
if mu.isSet( frameArgs.wikidata ) then
mu.addMaintenance( 'wikidata' )
v = mu.yesno( frameArgs.auto or '' )
if v then
vp.ParMap.auto = v == 'y'
else
vp.ParMap.auto = vi.options.defaultAuto
end
else
vp.ParMap.auto = false
end
-- making phone number table
t = {}
for i, key in ipairs( vp.phones ) do
mu.tableInsert( t, frameArgs[ key ] )
end
-- making web addresses table
web = {}
mu.tableInsert( web, frameArgs.url )
email = frameArgs.email or ''
email = email:gsub( ',.*$', '' ) -- first email
mu.tableInsert( web, email )
-- getting country-specific technical parameters
country = cm.getCountryData( entity, t, frameArgs.country, frameArgs.wikidata, web )
if country.fromWD then
mu.addMaintenance( 'countryFromWD' )
end
if country.unknownCountry then
mu.addMaintenance( 'unknownCountry' )
end
if country.cc ~= '' then
country.trunkPrefix = lp.getTrunkPrefix( country.cc )
end
-- for map support
country.extra = mi.map.defaultSiteType
if mu.isSet( country.iso_3166 ) then
country.extra = country.extra .. '_region:' .. country.iso_3166
-- country-specific default show
end
if mu.isSet( country.show ) then
vp.ParMap.show = vp.ParMap.show .. ',' .. country.show
end
-- handling args table
show = mu.getShow( vp.ParMap.show, frameArgs, vp.show )
-- copying frameArgs parameters to args = vp.ParMap parameters
local args = copyParameters( frameArgs, show )
-- alternate local language
if mu.isSet( args.localLang ) then
lg = lg or require( 'Module:Languages' )
args.localLang = args.localLang:lower()
if lg.lngProps[ args.localLang ] then
cm.setLanguageParams( args.localLang, page.lang, country )
else
args.localLang = ''
mu.addMaintenance( 'unknownLanguage' )
end
end
mu.checkStatus( args )
mu.checkStyles( args )
-- checking coordinates and converting DMS to decimal coordinates if necessary
mu.checkCoordinates( args )
mu.checkZoom( args )
-- remove namespace from category
mu.checkCommonsCategory( args )
mu.checkId( args )
for i, param in ipairs( mi.options.parameters ) do
if mu.isSet( args[ param ] ) then
mu.addMaintenance( 'parameterUsed', param )
end
end
args.subtypeAdd = mu.isSet( args.wikidata ) and vp.ParMap.auto
-- getting features manually entered
if mu.isSet( args.subtype ) then
vs = require( 'Module:VCard/Subtypes' )
vc.subtypes = checkSubtypes( args, vs.f )
if mu.isSet( args.wikidata ) then
-- y = fetch additional features from Wikidata
if vc.subtypes.y then
args.subtypeAdd = true
-- n = do not show subtypes fetched from Wikidata
elseif vc.subtypes.n then
args.subtypeAdd = false
end
end
end
if type( args.lastedit ) == 'string' and args.lastedit ~= ''
and not args.lastedit:match( mi.dates.yyyymmdd.p ) then
mu.addMaintenance( 'wrongDate' )
args.lastedit = ''
end
-- check Google Maps customer id
if type( args.googlemaps ) == 'string' and mu.isSet( args.googlemaps ) and
not ( mu.checkLength( args.googlemaps, 14, 20 ) and args.googlemaps:match( '^[1-9]%d+$' ) ) then
mu.addMaintenance( 'wrongGoogleCid' )
args.googlemaps = ''
end
if type( args.googlemaps ) == 'string' and mu.isSet( args.googlemaps ) then
mu.addMaintenance( 'parameterUsed', 'google-maps' )
if mu.isSet( args.wikidata ) then
mu.addMaintenance( 'wdWithGoogleCid' )
end
end
return args, entity, show, country
end
local function getQuantity( value, formatter, page )
local a, u, unit, unitId
if type( value ) == 'number' then
return tostring( value )
elseif value.amount == '0' then
return '0'
else
a = mu.formatNumber( value.amount )
u = ''
unitId = value.unit
unit = cm.getCurrency( unitId )
if mu.isSet( unit ) then
if unit.mul then
a = mu.formatNumber( string.format( '%.2f', -- 2 decimal places
tonumber( value.amount ) * unit.mul ) )
end
if mi.noCurrencyConversion.all or mi.noCurrencyConversion[ unit.iso ] then
unit = mu.makeSpan( cm.getCurrencyFormatter( unitId ),
'voy-currency voy-currency-' .. unit.iso:lower() )
else
er = er or require( 'Module:Exchange rate' )
unit = er.getWrapper( a, unit.iso, '', 2, cm.getCurrencyFormatter )
mu.addMaintenance( 'currencyTooltip' )
end
else
unit = vq.labels[ unitId ]
end
if unit and unit:find( '%s', 1, true ) then
a = mw.ustring.format( unit, a )
elseif unit then
u = unit
elseif mw.wikibase.isValidEntityId( unitId ) then
-- currency code
u = wu.getValue( unitId, mi.properties.iso4217 )
if u == '' then
-- unit symbol
u = wu.getValuesByLang( unitId, mi.properties.unitSymbol, 1,
page.lang )
u = u[ 1 ] or ''
end
if u ~= '' then
mu.addMaintenance( 'unitFromWD' )
else
u = unitId
mu.addMaintenance( 'unknownUnit' )
end
end
if a ~= '' and u ~= '' and formatter ~= '' and
formatter:find( '$1', 1, true ) and formatter:find( '$2', 1, true ) then
a = mw.ustring.gsub( formatter, '($1)', a )
a = mw.ustring.gsub( a, '($2)', u )
else
a = ( u ~= '' ) and a .. ' ' .. u or a
end
end
return a
end
local function getHourModules()
if not hr then
hi = require( 'Module:Hours/i18n' )
hr = require( 'Module:Hours' )
end
end
local function getLabel( id )
local label = id
local tables = { vq.labels }
if hi then
table.insert( tables, hi.dateIds )
end
if type( id ) == 'string' and id:match( '^Q%d+$' ) then
for i, tab in ipairs( tables ) do
if type( tab[ id ] ) == 'string' then
label = tab[ id ]
break
end
end
if label == '' then
return label
elseif label == id then
label = mu.getTypeLabel( id )
end
if label == '' or label == id then
label = wu.getLabel( id ) or ''
if label == '' then
mu.addMaintenance( 'unknownLabel' )
else
mu.addMaintenance( 'labelFromWD' )
end
end
end
return label
end
local function removeStringDuplicates( ar )
local hash = {}
local result = {}
local val
for i = 1, #ar do
val = ar[ i ]
if not hash[ val ] then
table.insert( result, val )
hash[ val ] = 1
end
end
return result
end
-- getting comments for contacts and prizes from Wikidata using tables
local function getComments( statement, properties, args, page )
local comments = {}
local isMobilephone = false
local minAge, maxAge
for i, property in ipairs( properties ) do
local pType = property .. '-type'
if statement[ property ] then
if property == mi.properties.minimumAge then
minAge = getQuantity( statement[ property ][ 1 ], '', page )
elseif property == mi.properties.maximumAge then
maxAge = getQuantity( statement[ property ][ 1 ], '', page )
end
for j, id in ipairs( statement[ property ] ) do
if statement[ pType ] == 'monolingualtext' then
id = id.text
elseif statement[ pType ] == 'time' then
-- getting last date in case of price/fees
id = wu.getDateFromTime( id )
if not mu.isSet( args.asOf ) or args.asOf < id then
args.asOf = id
end
id = ''
elseif type( id ) == 'table' then
id = ''
end
if id == mi.qualifiers.mobilePhone then
isMobilephone = true
else
mu.tableInsert( comments, getLabel( id ) )
end
end
end
end
comments = removeStringDuplicates( comments )
if minAge and maxAge then
mu.tableInsert( comments, mw.ustring.format( mi.texts.fromTo,
minAge:gsub( '(%d+).*', '%1' ), maxAge ) )
elseif minAge then
mu.tableInsert( comments, mw.ustring.format( mi.texts.from, minAge ) )
elseif maxAge then
mu.tableInsert( comments, mw.ustring.format( mi.texts.to, maxAge ) )
end
return table.concat( comments, mu.commaSeparator ), isMobilephone
end
local function getLngProperty( lng, p )
if not mu.isSet( lng ) then
return ''
end
lg = lg or require( 'Module:Languages' )
local item = lg.lngProps[ lng ]
if not item then
local hyphen = lng:find( '-', 1, true )
if hyphen and hyphen > 1 then
item = lg.lngProps[ lng:sub( 1, hyphen - 1 ) ]
end
end
if item then
item = item[ p ]
end
return item or ( p == 'c' and 0 or '' )
end
local function removeTableDuplicates( ar )
local hash = {}
local result = {}
local hashVal
for i, tab in ipairs( ar ) do
hashVal = tab.value .. '#' .. tab.comment
if not hash[ hashVal ] then
table.insert( result, tab )
hash[ hashVal ] = 1
end
end
return result
end
local function mergeComments( ar )
if #ar > 1 then
for i = #ar, 2, -1 do
for j = 1, i - 1, 1 do
if ar[ i ].value == ar[ j ].value and ar[ i ].comment ~= ''
and ar[ j ].comment ~= '' then
ar[ j ].comment = ar[ j ].comment .. '; ' .. ar[ i ].comment
table.remove( ar, i )
break
end
end
end
end
end
local function convertTableWithComment( ar )
for i = 1, #ar, 1 do
if ar[ i ].comment == '' then
ar[ i ] = ar[ i ].value
else
ar[ i ] = ar[ i ].value .. mu.parentheses( ar[ i ].comment )
end
end
end
--[[
properties are defined in Module:vCard/Params
p property or set of properties
f formatter string
c maximum count of results, default = 1
m concat mode (if c > 1), default concat with ', '
v value type,
empty: string value (i.e. default type),
id: string value of an id like Q1234567
idl: string value of the label of an id like Q1234567
il: language-dependent string value
iq: string value with qualifier ids
au: quantity consisting of amount and unit
pau: quantity consisting of amount (for P8733)
vq: string or table value with qualifiers ids and references
l = lang: language dependent
wiki / local: monolingual text by wiki or local language
le = true: use date for lastedit parameter
--]]
-- function returns an array in any case
local function getWikidataValues( args, propDef, entity, page, country )
local ar = {}
local a, isMobilephone, item, id, langs, q, u
-- setting defaults
propDef.v = propDef.v or ''
propDef.f = propDef.f or ''
propDef.c = propDef.c or 1
-- getting value arrays
if propDef.l == 'wiki' then
ar = wu.getValuesByLang( entity, propDef.p, propDef.c, page.lang )
elseif propDef.l == 'local' then
ar = wu.getValuesByLang( entity, propDef.p, propDef.c, country.lang )
elseif propDef.l == 'lang' and propDef.c == 1 then
id = getLngProperty( country.lang, 'q' )
if id == '' then
country.unknownLanguage = true
else
-- using language of work or name ( page.lang, mi.langs, country.lang )
a = wu.getValuesByQualifier( entity, propDef.p, mi.properties.languageOfName, id )
if next( a ) then
langs = mu.getLangTable( page.lang, country.lang )
for i, lang in ipairs( langs ) do
item = a[ getLngProperty( lang, 'q' ) ]
if item then
break
end
end
ar = { item or a[ next( a, nil ) ] } -- fallback: first item
end
end
elseif propDef.v == 'iq' or propDef.v == 'iqa' or propDef.v == 'iqp' then
q = mi.propTable.quantity
if propDef.v == 'iqa' then
q = mi.propTable.accessQuantity
elseif propDef.v == 'iqp' then
q = mi.propTable.policyComments
end
ar = wu.getValuesWithQualifiers( entity, propDef.p, propDef.q, q,
{ mi.properties.retrieved }, propDef.c )
if propDef.le then
args.lastedit = wu.getLastedit( args.lastedit, ar )
end
elseif propDef.v == 'au' or propDef.v == 'vq' then
q = propDef.v == 'au' and mi.propTable.feeComments or
mi.propTable.contactComments
ar = wu.getValuesWithQualifiers( entity, propDef.p, nil, q,
{ mi.properties.retrieved }, propDef.c )
-- maybe a change of nil to a properties table is useful
if propDef.le then
args.lastedit = wu.getLastedit( args.lastedit, ar )
end
else
ar = wu.getValues( entity, propDef.p, propDef.c )
end
if #ar == 0 and propDef.p ~= mi.properties.instanceOf then
return ar
end
for i = #ar, 1, -1 do
-- amount with unit (for fees)
if propDef.v == 'au' then
a = getQuantity( ar[ i ].value, propDef.f, page )
if a == '0' then
a = vq.labels.gratis
end
u = getComments( ar[ i ], mi.propTable.feeComments, args, page )
ar[ i ] = { value = a, comment = u }
-- for number of rooms P8733
elseif propDef.v == 'pau' then
if ar[ i ].unit == '1' then
a = tonumber( ar[ i ].amount ) or 0
else
a = 0
end
ar[ i ] = {}
ar[ i ][ mi.properties.quantity ] = { a }
ar[ i ][ mi.properties.quantity .. '-type' ] = 'quantity'
ar[ i ].value = mi.qualifiers.roomNumber
ar[ i ]['value-type'] = 'wikibase-entityid'
-- qualifier ids (for subtypes)
elseif propDef.v == 'iq' or propDef.v == 'iqa' or propDef.v == 'iqp' then
if ar[ i ][ 'value-type' ] ~= 'wikibase-entityid' then
table.remove( ar, i )
end
if propDef.v == 'iqa' then
ar[ i ].policyComment =
getComments( ar[ i ], mi.propTable.accessibility, args, page )
end
if propDef.v == 'iqp' then
ar[ i ].policyComment =
getComments( ar[ i ], mi.propTable.policyComments, args, page )
end
-- strings with qualifiers (for contacts)
elseif propDef.v == 'vq' then
if ar[ i ][ 'value-type' ] ~= 'string' then
table.remove( ar, i )
else
u, isMobilephone =
getComments( ar[ i ], mi.propTable.contactComments, args, page )
if vi.options.useMobile and propDef.t then
if ( isMobilephone and propDef.t == 'mobile' ) or
( not isMobilephone and propDef.t == 'landline' ) then
ar[ i ] = { value = ar[ i ].value, comment = u }
else
table.remove( ar, i )
end
else
ar[ i ] = { value = ar[ i ].value, comment = u }
end
end
-- value, monolingual text, identifier
else
if propDef.v == 'id' then
ar[ i ] = ar[ i ].id
elseif propDef.v == 'idl' then
getHourModules()
ar[ i ] = hr.formatTime( getLabel( ar[ i ].id ) )
end
if ar[ i ] ~= '' and propDef.f ~= '' then
ar[ i ] = mw.ustring.format( propDef.f, ar[ i ] )
end
end
if propDef.v == 'au' or propDef.v == 'vq' then
if ar[ i ] and ar[ i ].value == '' then
table.remove( ar, i )
end
else
if ar[ i ] == '' then
table.remove( ar, i )
end
end
end
-- cleanup
if propDef.v == 'au' or propDef.v == 'vq' then
ar = removeTableDuplicates( ar )
mergeComments( ar )
convertTableWithComment( ar )
else
ar = removeStringDuplicates( ar )
end
return ar
end
local function getWikidataItem( args, parWDitem, entity, page, country )
local arr = {}
local function singleProperty( propDef )
if #arr == 0 then
arr = getWikidataValues( args, propDef, entity, page, country )
else
for i, value in ipairs( getWikidataValues( args, propDef, entity, page, country ) ) do
table.insert( arr, value ) -- copy to arr
end
end
end
local p = parWDitem
if not p then
return ''
end
p.c = p.c or 1 -- count
local tp = type( p.p )
if tp == 'string' then
singleProperty( p )
elseif tp == 'table' then
for i, sngl in ipairs( p.p ) do
if type( sngl ) == 'table' then
singleProperty( sngl )
if p.c == 1 and #arr > 0 then
break
end
end
end
end
if #arr > p.c then
for i = #arr, p.c + 1, -1 do -- delete supernumerary values
table.remove( arr, i )
end
end
if p.m == 'no' then
return arr
else
return table.concat( arr, p.m or mu.commaSeparator )
end
end
local function getAddressesFromWikidata( args, page, country, entity )
local addresses
local t, u, w, weight
-- getting addresses from Wikidata but only if necessary
if args.address == true or type( args.addressLocal ) == 'boolean' then
-- P6375: address
addresses = wu.getMonolingualValues( entity, mi.properties.streetAddress )
if next( addresses ) then -- sometimes addresses contain <br> tag(s)
for key, value in pairs( addresses ) do
addresses[ key ] = value:gsub( '</*br%s*/*>', mi.texts.space )
end
else
return
end
else
return
end
if args.address == true then
args.address = addresses[ page.lang ]
-- select address if the same writing system is used
if not args.address then
weight = -1
u = getLngProperty( page.lang, 'w' ) -- writing entity id
for key, value in pairs( addresses ) do
-- same writing entity id as page.lang
w = getLngProperty( key, 'w' )
if w == '' then
country.unknownPropertyLanguage = true
else
if key and w == u then -- same writing entity id
w = getLngProperty( key, 'c' ) -- getting language weight
if w > weight then -- compare language weight
args.address = value
args.addressLang = key
weight = w
end
end
end
end
end
if not args.address then
for i, lng in ipairs( mi.langs ) do
if addresses[ lng ] then
args.address = addresses[ lng ]
args.addressLang = lng
break
end
end
end
if not args.address then
args.address = ''
args.addressLang = ''
end
vc.fromWD.address = args.address ~= ''
end
-- removing county name from the end of address
-- same with county name in county language and English
if type( args.address ) == 'string' then
args.address = mw.ustring.gsub( args.address,
'[.,;]*%s*' .. country.country .. '$', '' )
end
t = true
for i, lng in ipairs( mi.langs ) do
if country.lang == lng then
t = false
end
end
-- keeping local address in any case for html data
args.addAddressLocal = addresses[ country.lang ] or ''
if t and args.addressLocal == true
and country.lang ~= page.lang then
if country.lang ~= '' then
args.addressLocal = addresses[ country.lang ] or ''
else
-- unknown language, maybe missing in Module:Languages
args.addressLocal = addresses.unknown or ''
end
vc.fromWD.addressLocal = args.addressLocal ~= ''
end
end
local function getDataFromWikidata( args, page, country, entity )
if args.wikidata == '' then
return
end
mu.getTypeFromWikidata( args, entity )
-- prevent local data if wiki language == country language
if page.lang == country.lang then
for i, value in ipairs( vp.localData ) do
if type( args[ value ] ) == 'boolean' then
args[ value ] = ''
end
end
end
mu.getNamesFromWikidata( args, vc.fromWD, page, country, entity )
-- Uložíme odkaz na Wikicesty, pokud existuje
if entity and entity.sitelinks and entity.sitelinks.cswikivoyage then
vc.wikivoyageLink = entity.sitelinks.cswikivoyage.title
end
getAddressesFromWikidata( args, page, country, entity )
if args.hours == true then
local lastEdit
getHourModules()
if not mu.typeIds then
mu.idToType( 'Q1' ) -- dummy call to create mu.typeIds
end
args.hours, lastEdit = hr.getHoursFromWikidata( entity, page.lang,
mi.langs[ 1 ] or '', mi.maintenance.properties, nil, args.lastedit,
vq.labels, { typeTable = mu.types, idTable = mu.typeIds } )
vc.fromWD.hours = args.hours ~= ''
if vi.options.lasteditHours then
args.lastedit = lastEdit
end
end
for key, value in pairs( vp.ParWD ) do
if args[ key ] == true then
args[ key ] =
getWikidataItem( args, vp.ParWD[ key ], entity, page, country )
vc.fromWD[ key ] = args[ key ] ~= ''
end
end
mu.getArticleLink( args, entity, page )
mu.getCommonsCategory( args, entity )
mu.getCoordinatesFromWikidata( args, vc.fromWD, entity )
end
local function finalParametersCheck( args, show, page, country, defaultType, entity )
-- remove boolean values from parameters to have only strings
for key, value in pairs( args ) do
if type( args[ key ] ) == 'boolean' then
args[ key ] = ''
end
end
-- create givenName, displayName tables
mu.prepareNames( args )
-- analysing addressLocal vs address
if args.addressLang and args.addressLang == country.lang then
args.addressLocal = ''
args.addAddressLocal = ''
end
if args.addressLocal ~= '' and args.address == '' then
args.address =
mu.languageSpan( args.addressLocal, mi.texts.hintAddress, page, country )
args.addressLocal = ''
args.addAddressLocal = ''
vc.fromWD.address = vc.fromWD.addressLocal
end
show.noCoord = args.lat == '' or args.long == ''
if show.noCoord then
show.coord = nil
show.poi = nil
mu.addMaintenance( 'missingCoordVc' )
else
mu.prepareCoordinates( args )
end
-- getting Marker type, group, and color
if not mu.isSet( args.type ) and mu.isSet( defaultType ) then
args.type = defaultType
end
mu.checkTypeAndGroup( args )
-- image check
if not vc.fromWD.image or mi.options.WDmediaCheck then
mu.checkImage( args, entity )
end
mu.checkUrl( args )
args.commonscat = args.commonscat:gsub( ' ', '_' )
-- add final period if not yet exists
if mu.isSet( args.description ) then
if mw.ustring.match( args.description, '[%w_€$]$' ) then
args.description = args.description .. mi.texts.period
end
if mw.ustring.len( args.description ) > mi.options.contentLimit and
mi.options.groupsWithLimit[ args.group ] then
args.description = mw.ustring.sub( args.description, 1, mi.options.contentLimit ) .. '…'
mu.addMaintenance( 'contentTooLong' )
end
end
end
local function formatText( args, results, key, class )
if not mu.isSet( args[ key ] ) then
return
end
local r
local textKey = key
local period = mi.texts.period
if key == 'hours' then
args[ key ], r = mw.ustring.gsub( args[ key ],
mi.texts.closedPattern, '' )
textKey = ( r > 0 ) and 'closed' or key
end
r = mw.ustring.format( mi.texts[ textKey ], args[ key ] )
r = mw.ustring.gsub( r, '^%a', mw.ustring.upper )
-- add period if not yet exists
r = r .. ( mw.ustring.sub( r, -1 ) == period and '' or period )
table.insert( results, mu.makeSpan( r, class .. addWdClass( key ) ) )
end
local function formatPhone( args, key, country )
if not mu.isSet( args[ key ] ) then
return ''
end
local class
local pArgs = {
phone = args[ key ],
cc = country.cc,
isFax = false,
isTollfree = false,
format = false
}
if vc.fromWD[ key ] then
pArgs.format = true
pArgs.size = country.phoneDigits or 2
end
if key == 'fax' then
class = 'voy-listing-fax p-tel-fax fax' .. addWdClass( key )
pArgs.isFax = true
else
class = 'p-tel tel' .. addWdClass( key )
if key == 'tollfree' then
class = 'voy-listing-tollfree ' .. class
pArgs.isTollfree = true
elseif key == 'mobile' then
class = 'voy-listing-mobile ' .. class
else
class = 'voy-listing-phone ' .. class
end
end
return mw.ustring.format( mi.texts[ key ],
mu.makeSpan( lp.linkPhoneNumbers( pArgs ), class ) )
end
local function formatDate( aDate, aFormat )
return mw.getContentLanguage():formatDate( aFormat, aDate, true )
end
local function removePeriods( s )
local period = mi.texts.period
local _period = '%' .. period
-- closing (span) tags between full stops
return s:gsub( _period .. '+(</[%l<>/]+>)' .. _period .. '+', '%1' .. period )
:gsub( _period .. _period .. '+', period )
end
local function makeMarkerAndName( args, show, page, country, frame )
local result = {}
-- adding status icons
mu.tableInsert( result, mu.makeStatusIcons( args ) )
-- adding POI marker
if show.poi or mu.isSet( args.copyMarker ) then
table.insert( result, mu.makeMarkerSymbol( args, show, frame ) )
end
-- Upravená část pro vytvoření odkazu u názvu
if mu.isSet(vc.wikivoyageLink) then
-- Vytvoříme HTML pro název s interním Wikicesty odkazem
local nameHtml = mu.makeSpan(
string.format('[[%s|%s]]', vc.wikivoyageLink, args.givenName.name),
'p-name fn listing-name' .. addWdClass('name')
)
table.insert(result, nameHtml) -- Vložíme upravený název
-- Logika pro externí URL ikonu byla přesunuta do makeIcons, takže zde nic nepřidáváme.
else
-- Jinak použijeme původní logiku pro generování názvu (externí URL nebo jen text)
mu.makeName( result, args, show, page, country, addWdClass( 'name' ),
addWdClass( 'nameLocal' ) )
end
if #result > 0 then
result = { table.concat( result, mi.texts.space ) }
end
if args.before ~= '' then
table.insert( result, 1, mu.makeSpan( args.before, 'voy-listing-before' ) )
end
return table.concat( result, mi.texts.space )
end
local function makeEvent( args, page )
local isEvent = false
local s = {}
local count = 0 -- counts from-to statements
local startMonth -- month of start date
local today = page.langObj:formatDate( 'Y-m-d', 'now', true )
local todayYear = today:sub( 1, 4 ) -- yyyy
local todayMonth = today:sub( 6, 7 ) -- mm
local lastDate = ''
local lastYear = ''
local useYMD -- both dates are yyyy-mm-dd
local function makePeriod( beginP, endP )
if beginP == endP then
endP = ''
end
if mu.isSet( beginP ) and mu.isSet( endP ) then
count = count + 1
return mw.ustring.format( mi.texts.fromTo2, beginP, endP )
elseif mu.isSet( beginP ) then
return beginP
else
return endP
end
end
local function analyseDate( d, m, y )
local success, c, t
if useYMD then
success, t = pcall( formatDate, d, mi.dates.yyyymmdd.f )
if success then
success, c = pcall( formatDate, d, 'Y-m-d' )
end
if success then
lastDate = c > lastDate and c or lastDate
d = t
end
return d, nil
end
if d:match( mi.dates.yyyymmdd.p ) then
y = d:sub( 1, 4 )
d = d:sub( 6 )
end
if mu.isSet( y ) then
if y:match( mi.dates.yy.p ) then
y = ( '2000' ):sub( -#y ) .. y
elseif not y:match( mi.dates.yyyy.p ) then
y = nil
end
lastYear = y > lastYear and y or lastYear
end
if mu.isSet( d ) and mu.isSet( m ) and d:match( mi.dates.dd.p ) and
not m:match( mi.dates.mm.p ) then
-- try to convert month to number string
success, t = pcall( formatDate, m, 'm' )
if success then
m = t
else
for i = 1, 12, 1 do
if m == mi.months[ i ] or mw.ustring.match( m, mi.monthAbbr[ i ] ) then
m = '' .. i
break
end
end
end
end
if mu.isSet( d ) and mu.isSet( m ) and d:match( mi.dates.dd.p ) and
m:match( mi.dates.mm.p ) then
d = m:gsub( '%.+$', '' ) .. '-' .. d:gsub( '%.+$', '' )
m = nil
elseif mu.isSet( d ) and not mu.isSet( m ) and d:match( mi.dates.dd.p ) then
d = ( startMonth or todayMonth ) .. '-' .. d:gsub( '%.+$', '' )
end
if mu.isSet( d ) then
if d:match( mi.dates.mmdd.p ) then
startMonth = d:gsub( '%-%d+', '' )
m = nil
c = ( y or todayYear ) .. '-' .. d
success, t = pcall( formatDate, c, mi.dates.mmdd.f )
if success then
d = t
end
elseif d:match( mi.dates.dd.p ) and not mu.isSet( m ) and startMonth then
c = ( y or todayYear ) .. '-' .. startMonth .. '-' .. d
success, t = pcall( formatDate, c, mi.dates.mmdd.f )
if success then
d = t
end
end
end
if mu.isSet( m ) then
d = ( mu.isSet( d ) and ( d .. mi.texts.space ) or '' ) .. m
end
return d, y
end
if not mu.groupWithEvents( args.group ) then
return ''
end
-- check if vCard is an event
for i, param in ipairs( vp.checkEvent ) do
if mu.isSet( args[ param ] ) then
isEvent = true
break
end
end
if not isEvent then
return ''
end
if mu.isSet( args.frequency ) then
table.insert( s, mu.makeSpan( args.frequency, 'voy-listing-frequency' ) )
else
if args.date:match( mi.dates.yyyymmdd.p ) and
args.endDate:match( mi.dates.yyyymmdd.p ) then
useYMD = true
if args.date > args.endDate then
args.date, args.endDate = args.endDate, args.date
end
end
args.date, args.year
= analyseDate( args.date, args.month, args.year )
args.endDate, args.endYear
= analyseDate( args.endDate, args.endMonth, args.endYear )
local d = {}
mu.tableInsert( d, makePeriod( args.date, args.endDate ) )
mu.tableInsert( d, makePeriod( args.year, args.endYear ) )
mu.tableInsert( s, mu.makeSpan( table.concat( d, count > 1 and
mu.commaSeparator or mi.texts.space ), 'voy-listing-date' ) )
if ( lastYear ~= '' and lastYear < todayYear ) or
( lastDate ~= '' and lastDate < today ) then
mu.addMaintenance( 'outdated' )
end
end
if mu.isSet( args.location ) then
local locations = mu.textSplit( args.location, ',' )
for i, location in ipairs( locations ) do
if location ~= page.subpageText and location ~= page.text
and mw.title.new( location, '' ).exists then
location = mu.makeSpan( '[[' .. location .. ']]', 'voy-listing-location' )
end
table.insert( s, location )
end
end
s = table.concat( s, mu.commaSeparator )
return ( s ~= '' and ': ' or '' ) .. s
end
local function makeAddressAndDirections( args, page, country )
local r = ''
local p, t
if mu.isSet( args.address ) then
p = {}
if mu.isSet( args.addressLang ) then
p.lang = args.addressLang
t = mw.language.fetchLanguageName( args.addressLang, page.lang )
if mu.isSet( t ) then
p.title = mw.ustring.format( mi.texts.hintAddress2, t )
else
country.unknownPropertyLanguage = true
end
end
r = mu.commaSeparator .. mu.makeSpan( args.address,
'voy-listing-address p-adr adr' .. addWdClass( 'address' ), true, p )
end
if mi.options.showLocalData and mu.isSet( args.addressLocal ) then
r = r .. mu.comma .. mu.languageSpan( args.addressLocal, mi.texts.hintAddress,
page, country, 'voy-listing-address-local' .. addWdClass( 'addressLocal' ) )
end
t = {}
if mu.isSet( args.directions ) then
table.insert( t, mu.makeSpan( args.directions,
'voy-listing-directions' .. addWdClass( 'directions' ) ) )
end
if mi.options.showLocalData and mu.isSet( args.directionsLocal ) then
table.insert( t, mu.languageSpan( args.directionsLocal,
mi.texts.hintDirections, page, country,
'voy-listing-directions-local' .. addWdClass( 'directionsLocal' ) ) )
end
if #t == 0 then
return r
end
return r .. mi.texts.space .. mu.makeSpan( mu.parentheses( table.concat( t, mu.comma ), true ),
'voy-listing-add-address' )
end
local function makeContacts( args, country )
local t = {}
local s
mu.tableInsert( t, formatPhone( args, 'phone', country ) )
mu.tableInsert( t, formatPhone( args, 'tollfree', country ) )
mu.tableInsert( t, formatPhone( args, 'mobile', country ) )
mu.tableInsert( t, formatPhone( args, 'fax', country ) )
if args.email ~= '' then
local lm = require( 'Module:LinkMail' )
s = mu.makeSpan( lm.linkMailSet( { email = args.email, ignoreUnicode = 1 } ),
'voy-listing-email u-email email' .. addWdClass( 'email' ) )
mu.tableInsert( t, mw.ustring.format( mi.texts.email, s ) )
end
s = table.concat( t, mu.commaSeparator )
if s ~= '' then
-- mi.texts.periodSeparator = '. '
s = mi.texts.periodSeparator .. mw.ustring.gsub( s, '^%a', mw.ustring.upper )
end
return s
end
-- making subtypes string
local function makeFeatures( args, tab )
vs = vs or require( 'Module:VCard/Subtypes' )
local function getSubtypeParams( subtype )
local r = vs.f[ subtype ] or mu.getTypeParams( subtype )
if not r.n then
r.n = r.label or subtype
end
r.g = r.g or vs.fromTypesGroupNumber
return r
end
vc.fromWD.subtypeAdd = type( args.subtypeAdd ) == 'table' and #args.subtypeAdd > 0
-- merging subtypeAdd (from Wikidata) to manually entered subtypes
local unknowWDfeatures = false
local label, p, t
if vc.fromWD.subtypeAdd then
-- making translation table from Wikidata ids to feature types
if not vc.subtypeIds then
vc.subtypeIds = mu.getAliases( vs.f, 'wd' )
end
-- adding type if Wikidata id (wd.value) is known
-- indexed array prevents multiple identical types
for i, wd in ipairs( args.subtypeAdd ) do
t = vc.subtypeIds[ wd.value ] or mu.idToType( wd.value )
if not t then
-- maybe instance or subclass of wd.value are known
local p31ids = wu.getIds( wd.value, mi.properties.instanceOf )
local p279ids = wu.getIds( wd.value, mi.properties.subclassOf )
-- merging both arrays
for j = 1, #p279ids, 1 do
table.insert( p31ids, p279ids[ j ] )
end
for j = 1, #p31ids, 1 do
t = vc.subtypeIds[ p31ids[ j ] ] or mu.idToType( p31ids[ j ] )
if t then
break
end
end
end
-- subtype from WD is not known
if not t and not vs.exclude[ wd.value ] then
unknowWDfeatures = true
-- try to add a new subtype Q... to vs.f subtypes table
label = wu.getLabel( wd.value )
if label then
vs.f[ wd.value ] = {
n = label,
wd = wd.value,
g = vs.fromWDGroupNumber
}
t = wd.value
end
end
-- add known subtype
if t then
vc.subtypes[ t ] = {
c = ( wd[ mi.properties.quantity ]
and wd[ mi.properties.quantity ][ 1 ] )
or ( wd[ mi.properties.capacity ] and
wd[ mi.properties.capacity ][ 1 ] ) or '',
p = wd.policyComment
}
end
end
end
if unknowWDfeatures then
mu.addMaintenance( 'unknowWDfeatures' )
end
if next( vc.subtypes ) == nil and #args.subtypeTable == 0 then
return
end
-- replace selected subtypes
for subtype, count in pairs( vc.subtypes ) do
if vs.convert[ subtype ] then
if type( count ) == 'table' then
p = count.p
count = count.c
end
t = vs.convert[ subtype ][ count ] or vs.convert[ subtype ][ 1 ]
vc.subtypes[ t ] = { p = p }
vc.subtypes[ subtype ] = nil
end
end
-- make subtypes table sortable
local s = {};
for subtype, count in pairs( vc.subtypes ) do
if type( count ) == 'table' then
table.insert( s, { t = subtype, c = count.c, p = count.p } )
else
table.insert( s, { t = subtype, c = count } )
end
end
-- add subtypes from types table
if args.subtypeTable then
for i, subtype in ipairs( args.subtypeTable ) do
table.insert( s, { t = subtype, c = 1 } )
end
end
-- sorting subtypes
-- by subtype group and then alphabetically by name
table.sort( s,
function( a, b )
local at = getSubtypeParams( a.t )
local bt = getSubtypeParams( b.t )
local na = mu.convertForSort( at.n )
local nb = mu.convertForSort( bt.n )
return ( at.g < bt.g ) or ( at.g == bt.g and na < nb )
end
)
-- make text and data output
local data = {} -- for data-subtype attribute in wrapper tag
if #s > 0 then
local r = {};
local subtype, f, u, u_n, v
for i = 1, #s do
subtype = s[ i ]
-- for data-subtype="..." in wrapper tag
u = subtype.t .. ',' .. tostring( i )
if type( subtype.c ) == 'number' and subtype.c > 1 then
u = u .. ',' .. subtype.c
end
table.insert( data, u )
u = getSubtypeParams( subtype.t )
if u.g >= vs.firstGroup then
u_n = u.n
if not mu.isSet( u_n ) then
u_n = subtype.t
end
u_n = u_n:gsub( '[,;/].*$', '' )
local count = ( type( subtype.c ) == 'number' ) and subtype.c or 1
if count > 1 and u_n:find( '%[[^%[%]]*%]' ) then
v = mw.ustring.format( mi.texts.subtypeWithCount, subtype.c,
u_n:gsub( '%[([^%[%]]*)|([^%[%]]*)%]', '%1' )
:gsub( '%[([^%[%]]*)%]', '%1' ) )
else
v = u_n:gsub( '%[([^%[%]]*)|([^%[%]]*)%]', '%2' )
:gsub( '%[([^%[%]]*)%]', '' )
end
if mu.isSet( u.t ) then -- string tooltip
v = mw.ustring.format( mi.texts.subtypeSpan, u.t, v )
elseif mu.isSet( u.f ) then -- icons
f = mw.ustring.format( mi.texts.subtypeFile, u.f, v )
if u.c then
f = mw.ustring.rep( f, u.c )
end
v = mw.ustring.format( mi.texts.subtypeAbbr, v, f )
end
-- adding policy comment
if subtype.p and subtype.p ~= '' then
v = v .. mu.parentheses( subtype.p )
end
end
table.insert( r, v )
end
if #r > 0 then
r = #r == 1 and mw.ustring.format( mi.texts.subtype, r[ 1 ] )
or mw.ustring.format( mi.texts.subtypes, table.concat( r, mu.commaSeparator ) )
if r ~= '' then
table.insert( tab, mu.makeSpan( r,
'voy-listing-subtype' .. addWdClass( 'subtypeAdd' ) ) )
end
end
end
-- subtype contains now the value for wrapper tag
args.subtype = table.concat( data, ';' )
end
local function makePayment( args, results )
if not mu.isSet( args.payment ) then
return
end
local t
local class = 'voy-listing-payment p-note note'
if type( args.payment ) == 'table' then
local vr = mw.loadData( 'Module:VCard/Cards')
for i = #args.payment, 1, -1 do -- remove unknown items
t = args.payment[ i ]
if vr.cards[ t ] then
args.payment[ i ] = vr.cards[ t ]
else
table.remove( args.payment, i )
end
end
class = class .. mu.addWdClass( #args.payment > 0 )
args.payment = table.concat( args.payment, mu.commaSeparator )
else
mu.addMaintenance( 'paymentUsed' )
end
formatText( args, results, 'payment', class )
end
local function wrapDescription( args, tab, isInline, addText )
if args.description ~= '' then
table.insert( tab, tostring( mw.html.create( isInline and 'span' or 'div' )
:addClass( 'voy-listing-content p-note note' )
:wikitext( args.description .. ( addText or '' ) ) )
)
end
end
local function makeMetadata( args, page )
local outdated = false
local s, success, u
local t = args.lastedit
if t ~= '' then
success, t = pcall( formatDate, t, mi.dates.lastedit.f )
if not success then
mu.addMaintenance( 'wrongDate' )
t = ''
else
success, s = pcall( formatDate, args.lastedit, 'U' ) -- UNIX seconds
if success then
success, u = pcall( formatDate, mi.texts.expirationPeriod, 'U' )
end
if success and s < u then
t = t .. mi.texts.space .. mi.texts.maybeOutdated
outdated = true
end
end
end
local tag = mw.html.create( 'span' )
:attr( 'class', 'voy-listing-metadata' )
-- add node to save the parent tag
:node( mw.html.create( 'span' )
:addClass( 'voy-listing-metadata-item voy-listing-lastedit' )
:addClass( outdated and 'voy-listing-outdated' or nil )
:addClass( t == '' and 'voy-listing-item-dummy' or nil )
:wikitext( mw.ustring.format( mi.texts.lastedit,
t == '' and mi.texts.lasteditNone or t ) )
)
if mu.isSet( args.sectionFrom ) then
local from = args.sectionFrom:gsub( '_', ' ' )
if from ~= page.subpageText and from ~= page.text then
if mu.isSet( args.wikidata ) then
from = mw.ustring.format( '%s#' .. mi.texts.anchor, from, args.wikidata )
end
tag:node( mw.html.create( 'span' )
:addClass( 'voy-listing-metadata-item voy-listing-toSourcePage' )
:wikitext( mw.ustring.format( '[[%s|%s]]', from, mi.texts.editInSource ) )
)
end
end
return tostring( tag )
end
-- making description, coordinates, and meta data
local function makeDescription( args, show, page, country, entity )
local results = {}
-- inline description
if show.inlineDescription then
wrapDescription( args, results, true )
end
-- adding features
makeFeatures( args, results )
-- practicalities
formatText( args, results, 'hours', 'voy-listing-hours p-note note' )
formatText( args, results, 'checkin', 'voy-listing-checkin' )
formatText( args, results, 'checkout', 'voy-listing-checkout' )
if mu.isSet( args.asOf ) and mu.isSet( args.price ) then
local success
success, args.asOf = pcall( formatDate, args.asOf, mi.dates.asOf.f )
if success then
args.price = args.price .. mw.ustring.format( mi.texts.asOf, args.asOf )
end
end
formatText( args, results, 'price', 'voy-listing-price p-note note' )
makePayment( args, results )
-- adding Unesco symbol
if args.unesco ~= '' and vi.options.showUnesco then
local uLink, uTitle = require( 'Module:VCard/Unesco' ).getUnescoInfo( country )
table.insert( results, mu.addLinkIcon( 'voy-listing-unesco', uLink,
uTitle, 'unesco' ) )
end
local noContent = #results == 0
-- adding DMS coordinates
if show.coord then
table.insert( results, mu.dmsCoordinates( args, page, country, vc.fromWD.lat ) )
end
if mi.options.showSisters == 'atEnd' then
table.insert( results, mu.makeIcons( args, page, country, entity, show, vc.fromWD ) )
end
local description
local space = mi.texts.space
-- adding description in block mode
if args.description ~= '' and not show.inlineDescription then
-- last edit will be inserted at the end of the div tag
wrapDescription( args, results, false, makeMetadata( args, page ) )
noContent = false
description = table.concat( results, space )
if description ~= '' then
description = space .. description
end
-- adding description in inline mode
else
description = table.concat( results, space )
if description ~= '' then
description = space .. description
end
end
return removePeriods( description ), noContent
end
-- vCard main function
function vc.vCard( frame )
mu.initMaintenance()
local page = mu.getPageData()
-- getting location (vCard/listing) entity, show options and country data
local args, vcEntity, show, country = initialParametersCheck( frame, page )
-- associated Wikivoyage page of the location in current Wikivoyage branch
-- possibly modified by mu.getArticleLink()
args.wikiPage = ''
-- getting data from Wikidata
getDataFromWikidata( args, page, country, vcEntity )
-- final check
local defaultType = frame.args.type
finalParametersCheck( args, show, page, country, defaultType, vcEntity )
-- making output
-- leading part for marker mode: only location names and comment
-- saving address
args.addressOrig = args.address
-- creating text parts
-- leading part (marker and names)
local leading = makeMarkerAndName( args, show, page, country, frame )
.. makeEvent( args, page )
-- additional parts for vCard mode
-- get address and directions
local address = makeAddressAndDirections( args, page, country )
-- get all contact information
local contacts = makeContacts( args, country ) -- all contacts
contacts = removePeriods( address .. contacts )
-- making description, coordinates, and meta data
local description, noContent =
makeDescription( args, show, page, country, vcEntity )
local r = leading
local icons = ''
if contacts == '' and noContent then
show.inline = true
r = r .. mu.makeIcons( args, page, country, vcEntity, show, vc.fromWD ) .. description
else
if type( mi.options.showSisters ) == 'boolean' then
-- could also be 'atEnd', then part of body
icons = mu.makeIcons( args, page, country, vcEntity, show, vc.fromWD )
end
-- mi.texts.periodSeparator = '. '
r = removePeriods( r .. contacts .. icons ..
( show.noperiod and '' or mi.texts.periodSeparator ) .. description )
:gsub( '%)(</span>)%s*(<span [^>]*>)%s*%(', '%1; %2' )
end
-- prevents line break before punctuation mark
r = r:gsub( '</span>([,;.:!?])', '%1</span>' )
-- remove space(s) before punctuation marks
:gsub( '%s+(<span [^>]*>[,;.:!?])', '%1' )
if show.inlineDescription then
r = r:gsub( '%s+$', '' ) .. makeMetadata( args, page )
end
-- error handling and maintenance, not in template and module namespaces
if country.unknownLanguage then
mu.addMaintenance( 'unknownLanguage' )
end
if country.unknownPropertyLanguage then
mu.addMaintenance( 'unknownPropertyLanguage' )
end
r = r .. mu.makeMaintenance( page, { wu, mu, cm, hr } )
-- wrapping tag
args.address = args.addressOrig
args.template = 'vCard'
return mu.makeWrapper( r, args, page, country, show, vp.vcardData, frame )
end
return vc
khtp2rurl1qgrmcme5raxx9wxk67u57
Modul:LinkPhone
828
1355
22416
19521
2026-07-15T10:11:11Z
LiMr
96
LiMr přesunul stránku [[Modul:LinkPhone2]] na [[Modul:LinkPhone]]: nahrazení starší verze
19521
Scribunto
text/plain
-- kopie z německých wikicest (https://de.wikivoyage.org/w/index.php?title=Modul:LinkPhone&oldid=1625392)
-- copy from dewikivoyage (https://de.wikivoyage.org/w/index.php?title=Modul:LinkPhone&oldid=1625392)
-- pravděpodbně duplicita modulu LinkPhone, který však nefunguje (asi) s šablonou:Bod
-- module variable and administration
local lp = {
moduleInterface = {
suite = 'LinkPhone',
serial = '2024-06-30',
item = 16354802
}
}
-- module import
-- require( 'strict' )
local li = require( 'Module:Link utilities/i18n' )
local ln = require( 'Module:Link utilities/Phone numbers' )
local lu = require( 'Module:Link utilities' )
local function formatNumber( number, size )
if not li.options.formattingWikidata then
return number
end
local pos, first, last, newLast, country, localCode, i
number = number:gsub( '-', ' ' )
i, pos = number:find( '.* ' ) -- find last space
if size > 0 and pos then
first = number:sub( 1, pos )
last = number:sub( pos + 1, #number )
newLast = ''
if tonumber( last ) then -- inserting additional spaces
while ( #last > size + 1 ) do
if newLast == '' then
newLast = last:sub( -size )
else
newLast = last:sub( -size ) .. ' ' .. newLast
end
last = last:sub( 1, #last - size )
end
if newLast ~= '' then
last = last .. ' ' .. newLast
end
end
pos, i = first:find( ' ' )
if li.options.addZeros and pos and ( pos ~= #first ) then
country = first:sub( 1, pos - 1 )
localCode = first:sub( pos + 1, #first )
if not ln.noZero[ country ] then
localCode = localCode:gsub( '[%(%)]', '' )
if localCode:sub( 1, 1 ) == '0' then
localCode = '(0)' .. localCode:sub( 2, #localCode )
else
localCode = '(0)' .. localCode
end
first = country .. ' ' .. localCode
end
end
number = first .. last
end
return number
end
-- look for phone-number patterns which are valid local numbers
local function checkNumberMatch( key, number )
local ar = ln.exceptions[ key ]
if not ar then
return false
end
for i = 1, #ar, 1 do
if number:find( ar[ i ] ) then
return true
end
end
return false
end
local function extractExtension( number )
local ext = ''
local t
for i, extension in ipairs( li.extensions ) do
t = mw.ustring.gsub( number, '^.*(' .. extension .. ')$', '%1' )
if t ~= number then
ext = t:gsub( '%s*=', ' ' ) -- RFC 3966
number = mw.ustring.gsub( number, '[%s%c]*(' .. extension .. ')$', '' )
break
end
end
return number, ext
end
-- handle a single phone number s
function lp.linkPhoneNumber( s, args, isDemo )
local number = mw.text.trim( s )
if number == '' then
return ''
end
local catPrefix = isDemo and ' [[Kategorie:' or '[[Category:'
local ext = ''
local extraCats = ''
local comment, t
args.cc = args.cc:gsub( '%-', '' )
number, comment = lu.extractComment( number )
number, ext = extractExtension( number )
-- normalize country calling code
number = number:gsub( '^00+', '+' )
:gsub( '^%+%++', '+' )
-- add country calling code, remove lead zero
if args.cc ~= '' then
if li.options.withCountryCode and number:sub( 1, 1 ) ~= '+' then
number = args.cc .. ' ' .. number
end
if li.options.preventLeadZero and not ln.noZero[ args.cc ] then
number = number:gsub( '^(%' .. args.cc .. '%s+)%(+0%)+', '%1' )
:gsub( '%(+', '' ):gsub( '%)+', '' )
end
end
local exception = checkNumberMatch( args.cc,
mw.ustring.gsub( number, "[ '/%.%-%)]", '' ) )
-- formatting phone numbers retrieved from Wikidata
if args.format and not exception then
number = formatNumber( number, args.size )
end
if li.options.addZeros and not ln.zeroExceptions[ args.cc ] and not number:find( '^00' ) then
number = number:gsub( '^0', '(0)' )
end
if li.options.addZeros and args.cc ~= '' and not ln.zeroExceptions[ args.cc ] then
number = number:gsub( '^(%' .. args.cc .. ')( *)0', '%1%2(0)' )
end
-- plain is number for link
local plain = number
-- check if slashes are used
if plain:find( '/', 1, true ) then
extraCats = catPrefix .. li.categories.withSlash
end
-- remove delimiters -.()/' and spaces
-- including thin space
plain = mw.ustring.gsub( plain, "[ '/%.%-%)]", '' )
-- handling country code including ++49, 0049 etc.
if plain:sub( 1, 1 ) == '+' then
plain = plain:gsub( '%(0', '' ) -- zero in parenthesis
:gsub( '%(', '' )
else
plain = plain:gsub( '%(0', '0' )
if comment ~= '' and checkNumberMatch( 'service', comment ) then
exception = true
number = number:gsub( '[%(%)]', '' )
elseif args.isTollfree and checkNumberMatch( 'tollfree', plain ) then
exception = true
number = number:gsub( '[%(%)]', '' )
elseif checkNumberMatch( args.cc, plain ) then
exception = true
elseif args.cc ~= '' then
if ln.noZero[ args.cc ] then
plain = args.cc .. plain:gsub( '^%(', '' )
elseif plain:sub( 1, 1 ) == '0' then
plain = args.cc .. plain:gsub( '^0', '' )
else
return s .. catPrefix .. li.categories.invalid
end
else
return s .. catPrefix .. li.categories.noCC
end
end
-- minimum 5 characters including country code
if not exception and #plain < 5 then
return s .. catPrefix .. li.categories.invalid
end
-- lower case letters for numbers are not allowed
if plain:find( '%l' ) then
return s .. catPrefix .. li.categories.invalid
elseif plain:find( '%u' ) then
-- substitude letters
local letters = { '', '[A-C]', '[D-F]', '[G-I]', '[J-L]', '[M-O]',
'[P-S]', '[T-V]', '[W-Z]' }
for i = 2, 9 do
plain = plain:gsub( letters[ i ], '' .. i )
end
end
-- remove zero from local area code
if args.cc ~= '' and not ln.zeroExceptions[ args.cc ] then
plain = plain:gsub( args.cc .. '0', args.cc )
end
-- final test
if not exception and not plain:match( '^%+%d+$' ) then
return s .. catPrefix .. li.categories.invalid
end
-- assemble number, link, ext, comment, and categories
t = '<span data-phone="' .. plain .. '" class="listing-phone-number'
if not args.isFax then
t = t .. ' plainlinks nourlexpansion'
number = ( '[tel:%s %s]' ):format( plain, number )
end
if exception then
t = t .. ' listing-phone-exception" title="' .. li.categories.onlyDomestic
end
t = t .. '">' .. number .. '</span>'
return t .. ( ext ~= '' and ( ' ' .. ext ) or '' ) ..
( comment ~= '' and ( ' ' .. comment ) or '' ) .. extraCats
end
function lp.linkPhoneNumbers( args )
local addNum = li.addNum
if args.isFax then
addNum = li.addNumFax
end
args.cc = args.cc:gsub( '^00', '+' ):gsub( '^%+%++', '+' )
local ns = mw.title.getCurrentTitle().namespace
local isDemo = ns == 10 or ns == 828
-- split separate numbers
local items = lu.splitItems( args.phone, li.delimiters )
-- analyse phone numbers
local result = ''
local i = 0
local s
for j, item in ipairs( items ) do
s = lp.linkPhoneNumber( item, args, isDemo )
if s ~= '' then
if result == '' then
result = s
else
if i == addNum then
result = result .. '<span class="listing-add-contact">'
end
result = result .. li.texts.comma .. s
end
i = i + 1
end
end
if i > addNum then
result = result .. '</span>'
end
return result;
end
function lp.getTrunkPrefix( cc )
return ln.noZero[ cc ] and '' or '0'
end
return lp
lz3vrw5ovgjiwbdmsymugr5e258ajom
Kratochvíle
0
1582
22413
21454
2026-07-14T19:50:16Z
Karelkam
252
rozšíření
22413
wikitext
text/x-wiki
{{Pagebanner}}
'''Kratochvíle''' je renesanční zámek v [[Jihočeský kraj|Jihočeském kraji]], asi 14 km od [[Prachatice|Prachatic]]. Patří k významným ukázkám venkovského šlechtického sídla s uplatněním italských architektonických vlivů. Jako lovecký letohrádek jej nechal postavit přední český velmož Vilém z Rožmberka koncem 16. století. Vladislav Vančura sem umístil děj románu Konec starých časů.
== Popis ==
[[Soubor:Pohled na zámek Kratochvíle a vodní příkop.JPG|thumb|Zámek s vodním příkopem]]
Zámek je obklopen zdí s baštami, v průčelí s hospodářskými stavbami s renesančními komíny, kaplí Narození Panny Marie a vstupní věží. Vnitřní zahrada zámku byla založena v renesančním slohu s fontánami. Od zámku je oddělena vodním příkopem. Podle uspořádání přízemí obytného stavení se architekt Baldassare Maggi přiblížil jednomu z vilových návrhů Francesca di Giorgio Martini a podobná je i dispozice známé římské vily Farnesiny od Baldassare Peruzziho z let 1505–1511. Do zámku se vchází tzv. ''Vstupním sálem'' v přízemí. V jeho sousedství se nachází ''Pokoj Jana Zrinského'', který byl soukromým apartmánem hraběte Jana Zrinského, synovce posledních Rožmberků a předurčeného dědice rožmberského dominia. Další místnosti v přízemí odkazují na osobnost vlivného rožmberského úředníka a dvořana Jana Hagena. Nejokázalejší místností zámku je velký přijímací ''Zlatý sál'' v prvním patře zdobený malířskými výjevy z antické mytologie. Na něj navazují soukromé prostory Viléma z Rožmberka (''Zlatý pokoj'', ''Pokoj Viléma z Rožmberka''). Tyto místnosti kromě malířských fresek disponují hodnotnou štukovou výzdobou s bohatým zlacením, což patřilo k reprezentaci Viléma z Rožmberka jako prvního muže království.
== Poloha a dopravní informace ==
Zámek Kratochvíle leží 2 km severozápadně od města Netolice, u silnice II/145. V sousedství zámku je dostihové závodiště. Velké parkoviště je asi 200 m od vstupní brány. Parkoviště je placené a bez časového omezení. Ceny parkování jsou 50 Kč za osobní auto nebo motocykl a 150 Kč za autobus.
== Prohlídka ==
Základní prohlídkový okruh stojí 200 Kč a trvá asi hodinu. Je také možná prohlídka kostela Narození Panny Marie, kterou je ale nutné předem rezervovat. Cena vstupného do zámeckého parku je 60 Kč, ale při zakoupení prohlídkového okruhu je vstup do parku zdarma.
== Kde jíst ==
* Přímo před vstupní branou zámku je [https://restauraceukratochvile.cz/ restaurace]
== Kam dál ==
* [[Lomec]] – poutní místo asi 4 km severovýchodně
* [[Hluboká nad Vltavou]] – známý zámek a zoo {{VzdálenostDo|Hluboká nad Vltavou}}
* [[Český Krumlov]] – město s historickým centrem a zámkem {{VzdálenostDo|Český Krumlov}}
== Externí odkazy ==
* {{Wikipedie}}
* [https://www.zamek-kratochvile.cz/cs Oficiální webová prezentace státního zámku Kratochvíle]
[[Kategorie:České zámky]]
[[Kategorie:Jihočeský kraj]]
6u91rei6gdkzc0fzvg66ifa41aaatow
22422
22413
2026-07-15T10:22:35Z
LiMr
96
wikilinky, český parametr
22422
wikitext
text/x-wiki
{{Pagebanner}}
'''Kratochvíle''' je renesanční zámek v [[Jihočeský kraj|Jihočeském kraji]], asi 14 km od [[Prachatice|Prachatic]]. Patří k významným ukázkám venkovského šlechtického sídla s uplatněním italských architektonických vlivů. Jako lovecký letohrádek jej nechal postavit přední český velmož Vilém z Rožmberka koncem 16. století. [[w:Vladislav Vančura|Vladislav Vančura]] sem umístil děj románu [[w:Konec starých časů|Konec starých časů]].
== Popis ==
[[Soubor:Pohled na zámek Kratochvíle a vodní příkop.JPG|náhled|Zámek s vodním příkopem]]
Zámek je obklopen zdí s baštami, v průčelí s hospodářskými stavbami s renesančními komíny, kaplí Narození Panny Marie a vstupní věží. Vnitřní zahrada zámku byla založena v renesančním slohu s fontánami. Od zámku je oddělena vodním příkopem. Podle uspořádání přízemí obytného stavení se architekt Baldassare Maggi přiblížil jednomu z vilových návrhů Francesca di Giorgio Martini a podobná je i dispozice známé římské vily Farnesiny od Baldassare Peruzziho z let 1505–1511. Do zámku se vchází tzv. ''Vstupním sálem'' v přízemí. V jeho sousedství se nachází ''Pokoj Jana Zrinského'', který byl soukromým apartmánem hraběte Jana Zrinského, synovce posledních Rožmberků a předurčeného dědice rožmberského dominia. Další místnosti v přízemí odkazují na osobnost vlivného rožmberského úředníka a dvořana Jana Hagena. Nejokázalejší místností zámku je velký přijímací ''Zlatý sál'' v prvním patře zdobený malířskými výjevy z antické mytologie. Na něj navazují soukromé prostory Viléma z Rožmberka (''Zlatý pokoj'', ''Pokoj Viléma z Rožmberka''). Tyto místnosti kromě malířských fresek disponují hodnotnou štukovou výzdobou s bohatým zlacením, což patřilo k reprezentaci Viléma z Rožmberka jako prvního muže království.
== Poloha a dopravní informace ==
Zámek Kratochvíle leží 2 km severozápadně od města Netolice, u silnice II/145. V sousedství zámku je dostihové závodiště. Velké parkoviště je asi 200 m od vstupní brány. Parkoviště je placené a bez časového omezení. Ceny parkování jsou 50 Kč za osobní auto nebo motocykl a 150 Kč za autobus.
== Prohlídka ==
Základní prohlídkový okruh stojí 200 Kč a trvá asi hodinu. Je také možná prohlídka kostela Narození Panny Marie, kterou je ale nutné předem rezervovat. Cena vstupného do zámeckého parku je 60 Kč, ale při zakoupení prohlídkového okruhu je vstup do parku zdarma.
== Kde jíst ==
* Přímo před vstupní branou zámku je [https://restauraceukratochvile.cz/ restaurace]
== Kam dál ==
* [[Lomec]] – poutní místo asi 4 km severovýchodně
* [[Hluboká nad Vltavou]] – známý zámek a zoo {{VzdálenostDo|Hluboká nad Vltavou}}
* [[Český Krumlov]] – město s historickým centrem a zámkem {{VzdálenostDo|Český Krumlov}}
== Externí odkazy ==
* {{Wikipedie}}
* [https://www.zamek-kratochvile.cz/cs Oficiální webová prezentace státního zámku Kratochvíle]
[[Kategorie:České zámky]]
[[Kategorie:Jihočeský kraj]]
qo4o89uzlxnuxofajfa3xtbx5xiub55
Diskuse k modulu:LinkPhone
829
1915
22412
2026-07-14T19:42:41Z
Polda18
173
nová sekce /* Nahrazení modulu LinkPhone */
22412
wikitext
text/x-wiki
== Nahrazení modulu LinkPhone ==
Šlo by smazat původní [[Modul:LinkPhone]] a tento modul přesunout namísto původního? — [[Uživatel:Polda18|Polda18]] ([[Diskuse s uživatelem:Polda18|diskuse]] • [[Speciální:Příspěvky/Polda18|příspěvky]]) 14. 7. 2026, 21:42 (CEST)
mox97wvmjh3twpkjysl7b4siowmvk8d
22418
22412
2026-07-15T10:11:11Z
LiMr
96
LiMr přesunul stránku [[Diskuse k modulu:LinkPhone2]] na [[Diskuse k modulu:LinkPhone]]: nahrazení starší verze
22412
wikitext
text/x-wiki
== Nahrazení modulu LinkPhone ==
Šlo by smazat původní [[Modul:LinkPhone]] a tento modul přesunout namísto původního? — [[Uživatel:Polda18|Polda18]] ([[Diskuse s uživatelem:Polda18|diskuse]] • [[Speciální:Příspěvky/Polda18|příspěvky]]) 14. 7. 2026, 21:42 (CEST)
mox97wvmjh3twpkjysl7b4siowmvk8d
22421
22418
2026-07-15T10:17:02Z
LiMr
96
/* Nahrazení modulu LinkPhone */ odpověď
22421
wikitext
text/x-wiki
== Nahrazení modulu LinkPhone ==
Šlo by smazat původní [[Modul:LinkPhone]] a tento modul přesunout namísto původního? — [[Uživatel:Polda18|Polda18]] ([[Diskuse s uživatelem:Polda18|diskuse]] • [[Speciální:Příspěvky/Polda18|příspěvky]]) 14. 7. 2026, 21:42 (CEST)
:Přesunuto. Opravil jsem i v odkazech na tento modul, tak snad nebude někde problém. [[Uživatel:LiMr|LiMr]] ([[Diskuse s uživatelem:LiMr|diskuse]]) 15. 7. 2026, 12:17 (CEST)
8g21s2ucxkticzox8twhkpoq1kggw8s
22423
22421
2026-07-15T10:34:42Z
LiMr
96
/* Nahrazení modulu LinkPhone */ odpověď
22423
wikitext
text/x-wiki
== Nahrazení modulu LinkPhone ==
Šlo by smazat původní [[Modul:LinkPhone]] a tento modul přesunout namísto původního? — [[Uživatel:Polda18|Polda18]] ([[Diskuse s uživatelem:Polda18|diskuse]] • [[Speciální:Příspěvky/Polda18|příspěvky]]) 14. 7. 2026, 21:42 (CEST)
:Přesunuto. Opravil jsem i v odkazech na tento modul, tak snad nebude někde problém. [[Uživatel:LiMr|LiMr]] ([[Diskuse s uživatelem:LiMr|diskuse]]) 15. 7. 2026, 12:17 (CEST)
:Aha, tak ještě vznikl problém s {{Š|Telefon}}. O nějakou opravu jsem se pokoušel, ale zatím neúspěšně. [[Uživatel:LiMr|LiMr]] ([[Diskuse s uživatelem:LiMr|diskuse]]) 15. 7. 2026, 12:34 (CEST)
tmcw5w684i1npor8w6ea5f2fbiisjsy
22427
22423
2026-07-15T11:00:04Z
LiMr
96
/* Nahrazení modulu LinkPhone */ odpověď
22427
wikitext
text/x-wiki
== Nahrazení modulu LinkPhone ==
Šlo by smazat původní [[Modul:LinkPhone]] a tento modul přesunout namísto původního? — [[Uživatel:Polda18|Polda18]] ([[Diskuse s uživatelem:Polda18|diskuse]] • [[Speciální:Příspěvky/Polda18|příspěvky]]) 14. 7. 2026, 21:42 (CEST)
:Přesunuto. Opravil jsem i v odkazech na tento modul, tak snad nebude někde problém. [[Uživatel:LiMr|LiMr]] ([[Diskuse s uživatelem:LiMr|diskuse]]) 15. 7. 2026, 12:17 (CEST)
:Aha, tak ještě vznikl problém s {{Š|Telefon}}. O nějakou opravu jsem se pokoušel, ale zatím neúspěšně. [[Uživatel:LiMr|LiMr]] ([[Diskuse s uživatelem:LiMr|diskuse]]) 15. 7. 2026, 12:34 (CEST)
:Tak nakonec opravena i {{Š|Telefon}}, ale po vzoru německých wikicest jsem musel přidat [[Modul:Phone]]. [[Uživatel:LiMr|LiMr]] ([[Diskuse s uživatelem:LiMr|diskuse]]) 15. 7. 2026, 13:00 (CEST)
gyvikawyc3cdzrdtqghqy5f69dqlyne
22428
22427
2026-07-15T11:35:08Z
Polda18
173
/* Nahrazení modulu LinkPhone */ odpověď
22428
wikitext
text/x-wiki
== Nahrazení modulu LinkPhone ==
Šlo by smazat původní [[Modul:LinkPhone]] a tento modul přesunout namísto původního? — [[Uživatel:Polda18|Polda18]] ([[Diskuse s uživatelem:Polda18|diskuse]] • [[Speciální:Příspěvky/Polda18|příspěvky]]) 14. 7. 2026, 21:42 (CEST)
:Přesunuto. Opravil jsem i v odkazech na tento modul, tak snad nebude někde problém. [[Uživatel:LiMr|LiMr]] ([[Diskuse s uživatelem:LiMr|diskuse]]) 15. 7. 2026, 12:17 (CEST)
:Aha, tak ještě vznikl problém s {{Š|Telefon}}. O nějakou opravu jsem se pokoušel, ale zatím neúspěšně. [[Uživatel:LiMr|LiMr]] ([[Diskuse s uživatelem:LiMr|diskuse]]) 15. 7. 2026, 12:34 (CEST)
:Tak nakonec opravena i {{Š|Telefon}}, ale po vzoru německých wikicest jsem musel přidat [[Modul:Phone]]. [[Uživatel:LiMr|LiMr]] ([[Diskuse s uživatelem:LiMr|diskuse]]) 15. 7. 2026, 13:00 (CEST)
::Díky. — [[Uživatel:Polda18|Polda18]] ([[Diskuse s uživatelem:Polda18|diskuse]] • [[Speciální:Příspěvky/Polda18|příspěvky]]) 15. 7. 2026, 13:35 (CEST)
lhfdl3ryuqu9igz5oj02tbithnyf53n
Modul:LinkPhone2
828
1916
22417
2026-07-15T10:11:11Z
LiMr
96
LiMr přesunul stránku [[Modul:LinkPhone2]] na [[Modul:LinkPhone]]: nahrazení starší verze
22417
Scribunto
text/plain
return require [[Modul:LinkPhone]]
of16j6frbylarcdnptf4awklbroow16
Diskuse k modulu:LinkPhone2
829
1917
22419
2026-07-15T10:11:11Z
LiMr
96
LiMr přesunul stránku [[Diskuse k modulu:LinkPhone2]] na [[Diskuse k modulu:LinkPhone]]: nahrazení starší verze
22419
wikitext
text/x-wiki
#PŘESMĚRUJ [[Diskuse k modulu:LinkPhone]]
iuct38a28pec1jmlanyzxjyzdllwog4
Modul:Phone
828
1918
22424
2026-07-15T10:54:10Z
LiMr
96
nová šablona podle dewikivoyage
22424
Scribunto
text/plain
-- kopie z německých wikicest (https://de.wikivoyage.org/w/index.php?title=Modul:Phone&oldid=1491639)
-- copy from dewikivoyage (https://de.wikivoyage.org/w/index.php?title=Modul:Phone&oldid=1491639)
-- documentation
local Phone = {
suite = 'Phone',
serial = '2022-10-22',
item = 106152593
}
-- module import
-- require( 'strict' )
local cm = require( 'Module:CountryData' )
local lp = require( 'Module:LinkPhone' )
local yn = require( 'Module:Yesno' )
-- module variable and administration
local ph = {
moduleInterface = Phone
}
-- with parameter check for templates / #invoke
function ph.linkPhoneNumberSet( args )
args.phone = args.phone or args.mobile or args[ 1 ] or ''
if args.phone == '' then
return ''
end
args.cc = ( args.cc or '' ):gsub( '^00', '+' ):gsub( '^%+%++', '+' )
args.format = yn( args.format, false )
args.isFax = yn( args.isFax, false )
args.isTollfree = yn( args.isTollfree, false )
args.size = tonumber( args.size )
-- get country code if allowed
local size
if ( args.cc == '' or args.cc:sub( 1, 1 ) ~= '+' ) then
args.cc, size = cm.getCountryCode()
args.size = args.size or size
end
args.size = args.size or 2
return lp.linkPhoneNumbers( args )
end
-- for #invoke call
function ph.linkPhone( frame )
return ph.linkPhoneNumberSet( frame.args )
end
-- for template call
function ph.linkPhoneTemplate( frame )
return ph.linkPhoneNumberSet( frame:getParent().args )
end
return ph
omn3z5new3zvu1b5qrc9rhkx3nafi5u
22426
22424
2026-07-15T10:58:18Z
LiMr
96
použití alternativního modulu
22426
Scribunto
text/plain
-- kopie z německých wikicest (https://de.wikivoyage.org/w/index.php?title=Modul:Phone&oldid=1491639)
-- copy from dewikivoyage (https://de.wikivoyage.org/w/index.php?title=Modul:Phone&oldid=1491639)
-- documentation
local Phone = {
suite = 'Phone',
serial = '2022-10-22',
item = 106152593
}
-- module import
-- require( 'strict' )
local cm = require( 'Module:CountryData2' )
local lp = require( 'Module:LinkPhone' )
local yn = require( 'Module:Yesno' )
-- module variable and administration
local ph = {
moduleInterface = Phone
}
-- with parameter check for templates / #invoke
function ph.linkPhoneNumberSet( args )
args.phone = args.phone or args.mobile or args[ 1 ] or ''
if args.phone == '' then
return ''
end
args.cc = ( args.cc or '' ):gsub( '^00', '+' ):gsub( '^%+%++', '+' )
args.format = yn( args.format, false )
args.isFax = yn( args.isFax, false )
args.isTollfree = yn( args.isTollfree, false )
args.size = tonumber( args.size )
-- get country code if allowed
local size
if ( args.cc == '' or args.cc:sub( 1, 1 ) ~= '+' ) then
args.cc, size = cm.getCountryCode()
args.size = args.size or size
end
args.size = args.size or 2
return lp.linkPhoneNumbers( args )
end
-- for #invoke call
function ph.linkPhone( frame )
return ph.linkPhoneNumberSet( frame.args )
end
-- for template call
function ph.linkPhoneTemplate( frame )
return ph.linkPhoneNumberSet( frame:getParent().args )
end
return ph
ppvkx3esqf0ehovb66qn8ue3qkcdf24