davidkhachikyan / number-to-letter
Convert numbers to words in Armenian, Russian, and English for Laravel
Package info
github.com/Davitkhachikyan/NumberToLetter
pkg:composer/davidkhachikyan/number-to-letter
Requires
- php: ^8.1
- illuminate/support: ^10.0|^11.0|^12.0
Requires (Dev)
- phpunit/phpunit: ^10.5
README
Laravel package that converts numbers to words in English, Russian, and Armenian.
Installation
composer require davidkhachikyan/number-to-letter
Laravel auto-discovers the service provider. Optional config:
php artisan vendor:publish --tag=number-to-letter-config
Set default language in .env:
NUMBER_TO_LETTER_LANG=en
Usage
Facade
use DavidKhachikyan\NumberToLetter\Facades\NumberToLetter; NumberToLetter::spell(123, 'en'); // "one hundred twenty-three" NumberToLetter::spell(123, 'ru'); // "сто двадцать три" NumberToLetter::spell(123, 'hy'); // "հարյուր քսաներեք" NumberToLetter::spell(1234.35, 'en'); // "one thousand two hundred thirty-four point thirty-five" NumberToLetter::spell('1234,35', 'ru'); // European decimal comma
Dependency injection
use DavidKhachikyan\NumberToLetter\NumberToLetterManager; public function show(NumberToLetterManager $converter) { return $converter->spell(42, 'armenian'); // քառասուներկու }
Helper (optional)
You can bind a global helper in your app, or call the manager directly:
app('number-to-letter')->spell(1000, 'ru'); // "одна тысяча"
Languages
| Code | Aliases |
|---|---|
en |
english, eng |
ru |
russian, rus |
hy |
armenian, arm, am |
Negative numbers are supported (minus / минус / մինուս).
Decimal numbers are supported (e.g. 1234.35 or "1234,35"). The fractional part uses locale-specific separators: point (English), целых (Russian), ամբողջ (Armenian).
Limits
Integers up to 999 trillion (15 digits). Up to 9 fractional digits.
Testing
composer install
composer test
License
MIT