[Home]

Summary:ASTERISK-01338: [request] Numeric sounds and internationalization
Reporter:ktsaou (ktsaou)Labels:
Date Opened:2004-04-03 12:16:45.000-0600Date Closed:2004-09-25 02:49:42
Priority:MajorRegression?No
Status:Closed/CompleteComponents:Core/General
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:
Description:Different languages may have different numeric sounds for different contexts. For example, the Greek language speaks numbers differently if they are applied to male, female or other subjects. Here is how:

ONE man = ENAS andras
ONE woman = MIA gineka
ONE phone = ENA tilefono

Similarly, the Nth numbers are spoken based on the subject:

FIRST man = PROTOS andras
FIRST woman = PROTI gineka
FIRST phone = PROTO tilefono

Dates are even more complex:

March 7th = Martiou EBDOMH
7th of March = EFTA Martiou

(EBDOMH = 7th female, EFTA = 7 neither male nor female)

But also the month names have variations:

March = MARTIOS
but
1st of march = proti MARTIOU

Today, the existing mechanism cannot support the Greek language. The main problem is the digits directory which is used for many purposes and cannot support different versions of the same numbers depending on the context we want to use them.

Ideally to handle such internationalization needs and also provide the maximum flexibility to support other languages too, I suggest this:

1. Language Definition
There must a global definition of languages, possible in indications.conf

This definition should include something like this:

[gr]
date=format,directory
time=format,directory
currency=format,directory
...

Each of these lines should first define the format to be used, similarly to what SayUnixTime accepts today, but then it should accept a number of pre-defined directories (or just one) where all the sound files can be found.

2. All applications willing to read dates, time, currency, etc. should use the indications defined above.

3. All applications (such as voicemail) that use sound files for digits, should have configuration options, per language and context to define the directories to use.

Example for voicemail.conf:

sounddir_message=language,directory
sounddir_messages=language,directory

This will allow it to say (each word is a separate sound file):

one old message = ENA PALIO MINIMA
two old messages = DYO *PALIA* MINIMATA
1st message = PROTO MINIMA

The problems we solve here are:
- When building sentenses, the application will use the directory defined based on the context (messages in the example) and will try to get all its sound files from there. This is how we are going to allow PALIO/PALIA based on the context (one message dir, or many messages dir)

- Since the Nth sounds also depend on the context, the same mechanism should allow the application to use different sound files based on the subject:

FIRST message = PROTO minima -> message dir
FIRST of march = PROTI martiou -> date dir

The defaults for the English language may not require additional voice files from Alice.
Comments:By: adomjan (adomjan) 2004-04-03 18:13:52.000-0600

I have similar problem with the hungarian language

2   "kett&ASTERISK-334;" or "két"
20  "húsz"
22  "huszonkett&ASTERISK-334;"

You have 2 msgs
két üzenete van

and somtimes used "kett&ASTERISK-334;" sometimes "két" as 2
and so ...

By: adomjan (adomjan) 2004-04-03 18:14:51.000-0600

sorry for unicode chars...

By: cypromis (cypromis) 2004-04-05 04:51:45

hehe same in polish. There is even a full perl lib to handle polish nubering words

By: Olle Johansson (oej) 2004-04-17 03:18:28

Discussion moved to 1429.

By: Olle Johansson (oej) 2004-04-24 15:02:22

Is there any patch for say_number for hungarian and polish? Check ASTERISK-1414 and add your code!!!

Thank you for contributing to Asterisk.

/Olle

By: Olle Johansson (oej) 2004-04-24 15:02:48

...and greek, of course.