granam / czech-vocative
Inflect czech names and surnames.
Installs: 103 584
Dependents: 3
Suggesters: 0
Security: 0
Stars: 12
Watchers: 4
Forks: 4
Open Issues: 0
Requires
- php: >=7.4
- ext-mbstring: *
Requires (Dev)
- phpunit/phpunit: >=9.1
- rector/rector: ^0.14.2
README
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ě!
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.
Další volitelné argumenty jsou:
$isWoman
Použijte true
, pokud si přejete zadané jméno skloňovat jako ženské.
Použijte false
, pokud si přejete zadané jméno skloňovat jako mužské.
Ve výchozím případě null
je pohlaví detekováno automaticky.
<?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
Použijte true
, pokud si přejete zadané jméno skloňovat jako příjmení.
Použijte false
, pokud si přejete zadané jméno skloňovat jako křestní jméno.
Ve výchozím případě null
je typ jména detekován automaticky.
Hodnota tohoto parametru ovlivňuje pouze skloňování ženských jmen.
<?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ů.
<?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/.