Weird grammar and missing translations

I noticed that depending on the language, there are some problems with missing files and also weird grammatical formulations. This happens for example when different words translate into a single English word or when you have languages that don’t say ‘fourty-two’ but ‘two-fourty’.
What can I do to adjust this and solve these problems?

1 Like

The spoken prompts in FreePBX are generally concatenated from individual recording files of one or 2 words. So when you dial into vm and hear, “You have 7 new and 2 old messages” that is seven separate recording files played in order:

-- <PJSIP/6006-00000028> Playing 'vm-youhave.g722' (language 'en')
-- <PJSIP/6006-00000028> Playing 'digits/7.g722' (language 'en')
-- <PJSIP/6006-00000028> Playing 'vm-INBOX.g722' (language 'en')
-- <PJSIP/6006-00000028> Playing 'vm-and.g722' (language 'en')
-- <PJSIP/6006-00000028> Playing 'digits/2.g722' (language 'en')
-- <PJSIP/6006-00000028> Playing 'vm-Old.g722' (language 'en')
-- <PJSIP/6006-00000028> Playing 'vm-messages.g722' (language 'en')

When the channel language changes, Asterisk plays the identically named recording file for the alternate language and plays them in the same order. The resulting sequence of words in the alternate language may or may not work grammatically.

There is a possibility that the recording file for the alternate language is just wrong. We have a recent reported case of this with the Latin American Spanish prompts where the recording ‘first message’ actually has the words ‘name message’ recorded. These should be rare.

It actually is possible to correct for grammar depending on channel language. Prior to my full involvement in the project, someone went thru many of the open souce modules and fixed many of the prompts for Japanese. Partial dialplan for blacklist as an example:

[ Context 'app-blacklist-last' created by 'pbx_config' ]
  'en' =>           1. Read(confirm,if-correct-press&digits/1,,,,) [extensions_additional.conf:5163]
                    2. Return()                                   [extensions_additional.conf:5164]
  'ja' =>           1. Read(confirm,if-correct-press&digits/1&pleasepress,,,,) [extensions_additional.conf:5166]
                    2. Return()                                   [extensions_additional.conf:5167]

So it is possible (though laborious!) to go thru individual FreePBX modules’ generated dialplan and define separate prompts depending on channel language. Such contributions would be welcome.

I will point out that the example above about dialing into VoiceMail is not the best example, as the prompts are completely controlled by the Asterisk app_voicemail module. Most spoken prompts in FreePBX are generated by FreePBX dialplan.

That can probably be handled by adding a section, to say.conf, for the language. Only a few languages are handled by default, but it looks like there is enough power there to handle most sensible syntaxes.

Although I haven’t checked it, the following contains a say.conf that covers Arabic language numbers which read least significant to most significant:

@lgaetz Thanks for that detailed explanation. I actually found one occurrence of such a suspected wrong recording, even though I’m not sure if it’s just wrong in this case. Is there a way to easily list all appearances of a certain recording? Then I’d check that and file an issue.
Unless I’m really underestimating this right now, I’d be interested to ‘repair’ some modules like that. Where do I find those files that are responsible for generating the dialplan?
Also do you know of any plans for new and corrected recordings?

@david55 That’s looking promising. Do you know if it’s correct that I don’t have such a file say.conf in the folder?

Edit: Here’s the issue:
https://issues.asterisk.org/jira/browse/ASTERISK-29894

If you find what you believe to be an error in a recorded file, you can report it as a bug. If you’re using recordings from the Sound Languages module in FreePBX, you would report it in the FreePBX issue tracker. If you’re using recordings from another source then you would need to make the request to whomever created them.

By the folder, do you mean /etc/asterisk? Looking at it, there does seem to be an option to disable it, and use built-in rules, so it might well be missing, in which I’d guess everything uses American English syntax.

Normally, FreePBX would own the top level .conf files, but I can’t imagine that there is any GUI access, so I would have thought you could use it directly, and add it, if it really doesn’t exist.

iIn the absence of /etc/asterisk/say.conf, This might be helpful for you generate your own one,

Is the sample in the Asterisk source tree.

This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.