PHPackages                             tei187/slownie - 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. tei187/slownie

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

tei187/slownie
==============

Transcribing number to words (in English, German or Polish). Mainly revolving around currencies under ISO 4217 standard.

1182PHPCI passing

Since Mar 28Pushed 1y ago1 watchersCompare

[ Source](https://github.com/tei187/Slownie)[ Packagist](https://packagist.org/packages/tei187/slownie)[ RSS](/packages/tei187-slownie/feed)WikiDiscussions main Synced 4w ago

READMEChangelogDependenciesVersions (1)Used By (0)

[![](https://repository-images.githubusercontent.com/413709223/e5273124-8a01-463c-9277-076334ed5323)](https://repository-images.githubusercontent.com/413709223/e5273124-8a01-463c-9277-076334ed5323)

Słownie
=======

[](#słownie)

> */swɔvɲɛ/*
>
> **adverb of manner**
>
> **meaning:**
>
> - (1.1) by utterance
> - (1.2) using words to write
> - (1.3) literal *"in words"*

Description
-----------

[](#description)

PHP library used to translate currency values into words in English, German or Polish language, useful when word transcription is necessary (amount verification, genitive case use). Supports amounts up to 999.999.999.999.999.999.999 in ISO 4217 standard-compliant currencies (supported currencies list below).

**(Work in progress... more of a proof of concept)**

[DEMO APP](https://xowergs.wirt16.bhlink.pl/slownie/)

Installation
------------

[](#installation)

### Composer

[](#composer)

1. Download and install [Composer](https://getcomposer.org/download/).
2. Use command:

```
composer require tei187/slownie
```

### Manual

[](#manual)

1. Download package.
2. Extract **"src"** directory and put its' contents in preferred target path.
3. **require the `loader.php`** file in your script, like this:

```
require_once( PATH_TO_EXTRACTED_SRC . "/loader.php" );
```

Examples
--------

[](#examples)

### Basic

[](#basic)

```
// EN EXTENSION
$en = new tei187\Slownie\EN("12345.31", 'pln');  // (EN)
echo $en->output();                            // outputs: twelve thousand three hundred forty five Polish zlotys, thirty one grosze
echo $en->output("999999999.99", 'usd');         // outputs: nine hundred ninety nine million nine hundred ninety nine thousand nine hundred ninety nine United States dollars, ninety nine cents

// PL EXTENSION
$pl = new tei187\Slownie\PL("12345.31", 'pln');  // (PL)
echo $pl->output();                            // outputs: dwanaście tysięcy trzysta czterdzieści pięć złotych, trzydzieści jeden groszy
echo $pl->output("999999999.99", 'usd');         // outputs: dziewięćset dziewięćdziesiąt dziewięć milionów dziewięćset dziewięćdziesiąt dziewięć tysięcy dziewięćset dziewięćdziesiąt dziewięć dolarów amerykańskich, dziewięćdziesiąt dziewięć centów
```

### Expanded

[](#expanded)

#### Fractional notation

[](#fractional-notation)

Depending on use, sometimes it is not necessary to use a full-word notation of fractional currency but its' actual fractional transcription. In this case you could use `setFractions(true)`.

```
// EN Extension
$en = new tei187\Slownie\EN("123.45", 'usd'); // meaning the amount of 123.45 USD (EN)
echo $en->output();                         // outputs: one hundred twenty three United States dollars, forty five cents
echo $en->setFractions(true)->output();     // outputs: one hundred twenty three United States dollars 45/100
```

```
// PL Extension
$pl = new tei187\Slownie\PL("123.45", 'usd'); // meaning the amount of 123.45 USD (PL)
echo $pl->output();                         // outputs: sto dwadzieścia trzy dolary amerykańskie, czterdzieści pięć centów
echo $pl->setFractions(true)->output();     // outputs: sto dwadzieścia trzy dolary amerykańskie 45/100
```

#### Use of ISO 4217 numbers

[](#use-of-iso-4217-numbers)

Currencies can be passed as both IS0 4217 currency codes and ISO 4217 currency numbers.

```
// EN EXTENSION
$en = new tei187\Slownie\EN("5.51");      // (EN)
echo $en->setCurrency("bob")->output(); // outputs: five bolivianos, fifty one centavos
echo $en->setCurrency("068")->output(); // outputs: five bolivianos, fifty one centavos
```

```
// PL EXTENSION
$pl = new tei187\Slownie\PL("5.51");      // (PL)
echo $pl->setCurrency("bob")->output(); // outputs: pięć boliviano, pięćdziesiąt jeden centavo
echo $pl->setCurrency("068")->output(); // outputs: pięć boliviano, pięćdziesiąt jeden centavo
```

Supported currencies
--------------------

[](#supported-currencies)

CodeISO 4217 No.CurrencyAED781United Arab Emirates dirhamAFN971Afghan afghaniALL008Albanian lekAMD051Armenian dramANG532Netherlands Antillean guilderAOA973Angolan kwanzaARS032Argentine pesoAWG533Aruban florinAZN944Azerbaijani manatBAM977Bosnia and Herzegovina convertible markBBD052Barbadian / Bajan dollarBDT050Bangladeshi takaBGN975Bulgarian levBHD048Bahraini dinarBIF108Burundian francBMD060Bermudian dollarBND096Brunei dollarBOB068BolivianoBRL986Brazilian realBSD044Bahamian dollarBTN064Bhutanese ngultrumBWP072Botswana pulaBYN933Belarusian rubleBZD084Belize dollarCAD124Canadian dollarCDF976Congolese francCHF756Swiss francCLP152Chilean pesoCNY156Chinese yuanCOP170Colombian pesoCRC188Costa Rican colónCUC931Cuban convertible pesoCUP192Cuban pesoCVE132Cape Verdean escudoCZK203Czech korunaDJF262Djiboutian francDKK208Danish kroneDOP214Dominican pesoDZD012Algerian dinarEGP818Egyptian poundERN232Eritrean nakfaETB230Ethiopian birrEUR978EuroFKP238Falkland Islands poundGBP826Pound sterlingGEL981Georgian lariGHS936Ghanaian cediGMD270Gambian dalasiGNF324Guinean francGTQ320Guatemalan quetzalGYD328Guyanese dollarHKD344Hong Kong dollarHNL340Honduran lempiraHRK191Croatian kunaHTG332Haitian gourdeHUF348Hungarian forintIDR360Indonesian rupiahILS376Israeli new shekelINR360Indian rupeeIQD368Iraqi dinarIRR364Iranian rialISK352Icelandic krónaJMD388Jamaican dollarJOD400Jordanian dinarJPY392YenKES404Kenyan shillingKGS417Kyrgyzstani somKHR116Cambodian rielKMF174Comoro francKPW408North Korean wonKRW410South Korean wonKWD414Kuwaiti dinarKYD136Cayman Islands dollarKZT398Kazakhstani tengeLAK418Lao kipLBP422Lebanese poundLKR144Sri Lankan rupeeLRD430Liberian dollarLSL426Lesotho lotiLYD434Libyan dinarMAD504Moroccan dirhamMDL498Moldovan leuMGA969Malagasz ariaryMKD807Macedonian denarMMK104Myanmar kyatMNT496Mongolian tögrögMOP446Macanese patacaMRU929Mauritanian ouguiyaMUR480Mauritian rupeeMVR462Maldivian rufiyaaMWK454Malawian kwachaMXN484Mexican pesoMYR458Malaysian ringgitMZN943Mozambican meticalNAD516Namibian dollarNGN566Nigerian nairaNIO558Nicaraguan córdobaNOK578Norwegian kroneNPR524Nepalese rupeeOMR512Omani rialPAB590Panamanian balboaPEN604Peruvian solPHP608Philippine pesoPKR586Pakistanie rupeePLN985Polish złotyPYG600Paraguayan guaraníQAR634Qatari riyalRON946Romanian leuRSD941Serbian dinarRUB643Russian rubleRWF646Rwandan francSAR682Saudi riyalSCR690Seychellois rupeeSDG938Sudanese poundSGD702Singapore dollarSEK752Swedish kronaSLL694Sierra Leonean leoneSOS706Somali shillingSRD968Surinamese dollarSSP728South Sudanese poundSTN930São Tomé and Príncipe dobraSYP760Syrian poundSZL748Swazi lilangeniTHB764Thai bahtTJS972Tajikistani somoniTMT934Turkmenistan manatTRY949Turkish liraTTD780Trinidad and Tobago dollarTWD901New Taiwan dollarTZS834Tanzanian shillingUAH980Ukrainian hryvniaUGX800Ugandan shillingUSD840United States dollarUYU858Uruguayan pesoUZS860Uzbekistan somVES928Venezuelan bolívar soberanoVND704Vietnamese đồngXAF950CFA franc BEACXCD951East Caribbean dollarXOF952CFA franc BCEAOYER886Yemeni rialZAR710South African randZMW967Zambian kwachaZWL932Zimbabwean dollar (RTGS dollar)none-`(default)` no currency, *currently does not support decimal point*Requirements
------------

[](#requirements)

- PHP &gt;= 7.3
- (optional) Composer &gt;= 2.0

Links
-----

[](#links)

- [Documentation](https://tei187.github.io/Slownie/)
- [Wiki](https://github.com/tei187/Slownie/wiki)
- [Slownie @ Packagist](https://packagist.org/packages/tei187/slownie)

Author
------

[](#author)

- [tei187](mailto:bonk.piotr@gmail.com)

###  Health Score

18

—

LowBetter than 8% of packages

Maintenance36

Infrequent updates — may be unmaintained

Popularity9

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity15

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% 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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/b7ac98c5381a6fdd186d23f57126113fa3bf7e7b41077cb352f89fb8cdbd1c38?d=identicon)[tei187](/maintainers/tei187)

---

Top Contributors

[![tei187](https://avatars.githubusercontent.com/u/59267193?v=4)](https://github.com/tei187 "tei187 (62 commits)")

---

Tags

currencycurrency-codescurrency-to-wordsenglish-languagegerman-languageiso4217number-to-wordsphppolish-language

### Embed Badge

![Health badge](/badges/tei187-slownie/health.svg)

```
[![Health](https://phpackages.com/badges/tei187-slownie/health.svg)](https://phpackages.com/packages/tei187-slownie)
```

###  Alternatives

[tzfrs/googlesitemapparser

Google Sitemap is a Sitemap standard that is supported by Ask.com, Google, YAHOO and MSN Search. This library can read in such Sitemaps and parse all urls from them.

143.3k](/packages/tzfrs-googlesitemapparser)[lrobert/gravatar

A library to make working with Gravatar in PHP easy.

101.4k](/packages/lrobert-gravatar)

PHPackages © 2026

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