src/Language/Polish/PolishExponentInflector.php
<?php
namespace NumberToWords\Language\Polish;
use NumberToWords\Language\ExponentInflector;
class PolishExponentInflector implements ExponentInflector
{
private static array $exponent = [
['', '', ''],
['tysiąc', 'tysiące', 'tysięcy'],
['milion', 'miliony', 'milionów'],
['miliard', 'miliardy', 'miliardów'],
['bilion', 'biliony', 'bilionów'],
['biliard', 'biliardy', 'biliardów'],
['trylion', 'tryliony', 'trylionów'],
['tryliard', 'tryliardy', 'tryliardów'],
['kwadrylion', 'kwadryliony', 'kwadrylionów'],
['kwadryliard', 'kwadryliardy', 'kwadryliardów'],
['kwintylion', 'kwintyliony', 'kwintylionów'],
['kwintyliiard', 'kwintyliardy', 'kwintyliardów'],
['sekstylion', 'sekstyliony', 'sekstylionów'],
['sekstyliard', 'sekstyliardy', 'sekstyliardów'],
['septylion', 'septyliony', 'septylionów'],
['septyliard', 'septyliardy', 'septyliardów'],
['oktylion', 'oktyliony', 'oktylionów'],
['oktyliard', 'oktyliardy', 'oktyliardów'],
['nonylion', 'nonyliony', 'nonylionów'],
['nonyliard', 'nonyliardy', 'nonyliardów'],
['decylion', 'decyliony', 'decylionów'],
['decyliard', 'decyliardy', 'decyliardów'],
];
private PolishNounGenderInflector $inflector;
public function __construct(PolishNounGenderInflector $inflector)
{
$this->inflector = $inflector;
}
public function inflectExponent(int $number, int $power): string
{
return $this->inflector->inflectNounByNumber(
$number,
self::$exponent[$power][0],
self::$exponent[$power][1],
self::$exponent[$power][2]
);
}
}