PHPackages                             ecommercebox/vocative-polish-firstname - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. ecommercebox/vocative-polish-firstname

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

ecommercebox/vocative-polish-firstname
======================================

Component for remake first name to Polish vocative. Odmiana polskich imion na wołacz

1.0.1(7y ago)652.2k↓32%2MITHTMLPHP &gt;=5.4.0

Since Oct 27Pushed 7y ago2 watchersCompare

[ Source](https://github.com/ecommercebox/vocative-polish-firstname)[ Packagist](https://packagist.org/packages/ecommercebox/vocative-polish-firstname)[ RSS](/packages/ecommercebox-vocative-polish-firstname/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (9)Dependencies (1)Versions (10)Used By (0)

VocativePolishFirstName
=======================

[](#vocativepolishfirstname)

Component for remake first name to Polish vocative

Installation
============

[](#installation)

Install the library by adding it to your composer.json or running:

```
composer require "ecommercebox/vocative-polish-firstname:*"

```

How to use
==========

[](#how-to-use)

Create object with first name, you can setup encoding and own "titles" as optional arguments. First name is converted to first letter up.

```
//required
$input = 'MARIUSZ';

//optional
$encoding = "UTF-8";
//default group ['U' => 'Panie/Pani', 'M' => 'Panie', 'W' => 'Pani'];
//override default group titles
$titles = ['U' => '', 'M' => 'Drogi Panie', 'W' => 'Droga Pani'];
//override or add new exeptions, where W = Woman, M = Man
$exeptions = [
    'Ola' => ['W', 'Oluu'],
    'Jan' => ['M', 'Janku']
];

//init object
$name = new \ecbox\VocativePolishFirstName($input, $encoding, $titles, $exeptions);
```

Setup additional titles group

```
$titles = ['U' => 'Szanowna(y) Pani(e)', 'M' => 'Szanowny Panie', 'W' => 'Szanowna Pani'];
$name->setTitles($titles, 'polite');
```

Get vocative first name with default title definition. Optional argument $delimiter, default is space and title definition group name

```
echo $name->getVocativeString();
// output: Drogi Panie Mariuszu
```

Get vocative first name with custom title definition. Optional argument $delimiter, default is space and title definition group name

```
echo $name->getVocativeString('polite');
// output: Szanowny Panie Mariuszu
```

Get vocative first name

```
echo $name->getVocativeFirstName();
// output: Mariuszu
```

Get default title for first name

```
echo $name->getDetectedTitle();
// output: Drogi Panie
```

Get custom group title for first name

```
echo $name->getDetectedTitle('polite');
// output: Szanowny Panie
```

Check if male

```
echo $name->isMale();
// output: true if yes
```

Check if woman

```
echo $name->isWoman();
// output: true if yes
```

Get array

```
$array = $name->getVocativeArray();
// array: ['M', "Mariuszu"];
// where M: Male, W: Woman, U: Unknown
```

Test results
============

[](#test-results)

You can check quality using test file: [testVocativePolishFirstName](test/testVocativePolishFirstName.php)

We are using dictionary test. [See results!](https://htmlpreview.github.io/?https://github.com/ecommercebox/vocative-polish-firstname/blob/master/test/test_results.html)

Test date: 2016-07-11

Total dictionary names: 1704

Differences: 0

The percentage of errors: 0%

License
-------

[](#license)

MIT license. See the LICENSE file for more details.

###  Health Score

36

—

LowBetter than 82% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity35

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity64

Established project with proven stability

 Bus Factor1

Top contributor holds 88% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~161 days

Recently: every ~321 days

Total

9

Last Release

2568d ago

Major Versions

0.9.6 → 1.0.02016-07-11

### Community

Maintainers

![](https://www.gravatar.com/avatar/2afaa34b7ed0f0c39a04acb15f369add385b482fca774557447803111dcb26b5?d=identicon)[lutek](/maintainers/lutek)

---

Top Contributors

[![lutek](https://avatars.githubusercontent.com/u/846598?v=4)](https://github.com/lutek "lutek (22 commits)")[![krzaczek](https://avatars.githubusercontent.com/u/5773701?v=4)](https://github.com/krzaczek "krzaczek (3 commits)")

---

Tags

imionavocativewołacz

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/ecommercebox-vocative-polish-firstname/health.svg)

```
[![Health](https://phpackages.com/badges/ecommercebox-vocative-polish-firstname/health.svg)](https://phpackages.com/packages/ecommercebox-vocative-polish-firstname)
```

###  Alternatives

[6dreams/rich-model-trait

A rich replacement for your anemic getters and setters

151.4k](/packages/6dreams-rich-model-trait)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
