From 4f06de7cf8b5db62cfda69cf507ebe27c340dc50 Mon Sep 17 00:00:00 2001 From: Mark Petersen <bugs.digium.com@zombie.dk> Date: Wed, 8 Dec 2021 19:07:59 +0100 Subject: [PATCH] app_voicemail.c: Support for Danish syntax in VM added support for playing the correct plural sound file dependen on where you have 1 or multipe messages based on the existing SE/NO code ASTERISK-29797 Change-Id: I88aa814d02f3772bb80b474204b1ffb26fe438c2 --- apps/app_voicemail.c | 47 +++++++++++++++++++ .../app_voicemail_danish_syntax.txt | 6 +++ 2 files changed, 53 insertions(+) create mode 100644 doc/CHANGES-staging/app_voicemail_danish_syntax.txt diff --git a/apps/app_voicemail.c b/apps/app_voicemail.c index ebfa196ad7..6dec471db9 100644 --- a/apps/app_voicemail.c +++ b/apps/app_voicemail.c @@ -9780,6 +9780,51 @@ static int vm_intro_no(struct ast_channel *chan, struct vm_state *vms) return res; } +/* Danish syntax */ +static int vm_intro_da(struct ast_channel *chan, struct vm_state *vms) +{ + /* Introduce messages they have */ + int res; + + res = ast_play_and_wait(chan, "vm-youhave"); + if (res) + return res; + + if (!vms->oldmessages && !vms->newmessages && !vms->urgentmessages) { + res = ast_play_and_wait(chan, "vm-no"); + res = res ? res : ast_play_and_wait(chan, "vm-messages"); + return res; + } + + if (vms->newmessages) { + if ((vms->newmessages == 1)) { + res = ast_play_and_wait(chan, "digits/1"); + res = res ? res : ast_play_and_wait(chan, "vm-INBOX"); + res = res ? res : ast_play_and_wait(chan, "vm-message"); + } else { + res = say_and_wait(chan, vms->newmessages, ast_channel_language(chan)); + res = res ? res : ast_play_and_wait(chan, "vm-INBOXs"); + res = res ? res : ast_play_and_wait(chan, "vm-messages"); + } + if (!res && vms->oldmessages) + res = ast_play_and_wait(chan, "vm-and"); + } + if (!res && vms->oldmessages) { + if (vms->oldmessages == 1) { + res = ast_play_and_wait(chan, "digits/1"); + res = res ? res : ast_play_and_wait(chan, "vm-Old"); + res = res ? res : ast_play_and_wait(chan, "vm-message"); + } else { + res = say_and_wait(chan, vms->oldmessages, ast_channel_language(chan)); + res = res ? res : ast_play_and_wait(chan, "vm-Olds"); + res = res ? res : ast_play_and_wait(chan, "vm-messages"); + } + } + + return res; +} + + /* GERMAN syntax */ static int vm_intro_de(struct ast_channel *chan, struct vm_state *vms) { @@ -10260,6 +10305,8 @@ static int vm_intro(struct ast_channel *chan, struct ast_vm_user *vmu, struct vm return vm_intro_nl(chan, vms); } else if (!strncasecmp(ast_channel_language(chan), "no", 2)) { /* NORWEGIAN syntax */ return vm_intro_no(chan, vms); + } else if (!strncasecmp(ast_channel_language(chan), "da", 2)) { /* DANISH syntax */ + return vm_intro_da(chan, vms); } else if (!strncasecmp(ast_channel_language(chan), "pl", 2)) { /* POLISH syntax */ return vm_intro_pl(chan, vms); } else if (!strncasecmp(ast_channel_language(chan), "pt_BR", 5)) { /* BRAZILIAN PORTUGUESE syntax */ diff --git a/doc/CHANGES-staging/app_voicemail_danish_syntax.txt b/doc/CHANGES-staging/app_voicemail_danish_syntax.txt new file mode 100644 index 0000000000..5e6cdd37bf --- /dev/null +++ b/doc/CHANGES-staging/app_voicemail_danish_syntax.txt @@ -0,0 +1,6 @@ +Subject: app_voicemail +Subject: Applications + +added support for Danish syntax, playing the correct plural sound file +dependen on where you have 1 or multipe messages +based on the existing SE/NO code -- GitLab