granam/czech-vocative

Inflect czech names and surnames.

2.2.0 2022-09-05 10:42 UTC

This package is auto-updated.

Last update: 2024-10-30 01:32:05 UTC


README

Build Status License

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/.