@ -1,11 +1,11 @@
;
;
; language configuration
;
[general]
mode=old ; method for playing numbers and dates
; old - using asterisk core function
; new - using this configuration file
; old - using asterisk core function
; new - using this configuration file
; The new language routines produce strings of the form
; prefix:[format:]data
@ -66,7 +66,7 @@ mode=old ; method for playing numbers and dates
; date:M:200604172030.00-4-102
; date:p:200604172030.00-4-102
;
;
;
; Remember, normally X Z N are special, and the search is
; case insensitive, so you must use [X] [N] [Z] .. if you
; want exact match.
@ -75,126 +75,126 @@ mode=old ; method for playing numbers and dates
; language-independent
[digit-base](!) ; base rule for digit strings
; XXX incomplete yet
_digit:[0-9] => digits/${SAY}
_digit:[-] => letters/dash
_digit:[*] => letters/star
_digit:[@] => letters/at
_digit:[0-9]. => digit:${SAY:0:1}, digit:${SAY:1}
; XXX incomplete yet
_digit:[0-9] => digits/${SAY}
_digit:[-] => letters/dash
_digit:[*] => letters/star
_digit:[@] => letters/at
_digit:[0-9]. => digit:${SAY:0:1}, digit:${SAY:1}
[date-base](!) ; base rules for dates and times
; the 'SAY' variable contains YYYYMMDDHHmm.ss-dow-doy
; these rule map the strftime attributes.
_date:Y:. => num:${SAY:0:4} ; year, 19xx
_date:[Bb]:. => digits/mon-$[${SAY:4:2}-1] ; month name, 0..11
_date:[Aa]:. => digits/day-${SAY:16:1} ; day of week
_date:[de]:. => num:${SAY:6:2} ; 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
; XXX too bad the '?' function does not remove the quotes
; _date:[pP]:. => digits/$[ ${SAY:10:2} > 12 ? "p-m" :: "a-m"] ; am pm
_date:[pP]:. => digits/p-m ; am pm
_date:[S]:. => num:${SAY:13:2} ; seconds
; the 'SAY' variable contains YYYYMMDDHHmm.ss-dow-doy
; these rule map the strftime attributes.
_date:Y:. => num:${SAY:0:4} ; year, 19xx
_date:[Bb]:. => digits/mon-$[${SAY:4:2}-1] ; month name, 0..11
_date:[Aa]:. => digits/day-${SAY:16:1} ; day of week
_date:[de]:. => num:${SAY:6:2} ; 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
; XXX too bad the '?' function does not remove the quotes
; _date:[pP]:. => digits/$[ ${SAY:10:2} > 12 ? "p-m" :: "a-m"] ; am pm
_date:[pP]:. => digits/p-m ; am pm
_date:[S]:. => num:${SAY:13:2} ; seconds
[en-base](!)
_[n]um:0. => num:${SAY:1}
_[n]um:X => digits/${SAY}
_[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}
_[n]um:XXX => num:${SAY:0:1}, digits/hundred, num:${SAY:1}
_[n]um:XXXX => num:${SAY:0:1}, digits/thousand, num:${SAY:1}
_[n]um:XXXXX => num:${SAY:0:2}, digits/thousand, num:${SAY:2}
_[n]um:XXXXXX => num:${SAY:0:3}, digits/thousand, num:${SAY:3}
_[n]um:XXXXXXX => num:${SAY:0:1}, digits/million, num:${SAY:1}
_[n]um:XXXXXXXX => num:${SAY:0:2}, digits/million, num:${SAY:2}
_[n]um:XXXXXXXXX => num:${SAY:0:3}, digits/million, num:${SAY:3}
_[n]um:XXXXXXXXXX => num:${SAY:0:1}, digits/billion, num:${SAY:1}
_[n]um:XXXXXXXXXXX => num:${SAY:0:2}, digits/billion, num:${SAY:2}
_[n]um:XXXXXXXXXXXX => num:${SAY:0:3}, digits/billion, num:${SAY:3}
; enumeration
_e[n]um:X => digits/h-${SAY}
_e[n]um:1X => digits/h-${SAY}
_e[n]um:[2-9]0 => digits/h-${SAY}
_e[n]um:[2-9][1-9] => num:${SAY:0:1}0, digits/h-${SAY:1}
_e[n]um:[1-9]XX => num:${SAY:0:1}, digits/hundred, enum:${SAY:1}
_[n]um:0. => num:${SAY:1}
_[n]um:X => digits/${SAY}
_[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}
_[n]um:XXX => num:${SAY:0:1}, digits/hundred, num:${SAY:1}
_[n]um:XXXX => num:${SAY:0:1}, digits/thousand, num:${SAY:1}
_[n]um:XXXXX => num:${SAY:0:2}, digits/thousand, num:${SAY:2}
_[n]um:XXXXXX => num:${SAY:0:3}, digits/thousand, num:${SAY:3}
_[n]um:XXXXXXX => num:${SAY:0:1}, digits/million, num:${SAY:1}
_[n]um:XXXXXXXX => num:${SAY:0:2}, digits/million, num:${SAY:2}
_[n]um:XXXXXXXXX => num:${SAY:0:3}, digits/million, num:${SAY:3}
_[n]um:XXXXXXXXXX => num:${SAY:0:1}, digits/billion, num:${SAY:1}
_[n]um:XXXXXXXXXXX => num:${SAY:0:2}, digits/billion, num:${SAY:2}
_[n]um:XXXXXXXXXXXX => num:${SAY:0:3}, digits/billion, num:${SAY:3}
; enumeration
_e[n]um:X => digits/h-${SAY}
_e[n]um:1X => digits/h-${SAY}
_e[n]um:[2-9]0 => digits/h-${SAY}
_e[n]um:[2-9][1-9] => num:${SAY:0:1}0, digits/h-${SAY:1}
_e[n]um:[1-9]XX => num:${SAY:0:1}, digits/hundred, enum:${SAY:1}
[it](digit-base,date-base)
_[n]um:0. => num:${SAY:1}
_[n]um:X => digits/${SAY}
_[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}
_[n]um:1XX => digits/hundred, num:${SAY:1}
_[n]um:[2-9]XX => num:${SAY:0:1}, digits/hundred, num:${SAY:1}
_[n]um:1XXX => digits/thousand, num:${SAY:1}
_[n]um:[2-9]XXX => num:${SAY:0:1}, digits/thousands, num:${SAY:1}
_[n]um:XXXXX => num:${SAY:0:2}, digits/thousands, num:${SAY:2}
_[n]um:XXXXXX => num:${SAY:0:3}, digits/thousands, num:${SAY:3}
_[n]um:1XXXXXX => num:${SAY:0:1}, digits/million, num:${SAY:1}
_[n]um:[2-9]XXXXXX => num:${SAY:0:1}, digits/millions, num:${SAY:1}
_[n]um:XXXXXXXX => num:${SAY:0:2}, digits/millions, num:${SAY:2}
_[n]um:XXXXXXXXX => num:${SAY:0:3}, digits/millions, num:${SAY:3}
_datetime::. => date:AdBY 'digits/at' IMp:${SAY}
_date::. => date:AdBY:${SAY}
_time::. => date:IMp:${SAY}
_[n]um:0. => num:${SAY:1}
_[n]um:X => digits/${SAY}
_[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}
_[n]um:1XX => digits/hundred, num:${SAY:1}
_[n]um:[2-9]XX => num:${SAY:0:1}, digits/hundred, num:${SAY:1}
_[n]um:1XXX => digits/thousand, num:${SAY:1}
_[n]um:[2-9]XXX => num:${SAY:0:1}, digits/thousands, num:${SAY:1}
_[n]um:XXXXX => num:${SAY:0:2}, digits/thousands, num:${SAY:2}
_[n]um:XXXXXX => num:${SAY:0:3}, digits/thousands, num:${SAY:3}
_[n]um:1XXXXXX => num:${SAY:0:1}, digits/million, num:${SAY:1}
_[n]um:[2-9]XXXXXX => num:${SAY:0:1}, digits/millions, num:${SAY:1}
_[n]um:XXXXXXXX => num:${SAY:0:2}, digits/millions, num:${SAY:2}
_[n]um:XXXXXXXXX => num:${SAY:0:3}, digits/millions, num:${SAY:3}
_datetime::. => date:AdBY 'digits/at' IMp:${SAY}
_date::. => date:AdBY:${SAY}
_time::. => date:IMp:${SAY}
[en](en-base,date-base,digit-base)
_datetime::. => date:AdBY 'digits/at' IMp:${SAY}
_date::. => date:AdBY:${SAY}
_time::. => date:IMp:${SAY}
_datetime::. => date:AdBY 'digits/at' IMp:${SAY}
_date::. => date:AdBY:${SAY}
_time::. => date:IMp:${SAY}
[de](date-base,digit-base)
_[n]um:0. => num:${SAY:1}
_[n]um:X => digits/${SAY}
_[n]um:1X => digits/${SAY}
_[n]um:[2-9]0 => digits/${SAY}
_[n]um:[2-9][1-9] => digits/${SAY:1}-and, digits/${SAY:0:1}0
_[n]um:1XX => digits/ein, digits/hundred, num:${SAY:1}
_[n]um:[2-9]XX => digits/${SAY:0:1}, digits/hundred, num:${SAY:1}
_[n]um:1XXX => digits/ein, digits/thousand, num:${SAY:1}
_[n]um:[2-9]XXX => digits/${SAY:0:1}, digits/thousand, num:${SAY:1}
_[n]um:XXXXX => num:${SAY:0:2}, digits/thousand, num:${SAY:2}
_[n]um:X00XXX => digits/${SAY:0:1}, digits/hundred, digits/thousand, num:${SAY:3}
_[n]um:XXXXXX => digits/${SAY:0:1}, digits/hundred, num:${SAY:1}
_[n]um:1XXXXXX => digits/eine, digits/million, num:${SAY:1}
_[n]um:[2-9]XXXXXX => digits/${SAY:0:1}, digits/millions, num:${SAY:1}
_[n]um:XXXXXXXX => num:${SAY:0:2}, digits/millions, num:${SAY:2}
_[n]um:XXXXXXXXX => num:${SAY:0:3}, digits/millions, num:${SAY:3}
_datetime::. => date:AdBY 'digits/at' IMp:${SAY}
_date::. => date:AdBY:${SAY}
_time::. => date:IMp:${SAY}
_[n]um:0. => num:${SAY:1}
_[n]um:X => digits/${SAY}
_[n]um:1X => digits/${SAY}
_[n]um:[2-9]0 => digits/${SAY}
_[n]um:[2-9][1-9] => digits/${SAY:1}-and, digits/${SAY:0:1}0
_[n]um:1XX => digits/ein, digits/hundred, num:${SAY:1}
_[n]um:[2-9]XX => digits/${SAY:0:1}, digits/hundred, num:${SAY:1}
_[n]um:1XXX => digits/ein, digits/thousand, num:${SAY:1}
_[n]um:[2-9]XXX => digits/${SAY:0:1}, digits/thousand, num:${SAY:1}
_[n]um:XXXXX => num:${SAY:0:2}, digits/thousand, num:${SAY:2}
_[n]um:X00XXX => digits/${SAY:0:1}, digits/hundred, digits/thousand, num:${SAY:3}
_[n]um:XXXXXX => digits/${SAY:0:1}, digits/hundred, num:${SAY:1}
_[n]um:1XXXXXX => digits/eine, digits/million, num:${SAY:1}
_[n]um:[2-9]XXXXXX => digits/${SAY:0:1}, digits/millions, num:${SAY:1}
_[n]um:XXXXXXXX => num:${SAY:0:2}, digits/millions, num:${SAY:2}
_[n]um:XXXXXXXXX => num:${SAY:0:3}, digits/millions, num:${SAY:3}
_datetime::. => date:AdBY 'digits/at' IMp:${SAY}
_date::. => date:AdBY:${SAY}
_time::. => date:IMp:${SAY}
[hu](digit-base,date-base)
_[n]um:0. => num:${SAY:1}
_[n]um:X => digits/${SAY}
_[n]um:1[1-9] => digits/10en, digits/${SAY:1}
_[n]um:2[1-9] => digits/20on, digits/${SAY:1}
_[n]um:[1-9]0 => digits/${SAY}
_[n]um:[3-9][1-9] => digits/${SAY:0:1}0, num:${SAY:1}
_[n]um:XXX => num:${SAY:0:1}, digits/hundred, num:${SAY:1}
_[n]um:XXXX => num:${SAY:0:1}, digits/thousand, num:${SAY:1}
_[n]um:XXXXX => num:${SAY:0:2}, digits/thousand, num:${SAY:2}
_[n]um:XXXXXX => num:${SAY:0:3}, digits/thousand, num:${SAY:3}
_[n]um:XXXXXXX => num:${SAY:0:1}, digits/million, num:${SAY:1}
_[n]um:XXXXXXXX => num:${SAY:0:2}, digits/million, num:${SAY:2}
_[n]um:XXXXXXXXX => num:${SAY:0:3}, digits/million, num:${SAY:3}
_[n]um:XXXXXXXXXX => num:${SAY:0:1}, digits/billion, num:${SAY:1}
_[n]um:XXXXXXXXXXX => num:${SAY:0:2}, digits/billion, num:${SAY:2}
_[n]um:XXXXXXXXXXXX => num:${SAY:0:3}, digits/billion, num:${SAY:3}
_datetime::. => date:YBdA k 'ora' M 'perc':${SAY}
_date::. => date:YBdA:${SAY}
_time::. => date:k 'ora' M 'perc':${SAY}
_[n]um:0. => num:${SAY:1}
_[n]um:X => digits/${SAY}
_[n]um:1[1-9] => digits/10en, digits/${SAY:1}
_[n]um:2[1-9] => digits/20on, digits/${SAY:1}
_[n]um:[1-9]0 => digits/${SAY}
_[n]um:[3-9][1-9] => digits/${SAY:0:1}0, num:${SAY:1}
_[n]um:XXX => num:${SAY:0:1}, digits/hundred, num:${SAY:1}
_[n]um:XXXX => num:${SAY:0:1}, digits/thousand, num:${SAY:1}
_[n]um:XXXXX => num:${SAY:0:2}, digits/thousand, num:${SAY:2}
_[n]um:XXXXXX => num:${SAY:0:3}, digits/thousand, num:${SAY:3}
_[n]um:XXXXXXX => num:${SAY:0:1}, digits/million, num:${SAY:1}
_[n]um:XXXXXXXX => num:${SAY:0:2}, digits/million, num:${SAY:2}
_[n]um:XXXXXXXXX => num:${SAY:0:3}, digits/million, num:${SAY:3}
_[n]um:XXXXXXXXXX => num:${SAY:0:1}, digits/billion, num:${SAY:1}
_[n]um:XXXXXXXXXXX => num:${SAY:0:2}, digits/billion, num:${SAY:2}
_[n]um:XXXXXXXXXXXX => num:${SAY:0:3}, digits/billion, num:${SAY:3}
_datetime::. => date:YBdA k 'ora' M 'perc':${SAY}
_date::. => date:YBdA:${SAY}
_time::. => date:k 'ora' M 'perc':${SAY}