Introduction

Bayonne is provided with a standard "prompt" library which supports
prompts for letters and numbers as needed by the "phrasebook" rules
based phrase parser. The phrasebook uses named rules based on the 
current language in effect, as held in "%language" in ccscript.

Phrase rules can be placed in bayonne.conf proper under the appropriate
language and in application specific conf files as found in
/etc/bayonne.d.  English "rules" are found under section [english] in 
the .conf files, for example.

Phrasebook prompts are used to build prompts that are effected by content.
Lets take the example of a phrase like "you have ... message(s) waiting".
In english this phrase has several possibilities.  Depending on the
quantity involved, you may wish to use a singular or plural form of
message.  You may wish to substitute the word "no" for a zero quantity.

In Bayonne phrasebook, we may define this as follows:

in your script command:

	speak &msgswaiting %msgcount no msgwaiting msgswaiting

We would then define under [english] something like:

msgswaiting = youhave &number &zero &singular &plural

This assumes you have the following prompt files defined for your
application:

youhave.au "you have"
no.au "no"
msgwaiting.au "message waiting"
msgswaiting.au "messages waiting"

The system will apply the remaining rules based on the content of
%msgcount.  In this sense, phrasebook defined rules act as a kind of
"printf" ruleset.  You can also apply rules inline, though they become
less generic for multilingual systems.  The assumption is that the base
rules can be placed in the [...] language area, and that often the
same voice prompts can be used for different effect under different
target languages.

The speaking of numbers itself is held in the default Bayonne
distribution, though the default prompt list can also be replaced with
your own.  Rules can also appear "within" your statement, though this
generally makes them non-flexible for different languages.

Speaking of currency "values" have specific phrasebook rules.  Currency
values are also subject to the "&zero" rule, so for example:

balance=youhave &currency &zero remaining

and using:

speak &balance %balance nomoney

can use the alternate "no monay" .au prompt rather than saying "0
dollars".

English

The following default phasebook rules are or will be defined for english:

&number	speak a number unless zero
&unit	speak a number as units; zero spoken
&order  speak a "order", as in 1st, 2nd, 3rd, etc.
&skip	skip next word if spoken number was zero.
&ingore	always ignore the next word (needed to match multilingual).
&use	always use the next word (needed to match multilingual).
&spell	spell the word or speak individual digits of a number.
&zero	substitute a word if value is zero else skip.
&single	substitute word if last number spoken was 1.
&plural substitute word if last number spoken was not 1.
&date	speak a date.
&day	speak only day of the week of a date.
&time	speak a time.
&primary speak primary currency value (dollar(s) and cent(s))
&local  speak local currency
&duration speak hours, minutes, and seconds, for duration values.
&currency speak default currency (either primary, local, or both)

number prompts:

0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,30,40,50,60,70,80,90,
hundred,thousand,million,billion,point

order prompts:

1st,2nd,3rd,4th,5th,6th,7th,8th,9th,10th,11th,12th,13th,14th,15th,16th,17th,
18th,19th,20th,30th,40th,50th,60th,70th,80th,90th

date/time prompts:

sunday,monday,tuesday,wednasday,thursday,friday,saturday
january,february,march,april,may,june,july,august,septermber,october,november,december
am,pm

currency prompts:

dollar,dollars,cent,cents,and,or


