asterisk say.conf for russian

Subtitle

Alexcr

say.conf Russian

[ru-base](!)
    _[n]um:00X => digits/0, digits/0, num:${SAY:2}
    _[n]um:0XX => digits/0, num:${SAY:1}
    _[n]um:0. => num:${SAY:1}
    _[n]um:X  => digits/${SAY}
    ; Tens
    _[n]um:1X         => digits/${SAY}
    _[n]um:[2-9]0     =>  digits/${SAY}
    _[n]um:[2-9][1-9] =>  digits/${SAY:0:1}0, num:${SAY:1}
    ; Hundreds
    _[n]um:[1-9]00    => digits/${SAY}
    _[n]um:XXX        => num:${SAY:0:1}00, num:${SAY:1}
    ; Thousands
    _[n]um:1XXX       => num:${SAY:0:1}, digits/thousand, num:${SAY:1}
    _[n]um:[2-4]XXX   => num:${SAY:0:1}, digits/thousands-i, num:${SAY:1}
    _[n]um:[5-9]XXX   => num:${SAY:0:1}, digits/thousands, num:${SAY:1}
    _[n]um:X1XXX      => num:${SAY:0:2}, digits/thousand, num:${SAY:2}
    _[n]um:X[2-4]XXX  => num:${SAY:0:2}, digits/thousands-i, num:${SAY:2}
    _[n]um:X[5-9]XXX  => num:${SAY:0:2}, digits/thousands, num:${SAY:2}
    _[n]um:XX1XXX     => num:${SAY:0:3}, digits/thousand, num:${SAY:3}
    _[n]um:XX[2-4]XXX => num:${SAY:0:3}, digits/thousands-i, num:${SAY:3}
    _[n]um:XX[5-9]XXX => num:${SAY:0:3}, digits/thousands, num:${SAY:3}
    ; Millions
    _[n]um:1XXXXXX        => num:${SAY:0:1}, digits/million, num:${SAY:1}
    _[n]um:[2-4]XXXXXX    => num:${SAY:0:1}, digits/millions-i, num:${SAY:1}
    _[n]um:[5-9]XXXXXX    => num:${SAY:0:1}, digits/millions, num:${SAY:1}
    _[n]um:X1XXXXXX       => num:${SAY:0:2}, digits/million, num:${SAY:2}
    _[n]um:X[2-4]XXXXXX   => num:${SAY:0:2}, digits/millions-i, num:${SAY:2}
    _[n]um:X[5-9]XXXXXX   => num:${SAY:0:2}, digits/millions, num:${SAY:2}
    _[n]um:XX1XXXXXX      => num:${SAY:0:3}, digits/million, num:${SAY:3}
    _[n]um:XX[2-4]XXXXXX  => num:${SAY:0:3}, digits/millions-i, num:${SAY:3}
    _[n]um:XX[5-9]XXXXXX  => num:${SAY:0:3}, digits/millions, num:${SAY:3}
    ; Billions
    _[n]um:1XXXXXXXXX     => num:${SAY:0:1}, digits/billion, num:${SAY:1}
    _[n]um:[2-4]XXXXXXXXX => num:${SAY:0:1}, digits/billions-i, num:${SAY:1}
    _[n]um:[5-9]XXXXXXXXX => num:${SAY:0:1}, digits/billions, num:${SAY:1}
    _[n]um:X1XXXXXXXXX    => num:${SAY:0:2}, digits/billion, num:${SAY:2}
    _[n]um:X[2-4]XXXXXXXXX => num:${SAY:0:2}, digits/billions-i, num:${SAY:2}
    _[n]um:X[5-9]XXXXXXXXX => num:${SAY:0:2}, digits/billions, num:${SAY:2}
    _[n]um:XX1XXXXXXXXX    => num:${SAY:0:3}, digits/billion, num:${SAY:3}
    _[n]um:XX[2-4]XXXXXXXXX => num:${SAY:0:3}, digits/billions-i, num:${SAY:3}
    _[n]um:XX[5-9]XXXXXXXXX => num:${SAY:0:3}, digits/billions, num:${SAY:3}

    ; enumeration
    _e[n]um:X[mfn] => digits/h-${SAY}
    _e[n]um:1X[mfn] => digits/h-${SAY}
    _e[n]um:[2-9]0[mfn] => digits/h-${SAY}
    _e[n]um:[2-9][1-9][mfn] => num:${SAY:0:1}0, digits/h-${SAY:1}
    _e[n]um:[1-9]XX[mfn] => num:${SAY:0:1}, digits/hundred, enum:${SAY:1}

[ru](ru-base,digit-base)
    _[n]um:00X => digits/0, digits/0, num:${SAY:2}
    _[n]um:0XX => digits/0, num:${SAY:1}
    _[n]um:0. => num:${SAY}
    _date:[Y]:.  => enum:${SAY:0:4}m            ; year, [12]xxx
    _date:[Bb]:. => digits/mon-$[${SAY:4:2}-1]  ; month name, 0..11
    _date:[Aa]:. => digits/day-${SAY:16:1}      ; day of week
    _date:[de]:. => enum:${SAY:6:2}n            ; day of month
    _date:[hH]:. => num:${SAY:8:2}              ; hour
    _date:[I]:.  => num:$[${SAY:8:2} % 12]      ; hour 0-12
;    _date:[M]:.  => num:${SAY:10:2}             ; minute
    _date:[M]:.  => num:${SAY}             ; minute
    _date:[pP]:. => digits/p-m  ; am pm
    _date:[S]:.  => num:${SAY:13:2}             ; seconds

    _datetime::. => date:AdBY 'digits/at' IM:${SAY}
    _date::. => date:AdBY:${SAY}
    _time::. => date:IM:${SAY}
    _minut:. => date:M:${SAY}

_mi[n]uta:0             => num:${SAY}, digits/minutes
_mi[n]uta:1             => digits/1f, queue-minute
_mi[n]uta:2             => digits/2f, digits/minutes-i
_mi[n]uta:[3-4]         => num:${SAY}, digits/minutes-i
_mi[n]uta:[5-9]         => num:${SAY}, minutes
_mi[n]uta:0X            => minuta:${SAY:1}
_mi[n]uta:1X            => num:${SAY}, minutes
_mi[n]uta:[2-5]0        => num:${SAY}, minutes
_mi[n]uta:[2-5][1-9]    => num:${SAY:0:1}0, minuta:${SAY:1}