Diskusia k šablóne:Desaťročie

Obsah stránky není podporován v jiných jazycích.
z Wikipédie, slobodnej encyklopédie

Parametre šablóny[upraviť zdroj]

Nazdar Tomáš. Oceňujem ideu, pred hromadným nasádzaním (asi botom) si to ale pýta nejaké optimalizácie. Predovšetkým teda minimalizovať počet a povahu odovzdávaných parametrov a zvyšok riešiť v tele šablóny aritmetikou. Ideálne odovzdávať buď len čisto rok (volanie: {{Desaťročie|1960}}), alebo storočie+desaťročie (volanie: {{Desaťročie|20|60}}). Osobne by som bol za ten rok. Potom treba ešte domyslieť prípadnú použiteľnosť pre desaťročia pred n. l. --Teslaton (diskusia) 15:53, 28. august 2014 (UTC)[odpovedať]

Pozerám ešte zbežne ostatné wiki, zvykom je prevažne odovzdávať len číslo desaťročia. Nesúlad je akurát v tom, či sa čísluje od nuly alebo od jednotky. Takže napr. pre desaťročie 2000 – 2009 sa volá {{en:Template:Decadebox|200}} alebo {{cs:Šablona:X-tá léta|200}}, ale napr. {{de:VorlageArtikel Jahrzehnt|201}}. Formálne presnejšie je zrejme číslovanie od jednotky (0 – 9 bolo "prvé desaťročie"), intuitívnejšie zase od nuly. Keďže ale nejde o hodnotu, viditeľnú čitateľom, nie je to až tak podstatné. --Teslaton (diskusia) 16:22, 28. august 2014 (UTC)[odpovedať]

