funfirst / vokativ
Knihovna pro skloňování českých jmen do 5. pádu pro účely generování oslovení.
Requires
- php: ^5.5 || ^7.0 || ^8.0
Requires (Dev)
- phpunit/phpunit: ^4.8
This package is auto-updated.
Last update: 2024-11-15 03:19:50 UTC
README
- Oslovte své uživatele správně! *
Forknuto originálně z bigit/vokativ, kvůli podpoře PHP 8 a menším upravám.
Instalace
$ composer require funfirst/vokativ
Podporované verze PHP 5.6+
Použití
<?php
use Vokativ\Name;
$name = new Name();
$name->vokativ('Petr'); // 'petře'
$name->vokativ('Novák'); // 'nováku'
$name->vokativ('Adriana'); // 'adriano'
$name->vokativ('Fialová'); // 'fialová'
Funkce Vokativ($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. Návratová hodnota funkce je vždy řetězec s malými písmeny typu string. 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
$name->vokativ('Michel'); // 'micheli' - automaticky jako mužské
$name->vokativ('Michel', false); // 'micheli'
$name->vokativ('Michel', true); // 'michel'
$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
$name->vokativ('Ivanova'); // 'ivanova' - automaticky příjmení
$name->vokativ('Ivanova', true, true); // 'ivanova'
$name->vokativ('Ivanova', true, false); // 'ivanovo'
Automatická detekce pohlaví
Knihovna vokativ poskytuje taky 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
$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/.