eduardstula/czech-vocative

Inflect czech names and surnames.

v1.0.0 2023-10-27 09:28 UTC

This package is auto-updated.

Last update: 2024-09-27 15:25:14 UTC


README

Latest Stable Version Latest Unstable Version Run tests Total Downloads License

Vokativ

Oslovte své uživatele správně!

Podporované verze PHP

  • PHP 8.0
  • PHP 8.1
  • PHP 8.2
  • PHP 8.3 (nightly)
  • PHP 8.4 (nightly)

Instalace

composer require eduardstula/czech-vocative

Použití

<?php
use Eduardstula\CzechVocative\CzechName;
$name = new CzechName();
$name->vocative('Petr'); // 'Petře'
$name->vocative('Novák'); // 'Nováku'
$name->vocative('Adriana');	// 'Adriano'
$name->vocative('Fialová');	// 'Fialová'

Metoda 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 Eduardstula\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 Eduardstula\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 Eduardstula\CzechVocative\CzechName;

$name = new CzechName();
$name->isMale('Michal'); // true
$name->isMale('Novák'); // true
$name->isMale('Tereza'); // false
$name->isMale('Nováková'); // false

Credits