Genderer – detekce pohlaví a oslovení podle jména
- MichalHaltuf
- Bronze Partner | 14
Chtěl bych představit drobný doplňek pro Nette. Na základě zadaného českého jména umí:
- detekovat pohlaví
- vrátit oslovení v 5. pádě
- a to vše bez nutnosti online komunikace přes API
Najdete ho na Githubu
Budu rád za případné komentáře či návrhy, jak šlo co dělat
lépe.
Jen prosím o shovívavost, za posledních pár let mi ujel vlak a tohle je pro
mě takový malý playground, jak si v reálu vyzkoušet spoustu novinek (nové
Nette, github, Travis ad.)
Doplněk stačí registrovat jako extension a injectnout. Ukázka použití:
<?php
// Dobrý den, Tomáši Vomáčko
echo "Dobrý den, " . $g->getVocative( "Tomáš Vomáčka" );
// 'm' = male, 'f' = female
echo "Pohlaví: " . $g->getGender( "Tomáš Vomáčka" );
// Dobrý den, MUDr. Tomáši Amosi Březino
echo "Dobrý den, " . $g->getVocative( "MUDr. Tomáš Amos Březina" ) ;
?>
- Azathoth
- Člen | 495
Je to hezké, ale souhlasím s uživatelem bazo. Tohle klidně může být úplně nezávislé na nette. Ovšem pokud bys k tomu dodělat například filtr/helper pro latte, aby šlo hezky oslovovat v šablonách, pak by to jednak podle mne bylo velmi šikovné, a dvak by to odůvodnilo závislost na nette.
Editoval Azathoth (15. 4. 2015 23:35)
- MichalHaltuf
- Bronze Partner | 14
Je to pravda, děkuji za návrhy. Mou hlavní motivací bylo podívat se trochu víc do hloubky nového Nette, proto asi ta závislost. Jinak je pravda, že je vlastně úplně zbytečná – přepíšu to s využitím samotného sqlite a přidělám k tomu vedle helper pro Latte.
- MichalHaltuf
- Bronze Partner | 14
Upravil jsem původní nástroj tak, aby nebyl závislý vůbec na ničem (stačí mu jen PHP 5.3.1+ a sqlite3)
Stačí ho tedy vytvořit a použít se dá v jakémkoli projektu či frameworku:
<?php
use Haltuf\Genderer\Genderer;
$g = new Genderer ;
?>
Pro Latte jsem pak vytvořil GenderHelper, který po zaregistrování umožní nástroj používat v šablonách:
{var $name = 'Tomáš Vomáčka'}
{$name|salute} Tomáši Vomáčko
{$name|gender} m
{$name|gender:'muž':'žena'} muž
- MichalHaltuf
- Bronze Partner | 14
V čem přesně je šílený? Rád se přeučím na něco normálnějšího, vznikal tak nějak organicky a spontánně.
- looky
- Člen | 99
Koukni třeba na Nette Coding Standards nebo na PSR-2
Ale jako ne že bych tě nutil ke změně, piš si samozřejmě jak chceš, pokud ti to dává smysl. Jen že dneska už se v PHP světě moc často nevídá něco tak hodně odlišného od PSR-2..
Editoval looky (16. 4. 2015 12:39)
- Pavel Kravčík
- Člen | 1195
Já jsem osobně taky hodně dlouho dobu měl rád mezeru okolo závorek. Bylo to mnohem čitelnější.
Jinak pěkný doplněk. +1
- Tomáš Jacík
- Člen | 147
Super věc. Zkus tam prosím ještě přidat funkci na oslovení jen jménem bez příjmení.
- Felix
- Nette Core | 1196
Zacal jsem tedka pouzivat tuhle aplikaci (http://www.sklonovani-jmen.cz), ale tohle vypada moc pekne. Jak stare jsou udaje a jak casto se aktualizuji?