, (*1)
Credits
- All credits belongs to the original bigit/vokativ library author Petr Joachim.
- This is just port to support higher versions of PHP (and to have atomatic tests on push).
Vokativ
Oslovte své uživatele správně!, (*2)
Instalace
composer require granam/czech-vocative
Použití
<?php
use Granam\CzechVocative\CzechName;
$name = new CzechName();
$name->vocative('Petr'); // 'Petře'
$name->vocative('Novák'); // 'Nováku'
$name->vocative('Adriana'); // 'Adriano'
$name->vocative('Fialová'); // 'Fialová'
Funkce vocative($name, $isWoman = null, $isLastName = null) bere jako první argument vlastní jméno v 1. pádu jednotného čísla a vrátí ho vyskloňované v 5. pádu.
Upozorňujeme, že funkce nemusí fungovat správně pro jména cizího původu., (*3)
Další volitelné argumenty jsou:
$isWoman, (*4)
Použijte true, pokud si přejete zadané jméno skloňovat jako ženské., (*5)
Použijte false, pokud si přejete zadané jméno skloňovat jako mužské., (*6)
Ve výchozím případě null je pohlaví detekováno automaticky., (*7)
<?php
use Granam\CzechVocative\CzechName;
$name = new CzechName();
$name->vocative('Michel'); // 'Micheli' - automaticky jako mužské
$name->vocative('Michel', false); // 'Micheli - výslovně mužské'
$name->vocative('Michel', true); // 'Michel - výslovně ženské'
$isLastName, (*8)
Použijte true, pokud si přejete zadané jméno skloňovat jako příjmení., (*9)
Použijte false, pokud si přejete zadané jméno skloňovat jako křestní jméno., (*10)
Ve výchozím případě null je typ jména detekován automaticky., (*11)
Hodnota tohoto parametru ovlivňuje pouze skloňování ženských jmen., (*12)
<?php
use Granam\CzechVocative\CzechName;
$name = new CzechName();
$name->vocative('Ivanova'); // 'Ivanova' - automaticky příjmení
$name->vocative('Ivanova', true, true); // 'Ivanova'
$name->vocative('Ivanova', true, false); // 'Ivanovo'
Automatická detekce pohlaví
Knihovna vokativ poskytuje také jednoduchou funkci na detekci pohlaví podle křestního jména či příjmení.
Pro četnosti jmen v ČR podle statistického úřadu
funkce funguje správně v 99.7% případů., (*13)
<?php
use Granam\CzechVocative\CzechName;
$name = new CzechName();
$name->isMale('Michal'); // true
$name->isMale('Novák'); // true
$name->isMale('Tereza'); // false
$name->isMale('Nováková'); // false
Kudos
Tato knihovna vznikla jako reimplementace původní implementace Python knihovny Vokativ autora Michala Daniláka https://github.com/Mimino666/vokativ/., (*14)