zhandos-prog/write-spelling

Package for writing spelling numbers

0.1.0 2023-09-21 04:18 UTC

This package is auto-updated.

Last update: 2024-04-21 05:42:43 UTC


README

Package for generating number, amount and percent in spelling

Requirements

  • PHP >= 8.0

Features

  • [✓] Generation amount in spelling
  • [✓] Generation percent in spelling
  • [✓] Generation number in spelling

Localizations

  • [✓] Kazakh default
  • [✓] Russia

Installation

composer require zhandos-prog/write-spelling

Usage

Russian

$amountSpelling = new \ZhandosProg\WriteSpelling\Spellings\AmountWriteSpelling();
$result1 = $amountSpelling->generate(42.42, 'ru');
var_dump($result1); // сорок два тенге сорок два тиын
$result2 = $amountSpelling->generate(42, 'ru');
var_dump($result2); // сорок два тенге

$percentSpelling = new \ZhandosProg\WriteSpelling\Spellings\PercentWriteSpelling();
$result1 = $percentSpelling->generate(42.42, 'ru')
var_dump($result1); // сорок две целых сорок две сотых процента
$result2 = $percentSpelling->generate(42, 'ru')
var_dump($resul2); // сорок два процента

$percentSpelling = new \ZhandosProg\WriteSpelling\Spellings\NumberWriteSpelling();
$result1 = $percentSpelling->generate(42.42, 'ru')
var_dump($result1); // сорок две целых сорок две сотых
$result2 = $percentSpelling->generate(42, 'ru')
var_dump($resul2); // сорок два

Kazakh

$amountSpelling = new \ZhandosProg\WriteSpelling\Spellings\AmountWriteSpelling();
$result1 = $amountSpelling->generate(42.42);
var_dump($result1); // қырық екі теңге қырық екі тиын
$result2 = $amountSpelling->generate(42);
var_dump($result2); // қырық екі теңге

$percentSpelling = new \ZhandosProg\WriteSpelling\Spellings\PercentWriteSpelling();
$result1 = $percentSpelling->generate(42.42)
var_dump($result1); // қырық екі бүтін жүзден қырық екі пайыз
$result2 = $percentSpelling->generate(42)
var_dump($result2); // қырық екі пайыз

$percentSpelling = new \ZhandosProg\WriteSpelling\Spellings\NumberWriteSpelling();
$result1 = $percentSpelling->generate(42.42)
var_dump($result1); // қырық екі бүтін жүзден қырық екі
$result2 = $percentSpelling->generate(42)
var_dump($result2); // қырық екі

Exceptions

  • NotSupportedException
  • ValidationException

Backlog

The package lacks refactoring, so for now we do not pay attention to the code. The task was to make a working functional! :-)

What is to be done:

  • Do code analysis
  • Refactoring generation code
  • Change dictionaries
  • Make a facade
  • ...
  • ...

If possible, I will keep the package up to date and add upcoming tasks!