No, botom som nič nerobil... Ja som sa to snažil urobiť rovnako, ako to bolo v článkoch predtým (viď. použité 60. roky 20. storočia a nepoužité 40. roky 20. storočia). Ja sa v tom programovaní veľmi nevyznám, ja som len skopíroval tú tabuľku z článku a upravil na parametre. Jediný zložitejší bol parameter letopočet. Ja to nechám tak, ako je, ja to dokážem iba pokaziť. Ak chceš, tak to prerob, ja to nedokážem. --TOMÁŠP 16:38, 28. august 2014 (UTC)[odpovedať]
Ale veď čo hneď toľko nedôvery vo svoje schopnosti? :) V princípe by stačilo buď len preniesť a upraviť trebárs tú z en, alebo do tej tvojej doplniť aritmetiku. Malo by to byť triviálne, napr. keď máš to 0-based číslo desaťročia v 1. nepomenovanom parametri a chceš vypluť zoznam rokov, tak: {{#expr: {{{1|200}}} * 10}}, {{#expr: {{{1|200}}} * 10 + 1}}, … zobrazí 2000, 2001, … Ostatné výstupy analogicky. Nemám momentálne čas sa tomu venovať, s konkrétnou vecou ale kľudne pomôžem, ak budeš potrebovať. Nahradiť to strojovo v článkoch potom tiež môžem, predbežne ale niekedy v priebehu budúceho týždňa. --Teslaton (diskusia) 16:47, 28. august 2014 (UTC)[odpovedať]
No dobre, pokúsim sa, ale to ešte neznamená, že som v tejto oblasti dokonalý. Zrejme ťa budem otravovať častejšie :-) --TOMÁŠP 17:13, 28. august 2014 (UTC)[odpovedať]
Ináč, zrejme sa prikloním k tej druhej forme {{Desaťročie|20|60}}. Myslím, že to bude aj ľahšie vypĺňať, mne je napríklad forma 60. roky 20. storočia príjemnejšia, ako 197. desaťročie. --TOMÁŠP 17:19, 28. august 2014 (UTC)[odpovedať]
Som skôr za to 0-based poradové číslo. Dva argumenty: 1. je to minimálny tvar z dátového hľadiska, 2. je to kompatibilné s inými wiki. Čo sa týka vypĺňania, pre existujúce články sa to dosadí strojovo a do budúcna zase tak často pribúdať nebudú. --Teslaton (diskusia) 17:35, 28. august 2014 (UTC)[odpovedať]
No, a už som tu... Narazil som na problém pri Storočí pred. Keďže som to dal, ako aktuálne storočie mínus 1, pri prvom storočí to bude dávať 0. storočie... Snažil som sa cez {{#if:{{{1|1}}}|{{#expr: {{{1}}} - 2}}}}, ale neviem, kde to dať. Zatiaľ som tú úpravu šablóny neuložil, tak prosím ťa neopravuj tam, ale napíš sem. Ďakujem. --TOMÁŠP 17:29, 28. august 2014 (UTC)[odpovedať]
Na podmienku s výrazom sa hodí {{#ifexpr:…}}. Vo všeobecnosti viď. [1]. --Teslaton (diskusia) 17:35, 28. august 2014 (UTC)[odpovedať]
Ale, keď dám 2 parametre, storočie a desaťročie, bude to v podstate sedieť všetkým národom. Kým v tom 0-dačo číslo sa lížia podľa jazykov, takto je to oveľa jednotnejšie. No ale k tomu {{#ifexpr:…}}. Moje znalosti angličtiny... Asi by som mal odstrániť na mojej redaktorskej stránke znalosť angličtiny, lebo som tomu absolútne nepochopil. Mohol by si aspoň najzákladnejšie napísať, o čo ide, prosím? --TOMÁŠP 17:44, 28. august 2014 (UTC)[odpovedať]
  • volanie: je to technická vec, čitateľ s tým neprichádza do styku. A jeden parameter, navyše informačne "hustý", charakteru poradového čísla, minimalizuje redundaciu. Okrem toho aj intuitívne to vcelku je – zoberieš začiatočný rok daného desaťročia a zapíšeš ho bez koncovej nuly.
  • ifexpr: je to proste vetvenie podľa pravdivosti výrazu (ternárny operátor z C-čkom inšpirovaných prog. jazykov). Ak je podmienka, uvedená v prvom parametri pravdivá, vráti sa obsah druhého parametra, inak obsah tretieho (kde môžu byť samozrejme ďalšie podvýrazy). Napr. {{#ifexpr: {{{1}}} > 0 | väčšie ako nula | menšie/rovné nule}}.
Založ si niekde testovaciu šablónu, napr. Redaktor:TomášPolonec/Tpl a volaj si ju z nejakého pieskoviska: {{Redaktor:TomášPolonec/Tpl|...}}. Tak môžeš testovať ako sa čo správa a následne to prehodiť do ostrej. Ďalšia vec je, že všetky parametre môžeš uvádzať s defaultnými hodnotami, napr. {{{1|200}} (vráti obsah 1. parametra, alebo 200, ak nebol zadaný, alebo si mimo šablónového kontextu) a potom čisto zmenou defaultov bez ukladania, len zobrazením náhľadu testovať, ako sa to bude chovať. --Teslaton (diskusia) 18:12, 28. august 2014 (UTC)[odpovedať]
No dobre, ale ako teraz vypočítam storočie z tej 0-dačo čísla? Dá sa to, ak sa vydelí desiatimi, zaokrúhli na jednotky smerom dole a pričíta 1. Ale ako to napíšem? Zatiaľ, aby som sa aspoň nejako pohol to urobím na dva parametre a potom prerobím na jeden. OK? --TOMÁŠP 18:41, 28. august 2014 (UTC)[odpovedať]
Pre kladné čísla napr. {{#expr: trunc({{{1|201}}} / 10) + 1}}. storočie → "21. storočie". Čo sa týka desatinnej časti, trunc() ju len usekne, takže pre kladné čísla je zhodné s floor() a pre záporne zase s ceil().
Inak to 0-based číslovanie generuje tú anomáliu, že 0. roky pred n. l. treba napr. na enwiki volať ako {{Decadebox|-0}}... :) --Teslaton (diskusia) 19:18, 28. august 2014 (UTC)[odpovedať]
Aj keď si vysvetlil, o čo ide s tým ifexpr, ja som asi pokazil, pozri tu. Zatiaľ je to s tými dvoma parametrami. Keď sa opravia chyby, upravím na jeden. Ďakujem. --TOMÁŠP 19:22, 28. august 2014 (UTC)[odpovedať]
Tie konkrétne chyby, kvôli ktorým ti to vypúvalo hlášky boli len drobnosti – chýbajúce defaulty a dve kučeravé zátvorky tam, kde majú byť tri: [2]. Ale ono to v konečnom dôsledku nebude úplne jednoduchá šablóna, bude tam dosť vetvenia a možno to bude chcieť pozakladať pomocné (pod-)šablóny. Ak sa na to nebudeš cítiť, pozriem sa na to budúci týždeň. --Teslaton (diskusia) 19:47, 28. august 2014 (UTC)[odpovedať]
Už som to prevažne dokončil, všetko funguje, ešte chcem skrátiť zápisy napr. 0. roky 19. storočia na 0. roky, iba aktuálne desaťročie nechám dlhé, je to potom pochopiteľné. Potom ešte chýbyjú roky, aj to dorobím. Napadlo ma riešenie pre minulý letopočet, urobil by som to ako jedno veľké #ifexpr, podmienku by som dal {{{1}}} > 0, ak platí, tak by išla tabuľka, ktorá tam je teraz a ak neplatí, tak napíšem ďalšiu rovnakú tabuľku, len platnú pre minulý letopočet. Zvolil som číslovanie od nuly, keďže to potom bude oveľa ľahšie písať tie šablónové blbosti. --TOMÁŠP 09:02, 29. august 2014 (UTC)[odpovedať]