oop — PHP Pear Number_Words

)
Я начинаю использовать класс PEAR Number_Word, и он работает отлично! Он конвертирует числа в строку следующим образом:

<?php
include_once 'Numbers/Words.php';
$number = 100254;
$nw = new Numbers_Words();
$numw = $nw->toWords($number);

print $numw;

?>

Но теперь мне нужно конвертировать одно и то же число в разные языки одновременно.
Например: у меня есть номер 100, и мне нужно одновременно перевести его на английский и французский. Я пытался передать в аргументе массив из двух языков, но это не сработало:

/**
* Default Locale name
* @var string
* @access public
*/
public $locale = 'en_US'; //__her I was try to pass an array, but no result__

/**
* Default decimal mark
* @var string
* @access public
*/
public $decimalPoint = '.';

// }}}
// {{{ toWords()

/**
* Converts a number to its word representation
*
* @param integer $num     An integer between -infinity and infinity inclusive :)
*                         that should be converted to a words representation
* @param string  $locale  Language name abbreviation. Optional. Defaults to
*                         current loaded driver or en_US if any.
* @param array   $options Specific driver options
*
* @access public
* @author Piotr Klaban <[email protected]>
* @since  PHP 4.2.3
* @return string  The corresponding word representation
*/
function toWords($num, $locale = '', $options = array())
{
if (empty($locale) && isset($this) && $this instanceof Numbers_Words) {
$locale = $this->locale;
}

if (empty($locale)) {
$locale = 'en_US';
}

$classname = self::loadLocale($locale, '_toWords');$obj = new $classname;if (!is_int($num)) {
$num = $obj->normalizeNumber($num);

// cast (sanitize) to int without losing precision
$num = preg_replace('/(.*?)('.preg_quote($obj->decimalPoint).'.*?)?$/', '$1', $num);
}

if (empty($options)) {
return trim($obj->_toWords($num));
}
return trim($obj->_toWords($num, $options));
}

Пожалуйста, помогите мне, если вы знаете, как! Заранее спасибо!

0

Решение

Numbers_Words не поддерживает несколько языков одновременно.

Вам нужно создать новый Numbers_Words экземпляр для каждого языка.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]