LINUX.ORG.RU

Re: Можно поправить падеж?

>s/часа/часов/

"Последние сообщения за 23 часов"

Одним s/../../ не обойтись, проще ngettext прикрутить или свою функцию на 4 строчки :)

KRoN73 ★★★★★ ()
Ответ на: Re: Можно поправить падеж? от vlIlich

Re: Можно поправить падеж?

>может, так?

Если лениво копаться с ngettext, то так:

function declension($n, $s1, $s2=NULL, $s5=NULL) // 1 нож 2 ножа 5 ножей
{
    if($s2 === NULL)
        list($s1, $s2, $s5) = explode(',', $s1);

    $ns=intval(substr($n,-1));
    $n2=intval(substr($n,-2));

    if($n2>=10 && $n2<=19) return $s5;
    if($ns==1) return $s1;
    if($ns>=2&&$ns<=4) return $s2;
    return $s5;
}

KRoN73 ★★★★★ ()
Ответ на: Re: Можно поправить падеж? от KRoN73

Re: Можно поправить падеж?

Ага, ещё до кучи написать всё словами:

Последние сообщения за один миллион тридцать одну тысячу восемьсот пятьдесят шесть часов :)

Помню, встречал такую задачку в одной книжке по программированию. Что занимательно, фамилия автора была далеко не русской.

gaa ★★ ()
Ответ на: Re: Можно поправить падеж? от gaa

Re: Можно поправить падеж?

>Помню, встречал такую задачку в одной книжке по программированию.

Весьма практичная сегодня задача. Скажем, скармливать время синтезатору речи, чтобы он это время зачитывал :)

...

Всё никак не подберу хорошую систему голосового управления, чтобы соответствующий скрипт по команде, скажем, «комп, время?» вызывался :) Ну и можно ещё доработать скриптик, чтобы время нечёткое мог давать - «пятнадцать минут первого».

>Что занимательно, фамилия автора была далеко не русской.

Ну, у меня тоже фамилия не русская :)

KRoN73 ★★★★★ ()

Re: Можно поправить падеж?

Где-то с год назад.. а может чуть меньше... я это уже предлагал.. Ни у кого нет времени делать...

delilen ★☆ ()
Ответ на: Re: Можно поправить падеж? от record

Re: Можно поправить падеж?

Зачем нерусская, да ещё и на Си? :)

Ловите мой скриптик по зачитыванию времени, там внутре и перевод чисел в строку на русском: http://balancer.ru/computers/programming/python/smarttime.py

$ ./smarttime.py
девять часов две минуты

KRoN73 ★★★★★ ()
Ответ на: Re: Можно поправить падеж? от mator

Re: Можно поправить падеж?

Макс ленивый, пока в жаббере не пнешь, патч не прикрутит ;)

JB ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.