Add IVR language option (master) (#2744)

* Add available translations for new language option

* Add language option to IVR menu editing page

Adds the option to define language on the IVR edit page. This is needed because when a phrase is selected in a language other than the default language, Freeswitch fails to load the file.
This commit is contained in:
emaktech
2017-07-18 16:23:12 -04:00
committed by FusionPBX
parent df87823e38
commit cf1128f023
2 changed files with 37 additions and 0 deletions

View File

@@ -121,6 +121,27 @@ $text['message-maximum_ivr_menus']['ru-ru'] = "Максимальное Голо
$text['message-maximum_ivr_menus']['sv-se'] = "Max Antal IVR Menyer: ";
$text['message-maximum_ivr_menus']['uk-ua'] = "";
$text['label-language']['en-us'] = "Language";
$text['label-language']['ar-eg'] = "";
$text['label-language']['de-at'] = "Sprache";
$text['label-language']['de-ch'] = "Sprache"; //copied from de-de
$text['label-language']['de-de'] = "Sprache";
$text['label-language']['es-cl'] = "Idioma";
$text['label-language']['es-mx'] = "Idioma";
$text['label-language']['fr-ca'] = "Langue";
$text['label-language']['fr-fr'] = "Langue";
$text['label-language']['he-il'] = "";
$text['label-language']['it-it'] = "";
$text['label-language']['nl-nl'] = "";
$text['label-language']['pl-pl'] = "Język";
$text['label-language']['pt-br'] = "Língua";
$text['label-language']['pt-pt'] = "Língua";
$text['label-language']['ro-ro'] = "";
$text['label-language']['ru-ru'] = "";
$text['label-language']['sv-se'] = "Språk";
$text['label-language']['uk-ua'] = "";
$text['label-tts_voice']['en-us'] = "TTS Voice";
$text['label-tts_voice']['ar-eg'] = "";
$text['label-tts_voice']['de-at'] = "TTS Sprache";

View File

@@ -85,6 +85,7 @@
//get ivr menu
$ivr_menu_name = check_str($_POST["ivr_menu_name"]);
$ivr_menu_extension = check_str($_POST["ivr_menu_extension"]);
$ivr_menu_language = check_str($_POST["ivr_menu_language"]);
$ivr_menu_greet_long = check_str($_POST["ivr_menu_greet_long"]);
$ivr_menu_greet_short = check_str($_POST["ivr_menu_greet_short"]);
$ivr_menu_options = $_POST["ivr_menu_options"];
@@ -128,6 +129,7 @@
$msg = '';
if (strlen($ivr_menu_name) == 0) { $msg .= $text['message-required'].$text['label-name']."<br>\n"; }
if (strlen($ivr_menu_extension) == 0) { $msg .= $text['message-required'].$text['label-extension']."<br>\n"; }
if (strlen($ivr_menu_language) == 0) { $msg .= $text['message-required'].$text['label-language']."<br>\n"; }
if (strlen($ivr_menu_greet_long) == 0) { $msg .= $text['message-required'].$text['label-greet_long']."<br>\n"; }
//if (strlen($ivr_menu_greet_short) == 0) { $msg .= $text['message-required'].$text['label-greet_short']."<br>\n"; }
//if (strlen($ivr_menu_invalid_sound) == 0) { $msg .= $text['message-required'].$text['label-invalid_sound']."<br>\n"; }
@@ -235,6 +237,7 @@
$dialplan_xml .= " <action application=\"sleep\" data=\"1000\"/>\n";
$dialplan_xml .= " <action application=\"set\" data=\"hangup_after_bridge=true\"/>\n";
$dialplan_xml .= " <action application=\"set\" data=\"ringback=".$ivr_menu_ringback."\"/>\n";
$dialplan_xml .= " <action application=\"set\" data=\"default_language=".$ivr_menu_language."\"/>\n";
$dialplan_xml .= " <action application=\"set\" data=\"transfer_ringback=".$ivr_menu_ringback."\"/>\n";
$dialplan_xml .= " <action application=\"set\" data=\"ivr_menu_uuid=".$ivr_menu_uuid."\"/>\n";
@@ -332,6 +335,7 @@
$dialplan_uuid = $row["dialplan_uuid"];
$ivr_menu_name = $row["ivr_menu_name"];
$ivr_menu_extension = $row["ivr_menu_extension"];
$ivr_menu_language = $row["ivr_menu_language"];
$ivr_menu_greet_long = $row["ivr_menu_greet_long"];
$ivr_menu_greet_short = $row["ivr_menu_greet_short"];
$ivr_menu_invalid_sound = $row["ivr_menu_invalid_sound"];
@@ -396,6 +400,7 @@
if (strlen($ivr_menu_ringback) == 0) { $ivr_menu_ringback = 'local_stream://default'; }
if (strlen($ivr_menu_invalid_sound) == 0) { $ivr_menu_invalid_sound = 'ivr/ivr-that_was_an_invalid_entry.wav'; }
//if (strlen($ivr_menu_confirm_key) == 0) { $ivr_menu_confirm_key = '#'; }
if (strlen($ivr_menu_language) == 0) { $ivr_menu_language = 'en'; }
if (strlen($ivr_menu_tts_engine) == 0) { $ivr_menu_tts_engine = 'flite'; }
if (strlen($ivr_menu_tts_voice) == 0) { $ivr_menu_tts_voice = 'rms'; }
if (strlen($ivr_menu_confirm_attempts) == 0) { $ivr_menu_confirm_attempts = '1'; }
@@ -489,6 +494,17 @@
echo $text['description-extension']."\n";
echo "</td>\n";
echo "</tr>\n";
echo "<tr>\n";
echo "<td class='vncellreq' valign='top' align='left' nowrap>\n";
echo " ".$text['label-language']."\n";
echo "</td>\n";
echo "<td class='vtable' align='left'>\n";
echo " <input class='formfld' type='text' name='ivr_menu_language' maxlength='255' value='$ivr_menu_language' required='required'>\n";
echo "<br />\n";
echo $text['description-language']."\n";
echo "</td>\n";
echo "</tr>\n";
echo "<tr>\n";
echo "<td class='vncellreq' valign='top' align='left' nowrap>\n";