eduardstula / czech-vocative
变格捷克名字和姓氏。
v1.0.0
2023-10-27 09:28 UTC
Requires
- php: >=8.0
- ext-mbstring: *
Requires (Dev)
- phpunit/phpunit: >=9.1
- rector/rector: ^0.18
This package is auto-updated.
Last update: 2024-09-27 15:25:14 UTC
README
称呼
正确称呼您的用户!
支持的PHP版本
- PHP 8.0
- PHP 8.1
- PHP 8.2
- PHP 8.3 (nightly)
- PHP 8.4 (nightly)
安装
composer require eduardstula/czech-vocative
使用
<?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á'
方法 vocative($name, $isWoman = null, $isLastName = null)
将第一个参数作为单数第一格的姓名,并返回其变格为第五格的形式。请注意,该函数可能无法正确处理外国起源的姓名。
其他可选参数包括
$isWoman
如果希望将指定姓名变格为女性,请使用 true
。
如果希望将指定姓名变格为男性,请使用 false
。
默认情况下,性别将自动检测。
<?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
如果希望将指定姓名变格为姓氏,请使用 true
。
如果希望将指定姓名变格为名字,请使用 false
。
默认情况下,姓名类型将自动检测。
此参数的值仅影响女性姓名的变格。
<?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'
自动性别检测
库 vokativ 还提供了一个简单的函数来根据名字或姓氏检测性别。根据统计署的数据,该函数在99.7%的情况下都能正确工作。
<?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
致谢
- 该库的原始Python版本 Mimino666/vokativ,作者 Michal Danilák。
- 从Python重写到PHP 5.6 bigit/vokativ,作者 Petr Joachim。
- 移植到PHP 8.0和自动测试 granam/czech-vocative,作者 Jaroslav Týc