Genderer – detekce pohlaví a oslovení podle jména

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
MichalHaltuf
Bronze Partner | 14
+
+15
-

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" ) ;
?>
bazo
Člen | 620
+
+2
-

len taka drobnost, preco je to vobec zavisle na nette? ved toto by uplne kludne mohla byt standalone kniznica

Azathoth
Člen | 495
+
+2
-

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
+
+3
-

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
+
+3
-

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ž
looky
Člen | 99
+
0
-

Máš zajímavý coding standard, ještě jsem takový neviděl..

(zajímavý = čti dost šílený :P )

MichalHaltuf
Bronze Partner | 14
+
0
-

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
+
0
-

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 | 1182
+
0
-

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

exquis
Člen | 82
+
0
-

Moc pěkný doplněk, díky

Tomáš Jacík
Člen | 146
+
0
-

Super věc. Zkus tam prosím ještě přidat funkci na oslovení jen jménem bez příjmení.

Felix
Nette Core | 1190
+
0
-

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?

Landsman
Člen | 152
+
0
-

Díky, knihovna funguje skvěle.
Dva tituly za jménem, jeden před jménem, anglické příjmení a ženu to poznalo.