Consider a document that describes the career of the French mathematician Galois. The introduction might read:
The works of Galois were, as we know, published in 1846 by Liouville, in the Journal de Mathématiques. It is unfortunate that we do not have the works of the great geometer as an isolated body; thus, the Société mathématique decided to reprint Galois' papers.Speaking this using pronunciation rules of English results in poor audio formatting. However, if the French phrases are clearly marked up, as in
we can write a rendering rule for object french (See s:macro-objects for details on new objects) as follows:
This results in the French phrases being pronounced correctly.
In our implementation, the effect of executing (afl:local-set-state :french) is to change the internal pronunciation table that is consulted before pronouncing a word -if the pronunciation for a phrase is not defined in this table, then the word will be mispronounced. In speaking French phrases, this is only an intermediate solution; to truly speak a different language, we need a multilingual speech synthesizer. However, AFL programs remain the same, no matter what the underlying implementation and hardware.