Packare
Deklinační šablony versus generátory tvarů
editovatDobrý večer, asi došlo z vaší strany k nedorozumění ohledně užívání deklinačních šablon versus šablon generujících tvary. Používáme zde dva typy šablon:
- Šablony typu
{{Slovní_druh (kód_jazyka)}}
, do kterých se zadávají všechny tvary (přesněji řečeno různé tvary, například pro česká adjektiva není nutné zadávat tvary vokativu, protože jsou vždy totožné s nominativem), viz například{{Substantivum (cs)}}
. - Šablony typu
{{Vzor slovo}}
, které jsou pouze pomůckou pro rychlejší vyplnění předchozího typu šablon, neboli generátory tvarů pro slova konkrétního vzoru či podvzoru, viz například{{Vzor žena}}
. Tyto šablony se používají vždy s prefixemsubst:
, který způsobí, že při uložení stránky se do wikikódu uloží výstup šablony, nikoli její prvotní vložení.
Konkrétně pro latinská substantiva ženského rodu 1. deklinace již zde máme {{Vzor femina}}
(nevýhodou její nynější podoby je to, že nevytváří odkazy, ty bylo nutné později dělat ručně). Při vytváření hypotetické stránky aqua se tedy do wikikódu zapisuje:
=== podstatné jméno === * ''rod ženský ''(femininum)'' * 1. deklinace (ā-kmeny) {{subst:Vzor femina|aqu}} ==== význam ==== # [[voda]]
atd. Díky prefixu subst:
se tento fragment po uložení změní na:
=== podstatné jméno === * ''rod ženský ''(femininum)'' * 1. deklinace (ā-kmeny) ==== skloňování ==== {{Substantivum (la) | snom = aqua | sgen = aquae | sdat = aquae | sacc = aquam | sabl = aquā | svoc = aqua | pnom = aquae | pgen = aquārum | pdat = aquīs | pacc = aquās | pabl = aquīs | pvoc = aquae }} ==== význam ==== # [[voda]]
--Milda (diskuse) 17. 9. 2013, 18:45 (UTC)
- Moc děkuju za informace. Myslel jsem, že tyto generátory tvarů pro latinu neexistují, měl jsem hledat hlouběji... Psal jste, že nevýhodou nynější šablony
{{Vzor femina}}
je, že nevytváří odkazy... Proč je rovnou do kódu té šablony nepřidělat? --Packare (diskuse) 17. 9. 2013, 21:41 (UTC)- S chutí do toho a půl je hotovo. :-) Prostě to zatím nikdo neudělal, zpravidla se z deklinačních šablon odkazovalo na jednotlivé tvary tehdy, když hesla o těch tvarech existovala nebo když tvary byly homonymní s jiným slovem nebo tvarem jiného slova, a to i v jiném jazyce. Až v posledních měsících v souvislosti s masivním zakládáním hesel o tvarech latinských substantiv kolegou Martinem Kotačkou deklinační tabulky v latinských heslech zmodraly. Bude to o malinko složitější kvůli tomu, že tvary se vkládají včetně akcentů a odkazy mají vést na hesla bez akcentů, ale dá se to vyřešit předáváním dvou parametrů, kde jeden bude základ slova bez akcentů, druhý s akcentem. --Milda (diskuse) 17. 9. 2013, 21:55 (UTC)
- S těmi odkazy, má to vypadat takhle, jako jsem to právě uděl v nově vytvořené šabloně vzoru puer
{{Vzor puer}}
?--Packare (diskuse) 17. 9. 2013, 22:16 (UTC)- Jak jsem psal v předchozím příspěvku, je to kvůli akcentům složitější. Vaše úprava zohledňovala akcenty v pádových koncovkách, ale už ne v kmeni slova. Upravil jsem v tomto duchu
{{Vzor verbum}}
, trochu jsem s tím bojoval, ale na třetí pokus už funguje jak má. --Milda (diskuse) 18. 9. 2013, 06:56 (UTC)
- Jak jsem psal v předchozím příspěvku, je to kvůli akcentům složitější. Vaše úprava zohledňovala akcenty v pádových koncovkách, ale už ne v kmeni slova. Upravil jsem v tomto duchu
- S těmi odkazy, má to vypadat takhle, jako jsem to právě uděl v nově vytvořené šabloně vzoru puer
{{Vzor mare}}
nebude s druhým parametrem fungovat správně, tvary sgen, pgen, pdat a pabl budou odkazovat na hesla s akcentem. Všude tam, kde pádová koncovka akcent neobsahuje, ale kořen některého slova jej obsahovat může, je nutné použít dlouhý zápis s #if a dvěma substy v <includeonly>. Kratší zápis s hranatými závorkami (např. u sdat) je určen pro tvary, jejichž pádová koncovka akcent obsahuje. Nejkratší zápis bez hranatých závorek je pro tvary totožné (po odstranění případného akcentu z pádové koncovky) s nominativem.
BTW: Když porovnám skloňování s anglickým Wikislovníkem, mají jiné tvary sabl a pvoc. Prosím, podívejte se na to. --Milda (diskuse) 19. 9. 2013, 04:59 (UTC)
- Díky za revizi toho mare - měl jste pravdu - ve pvoc mi při psaní šablony vypadlo i. Ovšem tvar sabl mají podle mě na anglickém wikislovníku špatně. Gramatické tabulky, které doma a mám a ostatní wikislovníky uvádějí naši variantu "mari" (nikoli jako na anglické "mare").
- Kód stále správně není, naopak jste to úpravou označnou jako „zjednodušení“ ještě zhoršil. Schválně si to zkuste zrovna na vzorovém slově
{{subst:Vzor mare|mar}}
, výsledkem bude napříkladpdat = [[maribus|maribus]]
, což sice navenek funguje, ale není to zcela v pořádku. Právě proto, aby tento nečistý kód nevznikal, tam byly substované#if
konstrukce. Strávil jsem nad tím skoro hodinu a věřte, že kdyby to nešlo takhle složitě, tak bych to tak složitě nedělal. („Na každou složitou otázku existuje jednoduchá, nesprávná odpověď.“) --Milda (diskuse) 19. 9. 2013, 17:05 (UTC)
- Kód stále správně není, naopak jste to úpravou označnou jako „zjednodušení“ ještě zhoršil. Schválně si to zkuste zrovna na vzorovém slově
Mohl byste se, prosím, někdy, až budete mít čas, podívat na {{Vzor nomen}}
. Přidal jsem třetí parametr kvůli změně kmenové samohlásky. Problém je popsaný v tamní diskusi. V posledním z tam vyjmenovaných případů (bezakcentové adjektivum se změnou kmenové samohlásky) se zdvojují odkazy a já si nevím rady s tím, jak tuto chybu odstranit. Říkal jsem si, že byste to asi mohl umět vyřešit. Děkuji mnohokrát. --Packare (diskuse) 20. 9. 2013, 19:18 (UTC)
Omluva
editovatOmlouvám se, až nyní jsem si uvědomil, že jsem se dopustil editace na Vaší uživatelské stránce. Což je dle zdejší etikety, jak ji chápu, Vaše výsostné území a já bych Vám tam neměl lézt. Ještě jednou pardon, dám si na to příště pozor, --Pyprilescu (diskuse) 24. 9. 2013, 10:28 (UTC) p.s. Fakticky to ale, myslím, úplně mimo mísu není. Ono "vas" má navíc dlouhé "-ā-" v kmeni.