granam/czech-vocative

变格捷克名字和姓氏。

2.2.0 2022-09-05 10:42 UTC

This package is auto-updated.

Last update: 2024-08-30 01:05:56 UTC


README

Build Status License

致谢

  • 所有致谢归原始bigit/vokativ库作者Petr Joachim。
  • 这只是一个移植,以支持更高版本的PHP(并在推送时进行自动测试)。

变格

正确称呼您的用户!

安装

composer require granam/czech-vocative

使用

<?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á'

函数vocative($name, $isWoman = null, $isLastName = null)将第一个参数作为单数第一格的姓名,并返回其在第五格的变格形式。请注意,该函数可能无法正确处理外国起源的姓名。

其他可选参数包括

$isWoman

如果您希望将输入的姓名视为女性,请使用true

如果您希望将输入的姓名视为男性,请使用false

默认情况下,null将自动检测性别。

<?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

如果您希望将输入的姓名视为姓氏,请使用true

如果您希望将输入的姓名视为名字,请使用false

默认情况下,null将自动检测名字类型。

此参数值仅影响女性姓名的变格。

<?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'

自动性别检测

vokativ还提供了一个简单的函数来根据名字或姓氏检测性别。根据统计办公室的数据,该函数在99.7%的情况下能正确工作。

<?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

这个库是作为原始Python库Vokativ作者Michal Danilak的https://github.com/Mimino666/vokativ/的实现。