<?xml version='1.0' encoding='UTF-8'?>
<rss version='2.0'>
	<channel>
		<title>cotonti.com : Зоопарк с окончаниями</title>
		<link>https://www.cotonti.com</link>
		<description>Laatste forum onderwerpen</description>
		<generator>Cotonti</generator>
		<language>en</language>
		<pubDate>Tue, 07 Apr 2026 02:02:53 -0000</pubDate>

		<item>
			<title>Boss</title>
			<description><![CDATA[Точно. В транк не догадался заглянуть. <img class="aux smiley" src="https://www.cotonti.com/./images/smilies/smile.gif" alt=":-)" /> Там она действительно уже встроена. Да и причем не только в названный плагин, а вообще в системный файл. В форуме отрабатываются тоже численные. Молодцы!]]></description>
			<pubDate>Zo, 12 Jul 2009 11:32:08 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/nl/forums?m=posts&q=348&d=120#post14075]]></link>
		</item>
		<item>
			<title>Spuner</title>
			<description><![CDATA[в обновлении ее прикрепили для whosonline, там она работает.]]></description>
			<pubDate>Za, 11 Jul 2009 23:26:19 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/nl/forums?m=posts&q=348&d=120#post14062]]></link>
		</item>
		<item>
			<title>Boss</title>
			<description><![CDATA[Так чем дело то кончилось? Функцию так и не доработали и не встроили в котонти? А в чем сложности то?]]></description>
			<pubDate>Za, 11 Jul 2009 23:16:37 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/nl/forums?m=posts&q=348&d=120#post14061]]></link>
		</item>
		<item>
			<title>Spuner</title>
			<description><![CDATA[хм.. попытался сделать окончания для поиска. но в итоге он заданные окончания и не трогает.<br />
выдает к примеру: Найдено 17 Array<br />
<br />
вот то что в search.php:<br />
<div class="highlight"><pre class="php">			// Making the output array
			$t-&gt;assign(array(
				&quot;PLUGIN_FORUM_FOUND&quot; =&gt; $L&#091;'plu_found'&#093;.&quot; &quot;.($items == $cfg&#091;'plugin'&#093;&#091;'search'&#093;&#091;'maxitems_ext'&#093; ? $L&#091;'plu_moreres'&#093;.' ' : '').sed_declension($items,$L&#091;'plu_match'&#093;)
			));</pre></div>
в search.ru.lang.php:<br />
<div class="highlight"><pre class="php">$L&#091;'plu_match'&#093; = array('совпадение','совпадения','совпадений');</pre></div>
<br />
поправьте меня пожалуйста.]]></description>
			<pubDate>Thu, 09 Jul 2009 19:39:27 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/nl/forums?m=posts&q=348&d=120#post13942]]></link>
		</item>
		<item>
			<title>Kort</title>
			<description><![CDATA[<blockquote>Хорошо. Один только проблемный момент может быть из-за удаления языковых строк: эти строки могут использоваться не только в ядре и не только для множественного числа, но и сами по себе, так что лучше их оставить. Или даже для declensions использовать отдельные строки, вроде $L['Days_auto'].</blockquote>
Так и получилось :)<br />
Сейчас в main.lang вместо <pre class="code">$L&#091;'Day'&#093; = 'День';
$L&#091;'Days'&#093; = 'Дни';
</pre>
стоит<br />
<pre class="code">$L&#091;'Days'&#093; = array('день','дня','дней');</pre>
а вот<br />
<pre class="code">$L&#091;'Member'&#093; = 'Участник';
$L&#091;'Members'&#093; = 'Участники';</pre>
по понятной причине так и осталось. Days вроде как нигде не используется (хотя никто никого и не спрашивал), а вот members -- сплошь и рядом. Получается как-то нелогично. При этом в скине уже невозможно реализовать ни <pre class="code">{PHP.L.Day}</pre>
, ни<br />
<pre class="code">{PHP.L.Days}</pre>
Глобально использовать склоняемые формы всех локализуемых имен существительных, мне кажется, пока не получится. Идея хорошая, но копать глубоко надоть...]]></description>
			<pubDate>Wo, 15 Apr 2009 23:57:30 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/nl/forums?m=posts&q=348&d=120#post11451]]></link>
		</item>
		<item>
			<title>dervan</title>
			<description><![CDATA[Мелкие улучшизмы.<br />
<br />
Сюда<br />
<div class="highlight"><pre class="php">
	else
	{
	$i = preg_replace('#\D+#', '', $digit);
	}
</pre></div>
хорошо бы добавить<br />
<div class="highlight"><pre class="php">
	else
	{
	$is_frac = false;
	$i = preg_replace('#\D+#', '', $digit);
	}
</pre></div>
<br />
А сюда<br />
<div class="highlight"><pre class="php">
        case 'en':
        case 'de':
        case 'nl':
        case 'se':
            return ($plural == 1) ? 1 : 0;
</pre></div>
хорошо бы добавить<br />
<div class="highlight"><pre class="php">
        case 'en':
        case 'de':
        case 'nl':
        case 'se':
        case 'us':
            return ($plural == 1) ? 1 : 0;
</pre></div>
<br />
И добавить в шапку к sed_get_plural():<br />
 * @param int $plural Numeric value<br />
 * @param string $lang Target language code<br />
 * @param bool $is_frac true if numeric value is fraction, otherwise false<br />
 * @return int]]></description>
			<pubDate>Zo, 15 Feb 2009 17:43:34 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/nl/forums?m=posts&q=348&d=120#post8058]]></link>
		</item>
		<item>
			<title>Ratibor</title>
			<description><![CDATA[В общем вот что получилось:<br />
<pre class="code">/**
 * Makes correct plural forms of words
 * 
 * @global string $lang Current language
 * @param int $digit Numeric value
 * @param string $expr Word or expression
 * @param bool $onlyword Return only words, without numbers
 * @param bool $canfrac - Numeric value can be Decimal Fraction
 * @return string 
 */
function sed_declension($digit, $expr, $onlyword = false, $canfrac = false)
{
    if (!is_array($expr))
    {
        return trim(($onlyword ? '' : &quot;$digit &quot;) . $expr);
    }

    global $lang;

	if ($canfrac)
	{
	$is_frac = floor($digit) != $digit;
	$i = $digit;
	}
	else
	{
	$i = preg_replace('#\D+#', '', $digit);
	}

    $plural = sed_get_plural($i, $lang, $is_frac);
    $cnt = count($expr);
    return trim(($onlyword ? '' : &quot;$digit &quot;) . (($cnt &gt; 0 &amp;&amp; $plural &lt; $cnt) ? $expr&#091;$plural&#093; : ''));
}

/**
 * Used in sed_declension to get rules for concrete languages
 * 
 * @param int $plural Numeric value
 * @param string $lang Target language code
 * @return int 
 */
function sed_get_plural($plural, $lang, $is_frac = false)
{
    switch ($lang)
    {
        case 'en':
        case 'de':
        case 'nl':
        case 'se':
            return ($plural == 1) ? 1 : 0;
 
        case 'fr':
        case 'uk':
            return ($plural &gt; 1) ? 0 : 1;
 
        case 'ru':
        case 'ua':
			if ($is_frac)
			{
				return 1;
			}
            $plural %= 100;
            return (5 &lt;= $plural &amp;&amp; $plural &lt;= 20) ? 2 : ((1 == ($plural %= 10)) ? 0 : ((2 &lt;= $plural &amp;&amp; $plural &lt;= 4) ? 1 : 2));

        default:
            return 0;
    }
}</pre>]]></description>
			<pubDate>Zo, 15 Feb 2009 17:09:34 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/nl/forums?m=posts&q=348&d=120#post8055]]></link>
		</item>
		<item>
			<title>Sergeich</title>
			<description><![CDATA[Вы уже 4 страницу такой фигнёй занимаетесь :). И чем дальше в лес, тем...]]></description>
			<pubDate>Zo, 15 Feb 2009 07:50:53 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/nl/forums?m=posts&q=348&d=120#post8043]]></link>
		</item>
		<item>
			<title>Ratibor</title>
			<description><![CDATA[<blockquote><a href="https://www.cotonti.com/forums.php?m=posts&amp;p=8028#8028">#</a> <strong>esclkm :</strong>
вроде так если верить тому что мне рассказал яша. коль что киландор дорисует.<br />
</blockquote>
Тогда ок, завтра все доработаю на свежую голову,<br />
а то уже четвертый час ночи :)]]></description>
			<pubDate>Zo, 15 Feb 2009 06:18:46 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/nl/forums?m=posts&q=348&d=90#post8031]]></link>
		</item>
		<item>
			<title>esclkm</title>
			<description><![CDATA[вроде так если верить тому что мне рассказал яша. коль что киландор дорисует.]]></description>
			<pubDate>Zo, 15 Feb 2009 06:14:30 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/nl/forums?m=posts&q=348&d=90#post8028]]></link>
		</item>
		<item>
			<title>Ratibor</title>
			<description><![CDATA[Короче наверное так:<br />
для uk все что больше 1 пишется в множественном, а в остальных случаях в единственном,<br />
для en 1 в единственном, все остальное в множественном.<br />
<br />
Правильно ?<br />
Если так, то им вообще правила дорабатывать не надо :)]]></description>
			<pubDate>Zo, 15 Feb 2009 05:50:22 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/nl/forums?m=posts&q=348&d=90#post8019]]></link>
		</item>
		<item>
			<title>dervan</title>
			<description><![CDATA[<strong>Ratibor</strong>, кстати добавь в группу где<br />
case 'en':<br />
ещё и<br />
case 'us':<br />
с этим сомнений нет, а из штатов народу на сайте хватает.]]></description>
			<pubDate>Zo, 15 Feb 2009 05:48:43 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/nl/forums?m=posts&q=348&d=90#post8017]]></link>
		</item>
		<item>
			<title>Ratibor</title>
			<description><![CDATA[<strong>esclkm :</strong><br />
Оттуда вычитал:<br />
<blockquote>Существительное, которое следует за десятичной дробью, стоит в единственном числе, если в дробном количестве нет целых единиц, и во множественном числе, если в дробном количестве есть целые единицы:</blockquote>
Это для en или для uk ?]]></description>
			<pubDate>Zo, 15 Feb 2009 05:37:08 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/nl/forums?m=posts&q=348&d=90#post8015]]></link>
		</item>
		<item>
			<title>dervan</title>
			<description><![CDATA[Не знаю, к сожалению.<br />
<br />
Слушай, а ты до этого про что говорил - как сделать отдельную от sed_declension() функцищу? А то если ты про то, как поправить<br />
$is_frac = strpos($plural, '.') !== false;<br />
так там просто:<br />
$is_frac = floor($plural) != $plural;<br />
и при этом числа типа 5.0 не будут считаться дробью. И ещё там можно регулярками побаловаться, если жизнь заставит.]]></description>
			<pubDate>Zo, 15 Feb 2009 05:35:31 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/nl/forums?m=posts&q=348&d=90#post8013]]></link>
		</item>
		<item>
			<title>esclkm</title>
			<description><![CDATA[<a href="http://www.trilinguis.ru/linguistic/english/numerals.htm" rel="nofollow">http://www.trilinguis.ru/linguistic/english/numerals.htm</a> (в самом низу)<br />
оттуда я понял что до единицы это единственное число, в противном случе plural]]></description>
			<pubDate>Zo, 15 Feb 2009 05:31:53 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/nl/forums?m=posts&q=348&d=90#post8012]]></link>
		</item>
		<item>
			<title>Ratibor</title>
			<description><![CDATA[<blockquote><a href="https://www.cotonti.com/forums.php?m=posts&amp;p=8010#8010">#</a> <strong>dervan :</strong>
Разве это обязательно? Раз дробь стоит, значит она произносится</blockquote>
Ну давай это дробью будем считать, не столь важно.<br />
Главное нам осталось с двумя группами разобраться, с en и с uk.<br />
Что им возвращать ?<br />
Или пошли они в баню, пусть сами голову ломают над дробями <img class="aux smiley" src="https://www.cotonti.com/./images/smilies/smile.gif" alt=":-)" /><br />
Переделать только саму функцию и правило для русского языка, а также русский ланг файл,<br />
а англичане если это им надо сами пусть свой ланг файл переделывают и правило для своего языка <img class="aux smiley" src="https://www.cotonti.com/./images/smilies/smile.gif" alt=":-)" />]]></description>
			<pubDate>Zo, 15 Feb 2009 05:25:15 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/nl/forums?m=posts&q=348&d=90#post8011]]></link>
		</item>
		<item>
			<title>dervan</title>
			<description><![CDATA[<blockquote><a href="https://www.cotonti.com/forums.php?m=posts&amp;p=8008#8008">#</a> <strong>Ratibor :</strong>
Но правильней Сгенерирована за 5.0 секунд или Сгенерирована за 2.0 секунды,<br />
т.е. если .0, то 0 опускается.<br />
</blockquote>
Разве это обязательно? Раз дробь стоит, значит она произносится, никакой ошибки в этом нет.]]></description>
			<pubDate>Zo, 15 Feb 2009 05:19:10 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/nl/forums?m=posts&q=348&d=90#post8010]]></link>
		</item>
		<item>
			<title>Ratibor</title>
			<description><![CDATA[<blockquote><a href="https://www.cotonti.com/forums.php?m=posts&amp;p=8004#8004">#</a> <strong>dervan :</strong>
&quot;две целых ноль десятых&quot; - всё равно 2, как ни крути.</blockquote>
Если стрингом, то да <img class="aux smiley" src="https://www.cotonti.com/./images/smilies/smile.gif" alt=":-)" /><br />
<br />
Но правильней Сгенерирована за 5.0 секунд или Сгенерирована за 2.0 секунды,<br />
т.е. если .0, то 0 опускается.<br />
<br />
в общем с русским мы разобрались более-менее,<br />
теперь осталось разобраться с en и uk, что им возвращать если число не целое ?<br />
Кто у нас тут хорошо знает английский и американский английский ?]]></description>
			<pubDate>Zo, 15 Feb 2009 05:00:56 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/nl/forums?m=posts&q=348&d=90#post8008]]></link>
		</item>
		<item>
			<title>dervan</title>
			<description><![CDATA[<blockquote><a href="https://www.cotonti.com/forums.php?m=posts&amp;p=8003#8003">#</a> <strong>Ratibor :</strong>
а для 2.0 должно 1 вернуться <img class="aux smiley" src="https://www.cotonti.com/./images/smilies/smile.gif" alt=":-)" /><br />
В общем лучше зделать чтото типа:<br />
$x = $x - floor($x);<br />
или<br />
fmod($x,1);<br />
</blockquote>
&quot;две целых ноль десятых&quot; - всё равно 2, как ни крути. А как делать - так это сам решай, что тебе больше нравится. :)]]></description>
			<pubDate>Zo, 15 Feb 2009 04:36:46 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/nl/forums?m=posts&q=348&d=90#post8004]]></link>
		</item>
		<item>
			<title>Ratibor</title>
			<description><![CDATA[<blockquote><a href="https://www.cotonti.com/forums.php?m=posts&amp;p=8002#8002">#</a> <strong>dervan :</strong>
Не знаю, но если даже и так, то для фразы &quot;пять целых ноль десятых&quot; sed_declension() всё равно должен вернуть 2.<br />
</blockquote>
а для 2.0 должно 1 вернуться <img class="aux smiley" src="https://www.cotonti.com/./images/smilies/smile.gif" alt=":-)" /><br />
В общем лучше зделать чтото типа:<br />
$x = $x - floor($x);<br />
или<br />
fmod($x,1);<br />
<br />
И потом проверить на 0]]></description>
			<pubDate>Zo, 15 Feb 2009 04:32:00 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/nl/forums?m=posts&q=348&d=90#post8003]]></link>
		</item>
		<item>
			<title>dervan</title>
			<description><![CDATA[Тогда давай так сделаем:<br />
<div class="highlight"><pre class="php">
function sed_declension($digit, $expr, $onlyword = false, $canfrac = false)
{

...

	$i = preg_replace($canfrac ? '#&#091;^.\d&#093;+#' : '#\D+#', '', $digit);
</pre></div>
Плюс переделки sed_get_plural(), о которых было выше.<br />
<br />
А с setlocale IMHO лучше не связываться - сильно от системы зависит, оно надо?<br />
<br />
<blockquote><a href="https://www.cotonti.com/forums.php?m=posts&amp;p=7998#7998">#</a> <strong>Ratibor :</strong>
У тебя ошибка, ты проверяешь просто точку,<br />
а если будет 5.0 ?<br />
Или после phpшных фукнций так не может получится ?<br />
</blockquote>
Не знаю, но если даже и так, то для фразы &quot;пять целых ноль десятых&quot; sed_declension() всё равно должен вернуть 2.]]></description>
			<pubDate>Zo, 15 Feb 2009 04:22:44 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/nl/forums?m=posts&q=348&d=90#post8002]]></link>
		</item>
		<item>
			<title>esclkm</title>
			<description><![CDATA[да я думаю именно так делать - но поумолчанию в двиге надро будет эти локали задать]]></description>
			<pubDate>Zo, 15 Feb 2009 04:12:43 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/nl/forums?m=posts&q=348&d=90#post8000]]></link>
		</item>
		<item>
			<title>Ratibor</title>
			<description><![CDATA[<blockquote><a href="https://www.cotonti.com/forums.php?m=posts&amp;p=7992#7992">#</a> <strong>dervan :</strong>
Так я тебя сразу и спросил - а что считать дробью? И точки, и запятые могут ставиться в числе по разным причинам.<br />
<br />
А в sed_declention() можно добавить параметр, считать ли число с точкой дробью, по умолчанию - не считать.<br />
</blockquote>
Ну это наверное наилучший вариант.<br />
И что там с сетлокалью ?<br />
Всмысле если в ен это точка, а в ру запятая, то как тогда ?<br />
<br />
<strong>dervan</strong><br />
У тебя ошибка, ты проверяешь просто точку,<br />
а если будет 5.0 ?<br />
Или после phpшных фукнций так не может получится ?]]></description>
			<pubDate>Zo, 15 Feb 2009 04:08:41 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/nl/forums?m=posts&q=348&d=90#post7998]]></link>
		</item>
		<item>
			<title>esclkm</title>
			<description><![CDATA[я знаю - но уу нас она не используется - а было бы очень корректно в начальные установки вставлять дату в региональном стандарте и decemical (или как ее там)чтобы тоже точка или запята в зависимости от установок]]></description>
			<pubDate>Zo, 15 Feb 2009 04:08:23 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/nl/forums?m=posts&q=348&d=90#post7997]]></link>
		</item>
		<item>
			<title>dervan</title>
			<description><![CDATA[В PHP есть поддержка locale - см. <a href="http://php.net/setlocale" rel="nofollow">setlocale</a>.]]></description>
			<pubDate>Zo, 15 Feb 2009 04:06:24 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/nl/forums?m=posts&q=348&d=90#post7995]]></link>
		</item>
		<item>
			<title>esclkm</title>
			<description><![CDATA[есть языкоспецифические точки: то есть en это &quot;.&quot; а ru это &quot;,&quot; только вот по-моему движок не учитывает региональные стандарты когда выводит дробные числа]]></description>
			<pubDate>Zo, 15 Feb 2009 04:01:45 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/nl/forums?m=posts&q=348&d=90#post7994]]></link>
		</item>
		<item>
			<title>dervan</title>
			<description><![CDATA[Так я тебя сразу и спросил - а что считать дробью? И точки, и запятые могут ставиться в числе по разным причинам.<br />
<br />
А в sed_declention() можно добавить параметр, считать ли число с точкой дробью, по умолчанию - не считать.<br />
<br />
<blockquote><a href="https://www.cotonti.com/forums.php?m=posts&amp;p=7991#7991">#</a> <strong>Ratibor :</strong>
В тех местах где может получится дробное число, как в примере с генерацией страницы, ...<br />
</blockquote>
function sed_declension($digit, $expr, $onlyword = false, $frac = false)<br />
<br />
И в таких местах вызывать:<br />
sed_declension($digit, $expr, false, true)<br />
<br />
И не надо дополнительных функцищ.]]></description>
			<pubDate>Zo, 15 Feb 2009 03:52:34 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/nl/forums?m=posts&q=348&d=90#post7992]]></link>
		</item>
		<item>
			<title>Ratibor</title>
			<description><![CDATA[Короче я подумал <img class="aux smiley" src="https://www.cotonti.com/./images/smilies/smile.gif" alt=":-)" /><br />
Откуда могут взятся дробные числа ?<br />
Правильно, только после какой либо специфичной функции.<br />
И там число может быть только с точкой и в чистом виде, без всяких тэгов.<br />
<br />
Дак вот надо проверку на дробность вносить не в функцию sed_declension,<br />
а зделать отдельной функцией.<br />
<br />
В тех местах где может получится дробное число, как в примере с генерацией страницы,<br />
мы отправляем в эту новую функцию, там проверяем, если не дробное, то отправляем в sed_declension, если дробное, то присваиваем 2 и отправляем в sed_declension.<br />
но это справедливо для русского языка, а как быть с другими ?<br />
<br />
<strong>dervan</strong><br />
как ты предложил изменить функцию sed_declension с одной стороны правильно,<br />
а с другой так делать нельзя.<br />
Эта функция должна работать не только с чистыми числами, а с любыми,<br />
в том числе и обрамленными тэгами.<br />
И что будет если пользователь введет такое число 1.035.034 ?<br />
Правильно, фигня :)<br />
Вот потому то и нельзя трогать функцию sed_declension]]></description>
			<pubDate>Zo, 15 Feb 2009 03:46:19 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/nl/forums?m=posts&q=348&d=90#post7991]]></link>
		</item>
		<item>
			<title>dervan</title>
			<description><![CDATA[Ты про тот $i, который отсюда?<br />
$i = preg_replace('#\D+#', '', $digit);<br />
Так в нём же нет точек или запятых - всё кроме цифр поел preg_replace().<br />
<br />
Вопрос про то, что есть признак дрообного числа - ключевой. Если считать, что число с точкой - дробное, тогда всё просто. Меняем<br />
<div class="highlight"><pre class="php">
	$i = preg_replace('#\D+#', '', $digit);
</pre></div>
на<br />
<div class="highlight"><pre class="php">
	$i = preg_replace('#&#091;^.\d&#093;+#', '', $digit);
</pre></div>
<br />
И добавляем так<br />
<div class="highlight"><pre class="php">
function sed_get_plural($plural, $lang)
{
	$is_frac = strpos($plural, '.') !== false;

	switch ($lang)
</pre></div>
<div class="highlight"><pre class="php">
		case 'ru':
		case 'ua':
			if ($is_frac)
			{
				return 2;
			}
			$plural %= 100;
</pre></div>
И для остальных языковых групп тогда тоже надо добавлять по такому же принципу<br />
<div class="highlight"><pre class="php">
		case '@$%':
			if ($is_frac)
			{
				return #;
			}
</pre></div>]]></description>
			<pubDate>Zo, 15 Feb 2009 03:45:55 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/nl/forums?m=posts&q=348&d=90#post7990]]></link>
		</item>
		<item>
			<title>Ratibor</title>
			<description><![CDATA[<blockquote><a href="https://www.cotonti.com/forums.php?m=posts&amp;p=7985#7985">#</a> <strong>dervan :</strong>
А что считать признаком дробного числа?</blockquote>
А что php посчитает признаком, то и будет :)<br />
можно зделать так:<br />
$x = abs($x) - floor(abs($x));<br />
и если $x не равно 0, то число дробное.<br />
<br />
можно зделать так:<br />
 if fmod(y,1)&gt;=0<br />
<br />
Как лучше ?]]></description>
			<pubDate>Zo, 15 Feb 2009 03:11:53 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/nl/forums?m=posts&q=348&d=90#post7986]]></link>
		</item>
		<item>
			<title>dervan</title>
			<description><![CDATA[А что считать признаком дробного числа? Даже в простейшем случае записи с десятичной дробью это неоднозначно и зависит от языка - либо точка, либо запятая.]]></description>
			<pubDate>Zo, 15 Feb 2009 02:46:01 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/nl/forums?m=posts&q=348&d=90#post7985]]></link>
		</item>
		<item>
			<title>Ratibor</title>
			<description><![CDATA[В общем если надо, то могу переделать так:<br />
в tpl строку:<br />
<pre class="code">{PHP.L.plu_therescurrently} {WHOSONlINE_VISITORS} {PHP.L.plu_visitors} {WHOSONlINE_MEMBERS} {PHP.L.plu_members}&lt;br /&gt;&amp;nbsp;&lt;br /&gt;</pre>
меняем на :<br />
<pre class="code">{PHP.L.plu_therescurrently} {WHOSONlINE_VISITORS} {WHOSONlINE_TEXTVISITORS} {WHOSONlINE_MEMBERS} {WHOSONlINE_TEXTMEMBERS}&lt;br /&gt;&amp;nbsp;&lt;br /&gt;</pre>
а в whosonline.php добавляем:<br />
<pre class="code">'WHOSONlINE_TEXTVISITORS' =&gt; sed_declension($total2,$L&#091;'plu_visitors'&#093;,$onlyword=true),
'WHOSONlINE_TEXTMEMBERS' =&gt; sed_declension($total1,$L&#091;'plu_members'&#093;,$onlyword=true),</pre>
<br />
после строк:<br />
<pre class="code">'WHOSONlINE_VISITORS' =&gt; $total2,
'WHOSONlINE_MEMBERS' =&gt; $total1,</pre>
ну и соответственно в ланг файле меняем на:<br />
<pre class="code">$L&#091;'plu_visitors'&#093; = array(' гость и ',' гостя и ',' гостей и ');
$L&#091;'plu_members'&#093; = array(' зарегистрированный пользователь :',' зарегистрированных пользователя :',' зарегистрированных пользователей :');</pre>
<br />
Тогда все работает прекрасно, проверил.<br />
Ну что, делать такие изменения ?<br />
<br />
В общем переделал я whosonline и в плагине и в common.php<br />
<br />
Начал исправлять вот это:<br />
<pre class="code">Страница сгенерирована за 1.568 секунд(ы) SQL общее время: 1.41 секунд(ы) - SQL запросов: 35 - Среднее время SQL: 0.04028 секунд(ы)</pre>
И столкнулся с проблеммой, функция неправльно обрабатывант дробные числа,<br />
вернее она правильно обрабатывает, вот только обрабатывать это не надо <img class="aux smiley" src="https://www.cotonti.com/./images/smilies/smile.gif" alt=":-)" /><br />
Если число дробное, то окончание всегда будет как для 2.<br />
<br />
Страница сгенерирована за 2 секунды<br />
Страница сгенерирована за 1.568 секунды<br />
Страница сгенерирована за 13.568 секунды<br />
<br />
Т.е разлаживаем: Страница сгенерирована за 13 целых 568 тысячных секунды.<br />
или Страница сгенерирована за 2 целыe 2 десятые секунды.<br />
В любом случае окончание получается как для 2.<br />
<br />
Выходит в функции надо еще зделать проверку целое число или нет,<br />
если целое, то обрабатывать дальше как обычно, если нет, то вернуть значение как для 2.<br />
<br />
Либо не заморачиваться с этим и плюнуть на это :)<br />
<br />
Либо как то зделать отдельную функцию и вызывать ее до sed_declension.<br />
Ведь дробные числа могут получится очень редко. Других мест в движке я ненашел где могут получится дробные числа.<br />
Какие у кого будут мысли по этому поводу ?]]></description>
			<pubDate>Za, 14 Feb 2009 22:23:43 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/nl/forums?m=posts&q=348&d=90#post7974]]></link>
		</item>
		<item>
			<title>esclkm</title>
			<description><![CDATA[php внутри tpl както не корректно. Лучше добавить еще строку в $t-&gt;assign]]></description>
			<pubDate>Za, 14 Feb 2009 22:13:04 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/nl/forums?m=posts&q=348&d=90#post7971]]></link>
		</item>
		<item>
			<title>Ratibor</title>
			<description><![CDATA[Народ, прежде чем флудить, поставьте из транка последнюю версию,<br />
потом впишите в function.php строку:<br />
<pre class="code">$digit = '';</pre>
перед строкой:<br />
<pre class="code">$i = preg_replace('#\D+#', '', $digit);</pre>
<br />
потом вписывайте в этот $digit = ''; нужные вам значения,<br />
к примеру $digit = '11 12 13 14';<br />
заходите в поиск и введите там любое значение и все увидите.<br />
<br />
Если вам надо посмотреть как преобразовывается число,<br />
то в function.php добавьте еще строку:<br />
<pre class="code">$digit = $i;</pre>
но уже после строки:<br />
<pre class="code">$i = preg_replace('#\D+#', '', $digit);</pre>
<br />
<blockquote><a href="https://www.cotonti.com/forums.php?m=posts&amp;p=7960#7960">#</a> <strong>Trustmaster :</strong>
Хмм, а вот у меня<br />
</blockquote>
Я же сказал - это надо переписывать,<br />
просто у меня совпало количество юзеров с окончаниями <img class="aux smiley" src="https://www.cotonti.com/./images/smilies/smile.gif" alt=":-)" /><br />
<br />
С надписью <strong>Сейчас на сайте 7 гостей и 12 зарегистрированных пользователей :</strong> в плагине whosonline будет посложней, там завязан еще tpl, сейчас буду пробовать :)<br />
<br />
В общем напрямую в tpl вписать конструкцию вида:<br />
<pre class="code">&lt;?php sed_declension({WHOSONlINE_VISITORS},{PHP.L.plu_visitors}) ?&gt;</pre>
неполучается.<br />
В общем можно заменить<br />
<pre class="code">{PHP.L.plu_visitors}</pre>
на к примеру:<br />
<pre class="code">{text_visitors}</pre>
а уже внутри whosonline.php<br />
обработать это так:<br />
<pre class="code">sed_declension($total2,$L&#091;'plu_visitors'&#093;,$onlyword=true)</pre>
<br />
Или все таки можно зделать както обработку php внутри tpl ?]]></description>
			<pubDate>Za, 14 Feb 2009 20:55:34 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/nl/forums?m=posts&q=348&d=90#post7964]]></link>
		</item>
		<item>
			<title>Trustmaster</title>
			<description><![CDATA[Хмм, а вот у меня<br />
<blockquote><strong>whosonline:</strong><hr />There's currently 6 visitor(s) and 12 registered member(s) online.</blockquote>
<img class="aux smiley" src="https://www.cotonti.com/./images/smilies/smile.gif" alt=":-)" />]]></description>
			<pubDate>Za, 14 Feb 2009 20:49:45 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/nl/forums?m=posts&q=348&d=90#post7960]]></link>
		</item>
		<item>
			<title>dervan</title>
			<description><![CDATA[Да, я неправ. Всё в порядке.]]></description>
			<pubDate>Za, 14 Feb 2009 20:44:45 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/nl/forums?m=posts&q=348&d=90#post7957]]></link>
		</item>
		<item>
			<title>Ratibor</title>
			<description><![CDATA[<blockquote><a href="https://www.cotonti.com/forums.php?m=posts&amp;p=7951#7951">#</a> <strong>dervan :</strong>
А при 11 12 13 14 уже будет неправильно.</blockquote>
<br />
<strong>Найдено 11 12 13 14 совпадений</strong><br />
<br />
Что тут неправильного ?<br />
<br />
Разделяем число и получаем:<br />
Найдено 11 миллионов 121 тысяча 314 <strong>совпадений</strong><br />
<br />
И где ошибка ?]]></description>
			<pubDate>Za, 14 Feb 2009 20:40:06 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/nl/forums?m=posts&q=348&d=90#post7955]]></link>
		</item>
		<item>
			<title>dervan</title>
			<description><![CDATA[Эти да, правильно. Сейчас и для варианта, где неправильно, пофиксим - там одну строчку поправить.]]></description>
			<pubDate>Za, 14 Feb 2009 20:36:33 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/nl/forums?m=posts&q=348&d=90#post7954]]></link>
		</item>
		<item>
			<title>esclkm</title>
			<description><![CDATA[а просто числа 11, 12, 13 обрабатываются правильно?]]></description>
			<pubDate>Za, 14 Feb 2009 20:34:13 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/nl/forums?m=posts&q=348&d=60#post7953]]></link>
		</item>
		<item>
			<title>dervan</title>
			<description><![CDATA[А при 11 12 13 14 уже будет неправильно. Как и при 11 12 13.]]></description>
			<pubDate>Za, 14 Feb 2009 20:30:42 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/nl/forums?m=posts&q=348&d=60#post7951]]></link>
		</item>
	</channel>
</rss>