[Asterisk-cvs] asterisk/apps app_voicemail.c,1.212,1.213

kpfleming at lists.digium.com kpfleming at lists.digium.com
Sun May 15 12:57:42 CDT 2005


Update of /usr/cvsroot/asterisk/apps
In directory mongoose.digium.com:/tmp/cvs-serv16852/apps

Modified Files:
	app_voicemail.c 
Log Message:
support Swedish and Norwegian mailbox intros (bug #4227)


Index: app_voicemail.c
===================================================================
RCS file: /usr/cvsroot/asterisk/apps/app_voicemail.c,v
retrieving revision 1.212
retrieving revision 1.213
diff -u -d -r1.212 -r1.213
--- app_voicemail.c	15 May 2005 05:23:05 -0000	1.212
+++ app_voicemail.c	15 May 2005 17:03:08 -0000	1.213
@@ -12,6 +12,7 @@
  *
  * 12-16 - 2005 : Support for Greek added by InAccess Networks (work funded by HOL, www.hol.gr)
  *				 George Konstantoulakis <gkon at inaccessnetworks.com>
+ * 05-10 - 2005 : Support for Swedish and Norwegian added by Daniel Nylander, http://www.danielnylander.se/
  */
 
 #include "asterisk/lock.h"
@@ -96,6 +97,8 @@
 	nl - Dutch
 	pt - Portuguese
 	gr - Greek
+	no - Norwegian
+	se - Swedish
 
 German requires the following additional soundfile:
 1F	einE (feminine)
@@ -111,13 +114,25 @@
 vm-INBOX	nieuwe (nl)
 vm-Old		oude (nl)
 
+Swedish uses:
+vm-nytt		singular of 'new'
+vm-nya		plural of 'new'
+vm-gammalt	singular of 'old'
+vm-gamla	plural of 'old'
+digits/ett	'one', not always same as 'digits/1'
+
+Norwegian uses:
+vm-ny		singular of 'new'
+vm-nye		plural of 'new'
+vm-gammel	singular of 'old'
+vm-gamle	plural of 'old'
+
 Dutch also uses:
 nl-om		'at'?
 
 Spanish also uses:
 vm-youhaveno
 
-
 Italian requires the following additional soundfile:
 
 For vm_intro_it:
@@ -125,8 +140,9 @@
 vm-nuovi	new plural
 vm-vecchio	old
 vm-vecchi	old plural
-Don't use vm-INBOX or vm-Old, because they are the name of the INBOX and Old folderS, spelled among others when you have to change folder.
-For the above reasons, vm-INBOX and vm-Old are spelled plural, to make them sound more as folder name than an adjective.
+Don't use vm-INBOX or vm-Old, because they are the name of the INBOX and Old folders,
+spelled among others when you have to change folder. For the above reasons, vm-INBOX
+and vm-Old are spelled plural, to make them sound more as folder name than an adjective.
 
 */
 
@@ -3634,6 +3650,93 @@
 	return res;
 }
 
+/* SWEDISH syntax */
+static int vm_intro_se(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) {
+		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/ett");
+			res = res ? res : ast_play_and_wait(chan, "vm-nytt");
+			res = res ? res : ast_play_and_wait(chan, "vm-message");
+		} else {
+			res = say_and_wait(chan, vms->newmessages, chan->language);
+			res = res ? res : ast_play_and_wait(chan, "vm-nya");
+			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/ett");
+			res = res ? res : ast_play_and_wait(chan, "vm-gammalt");
+			res = res ? res : ast_play_and_wait(chan, "vm-message");
+		} else {
+			res = say_and_wait(chan, vms->oldmessages, chan->language);
+			res = res ? res : ast_play_and_wait(chan, "vm-gamla");
+			res = res ? res : ast_play_and_wait(chan, "vm-messages");
+		}
+	}
+
+	return res;
+}
+
+/* NORWEGIAN syntax */
+static int vm_intro_no(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) {
+		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-ny");
+			res = res ? res : ast_play_and_wait(chan, "vm-message");
+		} else {
+			res = say_and_wait(chan, vms->newmessages, chan->language);
+			res = res ? res : ast_play_and_wait(chan, "vm-nye");
+			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-gamel");
+			res = res ? res : ast_play_and_wait(chan, "vm-message");
+		} else {
+			res = say_and_wait(chan, vms->oldmessages, chan->language);
+			res = res ? res : ast_play_and_wait(chan, "vm-gamle");
+			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)
@@ -3970,11 +4073,15 @@
 		return vm_intro_nl(chan, vms);
 	} else if (!strcasecmp(chan->language, "pt")) {	/* PORTUGUESE syntax */
 		return vm_intro_pt(chan, vms);
-	} else if (!strcasecmp(chan->language, "cz")) { /* CZECH syntax */
+	} else if (!strcasecmp(chan->language, "cz")) {	/* CZECH syntax */
 		return vm_intro_cz(chan, vms);
-	} else if (!strcasecmp(chan->language, "gr")){ /*	GREEK syntax */
+	} else if (!strcasecmp(chan->language, "gr")) {	/* GREEK syntax */
 		return vm_intro_gr(chan, vms);
-	} else {	/* Default to ENGLISH */
+	} else if (!strcasecmp(chan->language, "se")) {	/* SWEDISH syntax */
+		return vm_intro_se(chan, vms);
+	} else if (!strcasecmp(chan->language, "no")) {	/* NORWEGIAN syntax */
+		return vm_intro_no(chan, vms);
+	} else {					/* Default to ENGLISH */
 		return vm_intro_en(chan, vms);
 	}
 }




More information about the svn-commits mailing list