Hi all,
chtěl bych Vás požádat o radu, zda jste někdo někde nenarazil na algortmus/kód řešící problém skloňování jmen do 5.pádu. Např. mé jméno je Tomáš a v 5.pádu by to bylo Tomáši. Díky všem za radu, pomoc.
Googlit sem se snažil, ale asi jsem nedosáhl dost vysokého skillu, takže jsem na nic nenarazil :-)
Fórum › PHP
Skloňování jména do 5.pádu
zistil by som vzor a podla toho sklonoval, ale aj tak to nebude 100%tne, nakolko predpokladam ze aj cestina, tak ako slovencina, ma vynimiek "viac ako pravidiel".... tie potom ak tak riesit samostatne, ak sa nanajde tak podla vzor-u
vtipne tema, aby to bylo 100% korektni , to by asi chtelo databazovou tabulku, kde by byly jmena v 1.pade a vedle jmena v 5.pade. Pripadne i v jinych padech a vzdy vyhledat pozadovany vysledek podle pozadovaneho padu. Ono to bude s kadym jmenem jinak. Tomáš - Tomáši, Jirka - Jirko, Zdenek - Zdeňku, Viktor - Viktore, Čuník - Čuníku, Ivan - Ivane, Petr - Petře ...
co třeba nastavit oslovení takové jaké uživatel chce? např mám jméno Adam, ale na webu se chci zdravit čuss CZechBoYi :-) nebo nějak jinak, to byl jen příklad :D
takže výsledně bych udělal u registrace sloupec `pozdrav` a tam by si to v nastavení každý nastavil(takhle to mám na svém webu)
To remmidemmi : az teraz ma napadlo, ze my vokativ prakticky nemame (mozno par vynimiek), takze som netusil "takuto komplikaciu" :D
Trofám si tvrdit, že vymyšlení algoritmu na skloňování bude trvat dýl než, když si projdeš kalendář a ručně do databáze naťukáš jména a jejich 5. pády.
Jako např.
INSERT INTO `names` (name, calling) VALUES (`Petr`, ``Petře`);
INSERT INTO `names` (name, calling) VALUES (`Jirka`, ``Jirko`);
Jistě, ale nějaké oslovení musí být defualtní. Proto bych tam dal jeho jméno, ale neskloněné a dal mu možnost oslovení změnit.
Jako např.
Ahoj Jan! Nelíbí se vám oslovení? Změňte si ho v nastavené profilu.
A když už ho změní, tak tam tenhle text už nedávat, ale možnost změnít oslovení bude v profilu stále.
A v tabulce bude nový sloupec "osloveni" (nebo "calling"), který defaultně bude stejnž jako sloupec jmeno (name).
Takhle bych to dělal já....
Tak asi by bylo možné nechat člověka, aby si zvolil oslovení, jenže problém je, že se zde lidé neregistrují, ale nějaký člověk s nimi sedí a sjednává smlouvu. Další problém je, že to má být oslovení na dopis, takže české poště by se asi nelíbilo, kdyby jí doraila adresa se jménem CZechBoYi :-D Řekl bych, že by je možná i na té přepážce škráblo, až by to uviděli. Je fakt, že u nově příchozích lidí může obchodník zadat 5.pád, ale všichni víme, že né každý je dobrý češtinář. Mno ale podle všech komentů si k tomu budu muset někdy sednout a vše si přepsat - vopruz! :-)
Mne príde Yetyho návrh fajn, myslím tú DB a defaultné oslovenie v nominatíve. Akurát, keď nechceš, aby si užívatelia editovali oslovenie sami, tak to rob ty - pri vytvorení užívateľa skontroluj, či preňho existuje 5. pád, ak nie, tak si pošli napr. email, že ho máš doplniť. Rozhranie na doplnenie môžeš mať priamo v tom emaile, vyplníš políčko a submitneš rovno z mailu.
Prípadne si sprav aj rozhranie, kde ti vypíše všetky chúbajúce oslovenia, a budeš ich tam môcť ručne doplniť.
TomasUL , neviem presne ako je to s použitím toho piateho pádu, ale pošta predsa vidí iba adresu a v nej je meno v nominatíve, ...či?
Pátý pád se určije podle posledních dvou písmen
Adriana -> Adriano
Anna -> Anno
Aklahomna -> Alkahamno
Rukutia -> Rukutie
Anastazia -> Anastazie
Petr -> Petře
Humr -> Humře
A tak dále
@survik: Najdu ti dvojici, u které to nefunguje:
Rút -> Rút
Bejrút -> Bejrúte
Pro překlady v php se dá dobře používat gettext http://php.net/manual/en/book.gettext.php
pak možná Ispell ale netuším zda se to dá dostat do php jinak než aby to musel nainstalovat provider hostingu, no a pak je v php ještě Pspell http://www.php.net/manual/en/intro.pspell.php na to bude někde třeba sehnas asi slovník
jinak ještě kdyby stačilo toto http://www.petrkomarek.com/blog/2010/06/20/jak-jednoduse-sklonovat-pomoci-php/
3 minuty na googlu, snad to k něčemu bude :-)
Snad se někomu bude hodit
http://www.sklonovani-prijmeni.cz
- stoprocentní korektnost včetně skloňování jmen a příjmení.
#14 Mafiosoweb
jinak ještě kdyby stačilo toto http://www.petrkomarek.com/…-pomoci-php/
tak toto určitě stačit nemůže, protože se jedná o fci, která pouze vypisuje již vyskloňované tvary, ale podle zadaného počtu! (1 slimák, 2 slimáci, ..., 10 slimáků, ...).
Řekl bych, že nějaké pravidlo určitě lze nalézt a ani nebude tolik výjimek. Zkusil bych to tedy podle survik1.
#13 kriplozoik
To je problém cizího slova (jména). Bez znalosti, že se jedná o cizí jméno ženského tvaru, bych klidně mohl říct i Rúte. Ale to už neošetříš, nijak. Myslím, že jako základní tvar, který tu byl před lety hledán, stačí skloňování podle posledních dvou písmen.
Možná se může někomu hodit tento odkaz http://blog.trixi.cz/2012/08/5-pady-vsech-jmen-osob-v-cr-volne-ke-stazeni/.
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Validace křestního jména (s možností prostředního jména) — založil Lukas.
C# a jmena formularu — založil Tomáš
Iniciály z jména a přijmení — založil belzebub
Zadávání jména a vypisování — založil paul27
Moderátoři diskuze