martin_kup / vokativ
2.0.0
2022-09-27 20:43 UTC
Requires
- php: ^8.0
- ext-mbstring: *
Requires (Dev)
- phpunit/phpunit: ^9.0
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。