martin_kup/vokativ

用于生成称呼的将捷克名字变格到第五格的库。

2.0.0 2022-09-27 20:43 UTC

This package is auto-updated.

Last update: 2024-09-28 01:01:29 UTC


README

  • 正确称呼您的用户! *

安装

$ composer require martin_kup/vokativ

支持的PHP版本 7.4+,为与opcache.preload兼容而重构。

使用

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

Vokativ($name, $isWoman = null, $isLastName = null) 函数将作为第一个参数接收单数第一格的姓氏,并将其变格到第五格。函数的返回值始终是类型为 string 的小写字符串。请注意,该函数可能无法正确处理外来姓氏。

其他可选参数包括

$isWoman

如果希望将输入的名称变格为女性,请使用 true

如果希望将输入的名称变格为男性,请使用 false

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

<?php
$name->vokativ('Michel');  			// 'micheli' - automaticky jako mužské
$name->vokativ('Michel', false);	// 'micheli'
$name->vokativ('Michel', true);		// 'michel'

$isLastName

如果希望将输入的名称变格为姓氏,请使用 true

如果希望将输入的名称变格为名字,请使用 false

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

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

<?php
$name->vokativ('Ivanova'); 				// 'ivanova' - automaticky příjmení
$name->vokativ('Ivanova', true, true);	// 'ivanova'
$name->vokativ('Ivanova', true, false);	// 'ivanovo'

自动检测性别

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

<?php
$name->isMale('Michal'); 	// true
$name->isMale('Novák'); 	// true
$name->isMale('Tereza'); 	// false
$name->isMale('Nováková'); 	// false

致谢

这个库是基于 Michal Danilák 的 Python 库 Vokativ 的原始实现重写的,作者是 Mimino666 https://github.com/Mimino666/vokativ/ 和 Vojta Biberle https://gitlab.com/bigit/vokativ